Quick Start Guide: Nitrogen95 SMARC Beta Evaluation Kit

Getting Started

Welcome to the Quick Start Guide (QSG) for Ezurio's Nitrogen95 SMARC Development Board: https://www.ezurio.com/n95-dvk๐Ÿ”—. This guide will walk you through the initial setup process and introduce you to the key hardware and software components of the kit. It's designed to help you quickly get up and running, understand what's included, and start exploring the platform. If you encounter any issues or have questions, please visit https://www.ezurio.com/support๐Ÿ”— or contact us at support@ezurio.com. As always, let us know about your experience with the DVK — both the good and bad.

Please refer to http://ezurio.com/n93-dvk๐Ÿ”— if you purchased a Nitrogen93 Evaluation Kit instead.

nitrogen95-smarc-dvk.pngImage preview (1).png

Heads up! Please note that #P/N EZSMI-959-0816-00158-2-KC is planned to launch in Q4 2025. This Quick Start Guide will be updated and extended once the product becomes available. We are also preparing OSM versions of the evaluation kit, starting with CarbonAM62 and 67, which are expected to follow in Q1 2026. Stay tuned for updates.

Unboxing

The following table provides a breakdown of the hardware components included in the Nitrogen95 SMARC Evaluation Kit:

ItemAdditional Description & Details
11× Nitrogen95 SMARC Module REV30#EZSMI-959-0816-00158-2. Equipped with 8 GB RAM and 16 GB eMMC storage. Sona NX611M variant (#453-00118), M.2 1216 form factor, featuring integrated Wi-Fi 6 and Bluetooth 5.4 connectivity.
21× HeatsinkDedicated cooling solution for the Nitrogen95 SMARC Family (#450-00218).
31× Universal SMARC Carrier Board REV20#SMARC_CAR, development board for all SMARC modules and solutions by Ezurio.
41× 5V/4A 100–240 VAC Switching Power Supply#FY0504000, includes region-specific AC power cord.
51× Dual DB9 Serial CableProvides terminal and debug access for both Cortex-A and Cortex-M cores.
61× 7" Touchscreen Display#BD070LIC3 (MIPI version) with 33-pin FPC (0.5 mm pitch, 203 mm length) flex cable.
71× 2.4/5/6 GHz FlexPIFA Antenna#EFB2471A3S-10MH4L with 10 cm cable.
81× Enclosure with Desktop StandBlack enclosure with integrated stand.
91× Arducam xISP – IMX678 Camera (Optional) #B0582, Arducam xISP – Darksee, Pre-tuned 8.3 MP Low-Light MIPI Camera Module.

Note: All accessories listed above are included unless otherwise stated.

Datasheets, Product Pages & DOCs

The following table provides an overview of available datasheets, product pages, and documentation (DOCs).

ProductDatasheetProduct Page (+Buy)Documentation
1Enclosure with Desktop StandN/AN/AN/A
2Nitrogen95 SMARC ModuleLink๐Ÿ”—Link๐Ÿ”—Link๐Ÿ”—
3Universal SMARC Carrier BoardLink๐Ÿ”—Link๐Ÿ”—Link๐Ÿ”—
4Sona NX611 Wi-Fi 6 + BLE 5.4 ModuleLink๐Ÿ”—Link๐Ÿ”—Link๐Ÿ”—
5BD070LIC3 – 7″ Touchscreen Display See documentation.Link๐Ÿ”—Link๐Ÿ”—
62.4/5/6 GHz FlexPIFA AntennaLink๐Ÿ”—Link๐Ÿ”—Link๐Ÿ”—
7Heatsink for the Nitrogen95 SMARC FamilySee documentation.Link๐Ÿ”—Link๐Ÿ”—
81× Arducam xISP – IMX678 Camera (Optional) See documentation.Link (Ezurio)๐Ÿ”—
Link (Arducam)๐Ÿ”—
Link๐Ÿ”—

The latest product brief for the Nitrogen95 SMARC Evaluation Kit can be found here๐Ÿ”—.

Board Assembly

The Nitrogen95 SMARC module, featuring on-board Wi-Fi 6 and Bluetooth 5.4, comes fully assembled with the Universal SMARC Carrier Board, heatsink, 7" touchscreen display, enclosure, desktop stand, and all necessary mounting hardware / screws / accessories — ready to use straight out of the box. The complete setup weighs 1.69 kg in total. The display connects to the motherboard via the MIPI-DSI interface (DSI0) using a 33-pin FPC/FFC ribbon cable, with the heatsink pre-attached to the module. By default, the antenna is glued to the stand for convenience and stability.
You can adjust the screen tilt vertically, like a laptop, to match your setup and preferences. If wireless connectivity is required, make sure the antenna is securely connected to U9 and the MHF4L connector on the PCB of the Sona NX611 module. We do not recommend removing the heatsink, but if necessary, it can be done using a 3 mm hex socket bit.

Stock Bootloader & OS

The system ships with U-Boot v2024.04 and the Yocto Scarthgap Boot2Qt release pre-installed on the eMMC (as of the time of writing). The example below shows the output from U-Boot SPLProperEnvironment Variables, and the Linux / Kernel startup log. You can use this as a reference to verify or compare the output from your own board.

To reprogram the eMMC, please follow the steps in https://www.ezurio.com/resources/software-announcements/programming-emmc-on-i-mx-platforms๐Ÿ”—. Alternatively, use balenaEtcher๐Ÿ”— (available for both Windows and Linux) to make the SOM boot from an SD card or a USB stick.

U-Boot SPL

U-Boot SPL 2024.04-00072-g67fd254f486 (Aug 20 2025 - 09:13:50 +0200)
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 0xe0800
NOTICE:  BL31: v2.12.0(release):lf-6.12.20-2.0.0-5-geb84dde3e-dirty
NOTICE:  BL31: Built : 21:16:58, Aug 19 2025

U-Boot Proper

U-Boot 2024.04-00072-g67fd254f486 (Aug 20 2025 - 09:13:50 +0200)

CPU:   i.MX95 rev2.0 at 1800MHz
CPU:   Extended Industrial temperature grade (-40C to 125C) at 56C
LM Boot reason: por, origin: -1, errid: -1
LM shutdown reason: por, origin: -1, errid: -1
Model: Ezurio Nitrogen95 SMARC board
DRAM:  7.8 GiB
Core:  281 devices, 31 uclasses, devicetree: separate
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
Fail to setup video link
In:    serial
Out:   serial
Err:   serial

BuildInfo:
  - SM firmware Build 648, Commit db9043a8, Aug 19 2025 17:01:35
  - ELE firmware version 2.0.2-2a118457

Normal Boot
Hit any key to stop autoboot:  0

U-Boot Environment Variables

=> printenv
arch=arm
baudrate=115200
board=nitrogen-smarc
board_name=imx95_nitrogen_smarc
boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr}
boot_efi_binary=load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootaa64.efi; if fdt addr -q ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi
boot_efi_bootmgr=if fdt addr -q ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr;fi
boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}${boot_syslinux_conf}
boot_fit=no
boot_net_usb_start=usb start
boot_pci_enum=pci enum
boot_prefixes=/ /boot/
boot_script_dhcp=boot.scr.uimg
boot_scripts=boot.scr.uimg boot.scr
boot_syslinux_conf=extlinux/extlinux.conf
boot_targets=mmc0 mmc1 usb0
bootcmd=run distro_bootcmd;run bsp_bootcmd
bootcmd_mmc0=devnum=0; run mmc_boot
bootcmd_mmc1=devnum=1; run mmc_boot
bootcmd_usb0=devnum=0; run usb_boot
bootdelay=2
bootm_size=0x10000000
cntr_addr=0xA8000000
cntr_file=os_cntr_signed.bin
console=ttyLP0
cpu=armv8
cpuidle=
distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done
dtbos=imx95-nitrogen-smarc-dsi.dtbo imx95-nitrogen-smarc-nx611.dtbo
efi_dtb_prefixes=/ /dtb/ /dtb/current/
env_dev=0
env_part=1
eth1addr=00:19:b8:11:a7:78
ethact=enetc-0
ethaddr=00:19:b8:11:a7:77
ethprime=eth0
fastboot_raw_partition_bootloader=0x0 0x1ff0 mmcpart 1
fastboot_raw_partition_bootloader-env=0x1ff0 0x10 mmcpart 1
fdt_addr=0x93000000
fdt_addr_r=0x93000000
fdt_file=imx95-nitrogen-smarc.dtb
fdt_high=0xffffffffffffffff
fdtcontroladdr=fdec8260
fdtfile=imx95-nitrogen-smarc.dtb
fdtoverlay_addr_r=0x94000000
kernel_addr_r=0x90400000
load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}
loadaddr=0x90400000
mmc_boot=if mmc dev ${devnum}; then devtype=mmc; run scan_dev_for_boot_part; fi
mmcdev=0
netargs=setenv bootargs ${cpuidle} ${mcore_args} console=${console},115200 root=/dev/nfs ip=dhcp nfsroot=${tftpserverip}:${nfsroot},v3,tcp
netboot=echo Booting from net ...; run netargs;  if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; ${get_cmd} ${loadaddr} ${tftpserverip}:Image; if ${get_cmd} ${fdt_addr_r} ${tftpserverip}:${fdt_file}; then fdt addr ${fdt_addr_r}; fdt resize 0x10000; for dtbofile in ${dtbos}; do dhcp ${fdtoverlay_addr_r} ${tftpserverip}:${dtbofile}; fdt apply ${fdtoverlay_addr_r}; done; booti ${loadaddr} - ${fdt_addr_r}; else echo WARN: Cannot load the DT; fi;
prepare_mcore=setenv mcore_args pd_ignore_unused;
scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;run scan_dev_for_efi;
scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then part uuid ${devtype} ${devnum}:${distro_bootpart} distro_bootpart_uuid ; run scan_dev_for_boot; fi; done; setenv devplist
scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; for prefix in ${efi_dtb_prefixes}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then run load_efi_dtb; fi;done;run boot_efi_bootmgr;if test -e ${devtype} ${devnum}:${distro_bootpart} efi/boot/bootaa64.efi; then echo Found EFI removable media binary efi/boot/bootaa64.efi; run boot_efi_binary; echo EFI LOAD FAILED: continuing...; fi; setenv efi_fdtfile
scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${boot_syslinux_conf}; then echo Found ${prefix}${boot_syslinux_conf}; run boot_extlinux; echo EXTLINUX FAILED: continuing...; fi
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done
scriptaddr=0x93500000
sec_boot=no
soc=imx9
soc_type=imx95
splashimage=0xA0000000
uboot_defconfig=imx95_nitrogen_smarc
upgradeu=setenv boot_scripts upgrade.scr; boot;echo Upgrade failed!; setenv boot_scripts boot.scr;
usb_boot=usb start; if usb dev ${devnum}; then devtype=usb; run scan_dev_for_boot_part; fi
vendor=boundary

Environment size: 4366/8188 bytes

Linux / Kernel

Please see nitrogen95-smarc-dvk-ful… for the full boot log.

Login Credentials:

Username: root
Password: —
Hostname: b2qt-nitrogen95

“Hello World”

Once the Universal SMARC Carrier Board is powered through J17using the DC barrel jack and the included power supply, the touchscreen display will initialize automatically. A green power indicator LED (D9) will illuminate; however, it may not be visible if the screen is folded down.Within a few seconds, the screen will display six Linux Tux (Penguins), followed by our Ezurio "IO" boot / loading animation. The system typically completes the boot process in under 30 seconds, after which the Boot2Qt Demo Launcher (see below) will appear.

Here you can select between a bunch of different demos, including: Startup Screen, Thermostat, Robot Arm, Coffee Maschine, Same Game, To Do List, and Calqlatr. In this case, please visit https://doc.qt.io/Boot2Qt๐Ÿ”— and https://code.qt.io/cgit/qt-apps/boot2qt-demos.git๐Ÿ”— for more information.

Tip: You can use Qt Creator to run, debug, and test your own applications on the Nitrogen95 SMARC Evaluation Kit. To do this, connect the kit to your computer using USB, Ethernet, or Wi-Fi. With a USB OTG cable, the board appears automatically in Qt Creator. For Ethernet, plug in a network cable and wait for the board to obtain an IP address. To connect over Wi-Fi, use the Boot to Qt Demo Launcher and ensure both the board and your computer are on the same network. Once connected, you’re ready to start building and deploying your applications directly from Qt Creator.

b2qt-landing-page-demo-launcher.png

Terminal and Debug Access

Cortex-M (MCU)

See section “FreeRTOS / NXP MCUXpresso SDK (2.16.0)” for more information

Cortex-A (CPU)
To set up and establish a serial connection, use the console cable provided in the kit. Connect the DB9 connector to the 6-pin Molex 53398-0671 header on the Universal SMARC Carrier Board (J18, SERIAL) — you may need to gently lift the screen for better access — and attach other end labeled CONSOLE to your host PC through an 5V USB-to-Serial adapter (not included by default); in our example, we used the Tripp Lite USA-19HS (Keyspan): https://tripplite.eaton.com/keyspan-high-speed-usb-to-serial-adapter~USA19HS๐Ÿ”—.Windows users can choose from terminal applications such as TeraTerm๐Ÿ”—, RealTerm๐Ÿ”—, or PuTTY๐Ÿ”—, while Linux users should use tools like screenminicom or picocom. The default serial settings are 115200 baud, 8 data bits, no parity, and 1 stop bit — commonly referred to as 8N1@115200. Once everything is in place, press the RESET button (SW1), and you should see the system boot logs appear in your terminal window.
The RS232 communication requires and operates at 5V TTL levels, not standard ±12V. If you prefer working with fastboot instead, then you may also want to connect a USB-C cable to J25 and your PC. In this context, please note that powering the entire board and setup through the USB-C connection is not sufficient, as it exceeds the current limits of a standard USB port.

Remote Network Login via SSH and Ethernet 1 /2

To connect the Nitrogen95 SMARC DVK to your local or public network, plug an RJ45 Ethernet cable into either J31 or J32 on the Universal SMARC Carrier Board. 100/1000 Mbps connections are supported on these two ports; 10 Gbps not. An SSH server (OpenSSHsshd) is enabled by default and listens on port 22 for incoming connections in the background. It becomes active once the system has fully booted.Ensure that a DHCP Server is running on your network. By default, the DVK operates as a DHCP Client, automatically requesting and receiving IPv4 + IPv6 addresses through systemd-networkd once available, as shown in the ipconfig and ip examples below:
root@b2qt-nitrogen95:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:19:B8:11:A7:77
          inet addr:192.168.2.179  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::e09f:7bff:fe97:5078/64 Scope:Link
          inet6 addr: 2003:c9:cf3d:5818:e09f:7bff:fe97:5078/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1497 errors:0 dropped:96 overruns:0 frame:0
          TX packets:277 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:109685 (107.1 KiB)  TX bytes:29518 (28.8 KiB)

eth1      Link encap:Ethernet  HWaddr 00:19:B8:11:A7:78
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:94 errors:0 dropped:0 overruns:0 frame:0
          TX packets:94 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:8076 (7.8 KiB)  TX bytes:8076 (7.8 KiB)

uap0      Link encap:Ethernet  HWaddr EA:CB:F5:20:8A:F0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

usb0      Link encap:Ethernet  HWaddr 3A:5C:4E:18:45:9F
          inet6 addr: fe80::385c:4eff:fe18:459f/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wfd0      Link encap:Ethernet  HWaddr EA:CB:F5:20:89:F0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  HWaddr E8:CB:F5:20:89:F0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

root@b2qt-nitrogen95:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:19:b8:11:a7:77 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.179/24 brd 192.168.2.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 2003:c9:cf3d:5818:e09f:7bff:fe97:5078/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 172752sec preferred_lft 86352sec
    inet6 fe80::e09f:7bff:fe97:5078/64 scope link proto kernel_ll
       valid_lft forever preferred_lft forever
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,DYNAMIC,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 00:19:b8:11:a7:78 brd ff:ff:ff:ff:ff:ff
4: can1: <NOARP,ECHO> mtu 16 qdisc noop state DOWN group default qlen 10
    link/can
5: can0: <NOARP,ECHO> mtu 16 qdisc noop state DOWN group default qlen 10
    link/can
6: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,DYNAMIC,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether e8:cb:f5:20:89:f0 brd ff:ff:ff:ff:ff:ff
7: uap0: <NO-CARRIER,BROADCAST,MULTICAST,DYNAMIC,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether ea:cb:f5:20:8a:f0 brd ff:ff:ff:ff:ff:ff
8: wfd0: <NO-CARRIER,BROADCAST,MULTICAST,DYNAMIC,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether ea:cb:f5:20:89:f0 brd ff:ff:ff:ff:ff:ff
9: usb0: <NO-CARRIER,BROADCAST,MULTICAST,DYNAMIC,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 3a:5c:4e:18:45:9f brd ff:ff:ff:ff:ff:ff
    inet6 fe80::385c:4eff:fe18:459f/64 scope link proto kernel_ll
       valid_lft forever preferred_lft forever

System Processes and Services

The following processes and services were captured and are automatically launched on the system at startup after a fresh boot:

root@b2qt-nitrogen95:~# ps aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  1.0  0.1  19588 11232 ?        Ss   14:45   0:02 /sbin/init fixrtc
root           2  0.0  0.0      0     0 ?        S    14:45   0:00 [kthreadd]
root           3  0.0  0.0      0     0 ?        S    14:45   0:00 [pool_workqueue_release]
root           4  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-rcu_g]
root           5  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-rcu_p]
root           6  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-slub_]
root           7  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-netns]
root           8  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/0:0-device_link_wq]
root           9  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/0:0H-events_highpri]
root          10  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/0:1-device_link_wq]
root          11  0.3  0.0      0     0 ?        D    14:45   0:00 [kworker/u12:0+events_unbound]
root          12  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-mm_pe]
root          13  0.0  0.0      0     0 ?        I    14:45   0:00 [rcu_tasks_kthread]
root          14  0.0  0.0      0     0 ?        S    14:45   0:00 [ksoftirqd/0]
root          15  0.0  0.0      0     0 ?        I    14:45   0:00 [rcu_preempt]
root          16  0.0  0.0      0     0 ?        S    14:45   0:00 [migration/0]
root          17  0.0  0.0      0     0 ?        S    14:45   0:00 [cpuhp/0]
root          18  0.0  0.0      0     0 ?        S    14:45   0:00 [cpuhp/1]
root          19  0.0  0.0      0     0 ?        S    14:45   0:00 [migration/1]
root          20  0.0  0.0      0     0 ?        S    14:45   0:00 [ksoftirqd/1]
root          21  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/1:0-device_link_wq]
root          22  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/1:0H-events_highpri]
root          23  0.0  0.0      0     0 ?        S    14:45   0:00 [cpuhp/2]
root          24  0.0  0.0      0     0 ?        S    14:45   0:00 [migration/2]
root          25  0.0  0.0      0     0 ?        S    14:45   0:00 [ksoftirqd/2]
root          26  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/2:0-events]
root          27  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/2:0H-kblockd]
root          28  0.0  0.0      0     0 ?        S    14:45   0:00 [cpuhp/3]
root          29  0.0  0.0      0     0 ?        S    14:45   0:00 [migration/3]
root          30  0.0  0.0      0     0 ?        S    14:45   0:00 [ksoftirqd/3]
root          31  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/3:0-pm]
root          32  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/3:0H-kblockd]
root          33  0.0  0.0      0     0 ?        S    14:45   0:00 [cpuhp/4]
root          34  0.0  0.0      0     0 ?        S    14:45   0:00 [migration/4]
root          35  0.0  0.0      0     0 ?        S    14:45   0:00 [ksoftirqd/4]
root          36  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/4:0-events]
root          37  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/4:0H-kblockd]
root          38  0.0  0.0      0     0 ?        S    14:45   0:00 [cpuhp/5]
root          39  0.0  0.0      0     0 ?        S    14:45   0:00 [migration/5]
root          40  0.0  0.0      0     0 ?        S    14:45   0:00 [ksoftirqd/5]
root          41  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/5:0-events]
root          42  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/5:0H-kblockd]
root          43  0.0  0.0      0     0 ?        S    14:45   0:00 [kdevtmpfs]
root          44  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-inet_]
root          45  0.1  0.0      0     0 ?        I    14:45   0:00 [kworker/u12:1-events_freezable_power_]
root          46  0.0  0.0      0     0 ?        S    14:45   0:00 [kauditd]
root          47  0.0  0.0      0     0 ?        S    14:45   0:00 [oom_reaper]
root          48  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-write]
root          49  0.0  0.0      0     0 ?        S    14:45   0:00 [kcompactd0]
root          50  0.0  0.0      0     0 ?        SN   14:45   0:00 [ksmd]
root          51  0.0  0.0      0     0 ?        SN   14:45   0:00 [khugepaged]
root          52  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-kinte]
root          53  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-kbloc]
root          54  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-blkcg]
root          55  0.2  0.0      0     0 ?        I    14:45   0:00 [kworker/u12:2-events_freezable_power_]
root          56  0.1  0.0      0     0 ?        I    14:45   0:00 [kworker/u12:3-devfreq_wq]
root          57  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/u12:4-events_unbound]
root          58  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-ata_s]
root          59  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-devfr]
root          60  0.0  0.0      0     0 ?        S    14:45   0:00 [watchdogd]
root          61  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/1:1-pm]
root          62  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/0:1H-mmc_complete]
root          63  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-rpcio]
root          64  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-xprti]
root          65  0.0  0.0      0     0 ?        S    14:45   0:00 [kswapd0]
root          66  0.0  0.0      0     0 ?        S    14:45   0:00 [ecryptfs-kthread]
root          67  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-nfsio]
root          68  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-kthro]
root          70  0.0  0.0      0     0 ?        S    14:45   0:00 [irq/22-arm-smmu-v3-evtq]
root          71  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-uas]
root          72  1.3  0.0      0     0 ?        I    14:45   0:03 [kworker/u12:5-events_freezable_power_]
root          73  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/2:1-pm]
root          74  0.0  0.0      0     0 ?        S    14:45   0:00 [hwrng]
root          75  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-neutr]
root          76  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-tls-s]
root          77  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-mld]
root          78  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-ipv6_]
root          79  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-kstrp]
root          80  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/3:1-mm_percpu_wq]
root          81  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/3:2-device_link_wq]
root          82  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/3:3-rcu_gp]
root          83  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/3:4]
root          84  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/0:2-events]
root          85  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/0:3-device_link_wq]
root          86  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/0:4-events]
root          87  0.1  0.0      0     0 ?        I    14:45   0:00 [kworker/0:5-events]
root          88  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/4:1-rcu_gp]
root          89  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/u12:6-events_unbound]
root          90  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/5:1-events]
root          92  0.0  0.0      0     0 ?        S    14:45   0:00 [spi0]
root          93  0.0  0.0      0     0 ?        S    14:45   0:00 [irq/200-4c010010.usb]
root          94  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-imx95]
root          95  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/5:2-device_link_wq]
root          96  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/u13:0-MOAL_WORK_QUEUE]
root          97  0.0  0.0      0     0 ?        S    14:45   0:00 [mali-simple-power-model-temp-poll]
root          98  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-rpmsg]
root          99  0.0  0.0      0     0 ?        S    14:45   0:00 [irq/202-vpu_irq]
root         100  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/0:6]
root         101  0.4  0.0      0     0 ?        I<   14:45   0:01 [kworker/u13:1-ipa_ctrl_wq]
root         102  0.0  0.0      0     0 ?        S    14:45   0:00 [irq/203-6-0022]
root         103  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/4:2-mm_percpu_wq]
root         104  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/4:3-events]
root         105  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/1:2-device_link_wq]
root         106  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/1:3-pm]
root         107  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/1:4-events]
root         108  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/1:5-pm]
root         109  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/1:6-device_link_wq]
root         110  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/1:7-device_link_wq]
root         111  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/1:8-device_link_wq]
root         112  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/1:9-pm]
root         113  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/1:10-events]
root         114  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/1:11-pm]
root         115  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/1:12-rcu_gp]
root         116  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/1:13]
root         117  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-enetc]
root         118  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-enetc]
root         121  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/2:2-events]
root         122  0.0  0.0      0     0 ?        S    14:45   0:00 [irq/198-4b0d0000.bridge]
root         123  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/2:3-events]
root         124  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/u12:7-events_unbound]
root         125  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/u12:8]
root         126  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-sdhci]
root         127  0.0  0.0      0     0 ?        S    14:45   0:00 [irq/221-mmc0]
root         128  0.0  0.0      0     0 ?        S    14:45   0:00 [irq/222-rv3028]
root         129  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/5:3-events]
root         130  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/5:4-rcu_gp]
root         131  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/5:5]
root         132  0.0  0.0      0     0 ?        S    14:45   0:00 [card0-crtc0]
root         133  0.0  0.0      0     0 ?        S    14:45   0:00 [card0-crtc1]
root         134  0.0  0.0      0     0 ?        I    14:45   0:00 [kworker/2:4]
root         135  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-sdhci]
root         136  0.0  0.0      0     0 ?        S    14:45   0:00 [irq/201-mmc2]
root         137  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-sdhci]
root         138  0.0  0.0      0     0 ?        S    14:45   0:00 [irq/224-mmc1]
root         139  0.0  0.0      0     0 ?        S    14:45   0:00 [irq/239-42860000.mmc cd]
root         140  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-mmc_c]
root         141  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/5:1H]
root         142  0.0  0.0      0     0 ?        S    14:45   0:00 [irq/241-ci_imx_wakeup]
root         143  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-ci_ot]
root         144  0.0  0.0      0     0 ?        S    14:45   0:00 [irq/223-hd3ss3220]
root         145  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/2:1H]
root         146  0.0  0.0      0     0 ?        S    14:45   0:00 [jbd2/mmcblk0p2-8]
root         147  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/R-ext4-]
root         149  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/3:1H-kblockd]
root         160  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/4:1H-kblockd]
root         161  0.0  0.0      0     0 ?        I<   14:45   0:00 [kworker/0:2H-mmc_complete]
root         172  0.0  0.0      0     0 ?        I<   14:46   0:00 [kworker/1:1H-kblockd]
rpc          173  0.0  0.0   4644  2304 ?        Ss   14:46   0:00 /usr/sbin/rpcbind -w -f
root         176  0.2  0.0  40084  7808 ?        Ss   14:46   0:00 /usr/lib/systemd/systemd-journald
root         182  0.0  0.0      0     0 ?        I<   14:46   0:00 [kworker/1:2H]
root         228  0.3  0.1  29352  9608 ?        Ss   14:46   0:00 /usr/lib/systemd/systemd-udevd
systemd+     322  0.0  0.0  89252  6400 ?        Ssl  14:46   0:00 /usr/lib/systemd/systemd-timesyncd
root         463  0.0  0.0  14972  5376 ?        Ss   14:46   0:00 /usr/lib/systemd/systemd-userdbd
root         507  0.0  0.0  15632  5504 ?        S    14:46   0:00 systemd-userwork: waiting...
root         508  0.0  0.0  15928  5760 ?        S    14:46   0:00 systemd-userwork: waiting...
root         509  0.0  0.0  15932  5632 ?        S    14:46   0:00 systemd-userwork: waiting...
root         525  0.0  0.0      0     0 ?        I<   14:46   0:00 [kworker/R-cfg80]
root         526  0.0  0.0      0     0 ?        I<   14:46   0:00 [kworker/4:2H-kblockd]
root         534  0.0  0.0      0     0 ?        I<   14:46   0:00 [kworker/2:2H-kblockd]
root         537  0.0  0.0      0     0 ?        I<   14:46   0:00 [kworker/R-MOAL_]
root         572  0.0  0.0      0     0 ?        I<   14:46   0:00 [kworker/R-MOAL_]
root         573  0.0  0.0      0     0 ?        I<   14:46   0:00 [kworker/R-MOAL_]
root         574  0.0  0.0      0     0 ?        I<   14:46   0:00 [kworker/R-MOAL_]
root         575  0.0  0.0      0     0 ?        I<   14:46   0:00 [kworker/R-MOAL_]
root         576  0.0  0.0      0     0 ?        S    14:46   0:00 [woal_reassoc_service]
root         603  0.0  0.0      0     0 ?        S    14:46   0:00 [irq/248-gt9271]
root         607  0.1  0.1 395776 10240 ?        Ssl  14:46   0:00 /usr/sbin/ModemManager
root         615  0.0  0.0   3512  1536 ?        Ss   14:46   0:00 /usr/sbin/klogd -n
root         623  0.0  0.0   3512  1536 ?        Ss   14:46   0:00 /usr/sbin/syslogd -n
message+     627  0.2  0.0   7140  3584 ?        Ss   14:46   0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
root         628  0.0  0.0      0     0 ?        I<   14:46   0:00 [kworker/3:2H]
root         629  0.0  0.0   2724  1408 ?        Ss   14:46   0:00 /usr/bin/firmwared -d /lib/firmware
root         647  0.0  0.0  16036  6784 ?        Ss   14:46   0:00 /usr/lib/systemd/systemd-logind
root         664  0.0  0.0      0     0 ?        I<   14:46   0:00 [kworker/u13:2-hci0]
root         665  0.0  0.0      0     0 ?        I<   14:46   0:00 [kworker/R-CSAwl]
root         666  0.0  0.0      0     0 ?        I<   14:46   0:00 [kworker/R-MCLIS]
root         667  0.0  0.0      0     0 ?        I<   14:46   0:00 [kworker/R-CSAua]
root         668  0.0  0.0      0     0 ?        I<   14:46   0:00 [kworker/R-MCLIS]
root         669  0.0  0.0      0     0 ?        I<   14:46   0:00 [kworker/R-CSAwf]
root         670  0.0  0.0      0     0 ?        I<   14:46   0:00 [kworker/R-MCLIS]
root         692  0.1  0.0  16012  6400 ?        Ss   14:46   0:00 /usr/sbin/connmand -n
systemd+     693  0.1  0.0  16920  7680 ?        Ss   14:46   0:00 /usr/lib/systemd/systemd-networkd
root         705  0.0  0.0      0     0 ?        S    14:46   0:00 [irq/219-0003:01:00.0:07]
avahi        706  0.0  0.0   7524  3072 ?        Ss   14:46   0:00 avahi-daemon: running [b2qt-nitrogen95.local]
root         707  0.0  0.0   8140  4224 ?        Ss   14:46   0:00 /usr/libexec/bluetooth/bluetoothd
root         710  0.0  0.0      0     0 ?        S    14:46   0:00 [irq/220-0003:01:00.0:03]
root         711  0.1  0.1  15416  9472 ?        Ss   14:46   0:00 /usr/sbin/sdcsupp -u
root         713  0.0  0.0      0     0 ?        I<   14:46   0:00 [kworker/u13:3-MOAL_WORK_QUEUE]
root         714  0.0  0.0      0     0 ?        I<   14:46   0:00 [kworker/u13:4]
avahi        718  0.0  0.0   7228  1304 ?        S    14:46   0:00 avahi-daemon: chroot helper
root         723  0.2  0.5 2085968 45828 ?       Ssl  14:46   0:00 /usr/bin/containerd
root         729  0.0  0.1  56916 10240 ?        Ss   14:46   0:00 /usr/bin/appcontroller /usr/bin/qtlauncher
root         730  0.0  0.0   5260  1664 tty1     Ss+  14:46   0:00 /sbin/agetty -o -p -- \u --noclear - linux
root         736  0.0  0.0   5392  2048 ttyLP0   Ss+  14:46   0:00 /sbin/agetty -8 -L ttyLP0 115200 linux
root         737  0.0  0.0      0     0 ?        I<   14:46   0:00 [kworker/5:2H]
root         739  0.2  0.1  17676  9600 ?        Ss   14:46   0:00 /usr/lib/systemd/systemd --user
root         740 13.4  2.1 1571568 170348 ?      Sl   14:46   0:29 /usr/bin/qtlauncher
root         741  0.0  0.0  19332  2908 ?        S    14:46   0:00 (sd-pam)
root         775  1.5  0.0      0     0 ?        S    14:46   0:03 [mali-gpuq-kthread]
root         785  0.0  0.1 278312 12780 ?        Sl   14:46   0:00 /usr/bin/qdbd --usb-ethernet-function-name ncm.usb0
root         824  0.2  0.1  12892  8192 ?        Ss   14:47   0:00 sshd: root@pts/0
root         826  0.0  0.0   7176  3584 pts/0    Ss   14:47   0:00 -sh
root         839  200  0.0   9372  3584 pts/0    R+   14:49   0:00 ps aux

root@b2qt-nitrogen95:~# systemctl list-units --type=service --state=running
  UNIT                                                LOAD   ACTIVE SUB     DESCRIPTION
  avahi-daemon.service                                loaded active running Avahi mDNS/DNS-SD Stack
  bluetooth.service                                   loaded active running Bluetooth service
  busybox-klogd.service                               loaded active running Kernel Logging Service
  busybox-syslog.service                              loaded active running System Logging Service
  connman.service                                     loaded active running Connection service
  containerd.service                                  loaded active running containerd container runtime
  dbus.service                                        loaded active running D-Bus System Message Bus
  demolauncher.service                                loaded active running Boot to Qt Demo Launcher
  firmwared.service                                   loaded active running Linux Firmware Loader Daemon
  getty@tty1.service                                  loaded active running Getty on tty1
  ModemManager.service                                loaded active running Modem Manager
  qdbd.service                                        loaded active running Qt Debug Bridge Daemon
  rpcbind.service                                     loaded active running RPC Bind
  serial-getty@ttyLP0.service                         loaded active running Serial Getty on ttyLP0
  sshd@0-192.168.2.179:22-192.168.2.121:52034.service loaded active running OpenSSH Per-Connection Daemon (192.168.2.121:52034)
  systemd-journald.service                            loaded active running Journal Service
  systemd-logind.service                              loaded active running User Login Management
  systemd-networkd.service                            loaded active running Network Configuration
  systemd-timesyncd.service                           loaded active running Network Time Synchronization
  systemd-udevd.service                               loaded active running Rule-based Manager for Device Events and Files
  systemd-userdbd.service                             loaded active running User Database Manager
  user@0.service                                      loaded active running User Manager for UID 0
  wpa_supplicant.service                              loaded active running WPA supplicant

  Legend:
        LOAD   → Reflects whether the unit definition was properly loaded.
        ACTIVE → The high-level unit activation state, i.e. generalization of SUB.
        SUB    → The low-level unit activation state, values depend on unit type.

23 loaded units listed.

System Information & Overview

You can check basic system information on the Nitrogen95 SMARC Evaluation Kit, including details such as the CPU type, usage, load, available memory, storage space, uptime, and software version. The example below shows the output from commands like lscpu, free -h, df -h, uptime, and cat /etc/os-release run on the device.
root@b2qt-nitrogen95:~# lscpu
Architecture:             aarch64
  CPU op-mode(s):         32-bit, 64-bit
  Byte Order:             Little Endian
CPU(s):                   6
  On-line CPU(s) list:    0-5
Vendor ID:                ARM
  Model name:             Cortex-A55
    Model:                0
    Thread(s) per core:   1
    Core(s) per cluster:  6
    Socket(s):            -
    Cluster(s):           1
    Stepping:             r2p0
    CPU(s) scaling MHz:   64%
    CPU max MHz:          1800.0000
    CPU min MHz:          500.0000
    BogoMIPS:             48.00
    Flags:                fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
Caches (sum of all):
  L1d:                    192 KiB (6 instances)
  L1i:                    192 KiB (6 instances)
  L2:                     384 KiB (6 instances)
  L3:                     512 KiB (1 instance)
Vulnerabilities:
  Gather data sampling:   Not affected
  Itlb multihit:          Not affected
  L1tf:                   Not affected
  Mds:                    Not affected
  Meltdown:               Not affected
  Mmio stale data:        Not affected
  Reg file data sampling: Not affected
  Retbleed:               Not affected
  Spec rstack overflow:   Not affected
  Spec store bypass:      Not affected
  Spectre v1:             Mitigation; __user pointer sanitization
  Spectre v2:             Not affected
  Srbds:                  Not affected
  Tsx async abort:        Not 

root@b2qt-nitrogen95:~# free -h
               total        used        free      shared  buff/cache   available
Mem:           7.5Gi       542Mi       6.9Gi        11Mi       258Mi       7.0Gi
Swap:             0B          0B          0B

root@b2qt-nitrogen95:~# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 4.2G      2.2G      1.7G  56% /
devtmpfs                  3.3G      4.0K      3.3G   0% /dev
tmpfs                     3.8G         0      3.8G   0% /dev/shm
tmpfs                     1.5G     10.0M      1.5G   1% /run
tmpfs                     3.8G      4.0K      3.8G   0% /tmp
tmpfs                     3.8G     32.0K      3.8G   0% /var/volatile
/dev/mmcblk0p1           59.0M     35.5M     23.5M  60% /run/media/boot-mmcblk0p1
tmpfs                   768.9M     68.0K    768.8M   0% /run/user/0

root@b2qt-nitrogen95:~# uptime
 14:56:54 up 11 min,  1 user,  load average: 0.81, 1.08, 0.71

root@b2qt-nitrogen95:~# cat /etc/os-release
ID=ezurio-b2qt
NAME="Ezurio b2qt"
VERSION="5.0.4 (scarthgap)"
VERSION_ID=5.0.4
VERSION_CODENAME="scarthgap"
PRETTY_NAME="Ezurio b2qt 5.0.4 (scarthgap)"
CPE_NAME="cpe:/o:openembedded:ezurio-b2qt:5.0.4"

Important Git Repository and Sources

BSP Support, Drivers & Configs

Updating & Customizing your Bootloader & OS

U-Boot

For more information, please refer to https://www.ezurio.com/resources/software-announcements/u-boot-v2022-04-for-i-mx-platforms๐Ÿ”—. The latest binaries can be found at u-boot-images-2022.04๐Ÿ”— and u-boot-images-2024.04๐Ÿ”—, while the source code is available on GitHub under github.com/boundarydevices/u-boot๐Ÿ”—.

If you’re unsure which defconfig to download, you can check the current configuration from the U-Boot prompt using: printenv uboot_defconfig. For the Nitrogen95 SMARC module it should always imx95_nitrogen_smarc.

Yocto

To ensure reproducible Yocto builds, we recommend using our (Ubuntu-based) Docker Containers whenever possible: https://www.ezurio.com/resources/software-announcements/using-docker-containers-for-reproducible-yocto-builds๐Ÿ”—.

Boot to Qt | Qt 6.8.1

Please refer to https://lairdcp.github.io/guides/Boot2Qt-Scarthgap-Release-for-iMX-Platforms/1.0/Boot2Qt-Scarthgap-Release-for-i.MX-Platforms.html๐Ÿ”— for more information.

Scarthgap

Please refer to https://lairdcp.github.io/guides/yocto-scarthgap-release-for-imx-platforms/1.0/Yocto-Scarthgap-Release-for-i.MX-Platforms.html๐Ÿ”— for more information.

Debian & Ubuntu

Not supported. For additional information, please contact your local sales representative or FAE.

Android (15 / 16)

We plan to introduce support for Android in an upcoming version and feature release. If you have an urgent need for your current project and product, please get in touch with us — our team will be happy to discuss your specific case. Visit https://www.ezurio.com/contact.

QNX (SDP 7.1 / 8.0)

We plan to introduce support for QNX in an upcoming version and feature release. If you have an urgent need for your current project and product, please get in touch with us — our team will be happy to discuss your specific case. Visit https://www.ezurio.com/contact.

FreeRTOS / NXP MCUXpresso SDK (2.16.0)

We plan to introduce support for FreeRTOS / the NXP MCUXpresso SDK in an upcoming version and feature release. If you have an urgent need for your current project and product, please get in touch with us — our team will be happy to discuss your specific case. Visit https://www.ezurio.com/contact.

J1 is the reserved JTAG connector, marked as DND (not fitted by default) on the Nitrogen95 SMARC module. You can populate it manually, if needed. For detailed pinout information and a list of compatible parts, refer to the SMARC 2.1 Hardware Specification, section 3.24, page 65: https://sget.org/wp-content/uploads/2020/03/SMARC_V21-specification.pdf๐Ÿ”—. The JTAG I/O voltage and interface operate at 1.8 V.

Buildroot

2025.02

TBD.

2024.02

TBD.

Additional Features & Information

Wi-Fi and Bluetooth / BLE Usage

To explore additional features and learn how to set up, bring up and use the internal Wi-Fi and BLE radio of the Sona NX611 module, for example, see https://lairdcp.github.io/guides/yocto-scarthgap-release-for-imx-platforms/1.0/Yocto-Scarthgap-Release-for-i.MX-Platforms.html๐Ÿ”—.

Arducam xISP – IMX678 Camera Usage

Coming soon (in the next few weeks) …

Recovery Instructions

If your Nitrogen95 SMARC development board isn't powering on or showing any signs of life, you may want to try recovering *both* the bootloader and operating system using NXP's Universal Update Utility (UUU). A step-by-step guide is available here: https://www.ezurio.com/resources/software-announcements/recovering-i-mx-platforms-using-uuu๐Ÿ”—.
Before that, make sure to double-check the following: (a) There are no visible signs of hardware damage — inspect all components carefully; (b) the Nitrogen95 SMARC module is properly seated in the SMARC socket slot (J1) of the Universal SMARC Carrier Board; (c) cables and connections are securely in place — nothing should be loose or jammed; (d) all boot switches on the Universal SMARC Carrier Board (S1) are in OFF position; and (e) SW1 on the Nitrogen95 SMARC module itself is also set to OFF.

Troubleshooting

Known Issues

  1. Bluetooth not working: If you encounter an error message such as [279.259014] Bluetooth: hci0: Frame reassembly failed (-84) repeatedly appearing in the debug terminal, try restarting or resetting the device. Then, at the U-Boot prompt, enter setenv dtbos "imx95-nitrogen-smarc-dsi.dtbo imx95-nitrogen-smarc-nx611.dtbo" followed by saveenv. This manually applies and saves the correct device tree. You only have to do it once.

References

  1. (Boundary Devices) Wiki → https://bdwiki.ezurio.com/index.php/Nitrogen95_SMARC,
  2. (Ezurio) GitHub SOM Documentation → https://lairdcp.github.io/soms,
  3. (Ezurio) Software Releases → https://www.ezurio.com/resources/software-announcements,
  4. (Arducam) Documentation → https://docs.arducam.com,
  5. (NXP) i.MX 95 Applications Processor Family → https://www.nxp.com/products/i.MX95,
  6. (NXP) IW611 Chipset → https://www.nxp.com/products/IW611,
  7. (Buildroot Project) Documentation → https://buildroot.org/docs.html,
  8. (Yocto Project) Documentation → https://docs.yoctoproject.org,
  9. (SGeT Consortium) SMARC Standard → https://sget.org/standards/smarc,
  10. (Docker) Documentation → https://docs.docker.com,
  11. (Qt & Boot2Qt) Documentation → https://doc.qt.io/Boot2Qt + https://doc.qt.io.

Changelog

  • Public Version 1.0 − 24/10/2025 (Florian Baumgartl): Initial release based on #P/N EZSMI-959-0816-00158-2-K2 REV 1.0.