Simple Walker II

From ZB45 wiki



Revision 5

Minor update. Adapted for manufacturing at elecrow:


  • Changed board dimension outline for easier milling.
  • Increased via-size for lower quality pcb production.
  • Back silkscreen: Changed place and size of information
  • Front silkscreen: Increased size of bounding boxes (to avoid overlap), moved some labels to improve readability


Revision 4

Improvements over revision 3:

  • Shorter usb traces. (I moved power management to other side of the board.)
  • Added low drop diode to allow programming in "off" mode.
  • HC-SR04 foot fixed
  • Optimized traces for power paths
  • Better form factor for use in robot
  • Pins and labels better aligned
  • Added decoupling for servos

Remaining Questions:

  • The USB data lines are crossing the VUSB line. I tried to minimize any cross talk by routing the VUSB not only on the other side of the pcb, but also put the crossing underneath the 22R resistors. Will this crossing be a problem? Is the crossing underneath the 22R resistors a good choice?
  • The reset line crosses multiple power paths. I'm afraid that cross talk might accidentally reset the MCU. Is this a legitimate concern?
  • I added a decoupling cap for the servos. Is this generally a good idea? Or is it excessive?


Revision 3

Simple Walker 2 rev 3.jpg

This is the first full feature design. It can be programmed over usb (as an Arduino Leonardo), it runs of of one LiPo, and has built in charging functionality.


  • Works as Arduino Leonard (or Pro Micro). Based on Atmeg32u4.
  • Operating Voltage 5V (through boost)
  • Servos are powered from LiPo directly
  • Number of servo slots: 4
  • Number of powered digital pins: 4 (2 plain digital, 2 pwm)
  • Number of extra analog Pins: 1
  • HC-SR04 (distance sensor) foot
  • JST LiPo connector
  • USB interface (for programming and charging)
  • LiPo Charging
  • Boost DC/DC converting 3.7V LiPo to 5v Arduino voltage.


The board does not contain an ISP header, but the ISP pins are all broken out, of course. Connect as follows:

  • MOSI => Pin 10! (should have been 16 but I accidentally reversed the distance sensor foot) ,
  • MISO => Pin 14
  • SCK => Pin 15
  • VCC => VCC
  • GND => GND
  • RST => RST

Normal header: [1]

Test the ISP port with the following command: avrdude -c usbasp -p atmega32u4

You can burn the bootloader and set the fuses automatically from the arduino interface by selecting "Arduino Leonardo" as arduino model, selecting the right programmer (e.g., USBasp) and selecting "burn bootloader" from the tools menu.

See also: Testing Simple Walker II, rev3


Main Issues:

  • USB failed after a while!!!
  • Atmega32u4 cannot be programmed when board is switched off. Now the board can only be programmed when everything is on (including the servos). This is unfortunate. This can perhaps be solved by connecting VUSB to VCC through a diode, or, otherwise by using a tri-state switch.
  • HC-SR04 foot reversed

Minor Issues:

  • red, black labels at JST partly hiddden
  • GPIO rail 11,15, A1,... ugly. Move analog pins (A0,A1,A2,A3,VCC,GND) 0.1" down. And move digital pins (11,15) 0.2" down.
  • move RST,TX,RX 0.2" to the left (to allign with power row)
  • move power switch a bit to the right, to


Revision 2

This is just a big experimentation board, containing a reduced Leonardo, Arduino Pro, 2 boost converters, 1 charge circuits.


Leonardo works well. good basis for further development.

The LEDs on the charge circuit do not function as expected (perhaps an issue with model numbers of the IC?). Next model will be based on MAX1555.

Simple boost performs well. Good basis for next revision.


Revision 1

This is a very basic board, based on a Arduino Pro


  • Atmega328
  • UART header for prgramming (no USB)
  • Two LiPo header (two times 2x1 0.1" pinhead headers)
  • No charging
  • A step down dc/dc converter to convert 7.4V from the two LiPos to 5V


  • Lack of features: no charging, usb or anything.
  • No battery protection (dangerous)
  • Step down not powerful enough to power servos