The ConnectCore 95 Development Kit is shipped without a default operating system loaded. Only U-Boot is flashed in the device. This step demonstrates how to install Digi Embedded Yocto in your ConnectCore 95 Development Kit.
1. Establish a serial connection with your device
Open a serial connection with the device. You can use any serial terminal program such as Tera Term, Minicom, CoolTerm, or HyperTerminal.
| PuTTY terminal program is not recommended due to an incompatibility with the USB/serial driver. |
Open a serial connection with the following settings:
| Parameter | Value |
|---|---|
Port |
Serial port where the device is connected |
Baud rate |
115200 |
Data bits |
8 |
Parity |
None |
Stop bits |
1 |
Flow control |
None |
Power on the device and immediately press any key in the serial terminal to stop the auto-boot process. The U-Boot bootloader prompt displays:
U-Boot SPL dub-2024.04-r5.2+g25c8faec2f83+p0 (May 27 2026 - 10:40:43 +0000)
SOC: 0xb0009500
LC: 0x40010
SYS Boot reason: por, origin: -1, errid: -1
SYS shutdown reason: por, origin: -1, errid: -1
DDRMIX is powered UP
Normal Boot
Trying to boot from MMC1
Primary set selected
Load image from MMC/SD 0xc9400
NOTICE: BL31: v2.10.0 (release):lf-6.6.52-2.2.2-dirty
NOTICE: BL31: Built : 09:57:54, Oct 17 2025
U-Boot dub-2024.04-r5.2+g25c8faec2f83+p0 (May 27 2026 - 10:40:43 +0000)
CPU: i.MX95 rev2.0 at 1800MHz
CPU: Extended Industrial temperature grade (-40C to 125C) at 28C
LM Boot reason: por, origin: -1, errid: -1
LM shutdown reason: por, origin: -1, errid: -1
DRAM: 1.8 GiB
Error: ele_read_common_fuse: ret -5, fuse_id 0x139, response 0xbc29
ahab read fuse failed -5, 0xbc29
Cannot read HWID
MCA: HW_VER=1 FW_VER=0.09
cfg name not match mx95alt:ccimx95dvk, ignore
Core: 303 devices, 36 uclasses, devicetree: separate
MMC: FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from MMC... OK
[*]-Video Link 0clk disp1pix already disabled
(1280 x 800)
[0] display-controller@4b400000, video
[1] channel@0, video_bridge
[2] bridge@8, video_bridge
[3] channel@0, display
[4] lvds0_panel, panel
In: serial
Out: serial
Err: serial
Model: Digi International ConnectCore 95 DVK
ConnectCore 95 SOM variant 0x03: 1.8 GiB LPDDR5, Wi-Fi, Bluetooth
ConnectCore 95 SMARC variant 0x03: Dual Ethernet, MCA
Board version 2, ID undefined
Boot: MMC0
BuildInfo:
- SM firmware Build 733, Commit ecd89d0b, May 05 2026 00:00:18
- ELE firmware version 2.0.3-5f1204b7
Error: ele_read_common_fuse: ret -5, fuse_id 0x139, response 0xbc29
ahab read fuse failed -5, 0xbc29
flash target is MMC:0
Net: eth0: enetc-0 [PRIME], eth1: enetc-1
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot: 0
=>
| Information in the console log may vary. |
2. Download the firmware
To access firmware images, please fill out the following form to provide some information so we can better understand your project needs.
| If the form doesn’t load after a few seconds, you may need to refresh the page. Contact Digi Support Services if you are not able to access the firmware images. |
3. Program the firmware
There are multiple methods of programming the firmware to the target:
-
Use the Universal Update Utility (UUU) through a USB connection to your host computer.
-
Use a microSD card to install the firmware directly in the target.
-
Use USB mass storage to install the firmware directly in the target.
Program the firmware using UUU
Fastboot is a protocol for communication between your device and a computer. It allows you to modify file system images over a USB connection, which is a quick way to update firmware during development. Fastboot requires the USB interface to work as 'device'.
Although it was originally developed for Android images, its implementation on the NXP UUU (Universal Update Utility) tool extends the functionality to any file type.
| If you are running Windows Subsystem for Linux (WSL), you may need to perform additional configurations to program the firmware using UUU. Refer to https://learn.microsoft.com/en-us/windows/wsl/connect-usb for more information. |
-
Decompress the zip file in a directory of your choice.
-
Download the latest Universal Update Utility (UUU), a software tool from NXP.
UUU version should be v1.5.201 or higher. -
Place the
uuuexecutable in a directory in your PATH, such as/usr/bin. -
Install
udevrules to allow any user to runuuuto access the USB port:$ sudo sh -c "uuu -udev >> /etc/udev/rules.d/70-uuu.rules" $ sudo udevadm control --reload -
In addition to the console cable, connect a USB type-C cable to your development PC and the other end to the device’s USB 3.0 connector.
-
On the target, in U-Boot, execute the following command:
=> fastboot 0In U-Boot versions prior to
dub-2024.04-r5.2, the fastboot command might fail. If this is occurs, use one of the other install methods. -
On your host computer, change to the directory where you extracted the ZIP file:
$ cd <zip-folder> -
Run the
install_linux_fw_uuu.shscript with-hparameter to check the syntax:$ ./install_linux_fw_uuu.sh -h ############################################################ # Linux firmware install through USB OTG # ############################################################ Usage: ./install_linux_fw_uuu.sh [options] Options: -b Activate bootcount mechanism (3 boot attempts). -d Install firmware on dualboot partitions (system A and system B). (Implies -b). -h Show this help. -i <dey-image-name> Image name that prefixes the image filenames, such as 'dey-image-qt', 'dey-image-webkit', 'core-image-base'... Defaults to 'dey-image-chromium' if not provided. -k <dek-filename> Update includes dek file. (implies -t)." -n No wait. Skips 10 seconds delay to stop script. -u <u-boot-filename> U-Boot filename. Auto-determined by variant if not provided. -U Update redundant bootloader partition. -
To program the default image files (dey-image-chromium):
$ ./install_linux_fw_uuu.sh -
Once the firmware is installed, the device boots automatically. The default username is root with no password.
Program the firmware using uSD card
-
Decompress the zip file.
-
Place the decompressed files in the root of a FAT-formatted microSD card and insert it in the microSD socket of the board.
-
To install the default firmware images (dey-image-chromium) into the internal eMMC, run the following command:
=> run install_linux_fw_sdTo program other images, set the variable
image-nameto the DEY image name (such asdey-image-webkitorcore-image-base) before running the script.=> setenv image-name core-image-base => run install_linux_fw_sd -
Once the firmware is installed, the device boots automatically. The default username is root with no password.
During installation, error messages appear when the installation process attempts to override MAC addresses. These messages are expected.
## Resetting to default environment oldval: 00:40:9D:7D:17:9A defval: 00:04:f3:ff:ff:fa ## Error: Can't overwrite "ethaddr" himport_r: can't insert "ethaddr=00:04:f3:ff:ff:fa" into hash table oldval: 00:40:9D:7D:17:9B defval: 00:04:f3:ff:ff:fb ## Error: Can't overwrite "eth1addr" himport_r: can't insert "eth1addr=00:04:f3:ff:ff:fb" into hash table oldval: 00:40:9D:7D:17:9C defval: 00:04:f3:ff:ff:fc ## Error: Can't overwrite "wlanaddr" himport_r: can't insert "wlanaddr=00:04:f3:ff:ff:fc" into hash table oldval: 00:40:9D:7D:17:9D defval: 00:04:f3:ff:ff:fd ## Error: Can't overwrite "btaddr" himport_r: can't insert "btaddr=00:04:f3:ff:ff:fd" into hash table
Program the firmware using USB mass storage
Follow these steps to install Yocto in the device:
-
Decompress the zip file.
-
Place the decompressed files in the root of a FAT-formatted USB mass storage and insert it in the USB host connector of the board.
-
To install the default firmware images (dey-image-chromium) into the internal eMMC, run the following command:
=> run install_linux_fw_usbTo program other images, set the variable
image-nameto the DEY image name (such asdey-image-webkitorcore-image-base) before running the script.=> setenv image-name core-image-base => run install_linux_fw_usb -
Once the firmware is installed, the device boots automatically. The default username is root with no password.
During installation, error messages appear when the installation process attempts to override MAC addresses. These messages are expected.
## Resetting to default environment oldval: 00:40:9D:7D:17:9A defval: 00:04:f3:ff:ff:fa ## Error: Can't overwrite "ethaddr" himport_r: can't insert "ethaddr=00:04:f3:ff:ff:fa" into hash table oldval: 00:40:9D:7D:17:9B defval: 00:04:f3:ff:ff:fb ## Error: Can't overwrite "eth1addr" himport_r: can't insert "eth1addr=00:04:f3:ff:ff:fb" into hash table oldval: 00:40:9D:7D:17:9C defval: 00:04:f3:ff:ff:fc ## Error: Can't overwrite "wlanaddr" himport_r: can't insert "wlanaddr=00:04:f3:ff:ff:fc" into hash table oldval: 00:40:9D:7D:17:9D defval: 00:04:f3:ff:ff:fd ## Error: Can't overwrite "btaddr" himport_r: can't insert "btaddr=00:04:f3:ff:ff:fd" into hash table