NYUDroneFC R1 is a quadcopter flight controller and educational development board designed for ECE-UY 4423: PCB Design for Embedded Systems at NYU Tandon School of Engineering. The board was developed by a three-person team (Rosario Campos, Asfaq Fahim, Soyeon Park). As project lead, I directed the schematic architecture, power design, component integration, PCB layout, and routing in Altium Designer, targeting a 4-layer JLCPCB stackup. The schematic spans six sheets.
The design combines a high-current battery input, switching and linear regulation, precision current sensing, inertial sensing, and high-speed USB on a single compact board, which makes power integrity, component placement, and signal routing the primary engineering constraints. The board provides four motor power outputs (J8–J11), four PWM headers, a radio header, SWD, and USB-C.
| Microcontroller | STM32F405RGT7 (ARM Cortex-M4, LQFP64) |
|---|---|
| PCB | 4-layer, JLCPCB stackup · Rev R1 |
| Input power | 24 V LiPo via XT30 connector, or 5 V USB-C |
| 5 V rail | LMR51450 synchronous buck converter |
| 3.3 V rail | LM3940 3.3 V low-dropout regulator (LDO) |
| Power path | TPS2113 automatic USB / battery power multiplexer |
| Protection | Back-to-back AONR21357 P-MOSFETs with BZT52C15S Zener gate clamp · TVS diode · USB ESD protection |
| Inertial sensing | LSM6DSV 6-axis IMU (accelerometer + gyroscope) |
| Non-volatile memory | M24C64 64-Kbit I²C EEPROM |
| Power monitoring | INA226 on the 24 V motor bus, Kelvin-connected 2 mΩ shunt |
| Communication | Three independent I²C buses |
| USB | USB-C, 90 Ω differential pair |
| Clock | External crystal oscillator (Y1) |
| Debug | SWD via 4-pin Molex connector (P1) |
| I/O | 4 motor outputs (J8–J11) · 4 PWM headers · radio header · reset & BOOT buttons · status LED |
The power tree was designed first, as every downstream subsystem depends on it.
Peripherals are distributed across three independent I²C buses with 2.2 kΩ pull-ups. The INA226 sits on the 24 V motor bus, measuring current through a 2 mΩ shunt resistor using Kelvin (4-wire) connections. The sense lines are routed directly from the shunt pads through series filter resistors, so trace resistance is excluded from the measurement.
The schematic is organized as a multi-page design (power, MCU, sensors, connectors) linked by global net labels, enabling team members to develop subsystems in parallel while keeping each sheet readable.
The STM32 support circuitry (crystal oscillator, reset/boot, SWD, decoupling) is carried over from my STM32 development board, which served as the reference platform for this design.