Because the Arduino (and Basic Stamp) are 5V devices, and most modern sensors, displays, flash cards and modes are 3.3V-only, many makers find that they need to perform level shifting/conversion to protect the 3.3V device from 5V.
Adafruit do have some other handy level shifters in the shop, from the DIP 74LVC245 to the fancy bi-directional TXB0108. However, neither of these are happy to work with I2C, which uses a funky pull-up system to transfer data back and forth. This level shifter board combines the ease-of-use of the bi-directional TXB0108 with an I2C-compatible FET design following NXP's app note.
This breakout has 4 BSS138 FETs with 10K pullups. It works down to 1.8V on the low side, and up to 10V on the high side. The 10K's do make the interface a little more sluggish than using a TXB0108 or 74LVC245 so they suggest checking those out if you need high-speed transfer.
While they designed it for use with I2C, this works as theyll for TTL Serial, slow <2MHz SPI, and any other digital interface both uni-directional and bidirectional. Comes with a fully assembled, and tested PCB with 4 full bidirectional converter lines as theyll as 2 pieces of 6-pin header you can solder on to plug into a breadboard or perfboard.
- BSS138 Datasheet
- The newer NXP app note explaining how it works
- Philips version of the app note
- 1.5" & 2.1" Monochrome 128x64 OLED Display Module
- 2.3" Monochrome 128x32 OLED Display Module
- Adafruit 1-Wire Thermocouple Amplifier - MAX31850K
- Setting up IO Python Library on BeagleBone Black
- Light Meter