RC Arduino Car and Joystick Box

by JonathanL178 in Circuits > Microcontrollers

676 Views, 5 Favorites, 0 Comments

RC Arduino Car and Joystick Box

IMG20221106154743.jpg
IMG20221106154939.jpg

I wanted to modify the electronics of an RC car (Truggy similar to https://www.auselectronicsdirect.com.au/12812-4wd-off-road-rc-truggy-1-12th-2.4ghz-remote) using a wireless RC telemetry radio setup. This would also serve as a mobile RC car platform for learning. A vintage PC joystick was used as the 2 axis controller (throttle and steering) with its own Arduino as the interface board.


Supplies

Electronics:

  • The car had a brushed DC motor ESC Hobbywing 30A ESC
  • A Futaba HLS173SV digital servo was used for steering and this was connected to an Arduino Nano
  • The incoming serial data is received by the onboard 915 MHz radio unit and sent into the hardware serial port on the car circuit board
  • The MPU6050 is wired to the Nano but unused at the moment
  • A basic power distribution board with a BEC and an adjustable voltage regulator are used to power the servo and ESC

Assembly Tools

  • Soldering Iron
  • Hot Glue
  • Wooden Board
  • Solder
  • Cutter
  • Wire Strippers
  • Heatshrink
  • XT60 connectors
  • 16-12 AWG Silicon Cable

RC Chassis and Powertrain

The Truggy chassis cover was removed and I fitted a plywood board which was easier to mount the control board, the underneath Power Distrbution Board and room for the GoPro camera. The existing 5 channel servo was removed and replaced with a digital servo. The existing 9V motor was kept and rewired. The rest of the 4WD RC car was kept the same as it worked well and was very fast.

Electronics

rc_car_diagram_Pv103UCfSl.PNG
basic_arduino_joystick_interface_51zwSaEkys.PNG
ArduinoShield.PNG

i) RC Car

The RC car required more electronics integration. The servo was removed and replaced with a simple Futable digital servo. The LiPO that I chose to use was a 2S (7.4V) 2200mAh battery. Since the servo required max of 6V, I used a step down converter to safely power the servo

The block diagram above shows power system for the Arduino Nano with the BEC (5V/3A) used to power it and the serial telemetry radio.

ii) Joystick Box

The Joystick Box required interfacing to the vintage joystick for the two ADC channels and the trigger button. The Arduino is powered from a 2S minimum (7.4V) power source (either power point 9V adaptor or a 2S LiPO) depending on portability needs. The Shield on top of the Arduino Uno was used to provide pull up and pull down resistors for operation of the joystick and LED. There is the paired serial telemetry radio also housed inside the box

Programming

Arduino interfacing with ADC and IO for button on vintage joystick. Serial port used to send control data to the RC car

Arduino on RC Car receives serial data (throttle and servo position) and parses it and sends to brushed motor ESC and servo accordingly

References:

http://www.built-to-spec.com/blog/2009/09/10/using-a-pc-joystick-with-the-arduino/

https://forum.arduino.cc/t/serial-input-basics-updated/382007


How to Make It Move

  1. Power on RC Car with Toggle Switch to ON
  2. Power on Joystick Box with Toggle Switch to ON
  3. The green LED on the RC car's radio will change to solid green to indicate pairing to the joystick box's internal radio
  4. On Joystick box, hold onto the 'trigger' button on the joystick which acts as the deadman switch, for safety, if this switch is released then the RC car will immediately stop
  5. Push forward the stick which will make the car speed up and turn to left and right for steering
  6. Video attached!