RC Car From SCRATCH!

by Projects with Red in Circuits > Arduino

4210 Views, 33 Favorites, 0 Comments

RC Car From SCRATCH!

Thumbnail1_without_text.png

In this project we will be creating an RC Car from scratch using 3D printed parts! Which will be used in my next project where we will be making the RC Car fully autonomous, that can drive itself, detect signs, obstacles, traffic lights, and much more. I have made a video that goes over the whole project and explains each step very clearly. So if you want a video version, I highly recommend watching the video as it is much easier to follow.

Remember to subscribe so you don't miss the next episode/iteration of this project where we will be making the car fully autonomous! :)

So let's get straight into it!

Supplies

Here is a list of all the components used in the project, I have also included links to the exact product used to might it slightly easier for you to find the exact components used.

  • ESP32, this is used as the on-board micro-controller on the car.
  • Attiny88, this is the micro-controller that is used in the joystick controller to control the car manually.
  • 2S lipo battery, used to power the car.
  • 18650 battery, used to power the joystick controller.
  • 18650 TP4056 charging board, used to charge the 18650 battery.
  • MT3608 step up converter, to convert the 18650 battery ~3.7V to a constant 5V.
  • nRF24L01 (x2), used for the wireless radio communication between the transmitter(Attiny88) and the receiver(ESP32).
  • MCP1700 (3V), to convert the 5V from the MT3608 to 3V to power the nRF24L01 module.
  • TT motors (x4), used for the 4 wheels of the car.
  • L298N Mini (x2), the DC motor controller for the TT motors (one controls two motors).
  • Servo motor, used for the car steering.
  • Joystick (x2), used to control the servo motor for the car steering when controlling it manually.
  • LD1095(5v) voltage regulator (x2), one for the ESP32, and one for the servo motor.
  • 10µF capacitors (x4), two for each of the LD1095 voltage regulators.
  • Switches (x2), one to turn on and off the car and other for the joystick.
  • Buttons (x2), for the joystick controller.

Main Board

main-board.gif

It all starts with this main board, which you can think of as the car chassis, where everything will be attached to. We will be going through everything that attaches to this main board which ultimately at the end becomes the full RC Car. Please note all 3D models, code, and everything else you need to complete this project can be found in this repository.



The Wheels

wheel_gif3.gif

The wheels are made up of 2 parts, the rim and the tyre. The rim is printed in a PLA material, which is a relatively hard material, and the tyre is printed in TPU filament, which is a much softer material. The tyre simply slides into the rim in a tight fit. The soft material of the tyre gives us a nice road grip and provides the needed friction.

Wheel Motors

ttmotors_gif.gif

The wheels by themselves are not useful, we need something to make them turn so the car actually moves... For that we can use motors, specifically TT motors, which are great for these kinds of projects as they provide sufficient speed and torque for little power. The wheel simply attaches to the motor shaft using a tight fit.

Motor Mount

IMG_1225.jpg
motor_mount_board.jpg

We need a way to attach this motor and wheel combo to the main board, to do this, we will use another 3D printed part. Where one side attaches to the motor, and the other side main board using the 2 bearings on either side and an M4 bolt as illustrated below.

Motor Mount Spacer

wheel_collision_gif.gif
wheel_spacer_gif.gif

However, as we can see right now, when the front wheel turns, it collides with the main board, making it impractical for the car steering. [Clip 1]

To overcome this issue, we can simply use a spacer that moves the wheel under the board, which prevents the wheel colliding with the main board, and it can freely rotate without any issues! [Clip 2]

Repeat for the Right Front Wheel

front_wheels_gif.gif

All we have to do now is to do the exact same for the other front wheel, and just like that we have 2 front wheels that can freely rotate.

Car Steering

no_connection_gif.gif
beam_gif.gif

Right now when one of the wheels turn, the other does not turn with it, well obviously because they are not connected in any way...! [Clip 1]

To connect them together for the car steering, we can simply use this beam that attaches to pivot points on both of the spacers of the front wheels. This simple connection means that now, as one of the wheels turn, the other turns by that exact amount. [Clip 2]

Servo Motor Steering

servo_arm.png
steering_gif.gif

To be able to control this steering, we can use a servo motor, with an arm connected to the middle of the beam like this. [Image 1]

So now, when the servo motor rotates, both wheels rotate in that direction, completing the steering and front wheels of the car! [Clip 1]

Back Wheels

backWheels_gif.gif
baseDone_gif.gif

The back wheel are much simpler than the front wheels, since the back wheels do not need to rotate like the front wheels for the steering, they can simply be bolted down to the main board using 2 bolts using a similar spacer so the car is nice and level. [Clip 1]

Now we have completed the main foundation of the car! We have a way to move forwards and backwards, and a way to steer the car with a pretty decent turning radius. [Clip 2]

Second Level

noSpace_gif.gif
level2_gif.gif
IMG_1290.jpg

So far so good, but as we can see right now, there really isn't a lot of space to put anything else on the car easily, for example the electronics and boards. [Clip 1]

This is where the second level comes in, which is attaches to the main board using 4 spacers, which have insert nuts on both sides to easily bolt on the main board and the second level board. [Clip 2]

Now we have plenty of mounting holes and a place where we can put the on-board electronics. [Image 1]

Joystick Controller

joystick_marked.png

The joystick controller is very simple. There are 2 joysticks, the one on the left is for the forwards and backwards speed, and the right one is for the car steering. There are also 2 buttons, they currently are not used for anything, however, they might be handy in the next part of the project where we make the car autonomous and the car has more features. There is also an on and off switch.

Again for all the electronic wiring and such can be found in this repository.

DONE! Lets See It in Action!

demo_s_gif3.gif
demo2_gif.gif

The controls are very responsive, the car has a decent speed, and it has a very good turning radius to make tight turns. [Clip1]

Since all wheels have a motor, in a way, the car can be considered "4 wheel drive", which is a nice added bonus of using 4 motors for each wheel. Below is a demo of the car navigating through multiple "terrains" and "obstacles". [Clip 2]

Project Conclusion

This now gives us a very good foundation and start for the next part of the project, where we will be making it fully autonomous, so remember to subscribe so you don't miss the next episode! Also if you want to see the video version of this project, check out the video below.

Thank you very much, and I will see you in the next project!