Using the Pre-Built Rasberry Pi "Matter Hub" Image#

[SIMPLICITY STUDIO] & [GITHUB]

When using a Raspberry Pi as a controller in your Matter network you have two options

Pre-built Raspberry Pi Image#

A pre-built image for the Raspberry Pi is provided on the Matter Artifacts page. If you don't want to go through the process of building your image for the Raspberry Pi from scratch you can download it from here:

The image can be downloaded from the Matter Artifacts page

Please note that this image, even when zipped up, is quite large ~5GB so this download will take a while if you are on a slow connection. This image includes both the Ubuntu operating system as well as the OTBR and chip-tool, hence the size.

Building Environment using Raspberry Pi 4#

To flash the Ubuntu OS onto the SD card:#

  1. Insert the flashed SD card (directly or using a card reader) into the laptop/PC that will run the Raspberry Pi Imager tool

  2. Launch Raspberry Pi 4 Imager

  3. Click 'Choose OS' --> 'Other General-purpose OS' --> 'Ubuntu' --> 'Ubuntu xx.xx 64-bit server OS'

    Note: Flash the latest version of Ubnutu Server (64-bit server OS for arm64 architecture)

  4. Click 'Storage' and select the 'SD card detect'

  5. This Raspberry Pi 4's console can be accessed in multiple ways. In this guide Raspberry Pi 4 is being accessed using Putty.

  6. Enter the details like User name, Password, SSID and its password to connect to network. Click 'Save'

  7. Click 'Write' and then 'Yes' when you are asked for permission to erase data on the SD card. It will then start flashing the OS onto the SD card

  8. When it is done, click 'Continue'.

  9. Remove the SD card from the reader and insert it into the Raspberry Pi as shown below:

Inserting SD into Pi

On powering up the board, the red and green lights should start blinking.

To start using the Raspberry Pi:#

  1. Use this reference to find the IP address of your Raspberry Pi.

  2. Once you find the IP address, launch Putty, select Session, enter the IP address of the Raspberry Pi, and click Open

  3. Enter the username and password given at the time of flashing and click Enter

    Note: If username and password not provided while flashing then by default Username: ubuntu Password: ubuntu

  4. Update the latest packages by running following commands in the terminal:

    $ sudo apt update 
    $ sudo apt install
  5. Install required packages using the following commands:

    $ sudo apt-get install git gcc g++ pkg-config libssl-dev libdbus-1-dev libglib2.0-dev libavahi-client-dev ninja-build python3-venv python3-dev python3-pip unzip libgirepository1.0-dev libcairo2-dev libreadline-dev

    If you see any popups between installs, you can select 'Ok' or 'Continue'

Build Environment#

  1. Installing prerequisites on Raspberry Pi 4 Follow the instructions in the Project CHIP GitHub Site, in the section "Installing prerequisites on Raspberry Pi 4".

  2. To build enviorment follow the Software setup and Compiling chip-tool steps given in Software setup,

Bluetooth Setup#

Make sure Bluetooth LE (BLE) is up and running on Raspberry Pi. Raspberry Pi internally has some issues with BLE that may cause it to crash. Because BLE is used for commissioning on Matter, make sure BLE is running.

$ sudo systemctl status bluetooth.service

To stop BLE if it is already running:

$ sudo systemctl stop bluetooth.service

To restart the Bluetooth service, first enable it:

$ sudo systemctl enable bluetooth.service

When you check the status of the Bluetooth service, it will be inactive because it has been enabled but not restarted:

$ sudo systemctl status bluetooth.service

Restart the service:

$ sudo systemctl restart bluetooth.service

Now the status of the service should be active and running:

$ sudo systemctl status bluetooth.service