Project Horizon
Hardware, 2026- Pilot controllerAn Arduino Nano reads two sticks and two switches and packs them into 7 bytes.
- Radio linkOne-way 2.4 GHz at 250 kbps, with a 16-bit CRC and our own checksum.
- Drone receiverA second Nano rejects corrupt packets and outputs six PWM channels.
- SBUS converterSix PWM channels become one SBUS stream.
- Flight controllerBetaflight runs the stabilisation loops and drives four motors.
A 5-inch FPV quadcopter where every link in the control chain is ours, from the hand-soldered controller to the radio protocol.
- Problem
- Hover a drone without a store-bought radio system. Electrical noise from the motors kept corrupting packets and disarming it mid-test.
- What I built
- With Algasem Zabarah, for our Grade 12 computer engineering capstone. I wrote the controller firmware that reads the sticks and builds each packet. The link adds an XOR checksum and a failsafe that rides out short dropouts and cuts the throttle after 1.2 seconds.
- Stack
- Arduino Nano, NRF24L01 radios, ESP32-CAM video with a web heads-up display, Betaflight, custom PCBs from JLCPCB.
- Result
- A stable, controllable hover on our own controller. The noise disarms are gone.