NYUno R1 is an educational STM32 development board I designed independently for ECE-UY 4423: PCB Design for Embedded Systems at NYU Tandon School of Engineering. It places an STM32 ARM Cortex-M4 microcontroller on the Arduino Uno R3 footprint and header layout, so it can accept Uno-format shields while providing a more capable processor, wide-range power input, and on-board debug.
The project covered the complete design flow in Altium Designer: a four-sheet schematic (MCU, USB-C, power, and connectors), component placement on both sides of the board, routing, and Gerber generation. The board was not fabricated. This design established the STM32 support circuitry and power architecture later reused in the NYUDroneFC flight controller.
| Microcontroller | STM32 ARM Cortex-M4 (LQFP64) |
|---|---|
| Form factor | Arduino Uno R3 footprint and header layout |
| Input power | 6–36 V via XT30 connector, or 5 V USB-C |
| 5 V rail | LMR51450 synchronous buck (5.6 µH, 100 kΩ / 19.1 kΩ feedback) |
| 3.3 V rail | LM3940 3.3 V LDO |
| Power path | TPS2113 automatic USB / external-supply multiplexer |
| Input protection | TVS diode and bulk capacitance on the external input |
| USB | USB-C (sink, 5.1 kΩ CC pull-downs) · 90 Ω differential pair · DFU mode |
| USB protection | LXES15AAA1 ESD diodes on D+/D− · ESD351 on VBUS · 120 Ω ferrite filter · LM3526 power switch |
| Debug | SWD via 4-pin Molex 53261 connector, 100 Ω series resistors |
| Clock | External crystal oscillator with 30 pF load capacitors |
| User I/O | Reset and BOOT pushbuttons · status LED |
| Headers | Digital (J3, J4), power (J1), analog A0–A5 (J2) |
| Peripherals routed | USART2, SPI1, I²C1, I²C3 (2.2 kΩ pull-ups), ADC inputs, GPIO |
The board accepts a wide 6–36 V external input through an XT30 connector, protected by a TVS diode and bulk capacitance. An LMR51450 synchronous buck converter steps the input down to 5 V, and a TPS2113 multiplexer selects automatically between the buck output and USB power to form the 5 V system rail. An LM3940 LDO then produces a low-noise 3.3 V rail for the microcontroller.
The USB-C port is configured as a sink with 5.1 kΩ pull-downs on CC1 and CC2. The data lines are protected by LXES15AAA1 ESD diodes and routed as a 90 Ω differential pair to the MCU. VBUS passes through an ESD351 protection device and a 120 Ω ferrite bead with filtering capacitors before reaching an LM3526 power distribution switch. The port supports programming through the STM32's USB DFU bootloader.
The layout follows the Arduino Uno outline and mounting holes. I placed the power stage (buck converter, inductor, multiplexer, and LDO) on the bottom side, keeping the top side for the MCU, USB-C, SWD, buttons, and headers. The MCU sits at the center of the board with signals fanned out to the headers, and the ground pour is via-stitched across both sides.