2
\$\begingroup\$

I'd like to use MX-05V 433MHz receiver together with a Raspberry Pi. The MX-05V operates on 5V, but the Raspberry Pi's inputs only allow 3.3V.

So i need to shift the RX data output level from 5V to 3.3V. Would a simple voltage divider (e.g. with R1=200 and R2=100 Ohm) work?

Edit: Would it be possible to use a transistor like below? schematic

\$\endgroup\$
  • \$\begingroup\$ Yes it would but check the load impedance that the rf module can tolerate. \$\endgroup\$ – Andy aka Mar 6 '15 at 9:54
  • \$\begingroup\$ How could I check that? \$\endgroup\$ – squarebracket Mar 6 '15 at 10:39
  • \$\begingroup\$ Read the data sheet or do tests \$\endgroup\$ – Andy aka Mar 6 '15 at 10:47
  • \$\begingroup\$ Unfortunately, I cannot find a datasheet that tells the load impedance. How could I test it? \$\endgroup\$ – squarebracket Mar 6 '15 at 10:57
1
\$\begingroup\$

No, your transistor solution won't work. Think about it - when the transistor turns on, it's basically connecting 3.3 V to GND. At that point, the transistor will overheat and burn out very quickly. Also, the output is connected directly to ground, so it can't work, can it?

If you wanted to use the transistor, you would need to place a resistor (e.g. 1k) between GND and the node connecting the transistor's collector and the output pin. You would also need to connect another resistor (e.g. 1k again) inline with the base connection to limit the emitter-base current when the input is low.

Personally, though, I'd either go for the resistive divider (if speed is not important) or 3.3 V 74-logic device with 5 V-tolerant inputs to do the conversion (if speed is important).

\$\endgroup\$
2
\$\begingroup\$

You can try this one: 74LVC1G07 with appropriate pull-ups.

Clarify: power the chip with the rail powering the chip feeding into pin A, and pull the output to the rail powering the chip taking the result Y.

\$\endgroup\$
  • \$\begingroup\$ So, I would connect the 74LVC1G07's VCC to 3.3V and A to my receiver's data output. Then, the output Y would be max. 3.3V? Where do the pull-ups go? \$\endgroup\$ – squarebracket Mar 6 '15 at 12:01
  • \$\begingroup\$ Datasheet: nxp.com/documents/data_sheet/74LVC1G07.pdf \$\endgroup\$ – squarebracket Mar 6 '15 at 12:01
  • \$\begingroup\$ Made a clarifying edit. Or you can try 74LVC1T45 \$\endgroup\$ – Maxthon Chan Mar 6 '15 at 14:08
  • 1
    \$\begingroup\$ Use 74LVC1G08 instead of '07. No need for a pull-up. Just power the chip from 3.3V and you're good to go since its inputs are 5V tolerant.<br> Or better yet, use one of the level shifter modules. For example like this one: sparkfun.com/products/… \$\endgroup\$ – Alexxx Mar 6 '15 at 14:21
1
\$\begingroup\$

Yes, a resistor divider will work fine in this application. Because your GPIO input will be very high impedance and low capacitance, you can use quite a steep resistor divider (say, on the order of 100 kiloohm total resistance), making output impedance less of a concern.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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