Skip to content
A Tiny Walking Robot for Fun and Education
C++ C Makefile MATLAB
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Bakiwi Assembly Documentation

This is the Bakiwi assembly manual. With the following steps you can assemble your Bakiwi walking robot from the kit. We encourage everyone to contribute to this project. Please share your ideas and experiences, upgrades and schematics, source code and tricks.



There is some video links available on how Bakiwi could look like when assembled and how it performs.


Before starting the assembly. Check that you have all the tools and parts in place. We recommend reading this manual once briefly before starting the assembly. Please also have a look at the schematics of the board or the board’s layout.
01 package

Prepare Workbench and Tools

Clean and wipe your workbench and get all the tools needed as denoted in the list or shown in the picture.

We recommend these tools to assemble the Bakiwi robot:

  • soldering iron with a very fine tip and solder (0.5mm) and up to 400°C (regulated) temperature

  • flat-nosed pliers

  • side-cutting pliers

  • wire stripper

  • utility knife

  • multimeter

  • sandpaper or files

  • small Phillips screw driver

  • tweezers (optionally)

  • hot glue or superglue (optionally)

  • a box of craft materials, trash or old Lego parts for creating legs and body parts of your robot.

02 tools

Check the Parts

Check the parts in your Bakiwi package for completeness and complain to me via email if it’s not complete :)

Bakiwi Assembly Kit Parts


micro servos (incl. several horns)


mini-potentiometers 10 kΩ




PCB SO(2)-Walker (referred to as the motherboard)


Arduino-Nano compatible board (i.e. Nano-Board)


battery holder (2xAA)


1 kΩ resistor


LED (two different colors)


1x3 pin header


1x15 socket


100 µF electrolytic capacitor


100 nF ceramic capacitor


tactile button


on/off slide switch


10 cm cable

03 parts
Batteries might not be included in the set. Ask your workshop leader or get you a set of 4x AA (mignon) batteries with 1.5 Volts each.
batteries not included


Prepare Soldering

Prepare your workbench for soldering. We recommend using a fine tip and thin solder.

Watch your health! Use enough light. Make sure there is fresh air during soldering and not to breath-in the solder vapor.
Soldering irons get REALLY hot. You need to stay focused and should be careful not to burn yourself or others. When leaving the table or room, switch off the soldering station.
use fine solder tip

Adjust the soldering station for sufficient heat depending on the solder you use. Some stations show the current temperature, make sure to let the iron pre-heat before starting. If soldering 'feels' very sticky, you might have not the correct temperature (too cold) or the flux in the molten solder has already evaporated. Also, ensure to always use a clean solder tip, preferably using a dry cleaner (metal pot cleaner) as it does not cool down the solder tip (in comparison to a wet sponge) and the cleaning result is generally better.

solder with enough temperature

Keep the electronic parts together as they are tiny and get lost easily when they are accidentally dropped from the table.

keep parts together

Solder Nano-Board Header

So now you should be prepared for soldering the first part. Insert header pins for the Nano-Board as shown in the picture.

insert pinheader

You can use a breadboard, if available, for stabilizing the pin headers and keep them aligned and perpendicular during soldering.

use breadboard if available

Solder the pins one after another. After soldering the first pin, double-check for alignment and correct it if needed. Otherwise, continue soldering all 30 pins.

solder nano pins

The result should look like this. Sufficient solder looks shiny and volcano-shaped. If it looks like a water drop or ball then there is too much solder. You can remove it by cleaning the tip and put the soldering iron again to the pin. Alternatively, use de-soldering braid to remove excessive solder.

If the solder point has a weird shape or noses, then there was probably not sufficient flux available in the melting process, use a little fresh solder to make the solder point shiny again.

nano solder result


Get the two 1 Kilo-Ohms resistors and the motherboard. Don’t get irritated as the color might be different than shown in the picture.

parts resistor
parts so2walker

Bend down the resistors' leads very close to their ends and trim the leads as shown in the picture.

bend cut resistor

Insert resistors as depicted and printed as R1 and R2 on the board’s silk screen. Make sure that the resistors are soldered very closely to the board.

insert resistor

Trim the leads after soldering using the side-cutting pliers.

solder resistors and cut wire


Get the two capacitors. They completely differ in size and form.

parts capacitors

Insert the ceramic capacitor (small) first as it has a lower profile. Again, make sure that the capacitor is soldered very closely to the board.

insert ceramic cap

The electrolytic capacitor has a polarity and its leads must not be mixed up. The shorter lead is minus, the longer lead is plus. Make sure polarity is correct as denoted on the board and shown in the picture. The capacitor must be laid on its side since the Nano-Board will be mounted above it.

insert electrolytic cap


Get the LEDs. Their colors or shape can be different depending on the version of the assembly kit.

parts leds

The LEDs also have polarity. Again, the shorter lead is minus, the long lead is plus. Make sure polarity is correct as denoted on the board and shown in the picture.

To remember which lead is plus or minus, imagine, there is a rule of thumb: The dashes of the plus sign put together in a line are longer than the minus dash. Easy, isn’t it?
insert leds


Get the switches. The silver/black one is a tactile switch, a button so to say. The other one (blue/white) is a slide switch.

parts switches

Insert and solder the slide switch and button. When inserting the tactile button, look out for correct orientation. There is only one correct way and you probably need to gently press the part into the board. You feel a little click when inserted correctly. The orientation of the slide switch is pretty clear and can be installed in both ways. After soldering, make sure that the slide switch is turned off (as marked on the board).

insert slide switch


The next thing to solder is the sockets for the Nano-Board. The sockets in your package might have more than 15 slots, so you need to trim the socket to exactly 15 slots and use sanding paper to make it even. Be careful when trimming the sockets, they might break easily. You have to cut directly through the 16th socket pin, not between pins as this might accidentally break the 15th pin as well.

cut socket
sand socket cut

Then insert the socket and solder the 30 pins. For each half of the socket, make sure the sockets are aligned perpendicular and closest to the board. Otherwise, the Nano-Board might not fit into the socket.

insert sockets

Get a break

Now it’s time to grab a coffee or similar and relax your eyes. Get some fruit and fresh air, give your body a break :)
make a break

Soldering (continue)

Hope you are relaxed, now :)

Servo Header

Get the servo pin headers and insert four times the 1x3 pin servo header to all four corners of the board, next to the screw holes. Again, make sure the pins are perfectly perpendicular to the board, otherwise, the servo connectors might interfere with the sockets of the Nano-Board.

insert servo pin header


Get the four potentiometers (10 KOhms) and the associated knobs (might have a different color) and insert the knobs in such a way that the shiny metal part of the potentiometer is on the back. When inserting the knobs, make sure the arrow is pointing upwards. Check for correct neutral position (pointing to the top), e.g. when turned fully to the left end stop the arrow should point in the lower left corner and when turned fully to the right end stop, the arrow should also point to the lower left corner

prepare potis

Insert the potentiometers as shown in the picture, turn the board and solder them.

insert potis

Battery Pack

Get the wires (approx. 10 cm each). The might have different colors than depicted or the wires come as a flat cable.

get wires

Strip the insulation of all the wires' ends, approx. 3-5 mm, twist the ends a little and pre-solder the wires. Pre-soldering is useful to better insert the wire into solder holes.

strip wire and presolder

The result could look like this.

wires result

Insert the wires in the denoted order and solder them to the board.

wire order

Twist pairs of wires, each pair will be associated with a single battery pack of two cells. If you have a flat cable, you can split them in two pairs of wire.

twist wire

Turn the leads of the battery pack a little upwards so they do not stick out over the part.

battery pack turn leads upwards

Check polarity of the battery pack (it is denoted inside the packs).

polarity batterypack

Solder wires to the battery packs as shown. Double check for correct polarity. According to your cable colors the order should be (B1- B1+ B2- B2+) with Bx denoting the battery pack (1 or 2), as denoted on the board/schematics.

Battery packs are made of temperature-sensitive plastic. Try to solder only as short as possible in order to avoid melting the plastic. This could irreversibly damage the pack and lead to connection problems later.
battery pack soldered wires

Soldering finishing

So, congratulations. You did it. You finished soldering. Yay. \o/

Next thing to do is to trim the pins to be as short as 1-1.5 mm.

cut pins short

Dispose the trash material correctly. Metal, plastic and paper parts can be recycled and should not be put to residual waste.

dispose solder waste
Do not dump the bags. Re-use them or return them to your workshop leader if you do not need them anymore. Save resources. There is no planet B, right?
reuse plastic bags

Testing and Flashing Firmware


Before installing batteries, get your multimeter and check at least for three things:

  • Use the short circuit detection mode (beep mode) and check whether there is good connection between the battery packs and the board. Measure from the very end (e.g. the spring in the pack) to the wire end soldered to the board. The multimeter should make a beep sound here signaling a proper (low-resistance) connection.

  • Next check the four battery cable ends for possible cross connections. There should be none (if you nonetheless find a short circuit between the inner cables, make sure that the power switch is in off position). Remove any short circuits. Check (optically) for possible short circuits on all your soldered connections on the motherboard and Nano-Board. If unsure, check (electrically) with the multimeter.

  • The last thing: Check electrically (!) for potential short circuits between GND, VIN and +5V as denoted on the Nano-Board pins.

Please be careful with this last step and make sure that there is no short circuit (left) as this can destroy components of your robot irreversibly. In any case, if some component of your robot is getting hot, remove batteries immediately and check for potential problems. Maximally the motors are getting warm after longer use, the rest of the robot should stay at environment temperature.

Insert Batteries

Now it is time to first power-up your freshly soldered Bakiwi robot.

  • Make sure the power (slide) switch is in "off" position.

  • Insert the Nano-Board into the sockets of the motherboard with the USB connector turning pointing towards the tactile switch.

  • Insert all four batteries into the holders according to the polarity denoted inside the battery holders and the batteries themselves.

  • Switch the power on and the Nano-Board should be light-up its onboard LEDs.

Installing Arduino IDE

Get a computer and browse to and download and install the latest Arduino IDE according to the description on the Arduino website. If you already worked with Arduino boards and have the IDE already installed on your computer, you might consider updating to the current version as it might be required to detect the Bakiwi robot’s control board in the Arduino IDE. This manual was tested with version 1.8.8 without any problems or modification needed.

Checking out the Code-Repository

Download the latest Bakiwi firmware source code folder with name so2walk from and save to your local hard drive (hit the Clone or Download button on the Github website).

Alternatively, if you are familiar to a Linux terminal and want to use the source code version system Git, type

git clone

to clone the code repository to your computer. Optionally, if Git is not already installed on your Linux machine, type

sudo apt install git

If you have question on using Git (e.g. for other operating systems), please refer to

Compile Firmware

Open the Bakiwi firmware’s source code in the Arduino IDE (file→open) and hit the compile button (it looks like a checkmark, it’s somewhere in the left upper corner). When compiling works without complains from the IDE then all the code dependencies seem to be fulfilled on your machine and the compiler was able to create the binary code to be run by the microcontroller on the Nano-Board.

Connecting the Nano-Board to a PC

Remove batteries again and connect the Nano-Board to your computer via USB (mini)-cable. The board should immediately power-up again as you connect the cable.

connect nano to pc via usb

Selecting Board and Microcontroller

Next you need to select the target board and processor. The Nano-Board is compatible to Arduino Nano and hosts an 8-bit ATMEGA328p microcontroller. After setting the board via ToolsBoardArduino Nano you also have to select the correct microcontroller and Bootloader combination via ToolsProcessorATMEGA328P (Old Bootloader). If the old-bootloader option is not available in your Arduino IDE you may consider updating to the current version.

Please note: The board uses an USB-to-Serial chip-set called "CH340" which, depending on your operating system, may need some sort of driver to be installed.

arduino IDE

Uploading Firmware

You can now upload the code by hitting the upload button (an arrow to the right). If everything has worked out fine, the motherboard’s LEDs should blink in a periodic pattern.

Testing the Functions

For testing, follow these steps:

  • remove the USB cable

  • make sure robot is switched off

  • connect motors (yellow cable pointing towards the knobs)

  • insert batteries

  • check all knobs are in neutral position

  • switch on

The LEDs should again be blinking periodically. The four knobs modify the properties of the neural oscillator: Frequency, Phase and Amplitude (2x).

There are four 3-pin headers that allow for connecting motors. In the current version of the code only two of them are sending motor commands (the two next to the USB connector). The others you can use for connecting additional motors or sensors, when you modify or extend your robot or its code.

You find the knob which modifies the frequency in the right upper position when holding the board with the USB connector upwards while looking from the Nano-Board side. Try out modifying the frequency and watch the LEDs blinking accordingly. The blinking LEDs corresponds to moving motors later. So the motors will change direction with the same frequency as shown by the LEDs.

For each motor the oscillation is tapped at two different positions, so that you can create patterns that are either more in-phase or anti-phase. The right lower knob modifies the phaseshift between those taps. Try out the phase knob and so how you can create different blinking patterns.

When powering-up, your Bakiwi is in pause mode. You can now start the motors by hitting the tactile button. The motors will now begin to move according to the frequency and phaseshift you set.

The other two knobs (on the left side) can be used to modify each motor’s amplitude. You can either decrease the amplitude by turning them to the right until the motors fully stop or you can increase the amplitude to a certain maximal value by turning them to the left.

Please note that a mixture of large amplitude and high frequency at the same time can probably not be accomplished by the motor since every physical device has some sort of inertia.

install nano board and connect motors


To be continued…​

parts servos
glue bat pack and motors
install nano board
You can’t perform that action at this time.