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.
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.
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.
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.
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.
Ok, now, very important you have 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.
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.
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.
This code will receive the values from the transmitter and create 6 PWM signals on some digital pins of the Arduino.
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.