3

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?

Peter Mortensen
  • 1,676
  • 3
  • 17
  • 23
Matt Williamson
  • 1,192
  • 2
  • 10
  • 24
  • http://electronics.stackexchange.com/questions/708/i2c-3-3-to-5-0-v-conversion http://electronics.stackexchange.com/questions/622/bi-directional-step-up-and-step-down-3-3v-5-etc – Toby Jaffey Jan 08 '11 at 14:24

3 Answers3

9

Microchip has this document with 19 tips about mixing 3V and 5V parts in a circuit (not just level shifting).
The tips:

  1. Powering 3.3V Systems From 5V Using an LDO Regulator
  2. Low-Cost Alternative Power System Using a Zener Diode
  3. Lower Cost Alternative Power System Using 3 Rectifier Diodes
  4. Powering 3.3V Systems From 5V Using Switching Regulators
  5. 3.3V → 5V Direct Connect
  6. 3.3V → 5V Using a MOSFET Translator
  7. 3.3V → 5V Using A Diode Offset
  8. 3.3V → 5V Using A Voltage Comparator
  9. 5V → 3.3V Direct Connect
  10. 5V → 3.3V With Diode Clamp
  11. 5V → 3.3V Active Clamp
  12. 5V → 3.3V Resistor Divider
  13. 3.3V → 5V Level Translators
  14. 3.3V → 5V Analog Gain Block
  15. 3.3V → 5V Analog Offset Block
  16. 5V → 3.3V Active Analog Attenuator
  17. 5V → 3V Analog Limiter
  18. Driving Bipolar Transistors
  19. Driving N-Channel MOSFET Transistors
stevenvh
  • 145,145
  • 21
  • 455
  • 667
3

There's a couple of ways to to voltage level shifting, depending on how fancy you want to get. Just to name a single manufacturer, Texas Instruments has a whole section devoted to mixed-voltage interfacing between different protocols. You can almost guarantee that there's a chip that will fill your needs.

Alternatively, as pointed out in this answer, SparkFun makes a small board that will probably be the easiest solution to implement. Your radio appears to use SPI, which should be workable with that board.

W5VO
  • 18,303
  • 7
  • 63
  • 94
3

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).
Peter Mortensen
  • 1,676
  • 3
  • 17
  • 23
Hans
  • 7,238
  • 1
  • 25
  • 37