Setup - Booting the Duckiebot#

What you will need

  • A flashed Duckiebot SD card

  • A Duckiebot of the same model chosen during the SD card flashing procedure

  • A fully charged battery

What you will get

A Duckiebot successfully booted up and connected to the WiFi network.

You are now ready to boot up your Duckiebot!#

Insert the SD card as shown in the video below into your robot and push the button on the battery to power up the Duckiebot. While the video shows the procedure being performed on a DB21M robot, this procedure is the same on all Duckietown robot models.


Be sure your Duckiebattery was fully charged as shown in the assembly steps before attempting to boot.

The external power supply might not be able to provide sufficient current if the battery is low, causing the on-board computer to reboot. Should that happen during the first boot, you will likely have to burn the SD card again.

Monitoring the First Boot#

Make sure your desktop or laptop computer is connected to the same WiFi network the Duckiebot was instructed to connect to.

Then open a terminal and run the following command,

dts fleet discover

The command above will show a list of all the Duckiebots reachable on your local network. For each Duckiebot, the tool will also show the model that was used to flash the SD card, the hostname of your robot, and a status indicator.

Leave this tool open, it will refresh automatically every second, so there is no need to manually restart it.

Within a few minutes of powering up the robot with the SD card in, your Duckiebot will appear in the list with status Booting. If it does not appear within 5 minutes, check out the Troubleshooting guide at the end of this page.


Fig. 41 Output of ‘dts fleet discover’#


During the first boot, the robot will automatically reboot several times. Wait for the “Status” column to read “Ready” and turn solid green.

Software and Hardware updates#

Once the status of your Duckiebot is Ready, you are ready to update your Duckiebot. The software update is required now, while the hardware update is conditional and also can be carried out later.

Software update#

Please update your Duckiebot’s software stack with the latest by following: Debug - Duckiebot Update.

Hut Microcontroller update#

The reader does not need to perform this right now. This is mentioned here so that the reader is aware of the existence and a potential need of this procedure. The Hut connects to various electronics beyond the Duckiebot computer, e.g. motors, LEDs. If you run into problems with the operations in the Duckiebot Operations section later, and it is related to the hardware on the HUT, you are then suggested to follow the Debug - Re-flash Microcontroller page to update the HUT firmware.

Confirming the First Boot#

Once the Duckiebot is Ready and Updated (software), you are ready to access your Duckiebot’s Dashboard.

Open your browser and visit the URL http://HOSTNAME.local/. You will see a page similar to the following,


Fig. 42 Duckiebot’s dashboard first setup page#

This is the dashboard of your Duckiebot. The Dashboard is built using a framework called \compose. You configure it in in Setup - Duckiebot Dashboard.

If you can’t access the dashboard, check out the Troubleshooting guide at the end of this page.

Powering off the Duckiebot#


Do not test these commands before the Duckiebot has completed its first boot. If the Duckiebot gets rebooted/shutdown while the first boot has not finished, the Duckiebot might become unreachable and you will have to reflash the SD card.

To turn off your Duckiebot, use the command,

dts duckiebot shutdown HOSTNAME

The shutdown procedure can take up to 20 seconds.

To reboot your Duckiebot, use the command,

dts duckiebot reboot HOSTNAME

You will learn more about how to handle your Duckiebot in Handling - Duckiebot DB21.

Troubleshoot - First Boot#



I pressed the power button on top but nothing happened.


Power on your Duckiebot using the button on the side of the Duckiebattery. The top button is only for powering off. You can also learn more about how to handle your Duckiebot in Handling - Duckiebot DB21.



My Duckiebot does not appear to boot after pressing the power button on the battery. I don’t see a green light on the HUT or the Jetson Nano.


Refer back to Assembly - Duckiebot DB21J, and check each of your cable connections. Confirm the start and end port of each power cable from the battery. The battery must be charged fully as shown in the first assembly step.



My Duckiebot is getting power but does not appear to be booting. The Wifi dongle is not blinking.


Make sure you flashed the SD card following the instructions in Setup - Duckiebot SD Card.



My Duckiebot is getting power but does not appear to be booting. The Wifi dongle is not blinking.


Make sure that you correctly specified the model of your Duckiebot when initializing the SD card.

If you have a Duckiebot with a 2GB Jetson Nano - the model is DB21M

If you have a Duckiebot with a 4GB Jetson Nano - the model is DB21J

If you are not using a Jetson Nano, the model is the model of your Duckiebot (ex. DB19 or DBR4)



The Duckiebot screen does no turn on even though it shows up in dts fleet discover and the dashboard is accessible. The ToF and front bumper are not detected on the dashboard Components page.


Disconnect the ToF sensor from the front bumper and use the long cable that originally connected the front bumper to the HUT to connect the ToF sensor directly to that same HUT port. Then reboot. This bypasses a known multiplexer issue on some bumpers.



My Duckiebot appears to be booted and the screen is on, but I can’t see it using dts fleet discover.


Your Duckiebot must be connected to the same network as the computer you are using to run the dts commands. Check the networking section of the book to see if your network is set up correctly.



I am not sure whether my Duckiebot is properly initialized.


As long as the fleet discover tool shows ready, your Duckiebot should be ready. You can also visit the dashboard to confirm that the Duckiebot is serving its status. Generally as long as you see the Duckiebot dashboard is up, your Duckiebot should be correctly initialized.