#OLED just stays blank on pinctrl config, not working on custom board

1 messages · Page 1 of 1 (latest)

brittle garden
#

(really sorry if this is the nth time this is posted...)
Repo
SuperMini nRF52840 Black
SSD1306 OLED 128x32

This board is a PCB that I made. Just soldered everything and I am using it to type right now, so I am pretty sure that the OLED traces are perfect as well. Now I am pretty sure that its just lacking something code-wise. If all else fails, I will upload screenshots of the actual PCB layout.
This display was also used on a previous SuperMini nRF52840, with the default "&pro_micro_i2c", but shows nothing when I try to reassign I2C pins from default to D6/D7.
I didn't even use a pinctrl setup, I don't really know how it worked?

Now, I want to use pins P1.00(SDA) and P0.11(SCL) instead of default pro_micro_i2c pins.
pinctrl configuration on file raven_left.overlay:

&pinctrl {
    i2c0_custom_default: i2c0_custom_default {
        group1 {
            psels = <NRF_PSEL(TWIM_SDA, 1, 0)>,   // D6 - P1.00 (SDA)
                    <NRF_PSEL(TWIM_SCL, 0, 11)>;  // D7 - P0.11 (SCL)
        };
    };

    i2c0_custom_sleep: i2c0_custom_sleep {
        group1 {
            psels = <NRF_PSEL(TWIM_SDA, 1, 0)>,   // D6 - P1.00 (SDA)
                    <NRF_PSEL(TWIM_SCL, 0, 11)>;  // D7 - P0.11 (SCL)
            low-power-enable;
        };
    };
};  

Also tried:

  • Multimeter, stable ~3.3v
  • Verified traces via continuity tests of each pins, onto the MCU
  • Assigned different I2C addresses on "reg" (0x3c, 0x3d)
  • Different clock frequencies on "clock-frequency"
  • Verified hardware connections and traces are correct

Any input and suggestion would be extremely appreciated. Thanks in advance!!

GitHub

Contribute to Badjau/zmk-config-raven development by creating an account on GitHub.

brittle garden
#

UPDATE: Its working now after adding a separate pinctrl file, but it shows broken pixels and just freezes

brittle garden
#

after atleast 20 tries i fixed it; changed "twim" to "twi" idek what that is. Also clock rate from FAST to STANDARD. I'll test if it works on FAST too.