Skip to the content
4 layers108.4 × 50 mmNo fly zone, the printed circuit board in 3D

STM32-based quadcopter and remote controller running on custom hardware and software

Size
108.4 × 50 mm
Copper layers
4
Thickness
1.61 mm
Parts
90
Nets
123
Pads
398
Tracks, vias
654, 163
Pours
14
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
14 Apr 2026
Updated
8 Nov 2026

Overview

No fly zone is an open-source printed circuit board by tynix5, from the tynix5/no_fly_zone repository on GitHub. It is a 4-layer board of 108.4 × 50 mm with 90 parts on 123 nets, routed with 654 tracks and 163 vias.

It is built around the NRF24L01P-R, LPS25HB and AP2112K-3.3, with the LSM6DS3TR-C and MPZ2012S601AT000 among its other parts. Its parts include 31 capacitors, 15 connectors, 13 resistors, 9 ICs and 5 diodes. It belongs with the robots and motor control boards and the STM32 boards of this library.

Main components

5

README

README.md

no_fly_zone

A custom designed quadcopter and remote combination featuring a custom STM32-based flight controller PCB and STM32-based remote control PCB that combine aspects of sensor fusion, quaternion-based attitude control, wireless communication, and digital ESC communication.


Fully-assembled quadcopter


Flight controller pictured with ESC mounted underneath


Custom flight controller PCB


Custom remote control frame


Remote control PCB

Overview

This project focused on the design and implementation of a custom quadcopter flight controller paired with a complementary custom remote from the ground-up. Rather than buying an off-the-shelf flight controller and remote, almost all aspects of both the flight controller and remote were custom made. I decided to do this project because I have always been fascinated by drones, and I liked the challenge it would bring. It ties together all aspects of signal integrity, systems, low-level firmware, and digital signal processing. Below is a summary of some of the aspects this project entailed...

Custom Features

  • Flight controller PCB
  • Remote control PCB
  • Remote control frame
  • Sensor fusion firmware
  • Wireless nRF24L01 driver and handler
  • Digital ESC communication implementation (DShot)
  • Sensor libraries (IMU, Barometer, etc.)
  • Encoder and OLED display libraries for remote control

No off-the-shelf software or firmware was used, but some aspects of flight controller design were inspired by PixHawk and Betaflight. Components purchased off-shelf include the ESC, four BLDC motors, quadcopter frame, and board components.

Folder Overview

/firmware

Contains source code, build settings, documentation, and additional information/diagrams for both the remote and quadcopter. A link to the STM32 submodule library can also be found, where most of the sensor implementation is found.

Note: The scripts subfolder in /firmware contains AI-generated Python scripts for validation and testing purposes. AI was NOT used to generate code found on either the remote or flight controller.

/hardware

Contains KiCAD schematics and and PCB fabrication outputs for both the remote and quadcopter. Additional information on hardware selection and design can be found in each respective subfolder.

/3d

Contains the 3D files for the spacers used to separate the STM32 flight controller board and ESC board, along with the 3D files for the remote control housing.

/screenshots

Contains relevant screenshots for those in other READMEs

BOM

All components purchased off-shelf can be found in the bom.txt file, and the BOMs for the PCBs can be found in the .csv files in their respective folders.

Improvements

  • Use of magnetometer or GPS unit for absolute heading
  • Use of barometer for altitude hold
  • Improved remote control PCB including nonvolatile storage (for PID parameters) and amplified transmission power
  • Newer remote frame design

Parts

90
QtyValueFootprintReferences
13100nCapacitor_SMD:C_0805_2012MetricC1, C2, C3, C4, C5, C7, C9, C14, C16, C18, C19, C20, C23
8M3MountingHole:MountingHole_3.2mm_M3_DIN965_PadH1, H2, H3, H4, H5, H6, H7, H8
51k5Resistor_SMD:R_0805_2012MetricR2, R3, R4, R6, R7
310uCapacitor_SMD:C_0805_2012MetricC6, C13, C15
31uCapacitor_SMD:C_0805_2012MetricC8, C21, C22
21kResistor_SMD:R_0805_2012MetricR5, R11
222pCapacitor_SMD:C_0402_1005MetricC30, C31
222pCapacitor_SMD:C_0805_2012MetricC10, C11
2PWRConnector_JST:JST_SH_SM02B-SRSS-TB_1x02-1MP_P1.00mm_HorizontalJ3, J4
110kResistor_SMD:R_0805_2012MetricR1
110nCapacitor_SMD:C_0402_1005MetricC26
115uInductor_SMD:L_0805_2012MetricL2
116MHzcustom_footprints:XTAL_ABM8AIG-16.000MHZ-12-2Z-T3Y2
11MResistor_SMD:R_0402_1005MetricR13
11nCapacitor_SMD:C_0402_1005MetricC27
1220nCapacitor_SMD:C_0805_2012MetricC17
122kResistor_SMD:R_0402_1005MetricR12
122k1Resistor_SMD:R_0805_2012MetricR9
122uCapacitor_SMD:C_0805_2012MetricC25
12450BM14A0002Tcustom_footprints:FIL_2450BM14A0002TFL1
12n2Capacitor_SMD:C_0402_1005MetricC28
12u2Capacitor_SMD:C_0805_2012MetricC24
133nCapacitor_SMD:C_0402_1005MetricC29
147nInductor_SMD:L_0805_2012MetricL1
14u7Capacitor_SMD:C_0805_2012MetricC12
15kResistor_SMD:R_0805_2012MetricR10
188k7Resistor_SMD:R_0805_2012MetricR8
18MHzcustom_footprints:XTAL_ABM3-16.000MHZ-D2Y-TY1
1AP2112K-3.3Package_TO_SOT_SMD:SOT-23-5U6
1ATGM336Hcustom_footprints:ATGM336HU3
1BARConnector_JST:JST_SH_SM05B-SRSS-TB_1x05-1MP_P1.00mm_HorizontalJ7
1BOOT0Button_Switch_SMD:SW_SPDT_PCM12SW2
1CON-SMA-EDGE-Scustom_footprints:RFSOLUTIONS_CON-SMA-EDGE-SJ15
1DebugConnector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_VerticalJ2
1ESCConnector_JST:JST_SH_SM08B-SRSS-TB_1x08-1MP_P1.00mm_HorizontalJ1
1GPSConnector_JST:JST_SH_SM03B-SRSS-TB_1x03-1MP_P1.00mm_HorizontalJ11
1IIS2MDCTRcustom_footprints:IIS2MDCTRU2
1IMUConnector_JST:JST_SH_SM06B-SRSS-TB_1x06-1MP_P1.00mm_HorizontalJ5
1LMR50410Package_TO_SOT_SMD:SOT-23-6U7
1LPS25HBPackage_LGA:ST_HLGA-10_2.5x2.5mm_P0.6mm_LayoutBorder3x2yU5
1LSM6DS3TR-Ccustom_footprints:LSM6DS3TRU4
1MAGConnector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_HorizontalJ9
1MPZ2012S601AT000Resistor_SMD:R_0805_2012MetricFB1
1NRSTButton_Switch_SMD:SW_SPST_TL3305ASW1
1PWRLED_SMD:LED_0805_2012MetricD4
1REDLED_SMD:LED_0805_2012MetricD5
1SPI1_BARConnector_JST:JST_SH_SM05B-SRSS-TB_1x05-1MP_P1.00mm_HorizontalJ8
1SPI1_IMUConnector_JST:JST_SH_SM06B-SRSS-TB_1x06-1MP_P1.00mm_HorizontalJ6
1SPI2Connector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_HorizontalJ10
1STAT1LED_SMD:LED_0805_2012MetricD2
1STAT2LED_SMD:LED_0805_2012MetricD3
1STM32F446RCTxPackage_QFP:LQFP-64_10x10mm_P0.5mmU1
1U.FL_R_SMTcustom_footprints:HRS_UFL_R_SMTJ13
1UART1Connector_JST:JST_SH_SM03B-SRSS-TB_1x03-1MP_P1.00mm_HorizontalJ12
1USB_B_Minicustom_footprints:EDAC_690-005-299-043J14
1USERLED_SMD:LED_0805_2012MetricD1
1VSELButton_Switch_SMD:SW_SPDT_PCM12SW3
1nRF24L01PPackage_DFN_QFN:QFN-20-1EP_4x4mm_P0.5mm_EP2.5x2.5mmU9
1~Package_TO_SOT_SMD:SOT-723U8

More from tynix5/no_fly_zone

5
  • 4 layers100 × 61 mmNo fly zone remote revised, the printed circuit board in 3D

    No fly zone remote revised

    tynix5/no_fly_zone

    STM32-based quadcopter and remote controller running on custom hardware and software

    68 parts1
  • 4 layers40 × 40 mmNo fly zone, the printed circuit board in 3D

    No fly zone

    tynix5/no_fly_zone

    STM32-based quadcopter and remote controller running on custom hardware and software

    65 parts1
  • 4 layers50 × 50 mmMcu pcb, the printed circuit board in 3D

    Mcu pcb

    tynix5/no_fly_zone

    STM32-based quadcopter and remote controller running on custom hardware and software

    64 parts1
  • 4 layers103.2 × 52 mmNo fly zone remote, the printed circuit board in 3D

    No fly zone remote

    tynix5/no_fly_zone

    STM32-based quadcopter and remote controller running on custom hardware and software

    53 parts1
  • 4 layers40 × 40 mmSensors pcb, the printed circuit board in 3D

    Sensors pcb

    tynix5/no_fly_zone

    STM32-based quadcopter and remote controller running on custom hardware and software

    26 parts1

Similar boards

  • 4 layers96 × 60 mmSensor Node, the printed circuit board in 3D

    Sensor Node

    souptik-samanta/Sensor-Node

    A compact environmental monitoring node built around the STM32L052 microcontroller. The board measures temperature, humidity, while providing onboard storage and support for external SX1262 LoRa modules.

    59 parts1
  • 4 layers80 × 60 mmCAN ECU, the printed circuit board in 3D

    CAN ECU

    dhruxraj/stm32-can-ecu

    A compact, "ECU-style" CAN node for learning and prototyping automotive-type embedded software. It has an STM32G4 MCU, a CAN transceiver with protection and switchable termination, a 6-axis IMU, a protected 8-18 V…

    77 parts2
  • 4 layers25 × 35 mmWatch, the printed circuit board in 3D

    Watch

    Pedro-Seixas/Custom-Watch

    A custom low-power stm32-based wearable smart watch

    49 parts1MIT
  • 2 layers40 × 40 mmProject2, the printed circuit board in 3D

    Project2

    Parwaz-Dynamics/Embedded-In-Bones

    My personal embedded systems learning journey projects.

    48 parts
  • 4 layers120 × 76 mmPanel, the printed circuit board in 3D

    Panel

    vbartusevicius/weather-station

    Open-source rooftop weather and air-quality station with no moving parts (Ø 96 × 235 mm, UV-stabilised ASA): ultrasonic wind, acoustic rain and hail, UV / sunlight / night-sky brightness, temperature, humidity…

    235 parts
  • 4 layers61.8 × 27.5 mmAudio Processing HW V1.0, the printed circuit board in 3D

    Audio Processing HW V1.0

    aitesam961/OpenADSP

    An Embedded Digital Signal Processing Device for Audio signals.

    83 parts4GPL-3.0
  • 2 layers150 × 100 mmFalcon rc, the printed circuit board in 3D

    Falcon rc

    yedidiaSch/FalconDrone

    [IN PROGRESS] High-performance flight controller for quadcopters, providing real-time stabilization and attitude control using FreeRTOS and C++ on STM32

    78 partsMIT
  • 2 layers80 × 96 mmProgrammer Board, the printed circuit board in 3D

    Programmer Board

    Reid-n0rc/LMS-6_Interface_Board

    Interface to the LMS-6 radiosonde carde edge connector.

    55 parts4GPL-3.0

Questions

How big is the No fly zone PCB?

It measures 108.4 × 50 mm and has 4 copper layers, 1.61 mm thick.

What parts does the No fly zone use?

90 parts, built around the NRF24L01P-R, LPS25HB, AP2112K-3.3 and LSM6DS3TR-C. 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 No fly zone KiCad files?

From the tynix5/no_fly_zone repository on GitHub, at the commit this page was made from: the board is hardware/no_fly_zone/rev1.0/no_fly_zone.kicad_pcb and its schematic hardware/no_fly_zone/rev1.0/mcu.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the No fly zone design in my own project?

Its repository states no licence, so its author keeps all rights: ask tynix5 before reusing the design.