Skip to the content
6 layers170 × 172.2 mmEsc rev b, the printed circuit board in 3D

Reworked cheaper, maybe faster but less redundant drone controller.

Size
170 × 172.2 mm
Copper layers
6
Thickness
1.6 mm
Parts
681
Nets
668
Pads
3,442
Tracks, vias
5,135, 2,823
Pours
54
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
16 Feb 2026
Updated
5 Nov 2026

Overview

Esc rev b is an open-source printed circuit board by iamdarshg, from the iamdarshg/drone-arm repository on GitHub. It is a 6-layer board of 170 × 172.2 mm with 681 parts on 668 nets, routed with 5,135 tracks and 2,823 vias.

It is built around the STM32G431CBT6, RFM-0505S and DRV8353SRTAR, with the LM5164DDA, USBLC6-2SC6 and SN74LVC1G08DBVR among its other parts. Its parts include 262 capacitors, 260 resistors, 49 ICs, 36 transistors and 23 connectors. It belongs with the robots and motor control boards and the RP2350 and STM32 boards of this library.

Main components

12

README

README.md

This is a codebase that is woring to create a hardware+software solution for dron control and management in a relatively modular manner. This is a codebase that is woring to create a hardware+software solution for dron control and management in a relatively modular manner. This needs to be inherenly zero-trust, zero-fail and easy to analyse statically. The langauge of choice is C, with rust and python tooling accepted as well.Follow the 10 rules as set by nasa for code, the same should apply here due to the similar no-fail environment. Currently, the main control board has been designed and the auxiallry field-oriented control esc needs to be designed. Ideally, as much of this code as possible should be library free and written entirely from scratch. If any libraries are used beyond standard c libararies, they should all be stored within this folder, nowehere else. Please add as much documentation as is needed, whenevr you refer to something just download and leave it in the docs folder. Please use the pico SDK exclusively as a library for C and/or write everything using reigster level functions. Build will occur via Meson & Ninja. This means we will be compiling the whole thing using the arm toolchain, against the headers and flash tables and such from the SDK. When debug is enabled in the meson build, we will output the assembly instead of the .uf2 file.

Motor Platform (selected prototype baseline)

The ESC (Rev-B) is being optimized for the Flycci FA4119 KV350 (product page). The current prototype decision, alternatives, cost model, proposed 550 Kv rewind, selected 8x4.5 propeller and mandatory validation gates are documented in hardware/motor_release/FA4119_PROPULSION_DECISION.md.

  • 12N14P outrunner (7 pole pairs), stator 41x19 mm, 280 g w/ cable
  • Recommended 10S-12S LiPo, 13" prop, 80 A ESC class
  • Measured (12S, HQ13x9-3 3-blade): 8.18 kg max thrust / 3.47 kW max @ 48 V, 74 A battery
  • A rewind to approximately 550 kV is the experimental target if stock-motor dyno results justify it. The chosen Orange HD 8045 propeller has no verified manufacturer RPM rating in the repository, so the 550 Kv/12S combination requires closed-loop RPM limiting and guarded testing; it is not flight-released.

eRPM headroom

eRPM = mech RPM x pole pairs (7). At 12S max (50.4 V):

WindingNo-load RPMNo-load eRPMPublished or initially governed loaded eRPM
350 kV (stock)17,640~123 k~77-80 k with the manufacturer's 13-inch test prop
550 kV (rewind)27,720~194 kinitially <=91 k with the 8-inch prop (13,000 mechanical-rpm ceiling)

280 k eRPM check: 280 k eRPM = 4.67 kHz electrical = 40,000 mechanical RPM at 7 pole pairs. This remains a possible future bare-rotor research point, not a propeller operating point. An 8-inch prop at 40,000 RPM has approximately 426 m/s rotational tip speed before pitch velocity and is unsuitable. The proposed 550 Kv winding reaches 194 k eRPM at fully charged 12S; initial propeller testing is capped at 13,000 mechanical RPM (91 k eRPM) pending a verified rating for the exact propeller.

Build Instructions

This project uses Meson and Ninja for building.

Prerequisites

Configuration

Create a build directory and configure the project:

bash
meson setup build

To enable Debug Mode (includes assembly output and -O0):

bash
meson setup build -Ddebug=enabled 

Building

The documented firmware targets are currently blocked: the tracked checkout is missing source and include paths required by meson.build, and the ARM GNU cross compiler is not available in the build environment. Do not treat this checkout as producing flight or ESC firmware. See the Issue #22 source and build audit for the reproducible audit commands and recorded failures.

When the required source and toolchain are restored, the intended build command is:

bash
ninja -C build

Testing

To build and run the unit tests:

bash
meson test -C build

Current tests include:

  • test_main: Scheduler and basic async operations.
  • test_clock_safety: (New) Integrity protection for global clock state. The main software will run as two non-synchronised loops- the sensor loop and the PWM loop. The one loop will run at the speed of the ESCs and will provide the best estimate for what the thrust should be at any given time to the ESCs, 60Hz if communicating via PWM and 1 kHz if communicating via SPI. This rate will be configurable. This loop may also be offloaded to the PIO modules in the future. The other loop is reponsible for sensor measuerment and fusion.

Parts

681
QtyValueFootprintReferences
74100kResistor_SMD:R_0603_1608MetricR1102, R1104, R1106, R1108, R1110, R1112, R1150, R1151, R1152, R1154, R1158, R1180, R1202, R1204, R1206, R1208 +58
4410u 100VCapacitor_SMD:C_1210_3225MetricC1106, C1131, C1132, C1133, C1134, C1135, C1136, C1206, C1231, C1232, C1233, C1234, C1235, C1236, C1306, C1331 +28
43100nCapacitor_SMD:C_0402_1005MetricC1167, C1168, C1169, C1170, C1172, C1267, C1268, C1269, C1270, C1272, C1367, C1368, C1369, C1370, C1372, C1467 +27
40100nCapacitor_SMD:C_0603_1608MetricC1161, C1164, C1165, C1175, C1176, C1177, C1261, C1264, C1265, C1275, C1276, C1277, C1361, C1364, C1365, C1375 +24
362.2Resistor_SMD:R_0603_1608MetricR1101, R1103, R1105, R1107, R1109, R1111, R1201, R1203, R1205, R1207, R1209, R1211, R1301, R1303, R1305, R1307 +20
36IPTC014N10NM5revb:PG-HDSOP-16_TOLT_IPTCQ1101, Q1102, Q1103, Q1104, Q1105, Q1106, Q1201, Q1202, Q1203, Q1204, Q1205, Q1206, Q1301, Q1302, Q1303, Q1304 +20
240.5m 1% 5Wrevb:CSS4J-4026_KelvinR1120, R1121, R1122, R1123, R1220, R1221, R1222, R1223, R1320, R1321, R1322, R1323, R1420, R1421, R1422, R1423 +8
2410n C0GCapacitor_SMD:C_0603_1608MetricC1120, C1121, C1122, C1123, C1220, C1221, C1222, C1223, C1320, C1321, C1322, C1323, C1420, C1421, C1422, C1423 +8
24150k 0.1%Resistor_SMD:R_1206_3216MetricR1140, R1141, R1142, R1143, R1240, R1241, R1242, R1243, R1340, R1341, R1342, R1343, R1440, R1441, R1442, R1443 +8
2447Resistor_SMD:R_0603_1608MetricR1130, R1131, R1132, R1133, R1230, R1231, R1232, R1233, R1330, R1331, R1332, R1333, R1430, R1431, R1432, R1433 +8
2110kResistor_SMD:R_0603_1608MetricR202, R214, R215, R216, R1153, R1156, R1253, R1256, R1353, R1356, R1453, R1456, R1553, R1556, R1653, R1656 +5
1212p C0GCapacitor_SMD:C_0402_1005MetricC1173, C1174, C1273, C1274, C1373, C1374, C1473, C1474, C1573, C1574, C1673, C1674
121u 16VCapacitor_SMD:C_0603_1608MetricC1102, C1103, C1202, C1203, C1302, C1303, C1402, C1403, C1502, C1503, C1602, C1603
122.2u 10VCapacitor_SMD:C_0603_1608MetricC1162, C1163, C1262, C1263, C1362, C1363, C1462, C1463, C1562, C1563, C1662, C1663
81uCapacitor_SMD:C_0603_1608MetricC706, C707, C1171, C1271, C1371, C1471, C1571, C1671
8USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U208, U209, U1107, U1207, U1307, U1407, U1507, U1607
71kResistor_SMD:R_0603_1608MetricR203, R1157, R1257, R1357, R1457, R1557, R1657
747kResistor_SMD:R_0603_1608MetricR209, R1181, R1281, R1381, R1481, R1581, R1681
7600R@100MHzInductor_SMD:L_0603_1608MetricFB201, FB1101, FB1201, FB1301, FB1401, FB1501, FB1601
7GREENLED_SMD:LED_0603_1608MetricD201, D1102, D1202, D1302, D1402, D1502, D1602
7SM8S51Arevb:DO-218AB_SM8SD701, D1101, D1201, D1301, D1401, D1501, D1601
7SN74LVC1G08DBVRPackage_TO_SOT_SMD:SOT-23-5U205, U1106, U1206, U1306, U1406, U1506, U1606
6100n 100VCapacitor_SMD:C_0603_1608MetricC1105, C1205, C1305, C1405, C1505, C1605
6100n 10VCapacitor_SMD:C_0603_1608MetricC1107, C1207, C1307, C1407, C1507, C1607
610k 0.1%Resistor_SMD:R_0603_1608MetricR1145, R1245, R1345, R1445, R1545, R1645
610n 50VCapacitor_SMD:C_0603_1608MetricC1150, C1250, C1350, C1450, C1550, C1650
610u 10VCapacitor_SMD:C_0805_2012MetricC1160, C1260, C1360, C1460, C1560, C1660
61u 10VCapacitor_SMD:C_0603_1608MetricC1104, C1204, C1304, C1404, C1504, C1604
633k 0.1%Resistor_SMD:R_0603_1608MetricR1144, R1244, R1344, R1444, R1544, R1644
64.7kResistor_SMD:R_0603_1608MetricR1155, R1255, R1355, R1455, R1555, R1655
64.7uCapacitor_SMD:C_0603_1608MetricC1166, C1266, C1366, C1466, C1566, C1666
647n 100VCapacitor_SMD:C_0603_1608MetricC1101, C1201, C1301, C1401, C1501, C1601
668kResistor_SMD:R_0603_1608MetricR1159, R1259, R1359, R1459, R1559, R1659
68MHz ABM8GCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1101, Y1201, Y1301, Y1401, Y1501, Y1601
6DRV8353SRTARrevb:WQFN-40-EP_6x6_P0.5U1101, U1201, U1301, U1401, U1501, U1601
6FUSED_BATTERY_TAPrevb:POWER_LUG_M5_2P_P20J1101, J1201, J1301, J1401, J1501, J1601
6INA296A2IDRPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU1105, U1205, U1305, U1405, U1505, U1605
6ISO6731FDWRPackage_SO:SOIC-16W_7.5x10.3mm_P1.27mmU1103, U1203, U1303, U1403, U1503, U1603
6LOCAL_SWDConnector_PinHeader_1.27mm:PinHeader_1x05_P1.27mm_VerticalJ1103, J1203, J1303, J1403, J1503, J1603
6MOTOR_PHASESrevb:POWER_LUG_M5_3P_P20J1102, J1202, J1302, J1402, J1502, J1602
6NTCG163JF103FT1Resistor_SMD:R_0603_1608MetricTH1, TH2, TH3, TH4, TH5, TH6
6RFM-0505Srevb:RFM_SIP4_11.5x6_P2.54PS1101, PS1201, PS1301, PS1401, PS1501, PS1601
6STM32G431CBT6Package_QFP:LQFP-48_7x7mm_P0.5mmU1102, U1202, U1302, U1402, U1502, U1602
6TPS70933DBVRPackage_TO_SOT_SMD:SOT-23-5U1104, U1204, U1304, U1404, U1504, U1604
415p C0GCapacitor_SMD:C_0402_1005MetricC213, C214, C240, C241
422u 10VCapacitor_SMD:C_1210_3225MetricC704, C705, C713, C714
44.7uCapacitor_SMD:C_0402_1005MetricC201, C202, C203, C204
45.1kResistor_SMD:R_0603_1608MetricR204, R205, R211, R212
32.2u 100V X7RCapacitor_SMD:C_1210_3225MetricC700, C701, C710
214.3k 1%Resistor_SMD:R_0603_1608MetricR703, R712
21MResistor_SMD:R_0603_1608MetricR210, R213
21n 2kVCapacitor_SMD:C_1206_3216MetricC234, C235
22.2n 50V X7RCapacitor_SMD:C_0603_1608MetricC703, C712
2226k 1%Resistor_SMD:R_0603_1608MetricR705, R713
227Resistor_SMD:R_0402_1005MetricR206, R207
23.3n X7RCapacitor_SMD:C_0603_1608MetricC708, C715
233u 1.8AInductor_SMD:L_Bourns_SRR1260L701, L702
241.2k 1%Resistor_SMD:R_0603_1608MetricR701, R710
245.3k 1%Resistor_SMD:R_0603_1608MetricR702, R711
2470p C0GCapacitor_SMD:C_0603_1608MetricC709, C716
2LM5164DDAPackage_SO:HSOP-8-1EP_3.9x4.9mm_P1.27mm_EP2.41x3.1mm_ThermalViasU701, U703
10 STARResistor_SMD:R_1206_3216MetricR704
110nCapacitor_SMD:C_0603_1608MetricC231
1120 DNPResistor_SMD:R_0603_1608MetricR242
112MHz ABM8-272-T3Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY201
11n C0GCapacitor_SMD:C_0603_1608MetricC230
13.3u AOTA-B201610S3R3-101-TInductor_SMD:L_0805_2012MetricL201
133Resistor_SMD:R_0402_1005MetricR201
140MHz ABM8GCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY202
16-WAY ACTIVE-LOW SELECTORConnector_PinHeader_2.54mm:PinHeader_1x07_P2.54mm_VerticalSW201
1ACT45B-110-2P-TL003Inductor_SMD:L_CommonModeChoke_Coilank_ACM4532FL201
1AP2112K-3.3TRG1Package_TO_SOT_SMD:SOT-23-5U702
1AUX_BATTERYConnector_Molex:Molex_Micro-Fit_3.0_43650-0200_1x02_P3.00mm_HorizontalJ701
1CTRL_USB_CConnector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ202
1ESC_SWDConnector_JST:JST_SH_SM03B-SRSS-TB_1x03-1MP_P1.00mm_HorizontalJ201
1FLIGHT_CAN_POWERConnector_JST:JST_GH_SM04B-GHS-TB_1x04-1MP_P1.25mm_HorizontalJ702
1MCP2518FD-H/QBBPackage_DFN_QFN:DFN-14-1EP_3x4.5mm_P0.65mm_EP1.65x4.25mmU207
1MOTOR_DFU_USB_CConnector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ203
1PESD2CANFD24L-TPackage_TO_SOT_SMD:SOT-23D202
1PTC 0.75AFuse:Fuse_1206_3216MetricF701

The 678 most common of 681 parts.

More from iamdarshg/drone-arm

3
  • 4 layers246 × 296 mmEsc, the printed circuit board in 3D

    Esc

    iamdarshg/drone-arm

    Reworked cheaper, maybe faster but less redundant drone controller.

    607 parts2
  • 4 layers140 × 100 mmMain rev b completed, the printed circuit board in 3D

    Main rev b completed

    iamdarshg/drone-arm

    Reworked cheaper, maybe faster but less redundant drone controller.

    165 parts2
  • 4 layers75.5 × 50.5 mmDrone arm, the printed circuit board in 3D

    Drone arm

    iamdarshg/drone-arm

    Reworked cheaper, maybe faster but less redundant drone controller.

    112 parts2

Similar boards

  • 4 layers130 × 74.7 mmStima V4 Slave R1 1, the printed circuit board in 3D

    Stima V4 Slave R1 1

    r-map/rmap

    rete monitoraggio ambientale partecipativo documentation at https://doc.rmap.cc

    289 parts55
  • 4 layersRound LED Flash, the printed circuit board in 3D

    Round LED Flash

    xmyoot/custom-round-pcb-led-flash

    Custom circular ring PCB LED flash controller prototype

    237 parts
  • 4 layers53 × 32 mmUbiquitous waddle, the printed circuit board in 3D

    Ubiquitous waddle

    leonwip/ubiquitous-waddle

    Dual channel CANnectivity CAN FD to USB-C adapter

    44 parts3CERN-OHL-P-2.0
  • 4 layers408.7 × 50 mmPartial Drawer Controller v1, the printed circuit board in 3D

    Partial Drawer Controller v1

    Robast-GmbH/PCB_Designs

    This repository contains all the necessary files and instructions for the PCBs that are designed using KiCad. Here is an overview of the main components: - .github: Contains Github-specific configurations, including…

    619 parts1MIT
  • 2 layers24 × 21 mmBrk tja1051 hw, the printed circuit board in 3D

    Brk tja1051 hw

    coderkalyan/brk_tja1051_hw

    DS-009 compatible NXP TJA1051 CAN ransceiver breakout board

    21 parts
  • 4 layers165 × 100 mmStandalone scoring box, the printed circuit board in 3D

    Standalone scoring box

    AndrewCraswell/agency

    Native KiCad engineering prototype, separate from the earlier ESP32/tscircuit board. Open usb-scoring-platform.kicadpro in KiCad 10; schematic and PCB are the editable source, with no generator required.

    206 partsMIT
  • 4 layers148 × 78 mmHub, the printed circuit board in 3D

    Hub

    Bruhdows/klink

    Klink is a magnetic tile system for building programmable machines. First up: a marble run with sensors, buttons, lights, gates, splitters and an elevator.

    85 parts

Questions

How big is the Esc rev b PCB?

It measures 170 × 172.2 mm and has 6 copper layers, 1.6 mm thick.

What parts does the Esc rev b use?

681 parts, built around the STM32G431CBT6, RFM-0505S, DRV8353SRTAR and LM5164DDA. 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 Esc rev b KiCad files?

From the iamdarshg/drone-arm repository on GitHub, at the commit this page was made from: the board is hardware/esc/rev_b/quilter_upload_freerouting_bestpass_800mb_servicefixed_pins_onboard/esc_rev_b.kicad_pcb and its schematic hardware/esc/esc/bec.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Esc rev b design in my own project?

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