Story

Story

Hey guys, hope you all saw the demo of our latest Arduino off-road robot, cool right? Now let us take a look at the components used one by one. In this post, I will be showing you how I built this Remote Controlled Robot.

I will give you the complete schematics, codes and complete layout of all the boards used in this Arduino RC robot to make one yourself. So stay tuned!

About our Sponsor

This project is sponsored by PCBGoGo. PCBGoGo is a PCB manufacturer specializing in PCB fabrication and assembly from prototype to mass production. They deliver high-quality bare and assembled PCBs faster and cheaper.

Celebrate 5th Anniversary with PCBGoGo

This month, PCBGOGO is celebrating its fifth birthday. To celebrate the anniversary, they are giving out a series of discount coupons. Souvenirs and wonderful offers to the new and regular customers (Campaign Deadline: Sep. 25th, 2020).

Though PCBGOGO is only 5 years old, their factories, with over 400 workers now, have been providing PCB fabrication and assembly for domestic customers in China for more than 10 years. Till now, their daily PCBs and PCB assembly order quantity exceeds 3000, and the sales have increased from $100, 000 to $20 million a year.

Do remember that, PCBGOGO always welcomes your PCB manufacturing and assembly sample order when you start a new project. Don’t miss it.

Arduino Off-Road Robot Demo

First let us take a look at our Arduino off-road robot and how it performs on rough terrain.

Arduino Off-Road Robot - Robotin-6 Demo

Looks cool right? Now let us take a look at the components used one by one.

Guys, One more thing before starting the assembly of the Arduino RC robot. If you like this video and find this video useful, please do support our channel by liking this video and subscribe to our channel by clicking the subscribe button below. I would really appreciate it. We will be making and uploading demos and tutorials of more Arduino RC robots in the future.

6-Wheel Drive Rough Terrain Robot Chassis

The whole off-road robot chassis is built using 2 mm aluminum alloy and the surface is coated with aluminum. Even though the material is lightweight, it is very strong and can carry all the; components - microcontroller, sensors and motors without any hassle.

Robotin-6

Get this amazing 6WD robot chassis now.

It has 6 high-speed DC motors, with an RPM of 17, 000 combined with 1:34 full metal gearbox, enabling your 6-wheeled robot to obtain amazing speed and off-road performance. The use of six hydraulic spring dampers ensure adaptive driving experience even on rough terrains and uneven surfaces.

Arduino Off-Road Robot Components

Making Arduino RC Robot

HC12

Here, we will be using HC 12 wireless module for transmitting data from the DIY Remote Controller to the RC Robot. They are commonly used in remote controlled robots and other wireless communication projects. This wireless module works under 433 megahertz frequency. When combined with an external antenna, this wireless module can transmit and receive data from a distance of up to 1 Kilometer line of sight and due to this reason we will be using this wireless module for our robot.

This wireless module can be easily connected to arduino or Raspberry Pi, and start using it for your project right away. Another advantage of using HC12 wireless module for your RC robot is, this module requires only two pins – TX and RX, for data transfer. You can save the rest of the pins of your arduino or Raspberry Pi for other things.

High current Motor Driver

As I mentioned earlier this robot chassis have 6 high speed DC Motors with a speed of 17000 RPM combined with 1:34 metal gear box. Each motor draws a current of about 350 milli ampere. As you might know, for almost all of my Robots, I use either L293D motor driver or L298N motor driver.

Here also I tried L293D and L298N Piggybacked. Even though it worked fine, too much energy was wasted as heat after 5 minutes of continuous usage.

So I decided to go for another high current motor driver, named VNH2SP30, that can provide a peak current of 30 amperes.

If you are not familiar with this VNH2SP30 High Current DC Motor Driver, please click this link you know more about it.

This motor driver board can control only one motor at a time. So here we will be using two motor driver boards to control both DC motors.

Powering up the Off Road Robot

For this project I’ll be using a 12 volt Lithium polymer battery as a power source. This can provide enough power to drive all the six DC Motors, power up the arduino, HC12 module and the motor drivers without any issues.

That's all you need to know about all the components used in this off road RC robot. started with making the robot.

Want to make one yourself? Complete code and circuit are available Arduino RC Robot

Arduino Remote Controlled Robot – The Remote controller

In my previous video, I showed how you make this Wireless Remote Controller for your RC Robot using a breadboard accelerometer, buttons, and an HC12 wireless module. If you haven’t seen that yet, please see the below video first. Because we will be using that remote controller to control this robot.

Basically what this remote controller does is, it reads analog and digital data from sensors such as accelerometer buttons joystick and store them in separate variables. These variables will be combined together to form a single long string and this string will be sent to our robot using the HC12 wireless module.

Circuit

I made a circuit which included all the components: the joystick, accelerometer, arduino nano and hc12 module connected to the GPIO pin of the arduino and assembled it on a breadboard.

It worked flawlessly but the problem was, the whole board looked really messy with all the jumper wires going here and there. So I decided to go with PCB.

In the PCB version, I added 4 switches which I will be using for the next project.

I also added a 7805 regulator which will help me to provide an input voltage between 7V and 35V so that I can use a 5V USB power supply, 9V battery or even 12 V Lipo battery without any issues. I also added some indicator LEDs that will let me know if something stopped working. You will find the circuit in the link below.

I will share the circuit diagram and PCB file in the description.

Coding

Now it’s time to upload the code. This is the code. I will share the link in the description, you can simply copy and paste the code and upload it to your controller.

Complete code and circuit are available Arduino RC Robot

Basically, what this code do is, it will start a software serial connection at pin 10 and 11 where we connect the Tx and Rx pins of HC12 wireless module. Arduino will read the analog voltage of the pins A0 – A4 where we connect the sensor inputs (accelerometer and joystick) and store their values in different variables. Then it will create a single long string by combining all the data which will then be send to the Remotely Controlled Robot.

Once you are done uploading, open up the serial monitor.

You will see all the sensor data that is being read by the Arduino as a Single line separated by commas (, ). This is how our data will be sent to the Remote Robot.

The Robot

Now it’s time to receive the data from the remote controller. In the receiving unit, I used an Arduino nano clone and another HC12 as receiver.

You can use any motor driver board to drive the motors in the robot. This robot chassis have 6 high speed DC Motors with a speed of 17000 RPM. Each motor draws a current of about 350 milli ampere. As you might know, for almost all of my Robots, I use either L293D motor driver or L298N motor driver.

Since we have 6 DC motors, I decided to go for another high current motor driver, named VNH 2SP30, that can provide a peak current of 30 amperes.

If you are not familiar with this VNH2SP30 High Current DC Motor Driver, please click this link to know more about it.

This motor driver board can control only one motor at a time. So here we will be using two motor driver boards to control all the DC motors. I will share the circuit diagram in the link below.

Assembly

Now let’s start making our RC Robot.

As mentioned earlier, this off road robot chassis is a DIY kit; which means it will need some assembly to get started with. When you open the packet you will see all the components and tools neatly labelled. You won’t need more than half an hour to set this up. You can check out this video if you are stuck and need help assembling the robot.

DIY 6 WD Robot Chassis Assembly Video

Once the robot chassis is assembled, you can start fixing all the components onto the top plate. You can use screws, glue gun or double sided tape to secure all the components onto it.

The Circuit

Next step, Connecting all the components together. We will connect the HC12 module to the Arduino, which will process the data coming from the HC12 module of the Remote controller.

Once the data is processed, we will drive the motors using the high current DC motor driver connected to the Arduino. The whole circuit will be powered using the LiPo battery.

Connections for the Circuit of RC Robot

Arduino —— HC12

Arduino —– Motor Drivers

Motor Drivers —– Motor

Here, you will find complete Circuit of the Remote Controller

The Code

Here, I will share the code for HC12 Remote Controller and the RC Robot. Simply upload this code to your remote controller as well as your DIY RC Robot.

This is the code for DIY RC Off Road Robot

Arduino RC Robot Code Download

First, we read the data coming from the receiving module to a variable named ‘input’. This ‘input’ is a long string of decimal numbers separated by commas. This string is broken down into smaller numbers and is then stored in separate variables.

These values can be used to control the Robot the way you want.

You can now use these variables to drive your robot the way you want.

Testing

Once the code is uploaded you can power up the entire robot put it on the floor and try moving the joystick. Its fun right?

That’s it guys. Have fun. Play with it.