Bidirectional Level Shift (Nano and Pearlblue)

I'm trying to connect an Arduino Nano to a Pearlblue Serial to Bluetooth bridge chip. The thing is, not only am I really not sure how to connect them, but they operate at different voltage levels (5V for the Nano, 3.3V for the Pearlblue), so I need a bidirectional level shifter. I found one online and ordered components, but it seems these components only come in surface-mount, which I cannot solder by hand.

Can someone help me out with a clue here? Can I just connect TX and RX from the Arduino to this thing with a voltage divider going from Arduino to Pearlblue and some kind of op-amp going the other way, or do I need to find a different chip to do level-shifting? If so, any suggestions?

Also, do I need anything else for serial (example: are cts and rts necessary, or can I leave them disconnected?)? Seriously floundering here.

maybe this article will help you with your soldering

if you still cant solder it, i’d go ahead with your voltage divider and amplifier, although i’d replace the op-amp with a pnp transistor and a logic inverter.

i’m no expert though, use your own common sense and take my advice with a grain of salt.

This would probably do what you need:

I haven't tried one, but I probably will at some point.

Another thing I'd consider is using an op-amp as a comparator to shift the 3.3V up. Since this is just async data, it should be fast enough. I'd have some doubts about using it for faster data like an SPI interface, though: I'd want to spend some time with the datasheets to make sure the op-amp's slew rate was fast enough.


This is really helpful, thanks!

Would either of you happen to know which lines I need to attach to the arduino? Just the TX and RX? Will that work?

Some useful information here:

I like the mosfet approach because it uses readily available through-hole components. It's a bit expensive though.