System Monitoring

AI Model Deployment

System Monitoring

From real-time NPU utilisation down to kernel-level driver diagnostics, this is the canonical reference for every monitoring command on Sixfab edge AI hardware. The same DEEPX runtime, the same four commands, across Sixfab AI HAT+ for Raspberry Pi 5, Sixfab Edge AI Expansion Board, and ALPON X5 AI.

dxtop dxrt-cli lspci journalctl DEEPX DX-M1 family
AI Model Deployment · Operations · System Monitoring · Updated 2026-05-16
How do I monitor the DEEPX NPU on Sixfab edge AI hardware?

Sixfab edge AI products expose monitoring at four stack layers. Use dxtop for live NPU utilisation, dxrt-cli -s for a full hardware snapshot, lspci to confirm PCIe enumeration, and journalctl -xeu dxrt.service for runtime logs. Each command targets one layer of the DEEPX software stack, and the layer mapping is identical on AI HAT+, Edge AI Expansion Board, and ALPON X5 AI.

Quick reference

Six commands cover monitoring across all three Sixfab edge AI products. Each maps to one layer of the DEEPX software stack: hardware, kernel driver, runtime, or application. The grid below is your starting point; the rest of this page walks each command in detail.

dxtop Runtime
Shows Real-time NPU utilisation, temperature, voltage, and clock per core.
Use when Watching performance during active inference.
dxrt-cli -s Runtime
Shows Full hardware snapshot: device, versions, firmware, memory, PCIe link.
Use when Verifying the full stack is healthy after install or before debugging.
lspci Hardware
Shows PCIe device enumeration; confirms the host has detected the NPU.
Use when First check if anything in the stack isn't responding.
lsmod | grep -i dx Kernel
Shows Whether the DEEPX kernel module is loaded into the running kernel.
Use when dxrt-cli fails to find a device.
dmesg | grep -i dx Kernel
Shows Kernel messages from the DEEPX driver during initialisation.
Use when Diagnosing driver init errors or PCIe link failures.
journalctl -xeu dxrt.service Application
Shows Full systemd service log for the runtime daemon.
Use when The runtime starts but inference fails or behaves unexpectedly.

Installed CLI tools

Three command-line tools ship alongside the DEEPX kernel driver and runtime. Each one targets a different monitoring or diagnostic job.

dxrt-cli

Hardware status, firmware version, and firmware update. First command to run when diagnosing any issue.

dxtop

Real-time NPU monitor with per-core utilisation, temperature, voltage, and clock. Like htop for the NPU.

run_model

Headless model runner. Test any compiled .dxnn file without writing application code.

bash Quick reference
# 1. Full hardware status
dxrt-cli -s

# 2. Real-time NPU utilisation (q to quit)
dxtop

# 3. Test a compiled model
run_model --model_path <model_path>.dxnn

# 4. Update NPU firmware (only when a new fw.bin is released)
dxrt-cli -u <firmware_path>.bin
Where these tools come from on each product

On Sixfab AI HAT+ for Raspberry Pi 5 and Sixfab Edge AI Expansion Board, the sixfab-dx APT package installs the runtime, kernel driver, and all three CLI tools together. It handles DKMS builds against the running kernel and pulls in raspberrypi-kernel-headers automatically.

On ALPON X5 AI, the driver and runtime are already part of the ALPON OS image. The CLI tools are pre-installed and no APT installation step is required. The commands on this page work identically on either path.

NPU-specific metrics

dxtop and dxrt-cli are the only tools that surface NPU-internal telemetry: per-core utilisation, voltage, clock, and on-die temperature. Standard Linux tools (top, htop, sensors) cannot see inside the DEEPX silicon. For NPU-aware monitoring in a production fleet, scrape dxrt-cli -s output or the dxtop machine-readable feed and ship it to your time-series store of choice.

dxtop: real-time NPU monitor

dxtop is a live terminal dashboard for the NPU, the equivalent of htop for the AI accelerator. It shows per-core utilisation, memory, voltage, clock speed, and temperature, updating continuously.

bash
dxtop

Press q to quit, n / p to page through devices, h for help.

Output at idle

The example below was captured on Sixfab AI HAT+ for Raspberry Pi 5 with no inference running. Output on Edge AI Expansion Board and ALPON X5 AI looks the same; only the Variant field changes per product.

dxtop · idle state
DX-RT: v3.2.0   NPU Device driver: v2.1.0   DX-TOP: v1.0.1

Device :0  Variant: M1  PCIe Bus Number: 01:00:00  Firmware: v2.5.0
NPU Memory: [3.98 MiB / 3.82 GiB (0.05%)]
  Core :0  Util:  0.0%  Temp: 49 °C  Voltage: 750 mV  Clock: 1000 MHz
  Core :1  Util:  0.0%  Temp: 48 °C  Voltage: 750 mV  Clock: 1000 MHz
  Core :2  Util:  0.0%  Temp: 49 °C  Voltage: 750 mV  Clock: 1000 MHz

Output under inference load

With a model running and frames being submitted to the NPU, all three cores climb to 80–95 % utilisation and temperatures rise into the low 50 °C range at room ambient. The capture below is from YOLOv8n at 640×640 on AI HAT+ (DEEPX DX-M1M, 25 TOPS at INT8) on dxrt-runtime v3.2.0.

dxtop · inference running (YOLOv8n) Live
Device :0  Variant: M1  PCIe Bus Number: 01:00:00  Firmware: v2.5.0
NPU Memory: [1.20 GiB / 3.82 GiB (31.4%)]
  Core :0  Util: 87.0%  Temp: 52 °C  Voltage: 750 mV  Clock: 1000 MHz
  Core :1  Util: 92.0%  Temp: 51 °C  Voltage: 750 mV  Clock: 1000 MHz
  Core :2  Util: 89.0%  Temp: 52 °C  Voltage: 750 mV  Clock: 1000 MHz
The Variant field per product

The Variant field in dxtop identifies the DEEPX silicon family on the device:

  • Sixfab AI HAT+ for Raspberry Pi 5: M1M (25 TOPS at INT8) or M1ML (13 TOPS at INT8), depending on the variant you bought.
  • Sixfab Edge AI Expansion Board: M1 (25 TOPS at INT8).
  • ALPON X5 AI: M1 (25 TOPS at INT8).

Typical values at a glance

Idle temp
46–49 °C
No inference running
Core voltage
750 mV
Idle and inference
Core clock
1000 MHz
Normal operating speed
NPU power (DX-M1 family)
2–5 W
NPU alone, supported AI models
Thermal throttle
~90 °C
Per DEEPX silicon spec
Temperatures climbing toward 65–70 °C during sustained inference?

Without active cooling, the DEEPX silicon can reach the upper limit and begin to throttle around 90 °C. On Sixfab AI HAT+ for Raspberry Pi 5, add a heatsink or connect a 3.3 V micro fan to the AI HAT+ JST fan connector. On Sixfab Edge AI Expansion Board, the integrated cooler handles steady-state load; verify airflow is not blocked. ALPON X5 AI is a sealed fanless industrial enclosure designed for its own thermal envelope; monitor and place the device per your ambient operating conditions.

dxrt-cli: hardware status & firmware

The dxrt-cli tool is the primary interface for querying hardware state and managing NPU firmware. Use it any time you need a full snapshot of the stack.

dxrt-cli -s Full hardware and firmware status report

Displays device type, runtime version, driver versions, firmware version, memory spec, board revision, PCIe link speed, and per-core voltage / clock / temperature. Use this as the first diagnostic command after installation or when something behaves unexpectedly.

bash
dxrt-cli -s
Expected output · Sixfab Edge AI Expansion Board OK
DXRT v3.3.0
=======================================================
 * Device 0: M1, Accelerator type
---------------------   Version   ---------------------
 * RT Driver version  : v2.4.0
 * PCIe Driver version: v2.2.0
-------------------------------------------------------
 * FW version         : v2.5.6
--------------------- Device Info ---------------------
 * Memory : LPDDR5 5600 Mbps, 3.92 GiB
 * Board  : M.2, Rev 1.0
 * Chip Offset : 0
 * PCIe   : Gen3 X1 [01:00:00]
NPU 0: voltage 750 mV, clock 1000 MHz, temperature 45 °C
NPU 1: voltage 750 mV, clock 1000 MHz, temperature 45 °C
NPU 2: voltage 750 mV, clock 1000 MHz, temperature 45 °C
=======================================================
What changes per product

The structure of dxrt-cli -s is the same across all three products. Three fields shift:

  • Device variant: M1M or M1ML on AI HAT+; M1 on Edge AI Expansion Board and ALPON X5 AI.
  • Memory speed: LPDDR5x 6000 Mbps on AI HAT+; LPDDR5 5600 Mbps on Edge AI Expansion Board. NPU memory capacity is 4 GB (DEEPX DX-M1 family on-chip memory) on all three.
  • Runtime / firmware version: Whatever is current on the product when the page was captured. Run dxrt-cli -s on your own device to see the versions installed there.

The PCIe Gen3 X1 [01:00:00] link line is the same on AI HAT+ and Edge AI Expansion Board (after the dtparam=pciex1_gen=3 Raspberry Pi configuration is applied during install). On ALPON X5 AI the link is configured at the factory.

dxrt-cli -u <fw.bin> Update NPU firmware

Flashes a firmware binary to the onboard NPU flash. Download the firmware file from deepx.ai first, then point dxrt-cli -u at it.

bash
dxrt-cli -u <firmware_path>.bin

# Verify the new firmware version
dxrt-cli -s
When to update firmware

If the installed firmware already meets the DEEPX SDK requirements, there is no need to update the runtime separately. Download the latest firmware from the DEEPX website and update with dxrt-cli -u fw.bin. If SDK requirements are not met after the firmware update, the runtime must also be updated.

Diagnostic commands

These standard Linux utilities complement the DEEPX-specific tools. Use them to verify hardware detection and kernel-level driver state when something higher up the stack isn't responding.

lspci Verify NPU is detected on PCIe bus

Confirms the host has enumerated the DEEPX NPU over PCIe. If this line is missing from the output, the hardware connection has a problem; see the per-product callout below.

Expected line in output
0001:01:00.0  Processing accelerators: DEEPX Co., Ltd. DX_M1A
Nothing listed?

On Sixfab AI HAT+ for Raspberry Pi 5, check the 16-pin FFC cable connections on both the AI HAT+ and Raspberry Pi 5 ends. A loose latch is the most common cause. On Sixfab Edge AI Expansion Board, confirm the M.2 module is fully seated in the AI slot and the PCIe FFC is connected; verify the board is reaching the Pi 5 by inspecting dmesg | grep -i dx. On ALPON X5 AI there is no removable PCIe cabling; if lspci shows no DEEPX device, this indicates a system-level hardware fault. Contact Sixfab support.

lsmod | grep -i dx Confirm kernel driver is loaded

The DEEPX kernel module must be loaded for the runtime to communicate with the NPU. Empty output means the module is not loaded. On AI HAT+ or Edge AI Expansion Board, reboot or reinstall sixfab-dx. On ALPON X5 AI, this points to an OS image issue. Reboot first; if the module still doesn't load, contact Sixfab support.

bash
lsmod | grep -i dx
dmesg | grep -i dx View kernel messages from the DEEPX driver

Shows kernel ring buffer messages from driver initialisation. Look for PCIe link errors, firmware load failures, or device enumeration issues here. Use sudo dmesg if output is empty without elevated permissions.

bash
dmesg | grep -i dx
Healthy boot output OK
[    2.102285] dx_dma: loading out-of-tree module taints kernel.
[    2.112716] dx_dma_pcie 0001:01:00.0: enabling device (0100 -> 0102)
[    2.112830] dx_dma_pcie 0001:01:00.0: dw->dx_ver: 3
[    2.182700] dx_dma_pcie 0001:01:00.0: [dx_dma_pcie_probe] Probe Done!!
[    2.799076] dxrt_driver_cdev_init: 1 devices
journalctl -xeu dxrt.service View runtime service logs

Full systemd log for the DEEPX runtime daemon. Use when the runtime starts but inference jobs fail or behave unexpectedly. Add -f to follow the log live, or --since "10 minutes ago" to limit output.

bash
journalctl -xeu dxrt.service

# Follow live
journalctl -xeuf dxrt.service

# Only last 10 minutes
journalctl -xeu dxrt.service --since "10 minutes ago"
Permissions

Some dmesg and journalctl commands may require sudo on restricted systems. If you see empty output or a permission error, prefix the command with sudo.

Troubleshooting starting points

When something isn't working as expected, run these five commands in order. Each one moves down the stack. If the first answers your question, you don't need the rest. This flow is the canonical Sixfab + DEEPX diagnostic sequence and applies identically on all three products.

Run these in order
  1. dxrt-cli -s: does the runtime see a healthy device with the expected versions?
  2. lspci: does the host enumerate the DEEPX NPU on PCIe?
  3. lsmod | grep -i dx: is the kernel module loaded?
  4. dmesg | grep -i dx: did driver initialisation complete without errors?
  5. journalctl -xeu dxrt.service: did the runtime daemon start cleanly and stay up?

All three products are Linux systems with systemd and journalctl available out of the box: on Raspberry Pi OS for AI HAT+ and Edge AI Expansion Board, and on ALPON OS for ALPON X5 AI. The diagnostic commands and their output formats are identical; OS-specific differences (path locations, supplementary services, recovery paths for the device image) are documented on each product's Troubleshooting page.

Per-product Troubleshooting pages