Electronic – arduino – Control 3.3V IC using Arduino

arduinointegrated-circuitvoltagevoltage divider

I'm working with an IC that can't take more than 3.3V (+/- 0.2V), including on its I/O pins. I want to control it using Arduino, but its PIN's are 5V. Now I'm wondering if I can use PWM to archieve the 3.3V by setting the correct duty cycle. It doesn't seem that good a solution since the voltage will transiently be above 5V which might harm the IC.

So what is the best solution for this? Given I need to control 6 PIN's both in and out (two PIN's are only input to the IC whereas 4 are both in/out depending on the IC's state), I would prefer something involving as few components as possible since I will need to dublicate the solution 6 times!

Given the current draw will likely be very small, I'm thinking I could use a voltage divider on each PIN (= 2 resistors) to get the 5V down to 3.3V. Is that a good solution? Or is there a better one?

Another solution could be to put a 3.3 Zener in reverse from signal to ground (after the resistor)?

Best Answer

PWM will not solve the problem. The voltage will be 5V for 2/3 of the time, this will damage your IC.

The easiest option you got is the put voltage dividers between each pin. If you really don't want to place 12 resistors you can search for a 5V version of your IC. A lot of chips are produced as 3,3V and 5V versions.