

FlightControllerv1.0
an autonomous drone that patrols a building at night, so a guard doesn't have to walk it alone.
- Size
- 90 × 90 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 110
- Nets
- 122
- Pads
- 451
- Tracks, vias
- 771, 213
- Pours
- 4
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 11 Apr 2026
- Updated
- 3 Nov 2026
Overview
FlightControllerv1.0 is an open-source printed circuit board by EE-crisrmh, from the EE-crisrmh/VIGIL-Systems repository on GitHub, published under the MIT licence. It is a 4-layer board of 90 × 90 mm with 110 parts on 122 nets, routed with 771 tracks and 213 vias.
It is built around the IST8310, MS5611-01BA03 and TPS5430DDA, with the AMS1117-3.3, ICM-20602 and ICM-20689 among its other parts. Its parts include 53 capacitors, 24 resistors, 10 ICs, 5 connectors and 2 diodes. It belongs with the STM32 boards of this library.
Main components
8IST8310
LGA-16(3x3)-40℃~+85℃ 14bit 600uA I2C ±1.6mT ±2.5mT LGA-16(3x3) 3D Magnetic SensorsiSentek3D Magnetic SensorsMS5611-01BA03
QFN-8(3x5)QFN-8(3x5) Pressure Sensors ROHSMEASPressure SensorsTPS5430DDA
ESOP-8-40℃~+125℃@(TJ) 1 1.221V~32.04V 3A 4.4mA 5.5V~36V 500kHz Adjustable Buck Buck Built-in No ESOP-8 DC-DC Converters ROHSTexas InstrumentsDC-DC ConvertersAMS1117-3.3
SOT-223-40℃~+125℃ 0.003%Vout 1 1.1V@(800mA) 15V 1A 3.3V 5mA 72dB@(120Hz) Fixed Over Current Protection、Short Circuit Protection、Thermal shutdown Positive SOT-223 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSAdvanced Monolithic SystemsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsICM-20602
LGA-16(3x3)-40℃~+85℃ 1.71V~3.45V 16bit 1KB 6uA IMU (accelerometer + gyroscope) SPI、I2C X,Y,Z X,Y,Z ±16g ±2000dps 运动事件检测 LGA-16(3x3) Accelerometers ROHSTDK InvenSenseAccelerometersICM-20689
QFN-24-EP(4x4)-40℃~+85℃ 1.71V~3.45V 16bit 4KB IMU (accelerometer + gyroscope) Motion event detection SPI、I2C X,Y,Z X,Y,Z ±16g ±2000dps QFN-24-EP(4x4) Accelerometers ROHSTDK InvenSenseAccelerometersB340
SMC(DO-214AB)-55℃~+150℃ 1 Independent 100A 3A 40V 500mV@3A 500uA@40V SMC(DO-214AB) Schottky Diodes ROHSDiodes IncorporatedSchottky DiodesMMBT2222A
SOT-23-55℃~+150℃ 1 NPN 100 100nA 1V 300MHz 300mW 40V 600mA 6V NPN Standalone SOT-23 Bipolar (BJT) ROHShongjiachengBipolar (BJT)
README
README.mdvigil systems
v.i.g.i.l.: visual indoor guard & intrusion locator
an autonomous drone that patrols a building at night, so a guard doesn't have to walk it alone.
working name. the project was previously called port, then lumaway.
the problem
overnight security is risky and expensive. a guard patrolling a dark building alone can run into an intruder with no backup, and every overnight post is a recurring cost. fixed cameras and alarms can report that something happened, but they can't go and look.
vigil is built to fill that gap: a drone that checks the building for you, verifies what tripped an alarm, and gets a photo to the people who need it.
what vigil does
- patrols on its own. each drone covers one floor. the building is mapped and divided into zones, and a state machine picks the next waypoint at random, weighted toward zones that haven't been visited recently. no fixed route means no predictable gaps.
- sees in the dark. thermal imaging and lidar detect people, and the classifier separates a person from an animal or a misplaced object.
- responds. on a likely intruder, the drone takes a photo, triggers the building's alarm system, and notifies the property manager.
- stays supervised. a remote operator can watch and take over any drone at any time. guards keep their jobs, they just do them from somewhere safe.
indoor only. night only. version 1 uses sight only, with no audio. photos are taken on a trigger, not continuously, and there is no face matching.
why a drone
a drone can cover a whole floor quickly, reach places a fixed camera can't, and investigate an alarm before anyone is dispatched. one remote operator can supervise several drones.
the system
custom flight controller (hardware) a 4-layer custom pcb with two stm32 microcontrollers (stm32f405 for navigation, stm32f103 for i/o) running px4. onboard sensors: dual imus (icm-20689, icm-20602), a barometer (ms5611), and a magnetometer (ist8310), plus a power monitor and flash for black-box logging. designed in kicad and manufactured in-house.
companion computer (autonomy) an nvidia jetson nano runs patrol logic and person detection, and talks to the flight controller over mavlink.
indoor sensing thermal camera and lidar for detection, plus a gps-free position source for indoor flight.
response and remote operation photo capture, alarm-system integration, and an operator link for live view and manual override.
project goals
- stable flight on the custom flight controller
- gps-free indoor position hold
- reliable person detection in the dark, with animals and objects filtered out
- random patrol that covers every zone within a set time window
- photo capture and alarm trigger on detection
- end-to-end demo: patrol, detect, photograph, alert, remote takeover
status
in development. uw bothell electrical engineering capstone, 2026 to 2027.
- flight controller v1.0: built and assembled, bring-up in progress
- test airframe: assembly in progress
- sensing, patrol logic and alerts: planned
team
built by a four-person electrical engineering capstone team at the university of washington bothell, supervised by dr. hannachi.
- cris r. martinez hernandez
- abraham chen
- frank ma
- howard sin
built with
- stm32f405 / stm32f103 (flight controller mcus)
- px4 autopilot
- nvidia jetson nano (onboard compute)
- ros2 and mavlink
- opencv / python (perception)
- kicad (pcb design)
- platformio (firmware)
vigil systems: always watching, so nobody has to.
Parts
110| Qty | Value | Footprint | References |
|---|---|---|---|
| 26 | 100n | Capacitor_SMD:C_0402_1005Metric | C2, C3, C11, C12, C13, C14, C15, C16, C18, C19, C26, C29, C33, C34, C35, C36 +10 |
| 12 | 10k | Resistor_SMD:R_0402_1005Metric | R1, R2, R3, R4, R5, R6, R7, R8, R9, R19, R20, R23 |
| 6 | 1R8 | Resistor_SMD:R_0201_0603Metric | R12, R13, R14, R15, R16, R17 |
| 6 | TestPoint | TestPoint:TestPoint_Pad_1.0x1.0mm | 3.3V, 3.3V_SENS, 3.3VA, 5V, TP5, VBAT |
| 5 | 10u | Capacitor_SMD:C_0603_1608Metric | C1, C10, C38, C40, C49 |
| 4 | 10p | Capacitor_SMD:C_0402_1005Metric | C20, C21, C22, C23 |
| 4 | 2u2 | Capacitor_SMD:C_0402_1005Metric | C24, C25, C27, C30 |
| 4 | 47u | Capacitor_SMD:C_0805_2012Metric | C43, C45, C50, C52 |
| 4 | MountingHole | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 3 | 10n | Capacitor_SMD:C_0402_1005Metric | C28, C31, C47 |
| 2 | 120R | Inductor_SMD:L_0603_1608Metric | FB1, FB2 |
| 2 | 16MHz | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1, Y2 |
| 2 | 1u | Capacitor_SMD:C_0402_1005Metric | C9, C17 |
| 2 | 22u | Capacitor_SMD:C_0805_2012Metric | C39, C41 |
| 2 | 4k7 | Resistor_SMD:R_0201_0603Metric | R10, R11 |
| 2 | AMS1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U7, U8 |
| 1 | 0.47u | Capacitor_SMD:C_0603_1608Metric | C32 |
| 1 | 15u | Inductor_SMD:L_2512_6332Metric | L1 |
| 1 | 1k | Resistor_SMD:R_0402_1005Metric | R18 |
| 1 | 220u | Capacitor_SMD:CP_Elec_8x10.5 | C48 |
| 1 | 2m | Resistor_SMD:R_Shunt_Vishay_WSK2512_6332Metric_T1.19mm | R22 |
| 1 | 3k24 | Resistor_SMD:R_0402_1005Metric | R24 |
| 1 | 3k3 | Resistor_SMD:R_0402_1005Metric | R21 |
| 1 | 4u7 | Capacitor_SMD:C_0603_1608Metric | C37 |
| 1 | B340 | Diode_SMD:D_SMA | D2 |
| 1 | BATT Connector | Connector_AMASS:AMASS_XT60PW-F_1x02_P7.20mm_Horizontal | J3 |
| 1 | ICM-20602 | Package_LGA:LGA-16_3x3mm_P0.5mm | U4 |
| 1 | ICM-20689 | Package_DFN_QFN:QFN-24-1EP_4x4mm_P0.5mm_EP2.65x2.65mm | U3 |
| 1 | INA226 | Package_SO:VSSOP-10_3x3mm_P0.5mm | U9 |
| 1 | IST8310 | Package_LGA:LGA-16_3x3mm_P0.5mm | U6 |
| 1 | JETSON COMMS | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J1 |
| 1 | MMBT2222A | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | MS5611-01BA | Package_LGA:LGA-8_3x5mm_P1.25mm | U5 |
| 1 | PWM Connector | Connector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_Vertical | J2 |
| 1 | RC Receiver | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J4 |
| 1 | RED | LED_SMD:LED_0805_2012Metric | D1 |
| 1 | STM32F103C8Tx | Package_QFP:LQFP-48_7x7mm_P0.5mm | U2 |
| 1 | STM32F405RGTx | Package_QFP:LQFP-64_10x10mm_P0.5mm | U1 |
| 1 | SWD Debug | Connector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_Vertical | J5 |
| 1 | TPS5430DDA | Package_SO:TI_SO-PowerPAD-8_ThermalVias | U10 |
Similar boards
- 2 layers50 × 50 mm

- 4 layers98.7 × 104 mm

- 4 layers64.6 × 57.3 mm

- 2 layers68 × 54 mm

Controller
byrantech/stepcraft-3-d600-controller
Open-source FluidNC Controller for the Stepcraft-3/D.600 system.
97 parts2MIT - 4 layers94.9 × 34.6 mm

USB C PD Power Supply Board
Suman-Gayen/USB-C-PD-Power-Supply-Board
Design a custom pcb for USB-C PD Power Supply Board
71 parts - 4 layers48.9 × 49.8 mm

FC REV2
xXsenseiXx/KHATAF-F411
Open-hardware 4-layer STM32F411 drone flight controller designed in KiCad for INAV and Betaflight.
73 parts2 - 2 layers25.2 × 30.5 mm

- 4 layers51 × 31.5 mm

Questions
How big is the FlightControllerv1.0 PCB?
It measures 90 × 90 mm and has 4 copper layers, 1.6 mm thick.
What parts does the FlightControllerv1.0 use?
110 parts, built around the IST8310, MS5611-01BA03, TPS5430DDA and AMS1117-3.3. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the FlightControllerv1.0 KiCad files?
From the EE-crisrmh/VIGIL-Systems repository on GitHub, at the commit this page was made from: the board is hardware/kicad/FlightControllerv1.0.kicad_pcb and its schematic hardware/kicad/FlightControllerv1.0.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the FlightControllerv1.0 design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).