Level shift FTDI pins

I’m building a circuit for my 3.3 volt Arduino pro-mini. The Pro-mini is programmed with an FTDI cable. I’d like the project to work with either a 5 volt or 3.3 volt FTDI cable. I’ll need to level shift the Tx and Rx pins which I’m planning on doing with a BSS138 MOSFET (see attached circuit). What I want to know is should I use another MOSFET on the Reset pin or should I do it a different way?

Logic_Level_Converter.jpg

See:
http://www.hobbytronics.co.uk/mosfet-voltage-level-converter
If you use the Adafruit cable Image below will suffice:

What else is connected to the promini when it is being programmed?
If nothing, then you don’t need to do anything. Vcc comes from the FTDI board, if its 3.3V or 5V it will fine, the oscillator is 8 MHz and the chip only needs > ~2.5V (see chart) to run at 8 MHz.

CrossRoads:
What else is connected to the promini when it is being programmed?

I'm only connecting FTDI cable. I know if I'm using a 3.3 volt FTDI cable, I can go straight to the pro-mini. I want to also use a 5 volt FTDI, so I need to level shift. I've got the FTDI Vcc going to the raw pin on the pro-mini which can handle 12 volts, so I'm not worried about that. it's just Tx, Rx and DTR.

A 3.3V promini with 8 MHz oscillator can be powered & programmed from a 5V FTDI. It's the same chip. It's the same IO lines. Connect the 5V line to VCC instead of Raw and bypass the regulator. No level shifting needed.

CrossRoads:
A 3.3V promini with 8 MHz oscillator can be powered & programmed from a 5V FTDI. It’s the same chip. It’s the same IO lines. Connect the 5V line to VCC instead of Raw and bypass the regulator. No level shifting needed.

Well that makes life easier. So the Atmega 328P I/O is 5 volt tolerant. Good to know.
What’s the reason you suggest connecting 5v to Vcc instead of Raw?

So you don't go thru the regulator.

CrossRoads:
So you don't go thru the regulator.

Why don't you want to go through the regulator?

Because then you are powering with 3.3 volts (the regulator reduces the voltage), and programming with 5 volts.
That will get you in trouble.

Exactly. You don't want the control signals exceeding the supply voltage by more than 0.5V. That can damage the IO pins.

CrossRoads:
Exactly. You don't want the control signals exceeding the supply voltage by more than 0.5V. That can damage the IO pins.

Didn't know that either. Thanks. In my project I have a 3.3 volt LCD on the Vcc line, so I don't want to put 5 volts on that line with the FTDI cable. So, I think I'll need to keep the FTDI volts connected to the Vraw pin and level shift Tx, Rx and DTR to 3.3 volts so they match 3.3 volts on Vcc.