DIY remote controller for RC vehicles

A remote controller and receiver for radio-controlled model vehicles. Based upon Arduino UNO and cheap 433Mhz modules

Similar projects worth following
I am making a remote controller and receiver for radio-controlled (RC) vehicles - cars, boats, planes, etc- because I think it can give more people opportunity to enter this hobby.
It is basically two standalone Arduino UNO talking to each-other over-the-air using a simple and cheap 433Mhz link. They are running @16MHz and 5V, using the Arduino UNO bootloader.

The emitter ("remote controller") features:
- 6 Push buttons
- 2 LED's
- 1 analog Joystick (real X and Y analog)
- 1 analog potentiometer
- 433Mhz radio transceiver

The receiver features:
- 8 I/O's (all of which will most likely be used as O's)
- 433Mhz radio transceiver

Plans are that I will power both the controller and receiver with 5V USB power banks (the cheap ones using a single 18650 battery).

I have ordered PCB's for both circuits from JLCPCB in China, but they will still take some time to arrive.

Sooo basically I want to challenge myself into building a radio-controlled toy from scratch. I am more inclined to electronics than mechanics, so I decided that the mobile mechanical platform would be just any one I can put my hands on. Now the electronics are of my interest!.

I bought the RC toy car above for around US$5 (actually R$30 in Brazil) as a first platform for tests.

I confess that I am not a RC hobbyist myself, so I have never had contact with any aspect of that world. I didn't really know how an ESC (electronic speed controller) worked before starting this project; so I decided I would implement every line of code of this project without looking at anything already available on the market.

That means I would try to make everything (code, hardware) from scratch; what a challenge!.

The first step was to define which microcontroller platform to use on the project; of course I decided for Arduino (haha!), mainly because I own a bunch of ATMEGA328's and also because I currently run a blog on embedded systems ( ) and use Arduino as the core and for most articles.

Second step was to assemble a (half-functional) mechanical prototype of the circuit boards, just to have a feeling of the size and look/feel of it. Pictures are below for both the emitter (radio controller) and the receiver (motor controller).

From the picture you can see a bunch of details of the hardware, but never forget all files (Eagle, Fritzen, Arduino code) are hosted in this Github.

The emitter (controller) features:

- One true analog X-Y joystick

- Six push buttons

- Two LED's (outputs)

- One analog potentiometer (for analog trimming)

- Pin header for radio (I plan to test and use most-likely the 433Mhz HM-10)

- USB connector for power

The receiver (motor controller) features:

- Eight IO's (Inputs or outputs) from ATMEGA328 (Arduino UNO)

- Pin header for radio (I plan to test and use most-likely the 433Mhz HM-10)

- USB connector for power

Third step was to draw schematic diagram and PCB for the prototypes. I did it in a couple of hours using Eagle CAD and some Adafruit and Sparkfun libraries. Results can be seen below.

This project is an ongoing thing, I don't even have the code to test it. At the moment I am waiting for prototype PCB's to arrive from JLCPCB China (this thing take 2-3 months to arrive in Brazil, seriously).

  • 2 × ATMEGA328P-PU Microprocessors, Microcontrollers, DSPs / ARM, RISC-Based Microcontrollers
  • 6 × Push Button 6x6 + plastic knob
  • 2 × Printed circuit boards (see GIthub link for files)
  • 2 × Crystal oscillator 16Mhz
  • 4 × Ceramic capacitor 22pF

  • 1
    Buy or manufacture the PCB's at home

    Both PCB's (emitter/controller and controller) were designed in Eagle CAD and had their GERBER files generated.

    Receiver Files are HERE, and emitter/controlle files are HERE.

  • 2
    Assemble both PCB's from the schematic diagrams

    Receiver (motor controller) Eagle CAD files are HERE, while transmitter (controller) schematic files are HERE.

View all instructions

Enjoy this project?



Does this project spark your interest?

Become a member to follow this project and never miss any updates