element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
RoadTests & Reviews
  • Products
  • More
RoadTests & Reviews
Review Blogs Raspberry Pi CM5 - Firmware Installation and Configuration
  • Blogs
  • Forum
  • Documents
  • RoadTests
  • Reviews
  • Polls
  • Files
  • Members
  • Sub-Groups
  • More
  • Cancel
  • New
Join RoadTests & Reviews to participate - click to join for free!
  • Share
  • More
  • Cancel
  • Author Author: ralphjy
  • Date Created: 6 Sep 2026 12:29 AM Date Created
  • Views 24 views
  • Likes 2 likes
  • Comments 0 comments
Related
Recommended
  • rpi cm5 io board
  • Raspberry Pi CM5
  • rpi cm5 development kit roadtest
  • frigate nvr

Raspberry Pi CM5 - Firmware Installation and Configuration

ralphjy
ralphjy
6 Sep 2026

Hardware is put together and ready to install and configure the OS firmware and install and configure the Frigate Docker container.  The CM5 in the roadtest uses eMMC rather than an SD card for storage so the process is slightly different using the Raspberry Pi Imager.

The firmware installation should be straightforward because I had just installed HAOS on a CM4 with eMMC about a month ago.

The CM4 is in the upper left next to the roadtest kit.

image

To start you need to install the eMMC Boot Disable jumper (yellow) so that the eMMC will show up as a USB drive to the RPi Imager.  You also need to run a rpiboot utility on your host computer to allow it to find the port.  I had a bag of jumpers next to my keyboard so that part was easy.  I think that I must have used my laptop to image the CM4 because my Windows 11 PC did not have rpiboot installed.  It was simple enough to download and install the latest usbboot release windows installer from github.  I ran rpiboot and plugged in the cable from the CM5 IO USB-C port to the PC's USB3 port.  The usual caveats about power since the USB3 port is being used for both data and power, but haven't had any issues so far as I am careful not to attach any peripherals so that the 900 mA available isn't an issue for flashing.  

image

When I started the Imager, it reported that a new version was available.  I probably would have been fine using the v1.8.5 version, but what is the fun of a roadtest if you don't try to use the latest stuff - and it was v2.0.11.1 - so it must be better...

image

And it successfully found the eMMC.

image

The humorous part showed up in Customisation:Localisation as the Brits would say it (spell it).

I couldn't figure out what it wanted for Capital city because I guess it was too obvious.  I'm used to just setting Pacific Time/Los Angeles as the Time zone, but I guess somebody thought knowing the Capital city of the United States was useful...

image

I am planning to run a headless system with a containerized (containerised?) Frigate installation, so I chose to install the Raspberry Pi OS Lite (64-bit) - (you have to look under "Raspberry Pi OS (other)" for OS selection)

image

It took a while to write and verify - I'm glad I didn't choose a large OS installation like Desktop OS and apps which is about 6 times larger.

I did the normal headless configurations (I configured WiFi, but plan to run wired for performance/reliability).

I removed the Boot Disable jumper and replaced the USB-C cable with the power adapter and the CM5 rebooted.  Because I had configured the hostname and user account and enabled SSH, I was able to log in with a PuTTY SSH terminal.

image

Then I set up Static IP for my wired ethernet.  I won't show my details, but the general form is:

    sudo nmcli connection modify "Wired connection 1" ipv4.addresses 192.168.1.150/24
    sudo nmcli connection modify "Wired connection 1" ipv4.gateway 192.168.1.1
    sudo nmcli connection modify "Wired connection 1" ipv4.dns "1.1.1.1,8.8.8.8"
    sudo nmcli connection modify "Wired connection 1" ipv4.method manual
    sudo nmcli connection up "Wired connection 1"

In the OS the connection is called "netplan-eth0", so after the changes you need to start it:

    sudo nmcli connection up "netplan-eth0"

With that done, the next step is to install Frigate.

Frigate Installation

First step is to install Docker and Docker Compose.  The process is fairly simple.  In the PuTTY terminal:

Get the installation script (I just put in my home directory):

    curl -fsSL https://get.docker.com -o get-docker.sh

then execute it:

    sudo sh get-docker.sh

and it installs:

image

Add yourself to to the Docker Group:

    sudo usermod -aG docker ralph

then log out and back in so the permissions take effect.

Next step is the Frigate installation.  Docker will do most of the work.  We need to create directories for Frigate configuration and storage and two YAML files.

docker-compose.yml  this file configures the Frigate Docker container

services:
  frigate:
    container_name: frigate
    privileged: true # Required for hardware access
    restart: unless-stopped
    image: ghcr.io/blakeblackshear/frigate:stable
    shm_size: "64mb" # Base setup, increase later if you have many high-res cameras
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./config:/config
      - ./storage:/media/frigate
    ports:
      - "5000:5000"
      - "8554:8554" # RTSP Feeds
      - "8555:8555" # WebRTC
      - "8555:8555/udp" # WebRTC
    environment:
      FRIGATE_RTSP_PASSWORD: "password"

config.yml   this file configures Frigate operation

mqtt:
  enabled: False # Turning off for initial test boot
cameras:
  test_camera: # You can name this whatever you want
    enabled: True
    ffmpeg:
      inputs:
        - path: rtsp://10.0.0.X:554/stream1 # <-- Put your actual camera stream link here
          roles:
            - detect
    detect:
      enabled: False # Turn object detection off until we verify the video feed works

Here is the file structure:

image

image

Final step is to run docker:

    docker compose up -d

And the image can be viewed in a browser at URL http://ipaddr:5000

This is my front driveway camera.

image

Now on to the fun part of the roadtest - benchmarking the different hardware configurations.  I'll start just running with the CM5.  Then I'll try adding a Hailo 8L accelerator.  I also would like to see how well a USB3 SSD will perform.  Hopefully this will become my NVR setup for the future.

  • Sign in to reply
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube