DIY RC System.

RC System Hardware.

RC System Firmware.

Sensors and Autopilot.


Ever since playing with a 2 channel glider as a kid I have always wanted to build another RC aircraft.

Combine this with my hobby of building robots and this was always going to be an unusual project.

When i started reading about RC aircraft it surprised me there were no commercial systems that provide 2 way communication to allow sensor data to be returned from the aircraft.

Even if a user has no interest in knowing what height and how fast they are going a built in signal strength meter and battery monitor are undeniably useful.

This project's aim is to build a bidirectional RC system which can interface a wide variety of sensors, actuators, input devices and data monitors.

These sensors and inputs will be able to be mixed and output in any combination.

Outputs will be either on conventional servos and motor controllers but also on a display at the controller end as well as any of the other I/O methods available to a microcontroller.

There is no reason why it can't be modified for any purpose that requires a low latency, 2 way radio link with the ability to monitor sensors, log data and control digital devices at either end.

Who Can Build this?

Anyone with a reasonable amount of experience with programming AVR microcontrollers should be able to get this working from my instructions here.

With a little programming experience it should be possible to modify the code to your own purposes.

It is definitely not suitable as a beginners project though.

Discussion Of This Project.

If you have questions or are interested in others questions about this project see the following forum threads:

RC related:

Robotics/UAV related:

If you need to contact me directly: mrdunk(at) but i will not provide answers to questions that have already been covered here.

Progress So Far.

In it's current state it is a fully functional RC system, taking input from a PS2 controller at the transmitter end.

It has the ability to read signal strength and collect transmission success rate from both ends of the RF link and monitored on the transmitter LEDs and outputted over USB to an optional connected laptop.

Battery voltage and current draw are measured at both the transmitter and receiver end and are also monitored on the transmitter end either on status LEDs or over USB.

There are multiple spare analogue I/O pins as well as an i2c, SPI and UART connector on the transmitter so a huge range of sensors can be connected for either realtime transmission back to the transmitter station or for mixing into the control algorithm on the receiver for autopilot or UAV functionality.

Accelerometers and angular rate sensor (gyro) readings are combined and filtered to provide a reliable Inertial Measurement Unit (IMU) so a artificial horizon can be displayed on a laptop connected to the transmitter.

Plans For The Future.

The whole point of this project is to make the aircraft autonomous. While i have made some flights mixing sensor data with manual control i am still a little way from having a working "AutoPilot switch".

When the transmitter is connected to a laptop via USB it will be possible to control the system using a USB joystick instead of the PS2 controller.

I have also been experimenting with transmitting video back from the RC vehicle and displaying it on the same laptop as the other received data allowing for a very flexible "cockpit" style view, complete with working instruments.

Displaying data and autopilot demonstration.

Early testing.

Firmware V1 in flight.

Pilot in need of training.

>> RC System Hardware.