Since Arduino and Arduino like systems 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.
There are some other handy level shifters, from the DIP 74LVC245 to the fancy bi-directional TXB0108. However, neither of these work well with I2C, which uses a funky pull-up system to transfer data back and forth. 4-Channel I2C-safe Bi-Directional Logic Level Converter combines the ease-of-use of the bi-directional TXB0108 with an I2C-compatible FET design following NXP's app note.
4-Channel I2C-safe Bi-Directional Logic Level Converter 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 it is suggested to check them out if you need high-speed transfer.
While 4-Channel I2C-safe Bi-Directional Logic Level Converter is designed for use with I2C, it works great for SPI, TTL Serial, and any other digital interface both uni-directional and bidirectional.
Adafruit Web Site: https://www.adafruit.com/product/757