RPi Installation

Required HW

  • Respberry Pi 4B (8GB RAM recommended)
  • Micro SD Card (minimal 16GB, 64GB recommended)
  • SD Card to USB Adapter

Installation

Install RPi-Imager on your Linux PC

sudo apt install rpi-imager

Run RPi-Imager

rpi-imager

Select Device (Raspberry Pi 4)

Select OS (Others General Purpose OS -> Ubuntu -> Ubuntu Server 24.04.1 LTS (64b))

Select target device (SD Card)

Click Next -> Edit Settings

Setup user, password, WiFi and SSH

Confirm and wait until writing is finished.

Now put the SD card into the RPi and power on.

In case of problems, please visit Official Documentation

OS Configuration

Connect to the raspberry pi

ssh <user>@<ip_address>

Install basics

sudo apt update
sudo apt install -y git vim raspi-config htop locales software-properties-common curl libopencv-dev build-essential wiringpi v4l-utils i2c-tools
sudo apt install -y gstreamer1.0-tools gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly

Optional: Add swap space if RAM is too small (4GB and less)

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# check system
htop 

Install ROS2

locale
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
locale  # verify settings

#ros
sudo apt install -y software-properties-common
sudo add-apt-repository universe
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

sudo apt update
sudo apt install -y ros-jazzy-ros-base ros-jazzy-cv-bridge ros-jazzy-image-transport

# Colcon
curl -s https://packagecloud.io/install/repositories/dirk-thomas/colcon/script.deb.sh | sudo bash
sudo apt install -y python3-colcon-common-extensions

Install Python tools and dependences

# Python-pip
sudo apt install -y python3-pip

# Dependences
pip3 install board rpi_ws281x adafruit-circuitpython-neopixel adafruit-circuitpython-bme280 adafruit-circuitpython-ads1x15 adafruit-circuitpython-mpu6050 adafruit-circuitpython-ds3231 RPLCD smbus2 pynmea2 --break-system-packages 

Now the system is installed.

Try to run some ROS2 command.

source /opt/ros/jazzy/setup.bash    # loads ros environment
ros2 topic list

Setting Up Robot SW

TODO ...