Back to Projects
Electronics

2026 Sole designer
KiCadPython (generated schematic)STM32H743PX4 / ArduPilot
Figure 1. The whole board on one sheet — power, processor, I/O, sensors, coprocessor.
01 / An open standard, not a clone

An open standard, not a clone

Kestrel implements the published Pixhawk v6C standard, which names all 80 processor pins in the open. Because the pinout is the standard's rather than reverse-engineered from someone's product, the board runs stock PX4 and ArduPilot firmware unmodified — no custom firmware port before the first bench run.

Figure 2. The sensor zone — redundant IMUs, baro, mag, and the heater that keeps them honest.
02 / Two processors, three inertial sensors

Two processors, three inertial sensors

A 480 MHz STM32H743 runs the autopilot and a second smaller processor owns radio input and an extra servo bank — which is what the standard specifies, and what both firmwares already know how to flash. Sensing is deliberately redundant: two independent inertial units, a barometer and a magnetometer, with a closed-loop heater holding the IMUs at temperature so they read the same on a cold morning as a warm one.

03 / Power that expects things to fail

Power that expects things to fail

Two battery inputs, each monitored for voltage and current, plus USB — three sources, any one of which keeps the board alive, with a valid-power flag for each. The peripheral and high-power outputs switch independently behind resettable fuses, and the sensors get their own quiet regulator so switching noise never reaches them.

Figure 3. The processor zone — every net named exactly as the standard specifies.
04 / The schematic is a program

The schematic is a program

Nothing on this board was drawn by hand. A Python generator reads the frozen pin map and emits every symbol, wire and label — 348 components and 183 connections — deterministically, so re-running it rebuilds the entire design. The pin map itself is machine-extracted from the standard's PDF, and the parser refuses to continue unless it finds exactly 80 unique pins.

05 / Generated, then proved

Generated, then proved

A checking script exports the wiring back out of the finished schematic and compares all 80 pins against the standard: 80 of 80 match, every support pin connected, electrical check at zero errors and zero warnings. Those gates caught five real faults — including a memory chip left completely unconnected on a board that looked finished — and the extractor even found a naming inconsistency in the published standard itself.