# How does the dual 5V and 3.3V output on the Uno R3 work exactly?

I'm constructing a circuit that needs both voltage supplies (for 3.3V RFID and 5V relay, GPS and screen) but the Uno is physically too big so I need to use a nano or mini pro, both of which I can only get in 5V. I understand how to use a regulator to drop 5V to 3.3V for the RFID-IC power but I keep seeing instructions to use a level shifter between the IC outputs and arduino input pins. I was just wondering if the Uno has a built-in level shifter for all pins or some other method as the I/O pins do not have specified voltages or uses.

Pins of the UNO/Nano/Mini/Mega board are connected to GPIO pins of the MCU without any additional circuit. The ATmega MCU running at 5 V will sense 3.3 V as HIGH because of the threshold level to convert voltage to logic state.

ATmega will read the pin HIGH from 0.6 * Vcc, so at 5 V Vcc the threshold is 3 V.

Sources:

There are no built-in level shifters on the Uno; it doesn't need them. Uno's 3.3v pin is merely a convenience for supplying a low-current 3.3v device but there is no provision made for level shifting if/when that is necessary.

Genuine Uno's can deliver a max of 150mA to the 3.3v pin, so plan your current-budget conservatively. In my dual-voltage designs (2 voltage rails on a board with 3.3v & 5v parts), I reduce the "raw" 5v with a 3.3v regulator (typically an LM1117-3.3 part) rather than drawing it off of the regulated 5v power. (I put "raw" in quotes because I usually supply the board with a pre-regulated 5 volts (USB or wall-wart).

For I/O levels, a 3.3v part's HIGH level is within the range of what Uno will read as HIGH. In the other direction, Uno's HIGH level is too high for a 3.3v part and needs to be shifted down to 3.3v. If there are only one or two such signals (Uno -> 3.3v device), a voltage divider circuit would be less expensive and use less board space than a level-shifter. The level-shifter board would be an extra purchase but it is a quick and dirty solution if you have the space for it.

You can get pro-mini in 3.3V, but this has little to do with your problem.

The nano runs on 5V, but has an on-board regulator which supplies 3.3V power, although the logic I/O is 5V.

Level shifters can be used to perform logic level translation, but are not always needed.

The output of a 3.3V logic circuit will drive the INPUT of a 5V logic circuit (technically this is marginal, but works in practice).

5V logic outputs can be connected to 3.3V inputs with a simple voltage divider (you can use level shifter or other methods). Without some means of limiting voltage there is a risk of damaging the 3.3V logic.

Without more detail of exactly what you are planning it is not possible to be more precise.

• Thanks, my question was mainly to clarify my own understanding of why a 5V nano or pro-mini would need a level shifter but the Uno does not. Jun 10 '19 at 16:34
• I am building an e-bike security system. Part 1 is a rfid reader embedded in the handle bar which the arduino uses as a test for the presence and ownership (via nfc ring) of the rider, driving a relay to connect the accelerator while authorised user is present. Part 2 is a GPS tracker which disables all of the bike functions when activated. Part 3 is a possible future addition which will be a display unit replacing the current factory unit. Jun 10 '19 at 16:44
• @DanBailey, "why a 5V nano or pro-mini would need a level shifter but the Uno does not". not one of them needs logic level conversion from 3.3 V on input pin and any 3.3 V input controlled by them and not 5 V tolerant should have a logic level conversion
– Juraj
Jun 10 '19 at 17:02