- Raspberry Pi CM5 installed on a KinCony Pi5 series carrier board
- A microSD card (16 GB or larger) or an SSD for OS installation
- A computer with a microSD card reader (or USB-to-SSD adapter)
- Raspberry Pi Imager installed on your computer (Download here)
Applies to: Pi5R8, Pi5M8, Pi5R16, Pi5M16, Pi5R32, Pi5M32. This guide walks you through installing Raspberry Pi OS to an SD card or SSD, enabling the required interfaces, and importing the FeedCurrent Node-RED flow for testing all onboard I/O.
Hardware and software you'll need
Flash the OS to your storage media
- Insert the microSD card or connect the SSD to your computer.
- Open Raspberry Pi Imager.
- Click Choose Device and select Raspberry Pi 5 / CM5.
- Click Choose OS and select Raspberry Pi OS (64-bit) — Bookworm or later.
- Click Choose Storage and select your microSD card or SSD.
- Click Next, then Edit Settings to preconfigure (Hostname, SSH, username/password, Wi-Fi).
- Click Save, then Write to flash the OS.
- After flashing, safely eject the card/SSD and insert it into the Pi5 board.
Configure the basic interfaces
- Power on the Pi5 board and log in (via SSH or local terminal).
- Run the Raspberry Pi configuration tool:
sudo raspi-config - Navigate to Interface Options:
- Enable I2C
- Enable Serial Port
- When asked "Would you like a login shell to be accessible over serial?" → select No
- When asked "Would you like the serial port hardware to be enabled?" → select Yes
- Exit
raspi-configand reboot:sudo reboot
Configure RS485 on /dev/ttyAMA2
By default, only /dev/ttyAMA0 (RS232) is enabled. To use RS485 on /dev/ttyAMA2, you must enable UART2 and UART3 overlays.
- Open the boot configuration file:
sudo nano /boot/firmware/config.txt - Add the following lines at the end of the file:
dtoverlay=uart2 dtoverlay=uart3 - Save and exit (
Ctrl+X, thenY, thenEnter). - Reboot:
sudo reboot
After reboot, the serial port mapping will be:
| Serial Port | Device File | Physical Pins (Board) | BCM GPIO |
|---|---|---|---|
| UART2 | /dev/ttyAMA1 |
Pin 27 (TXD) / 28 (RXD) | GPIO 0 / 1 |
| UART3 | /dev/ttyAMA2 |
Pin 13 (TXD) / 14 (RXD) | GPIO 4 / 5 |
| UART4 | /dev/ttyAMA3 |
Pin 7 (TXD) / 21 (RXD) | GPIO 8 / 9 |
| UART5 | /dev/ttyAMA4 |
Pin 29 (TXD) / 30 (RXD) | GPIO 12 / 13 |
/dev/ttyAMA2 (UART3).Set up the visual automation platform
If Node-RED is not already installed, run the official install script:
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
Start Node-RED and enable it to run at boot:
sudo systemctl enable nodered.service
sudo systemctl start nodered.service
Node-RED will be available at: http://<your-pi-ip>:1880
Load the pre-built testing flow
- Download the Node-RED flow for your specific Pi5 model from the FeedCurrent GitHub repository:
- Pi5R8 / Pi5M8: node_red_flows/Pi5M8/flows.json
- Pi5R16: node_red_flows/Pi5R16/flows.json
- Pi5M16: node_red_flows/Pi5M16/flows.json
- Pi5R32 / Pi5M32: node_red_flows/Pi5M32/flows.json
- Open Node-RED in your browser.
- Click the hamburger menu (top-right) → Import.
- Choose either Clipboard (paste JSON) or File (upload
flows.json). - Click Import, then Deploy.
Check that everything is working
After deploying the flow, your Node-RED interface should look like this:
- The OLED should display basic status information.
- Use the ONx / OFFx inject nodes to toggle relays or MOSFET outputs.
- Use the read Analog Input inject node to read AI1–AI4 values.
- Use the RS232 test and RS485 test inject nodes to verify serial communication.
- Check the Node-RED debug sidebar for sensor data and input changes.
Links to GitHub repositories and documentation
- Pi5 Series Pin Definitions: FeedCurrent GitHub – pin_definitions
- Node-RED Flows for All Pi5 Models: FeedCurrent GitHub – node_red_flows
- FeedCurrent Product Documentation: https://www.feedcurrent.com/pages/product-documentation
