Tuesday 8 October 2019

arduino - How do I shift voltage levels?


I want to use an RF12B to communicate over radio with an Arduino, but the transceiver is rated at 3.3 V. I hear I need to use a voltage level shifter, but what do these look like and where can I find a schematic to help me hook it up?



Answer



It depends what direction the signals are going to.




  • If the 5 V device is going to drive a signal on the 3.3 V device, use a simple resistor division.

  • If the 3.3 V device is going to drive a signal on the 5 V device, you could use two inverters with the last stage tied to 5 V. However, this requires four resistors and two transistors, which is quite an expense. You could also try out the implementation as shown in Sparkfun's breakbout board.

  • If the signal is bidirectional (I²C), maybe something in this appnote on page 10 will work (seems similar to what Sparkfun is using).


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...