Raspberry Pi Controlled Tank Goes Deeper Than You Might Think

This remote control tank now takes its orders from a Raspberry Pi board. Well, actually it’s taking orders from commands pushed to the RPi board via SSH. The control scheme works out quite well. Using a low-profile WiFi dongle the RPi automatically connects to the wireless network when it is powered on. This makes it a snap to SSH into the device, and a more user-friendly controller will put a nice front-end into play at some time in the future.

But the real meat and potatoes of the hack comes in getting the RPi to talk to the tank’s circuitry. Just getting the Heng Long Tiger I remote control tank apart proved to be a ton of work as the treads need to be removed to do so and there’s a lot of screws holding it together. Instead of just replacing all of the control circuitry [Ian] wanted to patch into the original controller. To do so he spent a bit of time analyzing the signals with an oscilloscope and discovered that commands were coming in a Manchester encoded format. He established what various packets were doing, used a transistor to protect the GPIO pin on his board, and now has full control of the Tank. The final part of the hardware alteration was to power the RPi from the Tank’s battery.

After the break you can catch a demo of the reassembled tank sporting its new wireless controller.

http://www.youtube.com/watch?v=QSPcJL1CGjA

22 thoughts on “Raspberry Pi Controlled Tank Goes Deeper Than You Might Think

  1. I really want to see some hacks with this board that actually use the massive processing power it has. But at that price point I can’t blame anyone for using it for stuff like this, I know I probably will.

    1. Same. The advantage of GPIO manipulation via Linux tools instead of the Arduino code is fantastic. I’ll probably end up using it for a lot simple projects in the future.

      Also this is a great starting point to adding a USB webcam and some OpenCV to navigate and understand it’s surroundings. A few distance sensors. Maybe some GPS, and helicopter blades, and make it waterproof, with rotors… Ok, I’m getting ahead of myself. Still waiting on the delivery!

    2. Well… Massive processing power… If you think about this, there’s only a few projects that really needs processing power (only webcams and stuff like that).

      I think that the real advantage of the raspberry pi is the connectivity and wireless capabilities.

      The processing power of and Arduino is enough to build a robot with 20 ultrasonic sensors, but with the Raspberry you can easily go wireless.

      The processing power in both cases is the same. The difference is the connectivity.

      1. Yeah exactly the kind of applications where you have a USB/Ethernet/Bluetooth shield for your Arduino then only have 1 K left for your actual program because the driver and stack have guzzled up all the space on.

        Once they actually start meeting demand of the Rpi’s then in reality if you need a comms shield for an Arduino you should go and use a Rpi for the Application….Ahhh that’ll be the day ;)

        http://www.youtube.com/watch?v=1rlYz2wI7hY

    3. well… There’s only a few projects that really need processing power (the webcam stuff, and something like that).

      The real advantage of the Raspberry is the connectivity. You can easily go wireless. IMHO.

      1. As long as you’ve got a WIFI link you can do some of the Compute on a remote “server”

        Sorry if I look a bit “vacant” mate but my brain is actually in a box 3 rooms away ;)

    4. Problem is there is no _massive_ processing power. GPU is strong, but binary blob wont let you touch it. ARM part is weak. No NEON, old FPU (slow, barely supports double precision). You can forget about Computer Vision on this thing.

  2. The Pi’s processing power really isn’t that massive IMHO – I get the odd bit of lag when using SSH over Wifi, to the extent that I’m actually not sure how well it’ll cope with running autonomy software, a webserver and streaming video from the webcam at the same time.

    1. Do you have a graphical front end running?
      Maybe you’ve already hit the swap!

      Failing that I wonder if it’s an issue with the WIFI and maybe the encryption overhead?

      I’ve been using SSH excursively over the copper connection and the delays are minimal even when redirecting the X display

  3. Wow, this looks a lot like these 2 tank of mine that I hacked:

    The 1st time I went down your path and tried to keep the existing electronics. However I couldn’t reverse engineer the comm codes, so I simply connected my Arduino (and then FEZ Domino) directly on the the control pins:

    http://trandi.wordpress.com/2010/03/15/electric-remote-controlled-tiger-1-tank-toy-arduino/

    The 2nd time, I completely replaced ALL the electronics with my own motor drivers, controled by an Arduino, which in turn is controlled by the main brain,a Lego NXT (with LeJOS running).

    http://trandi.wordpress.com/2011/05/14/tiger-1-bb-airsoft-rc-tank-%E2%80%93-v3/

    You must have already seen this 2nd version, it’s already been featured here on hackaday, and I find it pretty cool as you can really control anything, and it also has an IR camera which allows it to rack IR targets…

    In any case, cool project and this motivates me to go back to using the original electronics eventually…

    Thanks,
    Dan

  4. Typical, I have been working on a project exactly like this, r-pi controlled rc tank with wifi, except my pi hasn’t come yet :(. Mine, however, does have a webcam with pan and tilt…

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.