(thought I’d collect my nano supply notes in one place to make it easier to link to)
A common design glitch in circuits that use an Arduino Nano is to connect regulated 5 V to the VIN pin instead of the +5V pin. This results in the Arduino running at a lower internal supply voltage, often 4 V or below, which may be a problem if the design depends on analog inputs or digital output levels. Voltages below 4.5 V are also out of spec for the 16 MHz clock used by the Nano.
Details below, but TL;DR if you have regulated 5 V, connect it to the +5V pin, not VIN.
To see why this happens, here’s the general layout for the onboard power supply on an Arduino Nano:
The +5V input (pin 27) is connected directly to the main internal 5 V VCC rail on the Arduino. If you provide power via VIN or USB, this is an output.
The VIN input (pin 30) is connected to a voltage regulator, which brings the input down to a regulated 5 V. This circuit causes a voltage drop as the current passes through the regulator’s internal circuitry. This drop is typically between 0.8-2.0 V, depending on what Nano you’re using, so if you feed in 5 V here, the “5V” rail (internal and 5V pin) will be at between 3.0 and 4.2 V:
- The Arduino Nano 3.2 uses an LM1117 low dropout linear regulator, which has a 1.2 V dropout, and internal rail will be ~3.8 V.
- Cheap clones often use an AMS1117 instead, which has similar specs.
- The Arduino Nano Every uses a fancy $3 MPM3610 step-down converter which can handle higher input voltages (up to 21 V) and more power, and do that more efficiently. It has a dropout equivalent of ~15% of the input voltage, so internal rail will be ~4.25 V.
- The older Arduino Nano 3.0 uses a UA78M05 linear regulator with a 2.0 V dropout. Internal rail will be ~3.0 V.
You can also power the Nano via USB. In that case, the power goes via a (Schottky) diode, with a voltage drop of ~0.3 V, so the main 5V rail will see ~4.7 V.
(conversely, if you need the rail to be exactly 5.0 V, you need to either feed regulated 5.0 V to the +5V pin, or feed 5.0 V plus at least the given voltage drop plus a bit of margin to VIN.)