SolidRun HummingBoard IIOT i.MX8M SBC

The HummingBoard i.MX8M IIOT SBC supports multiple industrial protocols, including RS232, RS485, CAN-FD, and 1Gb Ethernet, with flexible power options including a wide power range and PoE.
Here are several Hummingboard IIOT official documentation from SolidRun:
Available features
| Feature | HW Interface | SW Interface |
|---|---|---|
| Serial | USB-C "Console" | ttymxc1 |
| Ethernet | ETH1/PoE ETH2 |
end0 end1 |
| Bluetooth | — | hci0 |
| Wi-Fi | — | wlan0 |
| CAN |
CAN1 (Industrial I/O) High:4 Low:2 GND:6 CAN2 (Industrial I/O) High:1 Low:3 GND:5 |
can1 can0 |
Redpesk Image for Hummingboard IIOT
Download images
See Download Images section.
Download the redpesk OS image from command line
Create a directory to download the image:
mkdir ~/redpeskimage
cd ~/redpeskimage
Then download the latest redpesk OS image with this command:
wget -r -nd -nc --no-parent --accept-regex='redpesk.*smack.*\.(bmap|xz|sha256)' --reject-regex '(image\.raw|ova|index)' 'https://download.redpesk.bzh/redpesk-lts/corn-3.0-update/images/smack/minimal/aarch64/solidrun-hummingboard-iiot/'
Control the image integrity
Before doing anything, please control the integrity of the downloaded redpesk image. Example:
sha256sum -c redpesk*.tar.xz.sha256
redpesk*aarch64*.tar.xz: OK
Copying the image on your SD card
Plug your SD card and find it (be sure it is unmounted)
Copy the correct device path using the command below. It should be a hotplug device.
lsblk -dli -o PATH,VENDOR,TYPE,HOTPLUG,MODEL
DEVICE_TO_COPY='/dev/<hotplug_device>' #in the example it is /dev/sdc
Example:
$ lsblk -dli -o PATH,VENDOR,TYPE,HOTPLUG,MODEL
PATH VENDOR TYPE HOTPLUG MODEL
/dev/sda ATA disk 0 WDC_WD10SPZX-08Z10
/dev/sdc TS-RDF5 disk 1 SD_Transcend #MYSDCARD
/dev/nvme0n1 disk 0 LITEON T11 512
DEVICE_TO_COPY=/dev/sdc
Or if only one device is hotpluggable on your computer:
# need jq
DEVICE_TO_COPY=$(lsblk -dlJ -o PATH,VENDOR,TYPE,HOTPLUG,MODEL | jq -r '.blockdevices[] | select(.hotplug == true).path')
echo $DEVICE_TO_COPY
Umount if needed
lsblk $DEVICE_TO_COPY
# need to umount each partition
sudo umount <part*>
Example:
$ lsblk /dev/sdc
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdc 8:32 1 14.6G 0 disk
├─sdc1 8:33 1 501M 0 part /run/media/iotbzh/0409-3A02
├─sdc2 8:34 1 1G 0 part /run/media/iotbzh/cd3c87ec-1011-4832-aef3-6be0ed3d3748
└─sdc3 8:35 1 2.5G 0 part /run/media/iotbzh/4e508264-8ce2-447f-a829-e4c31ea20047
$ sudo umount /run/media/iotbzh/*
Flash the SD card
Prerequisites: device is plugged in, found, unmounted
- First, extract the image
tar xJf redpesk*.tar.xz - Then, flash it using
dd(safer)sudo dd if="Redpesk-OS.img" of=$DEVICE_TO_COPY bs=4M status=progress - Or using bmaptool (faster)
bmaptool copy "Redpesk-OS.img" $DEVICE_TO_COPY
TIPS: Once your are used to flash your image, you could do it much faster in one single step using
bmaptoollike this:bmaptool copy "https://download.redpesk.bzh/redpesk-lts/corn-3.0-update/images/smack/minimal/aarch64/solidrun-hummingboard-iiot/image.raw.tar.xz" $DEVICE_TO_COPYThis will download, control integrity and flash the latest redpesk OS image on your device.
Hummingboard IIOT hardware
Here are available I/Os on the Hummingboard IIOT board.

Industrial I/Os are available through a single connector (J5004) on the front of the board, here is it’s pinout:

DIP switch - Select boot mode
Integrated into the PCB, a DIP switch is present to allow you to choose between different boot mode.
For the SolidRun Hummingboard IIOT, here is the following configuration:
| Boot mode (S3) | Switch 1 (MD0) | Switch 2 (MD1) | Switch 3 (MD2) | Switch 4 (MD3) | Switch 5 (VDD_1.8V) | Switch 6 (VDD_3.3V) |
|---|---|---|---|---|---|---|
| SD card | ON | ON | OFF | OFF | ON | OFF |
| eMMC card | OFF | ON | OFF | OFF | ON | OFF |
| USB OTG | ON | OFF | OFF | OFF | ON | OFF |
| Internal Fuses | OFF | OFF | OFF | OFF | ON | OFF |
SD card boot select:

NOTE:
MDx = BOOT_MODEx, VDD_BOOT = 1.8V or 3.3V (Select S5[5] or S5[6]) . Note that MD1 and MD0 have been swapped between PCB version 1.1 and PCB version 1.0.
More information on boot select can be found in this documentation.
First boot
- Connect a USB Type-C cable to the “console” connector and the other end to your computer.
- Plug the SD Card into the SD card slot of the board.
-
Power on the board using 7V to 28V power supply or a PoE injector.
-
Access the console using picocom
sudo picocom -b 115200 /dev/ttyUSB0
NOTE: Default root password is
root.
-
Connect to your board to your network and access it
Connect the board to your network using an Ethernet cable or via Wi-Fi using the following commands:
> nmcli device wifi list IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS SECURITY 60:35:C0:... SSID Infra 36 405 Mbit/s 92 ▂▄▆█ WPA1 WPA2 > nmcli device wifi connect SSID --ask Passwords or encryption keys are required to access the wireless network 'SSID'. Password (802-11-wireless-security.psk): ••••••••••• Device 'wlan0' successfully activated with '...'.Get the board IP:
> ip a ... 6: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether a0:cd:f3:37:f7:09 brd ff:ff:ff:ff:ff:ff altname wlxa0cdf337f709 inet 192.168.10.105/24 metric 1024 brd 192.168.10.255 scope global dynamic noprefixroute wlan0 valid_lft 43196sec preferred_lft 43196secAccess the board using SSH:
# on your computer ssh root@<board_ip>