Oct 14th, 2019 | by: ELECTRONOOBS
Views 1028
Yes, I've made another radio controller. Why? well, I wanted to have a more commercial look. So, I've designed a 3D case, then I've used some high quality joysticks in order to have better analog read, It has an OLED screen so we could see the data we send and we could also digitally adjust the data. It also has 2 modes, linear and exponential.

PART 1 - Schematic transmitter

Below you ahve the schematic for this project with all the connections and components values. Check all you need for this porject on the full part list below as well. Make sure you set the buck converters to 12.6V and 3.3V befor you connect them to the circuit. That's very important. For the transmitter you need a NRF24 module with power amplified antenna in order to get more range.

PART 2 - 3D case

The case is made out of 2 main parts, the top and bottom part. Then we need 9 plastic push buttons, 4 push button double support and one single support. We also need the sliding switch button. To close the case I've sued 3 3mm screws, two on the top part and one more on the bottom. I've used 2 perimeters and 20% infill for all the parts and PLA material. There's no need for supports. The parts are already oriented and ready to print. My printer has a 0.4mm nozzle, and the layer height was set to 0.3mm.

PART 3 - Mounting the transmitter

First, I connect in series the batteries and glue them to the back part of the radio controller. Then I solder wires from the DC jack to the big boost/buck converter and I plug in the main adaptor. Then I set the converter to 12.6V and glue the potentiometer so it will stay that way. Now I connect the batteries to the 3S BMS and the output from the buck convrerter to the BMS input/output. I glue everything on the case.

Part 3.2

Step 2 is to add all the small push buttons. Place 2 buttons on each support as you can see below. Also, one button on the small support. Then, add a small plastic push button in each hole on the top aprt of the case and then we screw in place all the supports on the top part of the 3D printed case.

Part 3.3

Now, add wires to the potentiometers of the joysticks for GND, 5V and signal. Then screw in place the joysticks and also the sliding switch in the middle of the controller. Add the toggle switchs and the potentiometers on the top side. Finally, glue in place the Arduino NANO on one corner.

Part 3.4

Ok, now, very important you haev to set the small buck converter to 3.3V and then glue the potentiometer. Then connect that to the NRF24 module. Finally, connect all wires to the Arduino as in the schematic. Add the i2c OLED display as well and glue everything inside the case. Connect power from the other part of the case and that's it. You could now close the case and program the Arduino.


PART 4 - Transmitter code

Ok, for the code, make sure you downlaod and install the OLED and NRF24 libraries from the link below as well. Then, download the code, compile and uplaod it to the Arduino. For more details read the comments in the code in order to know how to tune all the values for the joystick read and the battery read as well.

Transmitter code  DOWNLOAD
Libraries  DOWNLOAD

PART 5 - Schematic PWM receiver

The receiver is very simple. All we need is another Arduino, the NRF24 module, the voltage regulator and some pins for GND, Vcc and also PWM signal out. Solder everything on a PCB and upload the receiver code that you will find below.

PART 6 - Receiver PWM code

This code will receive the values from the transmitter and create 6 PWM signals on some digital pins of the Arduino.
Receiver PWM code  DOWNLOAD

PART 7 - PPM receiver

This code will receive the values from the transmitter and create 1 PPM signal on digital pin D2 of the Arduino. And that's it. now you have a full radio transmitter and reciver. In the menu you could select the mode from lineal to exponential and fine tune each value. Have in mind that the middle value of each joystick should be 127. You can download all you need in this tutorial. Consider supporting me on my PATREON page.
Receiver PPM code  DOWNLOAD



  • Rangana Tennakoon

    about 1 year ago

  • Rangana Tennakoon

    about 1 year ago

    This is one of the best great tutorial I have ever seen, i LOVE this project Andrei !

  • Rangana Tennakoon

    about 1 year ago

  • Rangana Tennakoon

    about 1 year ago

  • Noob 2041

    about 7 months ago

    Hi Guys, I need a small help most of you would think this is a simple thing not worth asking. But i really want to know. In a previous video in electronoobs, he made a few videos on how to make arduino based RC receivers and controllers. So in the receiver part, there are 3 pin per channel. (Signal, 5V, GND), If i am using a coreless motor. in the motor there are only 2 wires, (5v, GND). How how do i connect the motor to the receiver? Can i do this without using an ESC?

Login or Sign Up to post comments on this tutorial.