quick 5v to 3.3v level shifter?

I want to put Arduino into an existing 5v system (it is fixed 5v) and I want to use Playstation controller. Most controller are not kind if they are running on 5v so I would like to use the proper 3.3v system. What's a quick and small way of adding level shifter? I would need to read or write to 4 different lines to control PSOne controller, and to supply 3.3v to power the controller.

In my experiement when using straight 5v, some PSOne controllers do not work at all and none of PS2 controllers worked. I am guessing I'd have better luck if I powered them at 3.3v and used a form of shifter to handle 5v I/O on ATMega.

I think you may be able to use a voltage divider, depending on the speed you need? not an expert here, though,

Google for CD4504.

For level shifting digital signals see: https://www.sparkfun.com/products/12009.

Are you trying to POWER the device, or send data to it?

To convert from 5v to ~3v, quick, you can use 4 silicon diodes. Is that what you need?

4 data lines, use 74HC4050

5V to 3.3V for power, use a regulator. How much current do you expect to use?

I use this one with SD cards, up to 400mA output

Other capacities are available

The 5V header on the Uno is only going to supply 500mA or so before overheating, maybe up to 600-700mA if you have 7.5V coming in the barrel jack.

If it's bi-directional, take a look at

AN10441.pdf (52.4 KB)

It's not bi-directional. 3 data are outgoing for clock, command, and ATTN. 1 line is incoming and it is data. I'll try the resistor trick first to see if I can get it to work.

As for power input, I'll have to check but I think these old controllers top out at under 200mA. Probably less.