Powering on the robot
To power the robot, place it on the charging dock. The Create® 3 lightring will turn on and the Raspberry Pi will be powered as well. To power off the robot, remove it from the dock and press and hold the Power button on the Create® 3. The lightring will flash 3 times, and the Create® 3 will play a sound before turning off.
Installing ROS2 Galactic on your PC
Follow these instructions to install ROS2 Galactic Desktop on your PC.
Also, install useful tools with this command:
sudo apt update && sudo apt install -y \ build-essential \ cmake \ git \ python3-colcon-common-extensions \ python3-flake8 \ python3-pip \ python3-pytest-cov \ python3-rosdep \ python3-setuptools \ python3-vcstool \ wget
The Create® 3 and Raspberry Pi both use the
wlan0 network interfaces to communicate. As a result, CycloneDDS needs to be configured on the user PC in order to see the robot topics properly. CycloneDDS is configured in an XML file, and that configuration should be applied to the
CYCLONEDDS_URI environment variable.
An example XML file is available here. Download this file to your PC by calling:
The <DontRoute>true</DontRoute> setting is required to see the Create 3 topics.
By default, CycloneDDS will automatically choose the best network interface for ROS2 communications. On some occasions it might choose the wrong interface. To mitigate this, you can specify which network interface CycloneDDS should use for ROS2 communication. Open your terminal and use the command
ip link to view all available network interfaces. Your WiFi interface will look something like this:
3: wlp0s20f3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000 link/ether dc:41:a9:9f:5f:ec brd ff:ff:ff:ff:ff:ff
cyclonedds_pc.xml file with a text editor and add the following line below
wlp0s20f3 with your WiFi interface name. Your
cyclonedds_pc.xml file should now look like this:
<CycloneDDS> <Domain> <General> <DontRoute>true</DontRoute> <NetworkInterfaceAddress>wlp0s20f3</NetworkInterfaceAddress> </General> </Domain> </CycloneDDS>
You can use multiple network interfaces by adding each interface name within the NetworkInterfaceAddress tag and separating each name with a comma.
Apply CycloneDDS configurations
Move the xml file to a convenient location:
sudo mv cyclonedds_pc.xml /etc/
Add this line to your
~/.bashrc file to automatically configure CycloneDDS each time you open a new terminal:
~/.bashrc to apply the configurations to your current terminal.
For more CycloneDDS configuration options, visit the CycloneDDS documentation.
If you wish to switch middlewares or want more information on configuring the Create® 3, check out the Create® 3 Docs.
On the first boot, the Raspberry Pi will enter AP mode which will allow you to connect to it over WiFi.
On a PC, connect to the
Turtlebot4WiFi network. The password is also
The TurtleBot 4 AP network is a 5GHz network. Your computer will need to support 5GHz WiFi to connect to the network.
- Once connected, you can SSH into the Raspberry Pi to configure its WiFi.
The default password is
/usr/local/binthere will be a script called
wifi.shwhich can be used to configure the Raspberry Pi's WiFi:
sudo wifi.sh -s '<WIFI_SSID>' -p '<WIFI_PASSWORD>' -r <REGULATORY_DOMAIN> && sudo reboot
The Regulatory Domain is based on the country you live in. USA:
ES. For a full list, click here.
- Your Raspberry Pi will reboot and connect to your WiFi network.
Connect the Raspberry Pi to a 5GHz WiFi network for optimal performance.
Find the Raspberry Pi IP on your network
The TurtleBot 4 will display its WiFi IP address on the display.
For the TurtleBot 4 Lite, you will need to check the
/ip topic for the new address.
On your PC, run the following commands:
source /opt/ros/galactic/setup.bash ros2 topic echo /ip
You should see the IP address printed out in your terminal periodically.
If you are unable to find the IP address with the previous methods, you can try to use:
nmap -sP 192.168.1.0/24
Make sure to replace
192.168.1 with your subnet.
Once you have found the IP address, you can now ssh back into the robot with it.
If you wish to put the Raspberry Pi back into AP mode, you can call
sudo wifi.sh -a
If you are moving your TurtleBot 4 to a new location with a different WiFi network, reconfigure the Raspberry Pi to connect to that network beforehand or place it into AP mode. Otherwise it will continue trying to connect to your current network.
Create® 3 WiFi Setup
- Press both Create® 3 button 1 and 2 simultaneously until light ring turns blue
- The Create® 3 is now in AP mode. Connect to its WiFi network called ‘Create-XXXX'
- In a browser go to
- Go to the Connect tab, enter your WiFi ssid and password, and then click ‘Connect'
- Wait for it to connect to WiFi and play a chime
- On your PC, run
ros2 topic listto ensure that the Create® 3 is publishing its topics
The Create® 3 can only be connected to 2.4 GHz WiFi networks.
TurtleBot 4 Controller Setup
The TurtleBot 4 comes with an included TurtleBot 4 Controller. It is paired in advance with the Raspberry Pi.
If you wish to manually pair a controller, follow these instructions:
- SSH into the TurtleBot 4
sudo bluetoothctl --agent=NoInputNoOutput
bluetoothdCLI interface will start.
scan onand press enter.
- Press and hold both the home and share buttons on the TurtleBot 4 controller until the light starts blinking.
- In the CLI look for a Wireless Controller device to be found. It will have a MAC address similar to
- Copy the MAC address.
- In the CLI enter
trust MAC_ADDRESS, replacing
MAC_ADDRESSwith the controllers address.
- Then, enter
- Finally, enter
- The CLI should report that the controller has been connected and the light on the controller will turn blue.
exitto exit the CLI.
Visit the Driving Tutorial to begin driving your TurtleBot 4.
Updating the TurtleBot 4
It is recommended to update both the Create® 3 and the Raspberry Pi when you first use it to receive the latest bug fixes and improvements.
Check the Create® 3 software releases to see if a newer firmware version is available. You can check the firmware version of your robot by visiting the Create® 3's webserver.
Update over WiFi
The Create® 3 can be updated through its webserver. There are two options to connect to the webserver:
Find the IP address of the Create® 3 on your WiFi network.
This can be done by going to your routers portal and viewing connected devices. You should see the Create® 3 in your Wireless Clients if it is connected.
Enter the IP address into a browser. You will be taken to the Create® 3 webserver.
Go to the Update tab and click the ‘Update' button. The robot will automatically download and install the latest firmware.
Place the robot into AP mode.
If you cannot find the IP address of the Create® 3 on your WiFi network, you can alternatively put it into AP mode and connect directly to it with your PC:
- Download the latest firmware from http://edu.irobot.com/create3-latest-fw.
- Place the robot into AP mode and access the webserver. See Create® 3 WiFi Setup.
- Go to the Update tab and click on the link to update from firmware file.
- Upload the latest firmware and wait for the robot to be updated.
Update over USB-C
Download the latest firmware from http://edu.irobot.com/create3-latest-fw.
Copy the firmware to the Raspberry Pi:
sudo scp ~/Downloads/Create3-G.X.Y.swu email@example.com:/home/ubuntu/
SSH into the Raspberry Pi and update the Create® 3 firmware over USB-C:
sudo create_update.sh Create3-G.X.Y.swu
curl -X POST --data-binary @Create3-G.X.Y.swu http://192.168.186.2/api/firmware-update
This may take a few minutes.
Debian packages can be updated by calling:
sudo apt update sudo apt install <PACKAGE>
For example, updating the
turtlebot4_desktop package can be done like this:
sudo apt update sudo apt install ros-galactic-turtlebot4-desktop
To update all robot packages, run:
sudo apt update sudo apt install ros-galactic-turtlebot4-base \ ros-galactic-turtlebot4-bringup \ ros-galactic-turtlebot4-diagnostics \ ros-galactic-turtlebot4-tests \
To update a source package you will need to use a terminal to manually pull changes.
For example, updating the
turtlebot4_robot repo on the
cd ~/turtlebot4_ws/src/turtlebot4_robot git checkout galactic git pull origin galactic
You will then need to rebuild the packages:
cd ~/turtlebot4_ws source /opt/ros/galactic/setup.bash colcon build --symlink-install source install/setup.bash
Install latest Raspberry Pi image
Installing a new image on the Raspberry Pi will delete any changes you may have made. Save your changes externally before proceeding.
Check your current image version by calling
cat /etc/turtlebot4 on the Raspberry Pi. Find the latest TurtleBot 4 Raspberry Pi images at http://download.ros.org/downloads/turtlebot4/. If a newer version is available, follow these steps:
- Download the latest image for your robot model and extract it.
- Power off your robot and then remove the microSD card from the Raspberry Pi.
- Insert the microSD card into your PC. You may need an adapter.
- Install the imaging tool
sudo apt install dcfldd
- Identify your SD card
sudo fdisk -l
The SD card should have a name like
If you wish to backup your current image, do so now:
sudo dd if=/dev/<SD_NAME> of=<IMAGE_PATH> bs=1M
SD_NAME is the device name (
IMAGE_PATH is the path to where you want the image saved – e.g.,
- Get the SD flash script from
turtlebot4_setupand flash the SD card:
wget https://raw.githubusercontent.com/turtlebot/turtlebot4_setup/galactic/scripts/sd_flash.sh bash sd_flash.sh /path/to/downloaded/image
- Follow the instructions and wait for the SD card to be flashed.
- Remove the SD card from your PC.
- Ensure your Raspberry Pi 4 is not powered on before inserting the flashed SD card.
- Follow WiFi Setup to configure your WiFi.