build details

Show: section status errors & todos local changes recent changes last change in-page changes feedback controls

Assembly - Duckiebot DB21

Modified 2021-10-29 by tanij

Duckiebot DB21 parts (get a DB21). If you are unsure what version of Duckiebot you have, check the overview of existing Duckiebot configurations.

A micro SD card with the Duckiebot image on it. The procedure to flash the SD card is explained here.

3-4 hours of assembly time.

An assembled Duckiebot in configuration DB21.


Modified 2021-11-01 by rafaelfroehlich

These instructions are your friend. Follow them carefully, especially if it’s the first time you assemble a Duckiebot. Small variations might cause big effects (e.g., don’t flip your cables!).


Modified 2021-10-29 by tanij

A Duckiebox contains the following components:

The assembly process is divided in 6 parts. They must be completed in the following order:

The FAQ section at the bottom of this page provides resolutions to common problems.

Preliminary Steps

Modified 2021-09-26 by tanij


Modified 2021-10-29 by tanij

Unbox all of your components and lay them out on a flat surface. Ensure that you have well lit, uncluttered space to work on.

“The Duckiebox hides but does not steal”. Your Duckiebot chassis might be under the white protection foam inside the box. To reach it, pull out the white foam from the box after removing everything. Mind that the upper part of the inside foam has several side pockets in addition to a main compartment where components are located.

Although not necessary, a small (M2.5) wrench might ease some passages.

both NVIDIA Jetson Nano 2 GB and 4 GB are supported, but the sd-cards must be initialized differently, as described in Unit C-3 - Setup - Duckiebot SD Card.

Plastic cover

Modified 2021-10-29 by tanij

Peel the plastic cover from all the chassis parts, on both sides.

Screws, Nuts and Stand-offs

Modified 2021-11-01 by rafaelfroehlich

Verify each connecting part before using them. This will prevent undesirable effects (e.g., nylon screws prevent electrical shorts; bigger screws might damage the chassis).

Charge Duckiebattery via the HUT

Modified 2021-11-01 by rafaelfroehlich

This preliminary step allows us to start charging the battery while confirming the functionality of the HUT.

  • Connect the battery and the HUT board as shown and make sure a green LED on the HUT is lit.
  • Wait 30 minutes and then push the button on the battery.
  • Check that the state of charge LEDs on the battery start blinking.
  • Leave this setup until the battery is charged. This may take up to 5 hours.

You can familiarize with how the Duckiebattery works by reading its handling instructions.


Modified 2021-09-26 by tanij

In the following steps (1 to 16) we will build the base-plate assembly of the Duckiebot.

Occasionally manufacturing tolerances (on the nut and the chassis) might prevent a flush fit. Trying a different nut or changing its orientation might solve the problem.

Remove the USB cable from the Duckiebattery, connected in the battery related preliminary step.

Before proceeding, verify that no component is wiggling. The only things moving should be the cables and the sphere in the omni-wheel (and, yes, the motor axles). Proceed to gently tighten the screws of the offending parts, if necessary.

Computation Unit

Modified 2021-11-01 by rafaelfroehlich

The following steps (17 to 25) guide through the assembly of the Computation unit:

Now connect it to the base-plate (i.e, the rest of the chassis assembled in steps 1 to 16). Verify the chassis components are locked correctly.

Rear Assembly

Modified 2021-09-26 by tanij

The following steps (26 to 39) guide through the assembly of the rear part of the Duckiebot:

Front Assembly

Modified 2021-09-26 by tanij

Steps 40 to 52 guide through the assembly of the front bumper:

Top Deck Assembly

Modified 2021-09-26 by tanij

This last section (steps 53 to 63) guide through the assembly of the top deck:

Power your Duckiebot

Modified 2021-11-01 by rafaelfroehlich

One of the USB ports on the HUT will remain free. You can use this port to charge the Duckiebot. To avoid putting additional stress on the connector, you can leave this cable plugged in and store it under the blue top lid.

Always plug and unplug USB cables from the HUT with care!

Once your Duckiebot is fully charged, you can press the button of the battery on the side to power it up (do this ONLY if a flashed SD card has been inserted). It is important to make sure the battery is charged to prevent undesired shutdown during the first boot, which will compromise the initialization sequence and require the sd card to be re-flashed.

Congratulations, your Duckiebot DB21M is now completely assembled.

Additional Parts

Modified 2021-11-01 by rafaelfroehlich

These additional parts are not always necessary.

Back Pattern

Modified 2021-09-26 by tanij

The back pattern enables the traffic management behavior of the indefinite navigation demo, and it might be useful in challenges with vehicles (e.g., LFV, LFIV, etc.).

April Tag

Modified 2021-09-26 by tanij

This top facing April Tag enables localization in Duckietown Autolabs (unknown ref opmanual_autolab/book)

previous warning next (2 of 10) index
I will ignore this because it is an external link. 

 > I do not know what is indicated by the link '#opmanual_autolab/book'.

Location not known more precisely.

Created by function n/a in module n/a.

Check the outcome

Modified 2021-10-29 by tanij

Version 1.2.2 is the minimum requirement for enabling battery code updates. Make sure you have at least this version (>22 March 2021).

  • Make sure the SD card is inserted in Jetson Nano in the dedicated SD card slot under the main board. Do not plug it in the adapter and in a USB port. If you have already inserted a flashed SD card, you are allowed to push the magic button on the battery.


Modified 2021-11-01 by rafaelfroehlich

I can’t find the blue chassis.

It’s under the white foam in the Duckiebox. Remove the inner packaging to access it.

Camera cable needs to be twisted to make the pins on the cable matching those in the connector. Is this normal?

Yes this is normal. It might look a little nicer if you wire the camera cable around the metal stand-off next to the plug.

The Duckiebattery does not fit flush in the compartment.

Position it as it fits (at an angle). It will make the assembly a little trickier but everything will work out in the end.

I don’t have enough screws of a specific type.

Each package has enough screws of each type, plus spares of some. It might happen to inadvertently use one type instead of the correct one, which will result in shortages towards the final stages. Following the instructions carefully will prevent this from happening.

I can’t screw the omni-directional wheel right; the screws don’t fit all the way in the standoffs.

Occasionally the standoffs are not fully threaded due to manufacturing inefficiencies. The solution is to orient, in case of need, the shorter threaded stand-off side towards above, on the side of the chassis. Alternatively, shorter screws (provided in the package) can be used. If everything else fails, a “dirty” but effective solution is to use two spare nuts to mitigate tolerances, as shown in the picture below:

A piece broke while I was trying to assemble it!

Mistakes happen. Some damages will not influence the functionality of the robot, others will be fixable at home with some tools, others could be showstoppers. Please take a picture of the damage and email for assistance.

The wheels wiggle and/or fall off the motors.

This is due to manufacturing tolerances. You may remove the distance disks used in the assembly between motors and wheels, but make sure the wheels are not touching the screws of the motor mounts. Alternatively, screws are provided to fix the wheels to the motor axles. Make sure not to tighten the screws too hard, or they will add resistance to the spinning of the wheels (you can find the sweet spot by turning the wheel by hand and feeling the resistance torque).

Screws will keep the wheels in place. Do not tighten too hard!

My Duckiebot is driving backwards when pressing the key for straight forward.

Try swapping the motor cables on the HUT connectors. Double-check the motor cables are connected to their respective ports as indicated above.

I don’t understand what’s going on with the connections!

This simplified block diagram of data and electrical connections of the DB21M might help:

Block diagram of electrical and data connections for the `DB21` and `DB21M`.

I have a non-functional sticker with weird symbols left over. What to do with it?

Duckiebots are FCC and CE certified, which means they comply with (and surpass) material quality (e.g., RoHS 2.0) and electrical interference standards (FCC, CE). You should place the sticker somewhere on the Duckiebot. We suggest a position out of sight (of other Duckiebots) to prevent detection issues in more advanced applications. For example, under the wheels:

Place the sticker somewhere a human can read it, but another Duckiebot cannot.

I followed the instruction to the letter, but there is something off I can’t quite put my finger on.

You forgot to put a duckie on top of your Duckiebot!