How to Install ROS 2 Humble on Raspberry Pi (Ubuntu 22.04.5 LTS)
If you're using a Raspberry Pi and want to install ROS 2 (Robot Operating System), you're in luck — as of ROS 2 Humble, Ubuntu 22.04 (Jammy) receives Tier 1 support. This means no compiling from source, no Docker containers, just a clean, fast, binary install.
This guide will walk you through installing ROS 2 Humble on a Raspberry Pi, we are using a 4B model in this video (you can use any other model), with Ubuntu 22.04.5 LTS 64-bit, step-by-step.
Prerequisites
- A Raspberry Pi (4GB or 8GB RAM recommended)
- Ubuntu 22.04.5 LTS (Jammy) 64-bit installed
- Internet access
Tip: You can easily install Ubuntu 22.04.5 64-bit for Raspberry Pi using the official Raspberry Pi Imager. Just launch the Imager, go to Other general-purpose OS > Ubuntu > and choose Ubuntu 22.04.3 LTS (64-bit) (it will upgrade to .5 automatically via updates).
Step 1: Make sure your system is updated
sudo apt update
This will NOT upgrade your OS — it just refreshes your package list.
If curl
is not installed (you'll need it later):
sudo apt install curl
Step 2: Add the ROS 2 GPG key
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
Step 3: Add the ROS 2 apt repository
echo "deb [arch=arm64 signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu jammy main" | \
sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
Step 4: Update apt again (now includes ROS 2)
sudo apt update
Step 5: Install ROS 2 Humble
Install the full desktop version (includes Rviz, demos, and tools):
sudo apt install ros-humble-desktop
Or, for a minimal install:
sudo apt install ros-humble-ros-base
Step 6: Source ROS 2 in every terminal
source /opt/ros/humble/setup.bash
To make this automatic every time:
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc
Step 7: Test the installation
In one terminal, run:
ros2 run demo_nodes_cpp talker
In another terminal, run:
ros2 run demo_nodes_cpp listener
If the listener receives messages, you're good to go!
Optional: Install build and workspace tools
sudo apt install python3-colcon-common-extensions
For dependency management with rosdep
:
sudo apt install python3-rosdep
sudo rosdep init
rosdep update
You're done!
You’re now ready to build and run ROS 2 nodes on your Raspberry Pi. If you need help setting up your first workspace, GPIO integration, or motor control with ROS 2, feel free to reach out!
Author: Mahmood Shilleh
Brand: ShillehTek
Need help with Raspberry Pi, IoT, or Robotics? Find me on YouTube or Upwork.