Skip to the content
PCBKitNew board
2 layers33.3 × 33.3 mmELRSFC, the printed circuit board in 3D

STM32F411 Based AIO Flight Controller. Superseded by [Merlyn435](https://github.com/YeetTheAnson/Merlyn435-Flight-Stack/)

Size
33.3 × 33.3 mm
Copper layers
2
Thickness
1.6 mm
Parts
98
Nets
125
Pads
400
Tracks, vias
1,022, 206
Pours
4
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
20 Mar 2026
Updated
25 Aug 2026

Overview

ELRSFC is an open-source printed circuit board by YeetTheAnson, from the YeetTheAnson/Merlyn411-FlightController repository on GitHub. It is a 2-layer board of 33.3 × 33.3 mm with 98 parts on 125 nets, routed with 1,022 tracks and 206 vias.

It is built around the AT7456E, STM32F411CEU6 and ESP8285H16, with the SX1281IMLTRT, 2450FM07D0034T and W25Q128JVSIQ TR among its other parts. Its parts include 40 capacitors, 17 resistors, 8 ICs, 5 diodes and 4 crystals. It belongs with the robots and motor control boards and the ESP8266 and STM32 boards of this library.

Main components

11

README

README.md

Merlyn411 Flight Controller

[!TIP] The Merlyn411 is outdated! Check out the Merlyn435 for a more powerful and modern flight controller + ESC.

Introduction

render This is my custom AIO (No ESC) flight controller! I started this project because commercial flight controllers get very expensive very quickly as you demand for more features like integrated radio receivers. I took on the challenge of designing my own betaflight compatible flight controller and it was difficult especially since the board has only 2 layers to save as much cost as possible and it's also my first time working with RF in circuits.

This flight controller is designed for a wide range of drones from 2" to as big as you want it to, and supports battery voltage from 2s to 8s although it is recommended to use a maximum of 6s. The 25.5mm pattern should be compatible with almost all frames on the market

It also features many quality of life features like an integrated ExpressLRS (ELRS) 2.4GHz receiver, an onboard OSD which inserts telemetry directly into the FPV video feed, 16MB flash memory for flight & blackbox logging and a buzzer for identifying error codes and to locate the drone.

While the primary focus of this projet is the flight controller hardware and firmware, I have also included a guide for the full 3 inch long range / freestyle drone build that this board was designed for

schematic layout

Hardware Specifications

  • MCU: STM32F411CEU6 (100MHz, 512KB Flash)
  • IMU: MPU6500 (SPI)
  • OSD: AT7456E (SPI)
  • Blackbox: Winbond W25Q128 16MB Flash (SPI)
  • Receiver: Integrated 2.4GHz ExpressLRS (ESP8285 & SX1281)
  • Power Supply: 5v and 3.3v rails up to 1A (3.3v rail is limited to 250mA)
  • Mounting: 25.5mm x 25.5mm square mounting pattern with M3 holes
  • Peripherals Includes pads for using external receivers, GPS, Magnetometer, analog camera and VTX

Note: The IMU should be in the forward facing direction if the USB C connector is facing forward and to the right. Adjust the mounting orientation accordingly in betaflight


Pinout

External Headers

topHeaders bottomHeaders

HeaderPin NameSTM32 PinDescription
GPSTPA9UART1 TX (Connect to GPS RX)
RPA10UART1 RX (Connect to GPS TX)
3-3.3V Power Out
5-5V Power out
G-Ground
CPB8I2C1 SCL (For Magnetometer)
DPB9I2C1 SDA (For Magnetometer)
VTXB-Video Bypass (Direct from camera)
O-Analog Video Out (From AT7456E)
G-Ground
B+-Battery Output
CAMB-Video Bypass (Direct to VTX)
I-Analog Video Input (From camera)
G-Ground
5-5V Power Out
SWDCPA14SWCLK (Debug & Flash)
DPA13SWDIO (Debug & Flash)
RNRSTNRST (Debug & Flash)
BBOOT0BOOT0 (Debug & Flash)
ESC1-4PB4-PB7Motor Signal Outputs
BATBAT+-Battery Positive Input
BAT--Battery Negative Input
CAPCAP+-Capacitor Anode
CAP--Capacitor Cathode
PWRG-Ground
3-3.3V Power Out
5-5V Power Out
Test PointsXPA15SmartAudio (Softserial 1 TX)
SPA15Current Sense Pin (From ESC)
TPA2ESP8285 RX Pin (STM32 TX PIN)
RPA3ESP8285 TX Pin (STM32 RX PIN)

Test Points & Pads

  • External RX:. Use these if you disable the internal ELRS receiver to connect other modules. Pad is labelled T and R on silkscreen.
  • IRC Tramp and SmartAudio: Connect VTX IRC or SmartAudio pin to the pad labeled with X on the silkscreen
  • Current Sense: Connect to ESC current sense pin. Pad is labelled S on silkscreen
  • ENA & FSH: Bridge ENA jumper to disable internal ELRS receiver. Bridge FSH jumper to put internal ELRS to flashing mode.
  • Boot Mode (STM32): To enter DFU mode for the flight controller, short the SWD B pad to any +3.3v rail while plugging in the USB.

Flight Controller Firmware (Betaflight)

Because this is a custom hardware layout, I believe that there is no standard targets that has the exact pin mapping as my flight controller. You must compile the firmware with the custom target definition in /firmware/MERLYN411 or use the pre compiled firmware in /firmware/COMPILED.

[!TIP] You can use flash another target to the flight controller and use betaflight CLI to remap the pin resource, however this is not recommended as the chosen target might not be compiled with a feature that this flight controller supports.

How to build the firmware

  1. Clone the betaflight repository using any UNIX terminal (use MYSYS2 MINGW64 on windows) and enter the directory
  2. Enter make configs (install any required GCC toolchain if required)
  3. Create a directory in betaflight/src/config/configs named MERLYN411 and paste config.h in the new directory
  4. Enter make MERLYN411 and the .hex file should appear in betaflight/obj

Flashing the Flight Controller

  1. Via USB (DFU Mode): Short the SWD B pad to 3.3v on the FC and plug in the USB C cable. Open Betaflight Configurator, select your compiled local .hex file, and click Flash Firmware.
  2. Via SWD: If the bootloader is corrupted, connect an ST Link programmer to the D, C, and D (R is optional) pads and flash via STM32CubeProgrammer.

ExpressLRS Flashing

The internal ESP8285 and SX1281 receiver is wired to the STM32 via a hardware UART. It uses the standard BETAFPV 2.4GHz Lite RX firmware target. You can obtain the firmware binaries from the ELRS site or from this repository in /firmware/COMPILED. There's two way to flash the receiver:

Method 1: Betaflight Passthrough

Note that betaflight must be installed and configured before passthrough works

  1. Connect the FC via USB
  2. Open the ExpressLRS Configurator web flasher or app
  3. Select Receiver
  4. Select the BETAFPV 2.4GHz Lite RX target and press next
  5. [OPTIONAL] Enter your bind phrase
  6. Select the Betaflight Passthrough flashing method, press next and follow the steps

Method 2: Manual Flashing

If the ESP8285 is bricked or passthrough fails, you can flash it directly using an FTDI adapter or another ESP8285/ESP8286/ESP32 or even an arduino

Wiring the FTDI: The UART pads on the board are named relative to the STM32's perspective. Because the STM32's TX is connected to the ESP8285's RX, you must wire your FTDI adapter RX to RX and TX to TX.

  • FTDI TX -> FC Pad T
  • FTDI RX -> FC Pad R
  • FTDI GND -> FC Pad G
  • FTDI 5V -> FC Pad 5 (or power via USB)

You must disable the STM32 when flashing via the T and R pad using an external FTDI as it will intefere with the UART lines. You can disable the STM32 by shorting the SWD R pad to ground. Remember to short the ENA pads on the bottom side to put the ESP8285 into flashing mode.


Drone Assembly

While this project is mainly focused on the Merlyn411 flight controller, I designed it along with a high efficiency 3 inch cruiser drone in mind. If you want to recreate the full build, below is the component breakdown and assembly steps

droneRender

Component List

  • Flight Controller: Merlyn411
  • ESC: JHEMCU EM40A
  • Motors: Sparkhobby 1303.5 5500KV
  • Propellers: Gemfan 3016 Tri-Blade
  • VTX: JHEMCU 600mW VTX
  • Camera: Analog FPV micro(19mm) camera
  • Frame: Custom frame
  • Battery: 2S-4S LiPo or 2S/3S 18650 Li Ion packs

Wiring Diagram

Why 3D Printing the Frame is Not Recommended

Currently, I am using a custom frame that I 3D printed for prototyping. I strongly advise against using a 3D printed frame for your final build. The Merlyn411 uses the MPU6500 IMU, which is sensitive to mechanical noise and vibrations. 3D printed frames will flex and resonate significantly more than carbon fiber frames. This flexing will send noise into the gyro and resulting in terrible flight performance. Also the 3D printed frame will likely not survive a moderate impact.

Fasteners

Because this is a custom stack with a 25.5mm FC and a 20mm ESC, the stack up is very specific. You will need:

  • 6x M3 20mm Female to Female Brass Standoffs (Frame separation)
  • 12x M3 6mm Screws (Frame to standoffs)
  • 4x M2 Nuts (Stack base)
  • 4x M2 16mm Screws (Main stack skewers)
  • 8x M2 10mm Screws (Top stack/VTX skewers)
  • 16x M2 6mm Screws (Motors)
  • 4x M2 6mm Screws (Camera/Props)

FC Stack

The Merlyn411 uses a 25.5x25.5mm mounting pattern (which is meant for AIO boards). However, I needed a standalone ESC which comes in standard sizes like 20x20mm.

To make these fit together, you must use a 3D printed adapter plate in /production/3dPrint/boardAdapter.stl.

Stack Assembly Layer 1:

  1. Place 4x M2 Nuts into the designated recesses in the bottom frame plate.
  2. Push rubber grommets into the flight controller
  3. Push 4x M2 16mm screws through the adapter plate, through the rubber grommet, and through the bottom plate into the M2 nuts layer1

Stack Assembly Layer 2:

  1. Push rubber grommets into the ESC
  2. Push 4x M2 10mm screws through rubber grommets and through the adapter plate until it reaches another set of M2 nuts layer2

Mounting the VTX

The JHEMCU 600mW VTX mounts to the rear of the frame.

  1. Place 4x M2 Nuts into the bottom frame plate at in the rear
  2. Push rubber grommets into the VTX
  3. Thread 4x M2 10mm screws through rubber grommets, down through the bottom plate, and into the nuts

Final Assembly

  1. Motors: Mount the four 1303.5 5500KV motors to the arms using 16x M2 6mm screws (4 per motor). Ensure the screws do not touch the motor windings inside the bell.
  2. Propellers: Mount the Gemfan 3016 propeller. Pay attention to motor rotation directions (depending on your betaflight configuration, it could either be prop in or prop out). Fasten each prop with 2x M2 6mm screws.
  3. Camera: Mount the analog FPV camera to the front using 2x M2 6mm screws.
  4. Closing the Frame: Use the 6x M3 20mm standoffs and 12x M3 6mm screws to secure the top plate to the bottom plate

Bill of Material

Note: The prices in USD are converted as of 31 March 2026 and prices may fluctuate. The requested funding is $200 as a buffer for the unstable prices. Any unused funds is returned.

Item NameLinkVendorQuantityTotal Price (USD)
2450FM07D0034LinkAliExpress16.40
AliExpress ShippingAliExpress13.15
PCBJLCPCB12.00
PCB AssemblyJLCPCB179.49
JLCPCB ShippingJLCPCB16.02
Sparkhobby 1303.5 5500KV motorLinkTaobao422.50
JHEMCU EM40A ESCLinkTaobao118.11
19mm FPV CameraLinkTaobao15.16
JHEMCU 600mW VTXLinkTaobao114.58
M10 GPS & MagnetometerLinkTaobao17.55
Rubber Grommet Shock MountLinkTaobao120.80
Gemfan 3016LinkTaobao11.75
ELRS Dipole AntennaLinkTaobao10.90
Taobao TaxTaobao18.35
Taobao ShippingTaobao12.48
10k ResistorLinkShopee10.45
100nF CapaciorLinkShopee10.45
22uF TantalumLinkShopee10.88
USBCL6-2SC6LinkShopee10.83
2N7002LTLinkShopee10.79
9650 Active BuzzerLinkShopee11.05
SPX3819LinkShopee11.45
8040 68uH InductorLinkShopee11.51
SPX Express ShippingShopee22.56
GRAND TOTAL189.21

Parts

98
QtyValueFootprintReferences
170.1uFCapacitor_SMD:C_0402_1005MetricC2, C4, C11, C17, C23, C27, C28, C29, C34, C36, C37, C41, C44, C45, C47, C48 +1
610kResistor_SMD:R_0402_1005MetricR3, R5, R12, R15, R16, R17
610uFCapacitor_SMD:C_0402_1005MetricC1, C7, C8, C10, C13, C49
510nFCapacitor_SMD:C_0402_1005MetricC12, C18, C24, C26, C38
45.1kResistor_SMD:R_0402_1005MetricR1, R2, R6, R10
2100uFELRSFC:CASE-B_3528C21, C35
210kResistor_SMD:R_0603_1608MetricR4, R7
210pFCapacitor_SMD:C_0402_1005MetricC31, C33
212pFCapacitor_SMD:C_0402_1005MetricC42, C43
222uFELRSFC:CAP-SMD_L3.2-W1.6-RD-C7171C30, C32
275Resistor_SMD:R_0603_1608MetricR8, R9
10.1uFCapacitor_SMD:C_0603_1608MetricC5
1120Resistor_SMD:R_0402_1005MetricR13
112kResistor_SMD:R_0402_1005MetricR14
11N4148WDiode_SMD:D_SOD-123D5
11uFCapacitor_SMD:C_0402_1005MetricC40
12.2uFCapacitor_SMD:C_0402_1005MetricC39
12450FM07D0034TELRSFC:FIL_2450FM07D0034TFL1
125MHzELRSFC:CRYSTAL-SMD_4P-L3.2-W2.5-BLX3
126MHzELRSFC:CRYSTAL-SMD_4P-L2.0-W1.6-BLX4
127MHzELRSFC:CRYSTAL-SMD_4P-L2.0-W1.6-BLX2
12N7002Package_TO_SOT_SMD:SOT-23Q1
1470nFCapacitor_SMD:C_0603_1608MetricC25
147kResistor_SMD:R_0402_1005MetricR11
152MHzELRSFC:CRYSTAL-SMD_4P-L2.0-W1.6-BLX1
168uHInductor_SMD:L_Sunlord_SWPA8040SL1
1AT7456EELRSFC:TSSOP-28_L9.7-W4.4-P0.65-LS6.4-BL-EP-2U4
1B5819WELRSFC:SOD-123_L2.7-W1.6-LS3.7-RD-1D1
1BATELRSFC:BATH2
1BUZZERELRSFC:BUZ-SMD_L9.6-W9.6-LS10.0-RBUZZER1
1CAMELRSFC:CAMH4
1CAPELRSFC:CAPH3
1Conn_Coaxial_SmallELRSFC:UFLJ1
1ENAELRSFC:ENAJP1
1ESCELRSFC:ESCH8
1ESP8285H16ELRSFC:QFN-32_L5.0-W5.0-P0.50-TL-EP3.7U7
1EXTRAELRSFC:EXTRAH9
1FLASHELRSFC:FLASHJP2
1GPSELRSFC:GPSH1
1GREENLED_SMD:LED_0805_2012MetricD4
1MPU6500ELRSFC:QFN-24_L3.0-W3.0-P0.40-BL-EPU5
1PWRELRSFC:PWRH5
1REDLED_SMD:LED_0805_2012MetricD3
1SENSEELRSFC:SENSEH10
1SPX3819M5-L-3-3/TRELRSFC:SOT-23-5_L3.0-W1.7-P0.95-LS2.8-BLU9
1STM32F411CEU6ELRSFC:UFQFPN-48_L7.0-W7.0-P0.50-BL-EPU6
1SWDELRSFC:SWDH7
1SX1281IMLTRTELRSFC:QFN-24_L4.0-W4.0-P0.50-TL-EP2.6U8
1TYPE-C 16PIN 2MD(073)ELRSFC:USB-C-SMD_TYPE-C-6PIN-2MD-073USB1
1USBLC6-2SC6ELRSFC:SOT-23-6_L2.9-W1.6-P0.95-LS2.8-BLD2
1VTXELRSFC:VTXH6
1W25Q128JVSIQTRELRSFC:SOIC-8_L5.3-W5.3-P1.27-LS8.0-BLU1
1XL1509-5.0E1ELRSFC:SOIC-8_L5.0-W4.0-P1.27-LS6.0-BLU2

The 92 most common of 98 parts.

Questions

How big is the ELRSFC PCB?

It measures 33.3 × 33.3 mm and has 2 copper layers, 1.6 mm thick.

What parts does the ELRSFC use?

98 parts, built around the AT7456E, STM32F411CEU6, ESP8285H16 and SX1281IMLTRT. 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 ELRSFC KiCad files?

From the YeetTheAnson/Merlyn411-FlightController repository on GitHub, at the commit this page was made from: the board is PCB/ELRSFC.kicad_pcb and its schematic PCB/ELRSFC.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the ELRSFC design in my own project?

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

Similar boards

  • 4 layers30.5 × 30.5 mmMerlyn435, the printed circuit board in 3D

    Merlyn435

    YeetTheAnson/Merlyn435-Flight-Stack

    Successor to the Merlyn411 25mm flight controller. The flight stack includes a 3in1 20mm flight controller and a 20mm ESC.

    106 parts6
  • 6 layers39.5 × 39.5 mmAD1 2.4G, the printed circuit board in 3D

    AD1 2.4G

    Paschalis/UAV-TelemetryLink

    Receiver and transmitter solution for GCS using ELRS, mLRS, and MAVLink for reliable telemetry and control.

    55 parts11MIT
  • 4 layers37.5 × 36 mmVersion 1 M10Q HMC5883L, the printed circuit board in 3D

    Version 1 M10Q HMC5883L

    Paschalis/fc-plus-sensor-module

    FC Plus is a modular add-on board for UAV flight controllers, providing advanced telemetry, GPS, object avoidance (ToF, Sonar, IR), and LED indicators for status feedback.

    80 parts1GPL-3.0
  • 8 layers35 × 35 mmOpenAIO, the printed circuit board in 3D

    OpenAIO

    OpenDrone-hw/OpenAIO

    Open-source AIO for 2-6S toothpick quads: flight controller, 4-in-1 AM32 ESC and ExpressLRS receiver, 25.5x25.5 mm.

    343 parts19CERN-OHL-S-2.0
  • 6 layers10 × 11.5 mmOpenRX Lite, the printed circuit board in 3D

    OpenRX Lite

    OpenDrone-hw/OpenRX-Lite

    Open-source 2.4 GHz ExpressLRS receiver with an on-board ceramic antenna.

    47 parts6CERN-OHL-S-2.0
  • 6 layers13 × 11.1 mmELRS Receiver, the printed circuit board in 3D

    ELRS Receiver

    aprskalo1/nano24-elrs-receiver

    nano24: compact 2.4 GHz ExpressLRS receiver prototype with ESP32-C3, SX1281, CRSF and a printed Wi-Fi antenna. KiCad sources, BOM, Gerbers and validation notes.

    47 partsCERN-OHL-S-2.0
  • 8 layers38 × 38 mmKolibri v0.5, the printed circuit board in 3D

    Kolibri v0.5

    bastian2001/Kolibri-FC-Hardware

    Hardware for the Kolibri Flight Controller. 30mm/20mm FC with RP2350 + ELRS onboard

    221 parts8GPL-3.0