Using an arduino shield that ONLY operates at 5v? #895
Replies: 6 comments
-
Posted at 2016-10-31 by DrAzzy They operate at 3.3v - however they are 5v tolerant, so if you set the pinmode of the relevant pins to 'af_opendrain' and rely on the shield's pullups, you should be good to go. |
Beta Was this translation helpful? Give feedback.
-
Posted at 2016-10-31 by @gfwilliams Well, the Pico is 5v tolerant, but it works like this:
The problem is that if the Pico tries to output a 1, it effectively shorts the pin to the 3.3v line, which ends up pumping more voltage into the Espruino itself. Having said that, I2C itself should be fine, since usually you have pullup resistors, and the devices themselves only pull the voltage down to 0. It means that even when there's a 1 being transmitted, you've only got 5v applied via a relatively large (4k?) resistor, which is no problem for Espruino if it does connect it to 3.3v (which it shouldn't because I2C configures outputs in Open Drain). So you're fine, basically. |
Beta Was this translation helpful? Give feedback.
-
Posted at 2016-11-01 by d0773d @drazzy and @gordon thanks for answering :-) the shield seems to function as expected. would it make any difference if I placed a logic level converter between the two? |
Beta Was this translation helpful? Give feedback.
-
Posted at 2016-11-02 by @gfwilliams Not that I'm aware of. I2C is sometimes a bit tricky to do level conversions on because it's bidirectional though. |
Beta Was this translation helpful? Give feedback.
-
Posted at 2016-11-06 by CanyonCasa As pointed out you likely don't need any level shifting. Most 5V I2C inputs have logic thresholds compatible with 3V logic. But for reference... http://www.nxp.com/documents/application_note/AN10441.pdf |
Beta Was this translation helpful? Give feedback.
-
Posted at 2016-11-06 by DrAzzy You can get cheap bidirectional level shifters from ebay for under a buck based on the topology that they use in that app note |
Beta Was this translation helpful? Give feedback.
-
Posted at 2016-10-31 by d0773d
I plan to use the Pico Arduino adapter without the pullups and leave the resistor pads untouched since the shield that I would like to use already has pullups. The manufacturer of the shield specified that the shield ONLY operates at 5volts and could damage whatever it is hooked up. I plan to communicate via i2c...
Does the Pico's i2c bus operate at 5volts or only at 3volts but is 5volt tolerant?
Beta Was this translation helpful? Give feedback.
All reactions