The system voltage on my arduino 101 is published at 3.3V, even though it also has a 5V output pin.

My Seeedstudio touchscreen is supposedly a 5V device. http://wiki.seeed.cc/2.8inch_TFT_Touch_Shield_v2.0/

I believe I've successfully ported the library for this touchscreen to the 101 because it now runs and compiles on both the 101 and the Mega, although it gives erroneous values on the 101. Could it be because of this voltage difference? is there any way to fix it?

Edit- I should add that the 101 is labeled as "5V tolerant".

Edit II: I've found a pretty informative review that explains a little bit about how the 101 is supposed to work with 5V peripherals. I'm not sure though how it could work in cases where a shield does not recognize 3.3V as logic high. Usually 3.3V is right around the cutoff voltage for many circuits. http://www.tweaktown.com/reviews/7706/intel-curie-based-arduino-101-programmable-microcontroller-review/index2.html


1 Answer 1


You'll probably need a fairly common device known as a logic level converter. One such example, in breakout board form, can be found here: https://www.sparkfun.com/products/12009

There are tons of other options depending on what exactly you need.

  • 2
    For what it's worth, I connect the transmitter output of a 3.3v WiFi radio (ESP8266) directly to an input pin on a 5v Arduino. with reliable results. 3.3V is high enough to be recognized as a (5v) logic HIGH. You will need a level conversion going the other way, 5v -> 3.3v, however.
    – JRobert
    Jan 5, 2017 at 15:20
  • That's not necessarily true. Logic HIGH typically has a range of values that are acceptable, and many chips are designed to be 3.3V or 5V tolerant. However, only the datasheet will tell you if a 3.3V logic level will be interpreted as HIGH. Jan 5, 2017 at 16:11
  • Thanks Michael. Part of my question is whether the touchscreen chip recognized 3.3V as High. According to the datasheet, that would seem to be the case. But my results suggest otherwise. I've got the same code running on the 101 and the Mega, but the screen only shows white backlight on the 101, and the touchscreen output numbers are all out of whack. And unfortunately, I'm not sure I can implement a logic level converter because I don't have room to do anything between my SPI headers. The touchscreen shield fits right on top of the 101 board. Jan 5, 2017 at 18:10
  • For a 5V CMOS device a logic high is typically 3.5V (about 0.7xVcc). For a TTL device it's about 2V. Apr 6, 2017 at 5:31
  • What about power? A tipical 5v 16x2 LCD "works" with 3.3v, but flickers a lot and is unreadable.
    – user31481
    Jul 5, 2017 at 10:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.