Inspiration

Inspired by Dr. Wenyao Xu's embedded systems and internet of things class. I have always been interested in RC cars and drones. So it's a no-brainer that I will work on something that aligns with those particular topics. The objective of this project was to design and implement an IOT project to provide a solution to not having a spare RC controller. Whether it was a gift for your birthday or you brought a toy RC car for someone, sooner or later, the controller will disappear. Since everyone has a phone, your phone can be a remote controller.

What it does

ESP32 microcontroller has a Bluetooth module that can be used through your phone to connect to apps that emulate a physical controller. There is an "En" button on the ESP32 that enables you to search for Bluetooth connectivity, you will download an app called "Arduino BT Joystick" and make a connection between your phone and the Bluetooth module on that microcontroller. The app has a nice user-friendly design and there is no learning curve.

How I built it

Took apart a Walmart RC car, the RC car already comes with its soldered motor driver and mini microcontroller. The goal is not to use the microcontroller that is already built inside the RC car but rather, to use a more powerful handy dandy microcontroller such as ESP32. Although I'm not using their microcontroller, I do use their motor driver since it has the necessary controls for moving forward, backward, left turn, and right turn. With the help of a hackathon staff member and Professor. Ghanei, we were able to have five custom soldering for those necessary controls along with a ground connection. I connect the five newly soldered wires to the GPIO pins on the ESP32 and use Arduino IDE to code so we can establish inputs and outputs. Within the code, I used the ESP32 documentation code to set up the Bluetooth and I also added a few additional features to indicate a blue LED to turn on when it's in Bluetooth mode and audio output whenever you are tapping the arrows to move the RC car.

Challenges I ran into

Soldering was quite difficult and making sure all the controls are working is also critical because you are working with hardware and code. Starting was also challenging since I'm working alone and there wasn't much room for brainstorming. When working with hardware, there can be a lot of things that can go wrong, and sometimes it's out of your control. Since the RC car was made in China, all the datasheet was in Mandarin which I'm not familiar with. But with the supporting professor and wondering technical hackathon staff members, the project didn't go out of hand.

Accomplishments that I'm proud of

I'm proud that I'm able to use my phone to control the RC car. I'm happy that I was able to overcome many obstacles. I find that perseverance is key when competing in a hackathon. I set my mind to something and I was able to follow through with it. I'm also proud that it works.

What I learned

I was already comfortable working with Arduino so learning a new microcontroller helped me learn more about the world of embedded systems. While looking at the ESP32 documentation, I noticed that their example code was effective and didn't seem like spaghetti code. This is something I'm working hard to specialize in and eventually make a career out of it so all in all, taking any opportunity to learn and grow is critical.

What's next for IoT RC Car

Planning on working with a drone next time.

Share this project:

Updates