important
- doublecheck the power supply needs of the display. Looks as iif you used VSYS for the OLED power supply which is 5V. This will not work with the I2C signals of the pico which are 3.3V only. >> power the OLED from VCC3.3V. Check the GPIO lines if they are broken.
other findings:
- check that the OLED have pullup resistors for I2C on board. Usually the modules have, but if missing you need extra pullup on the I2c SDA, SCL data lines to 3.3V
- some breadboard break the 'power rail' into two half and you need to connect the left-right parts by wires.
- doublecheck the I2C address usage of the oled controllers of your display. If both use same base address, then you cannot use them on same I2C bus. >> use different I2C bus or plug in only one display at a time.
- the left display on image has VCC connected to a power rail on breadboard which has no other connection (labeleled '-' on the breadboard). >> connect to VCC3.3V
- your code is written for a SSD1306 controller, the left, narrow display from azdelivery uses this controller. The I2C bus is initialized for I2C hardware I2C bus 0, SDA Pin0, SCL Pin1 . But the connection goes to SDA Pin 26, SCL Pin 27 which are hardware I2C bus 1 (note that the name Pin in micropython refers to GPIO and the numbers are GPIO numbers, not header pin). See https://datasheets.raspberrypi.com/pico ... Pinout.pdf
- doublecheck the power supply needs of the display. Looks as iif you used VSYS for the OLED power supply which is 5V. This will not work with the I2C signals of the pico which are 3.3V only. >> power the OLED from VCC3.3V. Check the GPIO lines if they are broken.
other findings:
- check that the OLED have pullup resistors for I2C on board. Usually the modules have, but if missing you need extra pullup on the I2c SDA, SCL data lines to 3.3V
- some breadboard break the 'power rail' into two half and you need to connect the left-right parts by wires.
- doublecheck the I2C address usage of the oled controllers of your display. If both use same base address, then you cannot use them on same I2C bus. >> use different I2C bus or plug in only one display at a time.
- the left display on image has VCC connected to a power rail on breadboard which has no other connection (labeleled '-' on the breadboard). >> connect to VCC3.3V
- your code is written for a SSD1306 controller, the left, narrow display from azdelivery uses this controller. The I2C bus is initialized for I2C hardware I2C bus 0, SDA Pin0, SCL Pin1 . But the connection goes to SDA Pin 26, SCL Pin 27 which are hardware I2C bus 1 (note that the name Pin in micropython refers to GPIO and the numbers are GPIO numbers, not header pin). See https://datasheets.raspberrypi.com/pico ... Pinout.pdf
Statistics: Posted by ghp — Sat Apr 20, 2024 5:33 am