board.I2C() getting runtime error: "No pull up found on SDA

CircuitPython on hardware including Adafruit's boards, and CircuitPython libraries using Blinka on host computers.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
richsad
 
Posts: 60
Joined: Wed Mar 19, 2014 8:58 am

board.I2C() getting runtime error: "No pull up found on SDA

Post by richsad »

Hi, I am trying to connect to a SSD1327 over I2C. My board is a Feather RP2040 with an Airlift Featherwing. The RP2040 Feather is running Circuit Python 7.3.0-rc.0 downloaded today. If I have the Airlift attached I get the error on:

Code: Select all

i2c= board.I2C()


or:

Code: Select all

i2c = board.STEMMA_QT()
If I take the Airlift Featherwing off display at 0x3D works fine. If I don't initialize I2C the Airlift works fine. I don't recall ever having had this problem before The Airlift is using ESP32-WROOM over SPI. Anyone know why this is happening? What am I doing wrong?

Thanks in advance!

User avatar
richsad
 
Posts: 60
Joined: Wed Mar 19, 2014 8:58 am

Re: board.I2C() getting runtime error: "No pull up found on

Post by richsad »

richsad wrote:Hi, I am trying to connect to a SSD1327 over I2C. My board is a Feather RP2040 with an Airlift Featherwing. The RP2040 Feather is running Circuit Python 7.3.0-rc.0 downloaded today. If I have the Airlift attached I get the error on:

Code: Select all

i2c= board.I2C()

or:

Code: Select all

i2c = board.STEMMA_QT()
If I take the Airlift Featherwing off display at 0x3D works fine. If I don't initialize I2C the Airlift works fine. I don't recall ever having had this problem before The Airlift is using ESP32-WROOM over SPI. Anyone know why this is happening? What am I doing wrong?

Thanks in advance!

User avatar
danhalbert
 
Posts: 4654
Joined: Tue Aug 08, 2017 12:37 pm

Re: board.I2C() getting runtime error: "No pull up found on

Post by danhalbert »

Are you using the STEMMA-connected SSD1327 breakout?

I am wondering if this might be some kind of power problem. I don't know what the draw of the display is, but the Airlift can be 100-300mA or so. Are you powering this from a laptop port? You might try a powered hub or a known more-powerful USB port.

User avatar
richsad
 
Posts: 60
Joined: Wed Mar 19, 2014 8:58 am

Re: board.I2C() getting runtime error: "No pull up found on

Post by richsad »

Yes I am Dan. Sounds viable. If it is a power problem, can I inject more juice like the way I do power injection along a chain of neopixels?

User avatar
danhalbert
 
Posts: 4654
Joined: Tue Aug 08, 2017 12:37 pm

Re: board.I2C() getting runtime error: "No pull up found on

Post by danhalbert »

richsad wrote:Ycan I inject more juice like the way I do power injection along a chain of neopixels?
Not easily, without possibly damaging the host USB port. You could run it off a hefty AC adapter, but it would not be connected to the host to help debug. A powered USB hub is a good alternative. Some regular USB hubs have the option to be externally powered.

User avatar
richsad
 
Posts: 60
Joined: Wed Mar 19, 2014 8:58 am

Re: board.I2C() getting runtime error: "No pull up found on

Post by richsad »

How about this Dan. What if I used a long breadboard and put the Airlift Featherwing into the breadboard and not into the Feather stacking headers on the Feather RP2040. Then I could connect the ground and other needed pins between the boards. Then add some power from an external 5V power source like the way I power neopixels. As long as the grounds are all common, this should work, no? If it does it will at least tell us the cause of the of the problem.

I hope I'm being clear. This is just like the way we bring 5VDC to one side of the power rails on the breadboard from an external supply that connects ground to RP2040 Feather, Featherwing, and external power source. Then give the Featherwing the positive from the external source. In my head this circuit works to achieve a boost in power available to the RP2040 (the original USB power) and the Featherwing with ESP32-wroom from external source.

User avatar
danhalbert
 
Posts: 4654
Joined: Tue Aug 08, 2017 12:37 pm

Re: board.I2C() getting runtime error: "No pull up found on

Post by danhalbert »

Yes, that should be fine, as long as there is a common ground, the signals will be referenced to that.

I am still wondering if there is a power problem or not. Is there an easy way for you to test with a heftier 5V AC adapter, or a powered hub, at least temporarily?

Also check any unusual wiring, and check that all the header pins on the Feather and the Wing are well-soldered, etc. If you think pictures might help, post those.

If you have a simple test program that reproduces the issue, and I have equivalent parts, I can test. Which SSD1327 display is it? Are you connecting it solely with a STEMMA/QT cable?

User avatar
richsad
 
Posts: 60
Joined: Wed Mar 19, 2014 8:58 am

Re: board.I2C() getting runtime error: "No pull up found on

Post by richsad »

Hi Dan,

It's currently running on a the second USB port on my Macbbook Air M1 2020. It is easier for me to try my idea about second power source as I don't have a USB C powered hub. I could use a USB A powered hub with a USB A to USB C to power, but then I can't access the console. That could still be useful because if it works I will see output to the display. But first I will wire up external power since I have at least 5 independent sources of 5VDC here on my workdesk for neopixels and related projects from 4A-13A and access to even bigger (which I won't need for this). I will try using one of these supplies.

The display is an Adafruit's 1.5" 128x128 OLED SSD1327 is display (a hefty display) over just STEMMA QT. I also have some SSD1306 STEMMA QT (and several with broken out header pins) that I could try to see a display that draws less power such as an Adafruit SSD1306 0.96" 128x64 Mono OLED display. I have even smaller too.

I've already reflowed the solder. Both devices work without the other so it is less likely an improper connection. Here are pictures of the devices:
Feather-RP2040-side-solder.jpeg
Feather-RP2040-side-solder.jpeg (758.76 KiB) Viewed 112 times
Airlift-side-solder.jpeg
Airlift-side-solder.jpeg (361.17 KiB) Viewed 112 times

User avatar
richsad
 
Posts: 60
Joined: Wed Mar 19, 2014 8:58 am

Re: board.I2C() getting runtime error: "No pull up found on

Post by richsad »

Blah. Earlier (since deleted) I said it was good on a different Feather. Not so. I need to strip everything down to bare essentials and try the power stuff.

Locked
Please be positive and constructive with your questions and comments.

Return to “Adafruit CircuitPython”