build details

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

Duckiebot Configurations

Modified 2021-09-26 by tanij


Knowledge of Duckiebot configuration naming conventions and their respective functionalities.

We define the different Duckiebot configurations, from the first DB17 used in the MIT course 2.166 in 2017 to the latest available.

Duckiebots DB18 onwards can be obtained from the Duckietown project store.


Modified 2021-10-30 by tanij

Model Computation Sensing Actuation Memory Power Notes
DB17 RPI3 Camera 2x DC motors, 5x RGB LEDs 32GB Off-the-shelf
DB18 RPI3B+ Camera 2x DC motors, 5x RGB LEDs 32GB Duckie-power bank addressable LEDs
DB19 RPI3B+ Camera, Wheel Encoders 2x DC motors, 5x RGB LEDs 32GB Duckie-power bank
DB21M JN2GB Camera, Wheel Encoders, ToF, IMU 2x DC motors, 4x RGB LEDs, Screen 32GB Duckiebattery Chassis v1
DB21 JN2GB / JN4GB Camera, Wheel Encoders, ToF, IMU 2x DC motors, 4x RGB LEDs, Screen 64GB Duckiebattery Chassis v2


  • “JN”: NVIDIA Jetson Nano
  • “RPI”: Raspberry Pi
  • “ToF”: Time of flight
  • “IMU”: Inertial Measurement Unit (Accelerometer, Gyroscope)

Duckiebot version 2021, or DB21

Modified 2021-09-26 by tanij

The Duckiebot DB21 debuted with the “Self-Driving Cars with Duckietown” massive open online course, as version DB21M.

Later revisions, referred to under the broader label DB21, improve the DB21M by:

  • expanding the onboard memory from 32GB to 64GB;
  • tweaking the chassis design (v1.0 -> v2.0) for reduced complexity and increased stiffness;
  • introducing a newer version of the HUT (v3.15); which is backwards compatible and removes the need for an additional resistor on the top button;
  • downgrades the IMU version from MPU-9250 to MPU-6050 due to global chip shortages (2021-2022 chip crisis).

To assemble a DB21 Duckiebot, follow these instructions.

You can obtain a DB21 Duckiebot from the Duckietown project shop.

Duckiebot MOOC Founder’s edition, or DB21M

Modified 2021-09-26 by tanij

The DB21M is the first Duckiebot equipped with a NVIDIA Jetson Nano 2 GB computational unit instead of a Raspberry Pi.

The DB21M debuts in 2021 with the first edition of the massive open online course, hosted on the edX platform.

The Duckiebot version `DB21M`.

The DB21M is readily recognized by its blazing blue chassis and triple-decker configuration. It is equipped with a sensor suite including: camera, time-of-flight sensor, inertial measurement unit (IMU) and wheel encoders. Moreover, the DB21M features new electronics (HUT v3.1, front and back bumpers), a screen, a button and a custom designed Duckiebattery (not to be confused with the Duckie-power-bank).

To assemble a DB21M Duckiebot, follow these instructions.

You can obtain a DB21M Duckiebot from the Duckietown project shop.

Duckiebot version 2019, or DB19

Modified 2021-09-26 by tanij

The DB19 is the latest version of the Duckiebot. You have a DB19 Duckiebot for sure if you have the blue motors shown in figure Figure 2.2.

The motors for the version `DB19`.

Apart from the new motors and another HUT (v. 2.1), the DB19 is identical with the DB18. A complete version can be seen here:

The complete Duckiebot 19

To assemble a DB19 Duckiebot, follow these instructions.

You can obtain a DB19 Duckiebot from the Duckietown project shop.

Duckiebot version 2018, or DB18

Modified 2020-04-03 by Rafael Froehlich

You have a DB18 Duckiebot if, e.g., you have pledged to the Kickstarter.

There are two configuration of the DB18.

The DB18 configuration

Modified 2021-09-26 by tanij

The main configuration is labeled plainly as DB18 and is designed to operate on any Duckietown. You have the DB18 if, e.g., you are a student attending the 2019 graduate level classes in ETH or the University of Montreal, or you have pledged to Summer 2018 Kickstarter.

The DB18 supports different power bank models depending on the geographical region, but all these solutions are functionally equivalent, although their form factor is different.

You can recognize a DB18 from previous versions for having only one board in addition to the Raspberry Pi, a backplate, and the computational stack mounted in the bottom deck.

A Duckiebot DB18 assembly.
Another Duckiebot DB18 assembly, with a different battery.

To assemble a DB18 Duckiebot, follow these instructions.

You can obtain a DB18 Duckiebot from the Duckietown project shop.

The DB18-Robotarium configuration

Modified 2020-09-13 by Jacopo Tani

The DB18-Robotarium configuration adds to the DB18 the hardware necessary to operate in Robotariums (a.k.a. Duckietown Autolabs): continuously operating Duckietowns. They are otherwise identical to the DB18.

The additional hardware consists of a top localization April Tag infrastructure and an “auto-charging” mod, which allows Duckiebots to dock to charging stations and estimate the residual battery charge.

Robotariums are experimental Duckietown features, currently under development. You will find DB18-Robotarium models in university research labs.

If you are interested in obtaining DB18-Robotarium Duckiebots, or in building your Duckietown Robotarium, contact the Duckietown team.

A Duckiebot in DB18-Robotarium configuration.

Duckiebot versions 2017, or DB17

Modified 2021-03-13 by duckietown

In the DB17 version, we had several several different configurations.

The configurations are defined with a root: DB17-, indicating the “bare bones” Duckiebot used in the Fall 2017 synchronized course, and an appendix y which can be the union (in any order) of any or all of the elements of the optional hardware set \aset{O} = \{ w, j, d, p, l, c \} .

A DB17 Duckiebot can navigate autonomously in a Duckietown, but cannot communicate with other Duckiebots.

The elements of \aset{O} are labels identifying optional hardware that aids in the development phase and enables the Duckiebot to talk to other Duckiebots. The labels stand for:

  • w: 5 GHz wireless adapter to facilitate streaming of images;

  • j: wireless joypad that facilitates manual remote control;

  • d: USB drive for additional storage space;

  • c: a different castor wheel to replace the preexisting omni-directional wheel;

  • p: PWM hat for convenient powering of the DC motor hat;

  • l: includes LEDs, LED hat, bumpers and the necessary mechanical bits to set the bumpers in place. Note that the installation of the bumpers induces the replacement of a few DB17 components;

During the Fall 2017 course, three Duckietown Engineering Co. branches (Zurich, Montreal, Chicago) are using these configuration naming conventions. Moreover, all institutions release hardware to their Engineers in training in two phases.

It may be convenient at times to refer to hybrid configurations including any of the DB17-jwcd in conjunction with a subset of the DB17-l components. In order to disambiguate, we define partial upgrades as:

  • DB17-l1: adds a PWM hat to DB17, in addition to a short USB angled power cable and a M-M power wire;
  • DB17-l2: adds a bumpers set to DB17, in addition to the mechanical bits to assemble it;
  • DB17-l3: adds a LED hat and 5 RGB LEDs to DB17-l1l2, in addition to the F-F wires to connect the LEDs to the LED board.

introducing the PWM hat in DB17-l1 induces a replacement of the spliced cable powering solution for the DC motor hat. Details can be found in Unit C-15 - Assembly - Duckiebot DB17.

  • Functions: DB17-l is the necessary configuration to enable communication between Duckiebots, hence fleet behaviors (e.g., negotiating the crossing of an intersection). Subset configurations are sometimes used in a standalone way for: (DB17-l1) avoid using a sliced power cable to power the DC motor hat in DB17, and (DB17-l2) for purely aesthetic reasons.