How I Made an RC Car and How You Can Too!

by Printerforge in Circuits > Electronics

4687 Views, 49 Favorites, 0 Comments

How I Made an RC Car and How You Can Too!

IMG_1473.jpeg
IMG_2475.jpeg

Hi my name is Ben and I’m 14 years old trying to learn more and more about engineering. I saw this challenge and decided to give it a try... and here’s how it went.

I read the AI contest challenge and wanted to build something electronic and using 3D Printing. I also wanted to challenge myself, keep the cost low, and build something with no outside help. That meant that I could see other ideas but I wanted to create the entire design myself and write the code by myself. I decided to let ChatGPT control my fate. I fed Chat GBT some parameters and got challenged to make a working RC Car!! This seemed really hard and I almost walked away from the challenge. However, I realized I needed to push myself and see if I could make this car a reality. I did, and I'm so proud of my RC Car, and now I want to share it with you all! I will share all the files and a video on how to assemble the RC car so you can drive it too!

Supplies

Electronics needed

Fly Sky Controller/receiver (any controller works fine)

Arduino Nano (you can buy others that are alot cheaper but make sure it is/based off of ATmega328 board)

l298n motor driver

Battery Pack (I used a battery from another rc car)

dc motor pack

micro servo motor

female t plugs

female to female wires (if you designed my arcade machine you can use those wires in this build)

3mm leds/resistors (optional) I decided not to add a link because there are a lot of different types ex: pre wired, color, amount)

non 3d printed parts needed

M3 screw kit

tools needed

Drill + hex driver

3d printer

  • PLA
  • TPU (optional)
  • You can find my 3d printer files here.

ChatGPT's Challenge

IMG_2496.jpeg

To begin the challenge, I opened ChatGPT and entered the parameters. I told it to give me a project challenge that incorporated electronics, 3D Printing, was budget friendly and that was a medium level of difficulty. I didn't want something easy or impossible, but wanted something that would challenge my brain and still be possible!

See the attachment and picture that shows what I loaded into ChatGPT and the results - to make a working RC Car!

Now I had to get to work planning. I wanted to keep the budget for this low, so I decided against brushless motors and large batteries. I also tried to use as many of my own components as possible and only buying things when absolutely necessary.

I also had a personal goal - to make this project entirely my own independent and unique creation.

One thing that ChatGPT challenged me with was servo steering. If it didn’t, I could've used 4-wheel drive, used 2 motor drivers and have tank driving. I’m happy that it was a little more complicated because I got to learn a lot of new stuff while having 4-wheel drive was super simple and didn’t challenge me at all.

I did a lot of research (like learning to create steering systems!) and then got to work creating!


You can see the full challenge in the pdf. (The image was too large to be in a photo)

Modeling

Screenshot 2024-03-13 203228.png

I started by opening fusion 360 and making some sketches. Fusion 360 is great because of everything you can do with a personal or even an educational liscense!

I first started the project by deciding the size of the RC car. I wanted it to be small, but as I started getting parts together, I realized it would need to be a little bigger to hold everything.

I went through many designs that had to hold the Arduino and different battery boxes. I learned you have to be flexible and not be upset when something doesn't work out. I spent many hours designing, 3D printing prototypes, finding issues, and repeating the process. But I learned something every time.

The most challenging part of the chassis was the steering mechanism. I spent a lot of time researching how steering works and how I could make it work for my small RC car. Again, I had a lot of trial and error until I finally got a working design. now the great thing about fusion is that you can create joints which will simulate your movement. That allowed me to make soure there would be no interference with the steering!

Finally, I needed a body to put over it. I wanted something cool and settled on the Hummer! I used photos and imported them into Fusion 360 to get a good shape. Then I added the details like lights, doors, and Holes for antennas.

get the Humvee files below.

Coding

Screenshot 2024-03-13 204124.png

Now it's time to code! I knew Arduino basic coding already, but now I had to learn how to put that coding to work with a remote controller.

I have a FlySky Controller and had to learn how to code things like PWM/IBUS, and making it work with the Arduino Nano.

I started with trying to read the PWM but I couldn’t get it to work. I got to the point where I was able to read it but the signal was changing without me moving the controls. I then learned about IBUS and I started by grabbing some sample code just to see how IBUS works. After learning how to read the signals I encorporated it into my own design. I made some code that read the channels and then I put the channels on a spread sheet. The values had high, medium, and low. (So a switch on the controller was (2000, -----, 1000) and a joystick (CH1) was (2000, PWM, 1000). I then used the spreadsheet to control the motors with the controller. After a long time I finally created some code. It took many attemps and some of my issues were the limits were a little off which messed up the code leading to the motors not moving. I solved this by adding constraints to the variables. I had a few other problems but they were very simple.

Go to the assembly step to see the full code.

Testing & Problems

IMG_3191.jpeg

I encountered a lot of problems in the testing stage. I can only imagine what a real car company goes through!

Here were some of the major problems:

(problem - reason)

  • Movement was slow - cheap motors
  • Was too weak to go on any rough surface - cheap motors and the wheels were too small
  • Batteries ran out very quickly - 9v batteries couldn’t handle the current
  • Steering system worked, but took up a lot of space on the chassis
  • Chassis was messy (wires and modules were cluttered together) - I was trying to go simple and small


Fixing

Next, I set out to fix the problems!

  • I researched more steering methods, that would be more space efficient but still functional. I settled on using a steering called Ackermann steering.
  • For the weak motors and slow movement, I bought some stronger motors, and used Fusion 360 to design 3d printed big wheels with better traction and 3D printed them in TPU so they were strong, but a little flexible. (You don’t need to print them in TPU but I recommend it if you have it)
  • To clean up the chassis, I built walls to help contain the components, and have better organization. I had screws to attach the nano and the l298n motor driver.
  • To fix the battery problem, I changed from (2) 9-volt batteries to 1 Rechargeable RC car Lithium-Ion battery with a much higher energy storage capacity. Now it lasts a LONG time and gives MORE current!


Final Result

IMG_2475.jpeg
IMG_2462.jpeg

I did it! I created my own functioning RC car that I made from the ground up!

Although it looks messy inside due to the spaghetti of wires on top, if you move them aside, you’ll see that everything is compact and organized.

I later decided to add a silicone spray to spray on the wheels for more grip.


So How Can You Assemble This Yourself

IMG_2523.jpeg


Some of the tools you’ll need:

  • Drill
  • You're definitely going to want a drill to screw in everything. Most of the model is made by having the screws thread into the 3d printed piece. (your wrist would be dead after all the screwing needed)
  • Glue
  • hot glue, superglue, etc. (anything that can keep the motors fixed to the chassis)

Notes:

  • You may glue the tires to the motors, but I don’t recommend it because the tires may break which lead to damaging the motors to rip off the tires and there may be more tires coming in the future to replace the old ones.
  • Make sure to have the servo motor's wire go through the hole for a cleaner look.
  • Lastly make sure not to over drill the screws into the 3d printed part.
  • This will lead to the screw destroying the thread. I recommend to slowly drill or add a clutch and feel when the drill starts to kick back.


coding

  • coding tends to be the most annoying part of the project because of all the trial and error. The reason is because of all the problems. ex: wrong libraries, bad computer, faulty electronics

main things to know

  1. make sure to unplug the flysky controller's IBus pin from Arduino.
  2. you need 1 library - Ibus
  3. go to (tools/serial monitor) to see what your code's doing

if you have any problems comment them to me and ill try to answer them as soon as possible.

You can see the wiring diagram at the top and you should see the code at the bottom.

Downloads

Assembly-Steering_1

IMG_2477.jpeg

Assembly-Steering_2

IMG_2478.jpeg

Assembly-Steering_3

IMG_3206.jpeg

Assembly-Steering_4

IMG_3207.jpeg

Assembly-Steering_5

IMG_3209.jpeg

Glue the servo arm to the 3d print in the picture. Then screw in the 3d printed part.

Assembly-Steering/Wiring

IMG_3212.jpeg
IMG_3211.jpeg

power the flysky controller/receiver and then wire the servo to ch1. That should center the servo motor and then connect the steering segment. Dont forget the screw in the screw to attach the servo motor and its arm.

Assembly-Chassis_1

IMG_2485.jpeg

Assembly-Chassis_2

IMG_2486.jpeg

Assembly-Wiring_1

IMG_2487.jpeg
IMG_2473.jpeg
IMG_2488.jpeg

Follow my wiring diagram.

Assembly-Wiring/Chassis

IMG_2490.jpeg

See how I tried to route the wires and keep it clean.

Assembly-Finished

IMG_2491.jpeg

Please ask any questions if there’s a part I’m not clear about or any recommendation. I hope you like the RC car knowing that you made it yourself. Finally I hope that you learn new things about this and this is just the beginning for you to grow on!

Conclusion

IMG_1475.jpeg
IMG_2475.jpeg

This was a challenge I almost didn't take on, but I am so glad I did. I created a really fun RC car and learned a lot along the way.

I learned many lessons along the journey:

  • Code / Read IBUS
  • Steering
  • Complex joint Modeling
  • Motor Selection / Load = more current

I learned to push outside of my comfort zone, learn more about coding and steering, and get a real working RC car! Overall I’m very happy with how this project turned out and I’m very glad that I got this challenge! So what’s the next step?

Next Step Forward / Thanks

IMG_2520.jpeg
IMG_2521.jpeg
IMG_2522.jpeg

Now that the car is complete, my mind can't stop thinking of ways to modify it. I've already started researching cameras to integrate onto the car body, different types of tires (maybe drifting!), and different body styles. I admit, I'm never satisfied and when I can get some more money I will probably buy some brushless motors to really give it an upgrade!

Thanks to Instructables for hosting this contest and to ChapGPT for giving the specific challenge.

Like always please feel free to ask questions, provide feedback, or ask for modifications!

Now lastly I want to see what you guys come up with. I have provided an editable model that you can create whatever you want. I would love to see maybe upgrades to the chassis, new shells, or even more add ons like cameras, tank driving, or even just a stand to pose your amazing creation! The only thing stopping you is your imagination!