Android remote for a MultiWii drone
A side project that turns an Android phone into a remote for a MultiWii quadcopter, using an Arduino and an NRF24L01 radio instead of a hobby RC transmitter.
- Role
- Side project
- Year
- 2022
- Stack
- Android, Kotlin, Arduino, C++, NRF24L01, MultiWii
- Links
- Build write-up, Source on GitHub
The problem
A hobby RC transmitter is two sticks, a few switches and a 2.4 GHz radio. A phone already has the touchscreen and a USB port; it only lacked the radio link to the flight controller.
What I did
- Built a Kotlin app with throttle and yaw sliders, a pitch/roll joystick and two AUX channels, all mapped to the standard 1000–2000 RC range.
- Connected the phone over USB OTG to an Arduino ground station (CH34x serial at 115200 baud) that relays each frame through an NRF24L01 radio.
- Adapted an NRF24 transmitter sketch so the Arduino reports the radio round-trip time, or a failure code, which the app shows as live link status.
- Configured MultiWii 2.4.2’s NRF24 receiver on the drone with a one-second failsafe that cuts throttle when packets stop.
Outcome
- A working phone-to-flight-controller link showing round trips of a couple of milliseconds in the app.
- Open-sourced on GitHub, with the full build written up on this site.
Next case study