4
\$\begingroup\$

As a simple and cheap way of protecting my MCU against higher than 3.3V logic inputs, can I use for low speed data transfers some resistors on the data lines? In theory, these should act in tandem with the pin diodes inside the MCU to clamp the voltage. But will it work in practice? Logic shifter chips aren't an option due to space and cost constraints.

\$\endgroup\$
2
  • \$\begingroup\$ what speed is the bus and does it have pull ups? If its something like an I2C bus you can do this with 1 transistor for each line (data/clk). You do need pull ups on both the 5V and 3.3V sides however. \$\endgroup\$
    – Mark
    Oct 19, 2010 at 23:43
  • \$\begingroup\$ It's a low speed UART, not faster than 19200 bps. \$\endgroup\$
    – Thomas O
    Oct 20, 2010 at 9:14

2 Answers 2

2
\$\begingroup\$

If the pins have clamp diodes, you need only a series resistor to limit the current. You can see in the application note AN521 from microchip that it connect the pin of the microcontroller directly in the AC.

I have used a voltage divider to connect a PIC to a GPRS module with a speed higher than 19,200 and had no problem.

\$\endgroup\$
4
\$\begingroup\$

Sparkfun have a good summary of ways to connect 5V and 3.3V devices.

As well as using diodes, you could consider MOSFETs or inline resistors.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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