Let's Make Robots!

Wild Thumper Robot Controller

Wild_Thumper_Controller_Instructions.pdf1.23 MB
Wild_Thumper_Controller.zip4.51 KB
Wild_Thumper_Diagnostic.zip2.51 KB
Vendor's Description: 

Wild Thumper  Robot Controller

After creating the Wild Thumper robot chassis I wanted to make a suitable motor controller for it as stall current can be as high as 33A if all 6 motors stall together. As the Wild Thumper chassis's were also ideal platforms for our robot arms I wanted more than just a dual "H" bridge, I wanted servo outputs and a power supply capable of driving some heavy duty servos. Then I thought, hmm.. a battery charger would be handy. The end result is an Arduino compatible controller on steroids!

  - Dual 15A continuous FET "H" bridge with individual fuse protection
  - Current sensing and blown fuse detection for each motor
  - Electronic braking for those high speed robots
  - 7 digital I/O pins terminated in 3 pin male headers with power allowing servos to plug directly onto the board.
  - 5 analog inputs terminated with 3 pin male headers with +5V and Gnd for sensors.
  - 5A LDO regulator to supply power for logic, sensors and servos.
  - 2A current regulator for charging NiCd, NiMh and SLA batteries.
  - Battery voltage monitored by processor. Charger controlled via processor. Allows robot to charge its own batteries.
  - Communication via USB, TTL serial and I2C. Can also accept RC and analog inputs.
  - ATmega 168 processor with 16K flash memory. Programmable via USB or ISP.
  - Comes preloaded with the Arduino bootloader and sample software.

Although designed to work from 6.5V - 12V the controller can be used at voltages as high as 20V if the 5V regulator is not heavily loaded. A CPU fan should be mounted on the heatsink with voltages of 12V or more.

NOTE: The original sample code was written in version 0018 of the Arduino IDE. Newer versioned included definitions of analog pins that prevented the code from compiling. The sample code listed here has been corrected to work with Arduino 0022.

For those advanced users who want to change the PWM frequency, beware! Frequencies above 24KHz will damge the controller.

Here's a something you might want to try.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

It is a 2.5mm DC jack. This seems to be the most common size when buying wall adaptors.

it sounds like you have the wrong board type selected. Have you selected "Arduino Nano w/ ATmega168"?


Yes this is the board that I have selected. Currently I get a "programmer not responding" error. I ordered a replacement board, maybe this will work better as my current board 

If you are trying to upload with the USB cable then you are using the bootloader, not a programmer. A programmer is only needed for uploading via the ISP socket which I do not recomend unless you are using software that recognises the signiture of an ATmega168 - PA.


Hello! I just bought this controller, but I have some problems to get it connected to my PC.
    I've been scratching my head for hours and hours now, trying to find out how to connect/install drivers etc properly, but i find that the information about the installation process of the board is kind of limited. I've also tried 5 different computers and 2 different operatives without further sucsess.
    So now to the problem:
When I connect the card to the computer for the first time without any drivers, it first tries to find the right drivers, but fails due to ("The device is not connected"). If i try to connect it again, it starts to connect and disconnect over and over again. So it seems like there's something wrong with the contact of the usb port and the usb cable, and it's not the cable, because I've tried different cables.
I should also mention that i succeeded to get contact for a short moment with one of my computers where I for a moment could upload code trough the Arduino IDE. But next time i tried to connect it, it didn't work, and have not worked after that time either.
    So now I wonder if it's me or the board that's causing those problems, and what I should do to solve them.
Is there any drivers that I've missed to install, and if so what kind of drivers?
    I would also appraciate if you could send me some information about the installation process of the board as well as put them in the instruction manuals.


// Andreas


As far as your computer is concerned, the Wild Thumper controller is just an Arduino Nano with an ATmega168. The USB interface IC is the same as the standard Arduino boards.

Make sure you are powering the controller from a suitable battery or power supply as it does not use power from the USB.


It worked now when i used the "VBAT" and "GND" instead of the 2A DC Recharge socket. How come? I tought that I could use the recharge socket for more simple stuffs like programming, as mentioned in the manual.

I do have some more questions as well:

1. When calibrating the current sensors, what is the minimum resistance that I can use for the light globe? I have a light globe from a car with a resistance of approx 3,5 Ohms, but in the manual they use one with 10 Ohms.

2. Is the calibration important to do before using the motors on the Wild Thumper?

3. Where on the board should I mount the included shortoffs? I was thinking about removing a screwthread from a screw in each corner of the board, and place the shortoffs there, but I'm not sure, and i don't want to cause a short-circuit.


// Andreas

Not sure why but after trying everything related to my USB ports, I came across this post on using the VBAT connection instead of the recharge port and everything started working. I had used the recharge port in the past, but with my new laptop it stopped working. Thanks for your post it saved me!

  1. As long as your bulb does not draw more than 15A it does not matter. You just want a resistive load that draws at least 1A of current. If you are going to calibrate your current sensors then solder the fuses in first otherwise you will not get reliable results.
  2. No, calibration is not critical. In most cases people will only use the current monitoring to detect if the motors are stalled. In that case it is simply a case of a current bigger than X is bad, turn off the motor.
  3. The female end of each standoff should scew onto each corner of the heatsink. Earlier versions have a nut that must be removed first.




i have similare problems. I have a new controller board, powered by a 7.2V 4500mAh Battery Pack. I can connect this board to a PC (Windows 7 and Ubuntu Linux) but when i try to upload the "Wild Thumper Controller" Code, I get the following error message:



Binary sketch size: 4200 bytes (of a 14336 byte maximum)

C:\Users\phr\Desktop\arduino-0018\hardware/tools/avr/bin/avrdude -CC:\Users\phr\Desktop\arduino-0018\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega168 -cstk500v1 -P\\.\COM8 -b19200 -D -Uflash:w:C:\Users\phr\AppData\Local\Temp\build68436019199881080.tmp\Wild_Thumper_Controller.cpp.hex:i 

avrdude: Version 5.4-arduino, compiled on Oct 11 2007 at 19:12:32

         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

         System wide configuration file is "C:\Users\phr\Desktop\arduino-0018\hardware/tools/avr/etc/avrdude.conf"

         Using Port            : \\.\COM8

         Using Programmer      : stk500v1

         Overriding Baud Rate  : 19200

avrdude: ser_open(): setting dtr

avrdude: Send: 0 [30]   [20] 

avrdude: Send: 0 [30]   [20] 

avrdude: Send: 0 [30]   [20] 

avrdude: Recv: 

avrdude: stk500_getsync(): not in sync: resp=0x00

avrdude: Send: Q [51]   [20] 

avrdude: Recv: 

avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

avrdude done.  Thank you.




Is this board broken?