In short: The Arduino Uno schematic is four small circuits around an ATmega328P: a MOSFET-based power selector feeding a 5 V and a 3.3 V regulator, an ATmega16U2 acting as the USB-serial bridge, a 16 MHz clock, and a 100 nF capacitor that turns the DTR line into a reset pulse.
Most beginners treat the Uno as a black box. Open the official schematic and every behaviour you have seen, such as the board switching away from USB when you plug in a battery, or the sketch uploading without touching the reset button, has a specific component behind it. This article walks through those circuits the way an interviewer would ask about them. If you want the system-level picture first, read our Arduino Uno block diagram guide, then come back here for the component-level detail.
1. The power path at a glance
The Uno can be powered from three places: the USB connector, the barrel jack, and the VIN header pin. Both USB and the jack must end up on one 5 V rail, and they must never fight each other. The schematic solves this with a P-channel MOSFET and a comparator rather than the two diodes you might expect.
Key fact: The comparator divides VIN by two with a pair of 10 kΩ resistors and compares it with the 3.3 V rail. When VIN rises above about 6.6 V the comparator output goes high, the FDN340P gate rises, and the MOSFET switches the USB 5 V off.
2. Why a MOSFET and not a diode
A Schottky diode ORing USB with the regulated output would cost roughly 0.3 to 0.4 V and still allow back-feeding. The P-channel MOSFET has an on-resistance of a few hundred milliohms at this gate drive, so the drop at 500 mA is around 0.1 V, and the comparator guarantees a clean hand-over. The body diode of the FDN340P is oriented so that the 5 V rail cannot back-drive the USB port when the jack is active.
Upstream, the jack carries an M7 diode (a 1N4007-class part in a surface-mount package) that protects against reverse polarity, which matters because jack polarity is a common bench mistake. On the USB side, a 500 mA resettable polyfuse protects the host. The fuse resistance rises sharply on overload and recovers when the fault is removed, which is why a shorted Uno often "fixes itself" after a minute.
3. The 5 V and 3.3 V regulators
The 5 V regulator is an NCP1117ST50T3G, a low-dropout linear part rated 1 A. Linear regulators burn the difference as heat: P = (VIN - 5 V) × I. At 12 V in and 200 mA load, that is 7 V × 0.2 A = 1.4 W, enough to make the small SOT-223 package uncomfortable to touch. This is why the recommended input is 7 to 12 V rather than the 20 V absolute limit.
| Input (VIN) | Load | Regulator dissipation | Comment |
|---|---|---|---|
| 7 V | 200 mA | 0.4 W | Comfortable |
| 9 V | 200 mA | 0.8 W | Warm |
| 12 V | 200 mA | 1.4 W | Hot, near thermal limit |
| 12 V | 500 mA | 3.5 W | Thermal shutdown likely |
The 3.3 V rail comes from an LP2985-33 fed from the 5 V rail, not from VIN. Its current limit is 150 mA, so a 3.3 V sensor that draws more will brown out the board. Each regulator pin carries ceramic and electrolytic decoupling, because an LDO's stability depends on the output capacitor's ESR. In professional flows, the same power-tree thinking is captured in Cadence OrCAD or Siemens Xpedition schematics and checked with SPICE before layout.
4. USB interface: the ATmega16U2
The R3 Uno replaced the old FTDI chip with an ATmega16U2 running USB CDC firmware. It enumerates as a serial device and forwards bytes between the USB D+/D- pair and the 328P's UART on pins 0 and 1. Two 22 Ω series resistors sit on the data lines for impedance matching and edge control. Between the 16U2 and the 328P you find 1 kΩ resistors, a small but clever detail: if you drive pin 0 from an external device, the 1 kΩ limits the fight with the 16U2 output, so the external source wins.
Key fact: The 16U2 is itself a programmable microcontroller with its own 16 MHz crystal. Flashing DFU firmware over its ICSP header lets the Uno appear as a USB keyboard or MIDI device, which is a popular interview curiosity.
5. Clock: resonator, crystal and loading
The 328P runs from a 16 MHz ceramic resonator on the Uno (the 16U2 uses a quartz crystal). A resonator has built-in load capacitors, so no external capacitors are drawn on that part of the schematic, but its accuracy is about 0.5 percent, versus 20 ppm for a crystal. That is fine for UART at 115200 baud (the Arduino timing error is under 2 percent), but poor for real-time clocks. A bare crystal needs two load capacitors, usually 18 to 22 pF, chosen with the formula C_L = (C1 × C2) / (C1 + C2) + C_stray.
6. Auto-reset: how upload happens without a button
The 328P's RESET pin is pulled up to 5 V through 10 kΩ and is active low. The 16U2 drives a DTR output, which the host toggles when a serial port opens. A 100 nF capacitor couples DTR to RESET. Since a capacitor passes edges but blocks DC, the high-to-low edge on DTR pulls RESET low for a moment, after which the 10 kΩ resistor charges the capacitor and RESET returns high. The time constant is 10 kΩ × 100 nF = 1 ms, comfortably above the 328P's minimum reset pulse of 2.5 µs. The bootloader (Optiboot) then starts, listens for a sync byte for a short window, and loads the sketch.
Key fact: The 1N4148 clamp diode (D2) and the 10 kΩ pull-up keep RESET from overshooting above 5 V when DTR returns high. Cutting the "RESET-EN" solder jumper disables auto-reset, which is how you stop a board from rebooting every time a serial monitor connects.
7. Reading the schematic like an engineer
- Trace a net, not a wire: follow +5V from regulator to AVCC, AREF and the 16U2, noting each 100 nF bypass capacitor.
- Check what each LED and series resistor tells you: the on-board "L" LED on pin 13 shares a buffer, so heavy loads on D13 can disturb it.
- Ask what happens at the extremes: 20 V on VIN, a reversed jack, a shorted 3.3 V rail.
The same reading skill transfers to professional work. Teams at services houses such as Avecas VLSI design services review exactly these power and reset details in board and SoC bring-up checklists. For more on the firmware side, see our Arduino bootloader explained article, and explore the CourseTron courses for structured paths.
FAQ
Why does the Uno switch to the barrel jack automatically?
A comparator compares half of VIN to 3.3 V. Above about 6.6 V it switches off a P-channel MOSFET on the USB 5 V line, so only the jack supplies the rail.
How much current can the 3.3 V pin supply?
About 150 mA, set by the LP2985 regulator, and it is fed from the 5 V rail, so it also counts against the 5 V budget.
What does the 100 nF capacitor do on the reset line?
It converts the falling edge of DTR into a short reset pulse (RC time constant of 1 ms with the 10 kΩ pull-up), which starts the bootloader for uploads.
Why does the Uno use a resonator instead of a crystal?
It saves board area and load capacitors, and its roughly 0.5 percent accuracy is sufficient for UART and typical sketches. Use a crystal when accurate timekeeping matters.
Want to go from reading schematics to designing your own boards? Enrol in the embedded track at CourseTron courses, or look at hands-on training at ChipXpert VLSI training.