OLED debugging

I’ve finished assembling the first prototype of my Patch-derived project. It powers up and passes audio from input to output using the built-in codec, so that is very encouraging.

However, I’m trying to test the OLED but unfortunately I can’t get anything to show up on the display. I’ve verified that the display is getting the correct voltage, so I assume the issue must be with the SPI configuration.

I modified the pin assignments slightly from the Rev4 schematic from GitHub. As it relates to the OLED, I moved the OLED reset signal from pin 37 to pin 30 (FWIW, reset is assigned to pin 31 in daisy_patch.cpp).

This is how I have defined the OLED pins in my adaptation of daisy_patch.h and daisy_patch.cpp:

#define PIN_OLED_DC    9
#define PIN_OLED_RESET 29

I haven’t modified the pins assigned to the other signals (OLED_DATA, OLED_SCK, OLED_CS). Do these also need to be adjusted to match my pin assigments?

            // From oled_ssd130x.h ...
            // SPI pin config
            spi_config.pin_config.sclk = {DSY_GPIOG, 11};
            spi_config.pin_config.miso = {DSY_GPIOX, 0};
            spi_config.pin_config.mosi = {DSY_GPIOB, 5};
            spi_config.pin_config.nss  = {DSY_GPIOG, 10};

Thanks.

Mr. Hammond, the phones are working.

The problem was that I was specifying the Daisy Seed pin and not the GPIO pin.

3 Likes