Monday, February 22, 2016

Advanced RCcontroller project (BogieRuntRover)

In my previous posts we have seen RCcontroller connect via bluetooth or socketIO but we did not control something cool. This time, we are going to take things to a new level. We will control a little rover with RCcontroller. I don't talk too much so let's get started.

For this project, we need:
  1. A toy car fitted with DC motors. Mine is the BogieRuntRover from ServoCity.
  2. An analog camera. This helps us see where we are going.
  3. A servo gimbal for the camera.
  4. An analog video transmitter-receiver pair. Mine has a range of 2km.
  5. A video capture device. I recommend the Diamond VC500. This will convert the analog video signals to digital so that we can stream the video with our linux computer.
  6. Adafruit's GPS ultimate. Helps us find BogieRuntRover when she gets missing.
  7. Adafruits 10 DOF accelerometer. To give us our robot's euler angles.
  8. Arduino DUE. This will be the brain of BogieRuntRover.
  9. A pair of Xbees. This is for serial communication.
  10. A pair of Xbee adapters to configure and test the xbees. I recommend SainSmart Xbee adapters.
  11. An H-bridge. I recommend the L298 Dual H-Bridge.
  12. 3 11.1V lipo batteries.
  13. A lipo charger. I have the Turnigy Accucel-6.
  14. A custom shield for the Arduino DUE. Get the eagle files here.
  15.  Stackable headers for the shield and some male and female headers.
  16. A few jumper wires.

Get the Arduino code from here.You might also need these libraries.
You can also download the controller JSON file (for RCcontroller): BogieRuntRover.json
Download with your smartphone and open it with RCcontroller to automatically load the controller.

 See the video below to know how everything looks after setup:

This video shows BogieRuntRover in action:


  1. Hi, I linke your project. I am working on a very similar project these days just for fun. One question, How do you monitor the LIPO batteries so they do not overdischarge? I mean do you monitor your batteries from the arduino?

    1. Thanks for liking my project Marcelo. I am not reading the lipo voltages. If you want to do that, you can use Arduino's analog inputs. But make sure the lipo voltage does not exceed the barest minimum (3.3V for Due and 5V for Uno) by stepping the approx. max of 11.1V down to 3.3V or 5V (for Due or Uno respectively). After reading these values using analogReadResolution(), you can do the necessary conversion and cheers!, you've got your voltmeter working. If you want to take it to the next level by monitoring the values remotely (via bluetooth, xbees, or wifi), you can continuously send the values via bluetooth, xbee or wifi module connected to the tx/rx of the arduino and monitor it with my Android app, RCcontroller. Good Luck!