In the first part of the review, I had a look at the hardware of the NV8600-Nano AI developer Kit featuring an NVIDIA Jetson Orin Nano 8GB module, booted it to Ubuntu 22.04, checked some system information, and made sure both the USB camera and Raspberry Pi Camera Module 2 (MIPI CSI) module worked fine.
I’ve now spent much more time with the Edge AI devkit, and report my experience in the second part of the review with some benchmarks, key features testing, and AI vision demos using Network Optix Nx Meta IP video management platform with the provided USB camera and an ONVIF-capable network camera.
AAEON NV8600-Nano AI Developer Kit / Jetson Orin Nano benchmarks
It’s the first time I’m testing a platform based on NVIDIA Jetson Orin Nano, so I’ll go through all the benchmarks I typically use for such reviews.
Let’s start with sbc-bench.sh:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 |
devkit@devkit-aaeon:~$ sudo ./sbc-bench.sh -r Starting to examine hardware/software for review purposes... sbc-bench v0.9.72 Installing needed tools: distro packages already installed. Done. Checking cpufreq OPP. Done. Executing tinymembench. Done. Executing RAM latency tester. Done. Executing OpenSSL benchmark. Done. Executing 7-zip benchmark. Done. Throttling test: heating up the device, 5 more minutes to wait. Done. Checking cpufreq OPP again. Done (18 minutes elapsed). Results validation: * Measured clockspeed not lower than advertised max CPU clockspeed * No swapping * Background activity (%system) OK * No throttling * 2 different clusters but capacity-dmips-mhz property not set * schedutil cpufreq governor configured but neither dynamic-power-coefficient nor sched-energy-costs defined Full results uploaded to https://0x0.st/87lq.txt # AAEON BOXER-8654AI_RefKit` platform Tested with sbc-bench v0.9.72 on Sun, 03 Aug 2025 12:15:38 +0200. Full info: [https://0x0.st/87lq.txt](http://0x0.st/87lq.txt) ### General information: Information courtesy of cpufetch: SoC: NVIDIA Tegra Orin Technology: 8nm Microarchitecture: Cortex-A78AE Max Frequency: 1.728 GHz Cores: 6 cores Features: NEON,SHA1,SHA2,AES,CRC32 The CPU features 2 clusters of same core type: Tegra 35 rev Silicon A01, Nvidia Jetson Orin NX, Kernel: aarch64, Userland: arm64 CPU sysfs topology (clusters, cpufreq members, clockspeeds) cpufreq min max CPU cluster policy speed speed core type 0 0 0 115 1728 Cortex-A78AE / r0p1 1 0 0 115 1728 Cortex-A78AE / r0p1 2 0 0 115 1728 Cortex-A78AE / r0p1 3 0 0 115 1728 Cortex-A78AE / r0p1 4 1 4 115 1728 Cortex-A78AE / r0p1 5 1 4 115 1728 Cortex-A78AE / r0p1 7620 KB available RAM ### Governors/policies (performance vs. idle consumption): Original governor settings: cpufreq-policy0: schedutil / 1114 MHz (powersave ondemand userspace performance schedutil / 115 192 269 346 422 499 576 653 730 806 883 960 1037 1114 1190 1267 1344 1421 1498 1574 1651 1728) cpufreq-policy4: schedutil / 115 MHz (powersave ondemand userspace performance schedutil / 115 192 269 346 422 499 576 653 730 806 883 960 1037 1114 1190 1267 1344 1421 1498 1574 1651 1728) 15a50000.ofa: performance / 538 MHz (userspace tegra_wmark nvhost_podgov performance simple_ondemand / 115 128 141 154 166 179 192 205 218 230 243 256 269 282 294 307 320 333 346 358 371 384 397 410 422 435 448 461 474 486 499 512 525 538) 15340000.vic: performance / 435 MHz (userspace tegra_wmark nvhost_podgov performance simple_ondemand / 115 128 141 154 166 179 192 205 218 230 243 256 269 282 294 307 320 333 346 358 371 384 397 410 422 435) 15380000.nvjpg: performance / 499 MHz (userspace tegra_wmark nvhost_podgov performance simple_ondemand / 115 128 141 154 166 179 192 205 218 230 243 256 269 282 294 307 320 333 346 358 371 384 397 410 422 435 448 461 474 486 499) 15480000.nvdec: performance / 525 MHz (userspace tegra_wmark nvhost_podgov performance simple_ondemand / 115 128 141 154 166 179 192 205 218 230 243 256 269 282 294 307 320 333 346 358 371 384 397 410 422 435 448 461 474 486 499 512 525) 15540000.nvjpg: performance / 499 MHz (userspace tegra_wmark nvhost_podgov performance simple_ondemand / 115 128 141 154 166 179 192 205 218 230 243 256 269 282 294 307 320 333 346 358 371 384 397 410 422 435 448 461 474 486 499) 17000000.gpu: performance / 918 MHz (userspace tegra_wmark nvhost_podgov performance simple_ondemand / 306 408 510 612 714 816 918 1020) Tuned governor settings: cpufreq-policy0: performance / 1728 MHz cpufreq-policy4: performance / 1728 MHz 15a50000.ofa: performance / 538 MHz 15340000.vic: performance / 435 MHz 15380000.nvjpg: performance / 499 MHz 15480000.nvdec: performance / 525 MHz 15540000.nvjpg: performance / 499 MHz 17000000.gpu: performance / 918 MHz Status of performance related policies found below /sys: /sys/module/pcie_aspm/parameters/policy: default [performance] powersave powersupersave ### Clockspeeds (idle vs. heated up): Before at 46.4°C: cpu0-cpu3 (Cortex-A78AE): OPP: 1728, Measured: 1724 cpu4-cpu5 (Cortex-A78AE): OPP: 1728, Measured: 1724 After at 50.7°C: cpu0-cpu3 (Cortex-A78AE): OPP: 1728, Measured: 1725 cpu4-cpu5 (Cortex-A78AE): OPP: 1728, Measured: 1725 ### Performance baseline * cpu0 (Cortex-A78AE): memcpy: 6861.5 MB/s, memchr: 10045.8 MB/s, memset: 20414.3 MB/s * cpu4 (Cortex-A78AE): memcpy: 6916.3 MB/s, memchr: 9868.5 MB/s, memset: 20473.1 MB/s * cpu0 (Cortex-A78AE) 16M latency: 224.4 163.8 206.2 163.2 199.3 175.2 129.8 147.0 * cpu4 (Cortex-A78AE) 16M latency: 206.8 159.5 195.4 155.6 190.3 171.2 128.9 147.2 * cpu0 (Cortex-A78AE) 128M latency: 292.6 292.0 293.2 294.8 292.1 288.5 262.9 237.2 * cpu4 (Cortex-A78AE) 128M latency: 290.4 288.9 289.9 289.0 289.9 285.8 253.7 236.9 * 7-zip MIPS (3 consecutive runs): 14779, 14859, 14825 (14820 avg), single-threaded: 2379 * `aes-256-cbc 637441.10k 885772.91k 951931.65k 967357.10k 972936.53k 973597.35k (Cortex-A78AE)` * `aes-256-cbc 637271.62k 885940.31k 952617.81k 968131.24k 973335.21k 974061.57k (Cortex-A78AE)` ### PCIe and storage devices: * Intel I210 Gigabit Network Connection: Speed 2.5GT/s (ok), Width x1 (ok), driver in use: igb, ASPM Disabled * Intel I210 Gigabit Network Connection: Speed 2.5GT/s (ok), Width x1 (ok), driver in use: igb, ASPM Disabled * Intel I210 Gigabit Network Connection: Speed 2.5GT/s (ok), Width x1 (ok), driver in use: igb, ASPM Disabled * Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet: Speed 2.5GT/s (ok), Width x1 (ok), driver in use: r8168, ASPM Disabled * 238.5GB "Phison ESMP256GKB5G2-E13TI" SSD as /dev/nvme0: Speed 8GT/s (ok), Width x4 (ok), 0% worn out, drive temp: 54°C, ASPM Disabled * "ASMedia SATA 6Gb/s bridge" as /dev/sda: USB, Driver=usb-storage, 5Gbps (capable of 12Mbps, 480Mbps, 5Gbps) ### Swap configuration: * /dev/zram0: 635M (0K used, lzo-rle, 6 streams, 4K data, 74B compressed, 12K total) * /dev/zram1: 635M (0K used, lzo-rle, 6 streams, 4K data, 74B compressed, 12K total) * /dev/zram2: 635M (0K used, lzo-rle, 6 streams, 4K data, 74B compressed, 12K total) * /dev/zram3: 635M (0K used, lzo-rle, 6 streams, 4K data, 74B compressed, 12K total) * /dev/zram4: 635M (0K used, lzo-rle, 6 streams, 4K data, 74B compressed, 12K total) * /dev/zram5: 635M (0K used, lzo-rle, 6 streams, 4K data, 74B compressed, 12K total) ### Software versions: * Ubuntu 22.04.5 LTS (jammy) * Compiler: /usr/bin/gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 / aarch64-linux-gnu * OpenSSL 3.0.2, built on 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022) ### Kernel info: * `/proc/cmdline: root=/dev/nvme0n1p1 rw rootwait rootfstype=ext4 mminit_loglevel=4 console=ttyTCU0,115200 firmware_class.path=/etc/firmware fbcon=map:0 net.ifnames=0 nospectre_bhb video=efifb:off console=tty0 bl_prof_dataptr=2031616@0x271E10000 bl_prof_ro_ptr=65536@0x271E00000 ` * Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl * Vulnerability Spectre v1: Mitigation; __user pointer sanitization * Vulnerability Spectre v2: Mitigation; CSV2, but not BHB * Kernel 5.15.148-tegra / CONFIG_HZ=250 All known settings adjusted for performance. Device now ready for benchmarking. Once finished stop with [ctrl]-[c] to get info about throttling, frequency cap and too high background activity all potentially invalidating benchmark scores. All changes with storage and PCIe devices as well as suspicious dmesg contents will be reported too. Time big.LITTLE load %cpu %sys %usr %nice %io %irq Temp 12:15:38: 1728/1728MHz 4.54 36% 0% 35% 0% 0% 0% 48.4°C 12:16:38: 1728/1728MHz 1.67 0% 0% 0% 0% 0% 0% 46.9°C |
There was no throttling detected, and the ultra-quiet fan did its job perfectly, with the maximum temperature reported being 50.9°C in cpuminer.
The Jetson Orin Nano 8GB module achieved 14820 DMIPS in 7-zip. Let’s compare some of the results against other Arm platforms, namely the Raspberry Pi 5, a Rockchip RK3588 system like the Rock 5B, and Radxa’s Orion O6 mini-ITX motherboard.
In terms of memory bandwidth and multi-core performance, the NVIDIA Jetson Orin Nano is somewhat behind the Rockchip RK3588 octa-core SBC, and the CIX P1 Armv9 12-core CPU found on the Orion O6 is significantly faster, as one should expect.
Let’s evaluate web browser performance with Speedometer 2.0 on Chromium.

85.7 runs per minute (RPM) compares to 63.5 RPS on the Raspberry Pi 5, and 80.7 RPS on Khadas Edge 2 (RK3588S SBC). Note that this benchmark varies a lot on RK3588(S) targets depending on settings/optimization. I also ran Speedometer 3.0 (5.21 points) to have a reference point in the future since Speedometer 2.0 is now deprecated.

One of the main selling points of NVIDIA Jetson modules is their GPU, and the Jetson Orin Nano 8GB features an NVIDIA Ampere GPU with 1024 CUDA cores and 32 tensor cores.
To compare with other Arm platforms, I tried to run glmark2-es2-wayland, but I refused to run. Not exactly surprising, since the Ubuntu 22.04 OS on the board runs the X11 windowing system, instead of Wayland on most other boards running Ubuntu 24.04.
I could run glmark2-es2 without issues:
Results:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
devkit@devkit-aaeon:~$ glmark2-es2 ======================================================= glmark2 2021.02 ======================================================= OpenGL Information GL_VENDOR: NVIDIA Corporation GL_RENDERER: NVIDIA Tegra Orin (nvgpu)/integrated GL_VERSION: OpenGL ES 3.2 NVIDIA 540.4.0 ======================================================= [build] use-vbo=false: FPS: 2536 FrameTime: 0.394 ms [build] use-vbo=true: FPS: 2815 FrameTime: 0.355 ms [texture] texture-filter=nearest: FPS: 2982 FrameTime: 0.335 ms [texture] texture-filter=linear: FPS: 2500 FrameTime: 0.400 ms [texture] texture-filter=mipmap: FPS: 3222 FrameTime: 0.310 ms [shading] shading=gouraud: FPS: 3282 FrameTime: 0.305 ms [shading] shading=blinn-phong-inf: FPS: 3239 FrameTime: 0.309 ms [shading] shading=phong: FPS: 3144 FrameTime: 0.318 ms [shading] shading=cel: FPS: 3119 FrameTime: 0.321 ms [bump] bump-render=high-poly: FPS: 2936 FrameTime: 0.341 ms [bump] bump-render=normals: FPS: 3061 FrameTime: 0.327 ms [bump] bump-render=height: FPS: 2813 FrameTime: 0.355 ms [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 2963 FrameTime: 0.337 ms [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 1893 FrameTime: 0.528 ms [pulsar] light=false:quads=5:texture=false: FPS: 2730 FrameTime: 0.366 ms [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 1579 FrameTime: 0.633 ms [desktop] effect=shadow:windows=4: FPS: 2376 FrameTime: 0.421 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 924 FrameTime: 1.082 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 1057 FrameTime: 0.946 ms [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 1200 FrameTime: 0.833 ms [ideas] speed=duration: FPS: 2701 FrameTime: 0.370 ms [jellyfish] <default>: FPS: 2963 FrameTime: 0.337 ms [terrain] <default>: FPS: 398 FrameTime: 2.513 ms [shadow] <default>: FPS: 2834 FrameTime: 0.353 ms [refract] <default>: FPS: 801 FrameTime: 1.248 ms [conditionals] fragment-steps=0:vertex-steps=0: FPS: 2934 FrameTime: 0.341 ms [conditionals] fragment-steps=5:vertex-steps=0: FPS: 2801 FrameTime: 0.357 ms [conditionals] fragment-steps=0:vertex-steps=5: FPS: 2710 FrameTime: 0.369 ms [function] fragment-complexity=low:fragment-steps=5: FPS: 2709 FrameTime: 0.369 ms [function] fragment-complexity=medium:fragment-steps=5: FPS: 2712 FrameTime: 0.369 ms [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 2709 FrameTime: 0.369 ms [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 2732 FrameTime: 0.366 ms [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 2732 FrameTime: 0.366 ms ======================================================= glmark2 Score: 2488 ======================================================= |
2,488 points in glmark2-es2. I can compare this result with one RK3588 benchmark on Ubuntu 22.04: 1042 points on Mixtile Core 3588E SoM. All other results I could find rely on glmark2-es2-wayland, and the results can’t be compared at all.
NVIDIA Jetson modules stand out in the Arm world because they embed a full-featured GPU with support for OpenGL 4.6 rather than only OpenGL ES used in the GPU of most other Arm platforms. So we can run glmark2 benchmarks with full hardware acceleration too:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
devkit@devkit-aaeon:~$ glmark2 ======================================================= glmark2 2021.02 ======================================================= OpenGL Information GL_VENDOR: NVIDIA Corporation GL_RENDERER: NVIDIA Tegra Orin (nvgpu)/integrated GL_VERSION: 4.6.0 NVIDIA 540.4.0 ======================================================= [build] use-vbo=false: FPS: 2609 FrameTime: 0.383 ms [build] use-vbo=true: FPS: 3205 FrameTime: 0.312 ms [texture] texture-filter=nearest: FPS: 3187 FrameTime: 0.314 ms [texture] texture-filter=linear: FPS: 3026 FrameTime: 0.330 ms [texture] texture-filter=mipmap: FPS: 3061 FrameTime: 0.327 ms [shading] shading=gouraud: FPS: 2910 FrameTime: 0.344 ms [shading] shading=blinn-phong-inf: FPS: 3114 FrameTime: 0.321 ms [shading] shading=phong: FPS: 3222 FrameTime: 0.310 ms [shading] shading=cel: FPS: 3244 FrameTime: 0.308 ms [bump] bump-render=high-poly: FPS: 2584 FrameTime: 0.387 ms [bump] bump-render=normals: FPS: 2732 FrameTime: 0.366 ms [bump] bump-render=height: FPS: 2967 FrameTime: 0.337 ms [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 3009 FrameTime: 0.332 ms [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 2882 FrameTime: 0.347 ms [pulsar] light=false:quads=5:texture=false: FPS: 3090 FrameTime: 0.324 ms [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 1621 FrameTime: 0.617 ms [desktop] effect=shadow:windows=4: FPS: 2873 FrameTime: 0.348 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 929 FrameTime: 1.076 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 1056 FrameTime: 0.947 ms [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 1180 FrameTime: 0.847 ms [ideas] speed=duration: FPS: 2650 FrameTime: 0.377 ms [jellyfish] <default>: FPS: 2525 FrameTime: 0.396 ms [terrain] <default>: FPS: 381 FrameTime: 2.625 ms [shadow] <default>: FPS: 2434 FrameTime: 0.411 ms [refract] <default>: FPS: 813 FrameTime: 1.230 ms [conditionals] fragment-steps=0:vertex-steps=0: FPS: 2784 FrameTime: 0.359 ms [conditionals] fragment-steps=5:vertex-steps=0: FPS: 2701 FrameTime: 0.370 ms [conditionals] fragment-steps=0:vertex-steps=5: FPS: 2696 FrameTime: 0.371 ms [function] fragment-complexity=low:fragment-steps=5: FPS: 2673 FrameTime: 0.374 ms [function] fragment-complexity=medium:fragment-steps=5: FPS: 2793 FrameTime: 0.358 ms [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 3203 FrameTime: 0.312 ms [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 3220 FrameTime: 0.311 ms [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 3226 FrameTime: 0.310 ms ======================================================= glmark2 Score: 2563 ======================================================= |
For reference, I ran glmark2 on my laptop using the iGPU on an Intel Core i5-13500H Raptor Lake SoC and got 3571 points.
Another way to check how well GPU support is implemented is to run the WebGL Aquarium demo on Chromium.
6 FPS with 500 fish and 0% GPU utilization. This does not look good, and indeed, chrome://gpu confirms that OpenGL is disabled and graphics features rely on software rendering.
GPU acceleration/WebGL can be enabled on Chromium on the Jetson Orin Nano, but it requires rebuilding Chromium from source. I’ll skip that part as it’s out of scope of this review.
Storage and USB
Let’s now test the SSD that ships with the devkit:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
devkit@devkit-aaeon:~$ sudo iozone -e -I -a -s 1000M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Iozone: Performance Test of File I/O Version $Revision: 3.489 $ Compiled for 64 bit mode. Build: linux random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 1024000 4 89637 136565 119833 122728 53095 150623 1024000 16 321852 429414 161586 164400 155308 424638 1024000 512 1085746 1094057 1237206 1247081 1244750 1077841 1024000 1024 1089205 1096410 1583795 1572817 1542605 1086377 1024000 16384 1086247 1094949 2141807 2162296 2164180 1072043 iozone test complete. |
The SSD delivers 2.14 GB/s reads and 1.08 GB/s writes.
I also tested the six USB 3.0 ports with lsusb and iozone command line utilities using an ORICO M234C3-U4 M.2 NVMe SSD enclosure.
Example output for the top left port (USB #1) on the front panel:
|
1 2 3 4 5 6 7 |
devkit@devkit-aaeon:~$ lsusb -t | grep uas |__ Port 4: Dev 5, If 0, Class=Mass Storage, Driver=uas, 10000M devkit@devkit-aaeon:/media/sdb3$ sudo iozone -e -I -a -s 1000M -r 16384k -i 0 -i 1 random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 1024000 16384 931087 930868 946044 952009 |
Results from left to right for all six ports:
- USB #1 (top) – USB 3.0 – 10,000 Mbps – Read speed: 946 MB/s
- USB #2 (bottom) – USB 3.0 – 10,000 Mbps – Read speed: 940 MB/s
- USB #3 (top) – USB 3.0 – 10,000 Mbps – Read speed: 953 MB/s
- USB #4 (bottom) – USB 3.0 – 10,000 Mbps – Read speed: 953 MB/s
- USB #5 (top) – USB 3.0 – 10,000 Mbps – Read speed: 951 MB/s
- USB #6 (bottom) – USB 3.0 – 10,000 Mbps – Read speed: 951 MB/s
Everything works as advertised.
Networking
AAEON NV8600-Nano comes with four gigabit Ethernet ports, which I tested with iperf3 full-duplex (bidir option) using a Ubuntu 24.04 laptop.
- LAN1 – Rx: 938 Mbps; Tx: 744 Mbps
- LAN2 – Rx: 939 Mbps; Tx: 936 Mbps
- LAN3 – Rx: 938 Mbps; Tx: 937 Mbps
- LAN4 – Rx: 938 Mbps; Tx: 936 Mbps
LAN2-4 ports are each connected to an Intel I210 Gigabit Ethernet controller and work at optimal speed. LAN1 will be fine for most purposes, but avoid using it if you plan to have heavy bidirectional traffic there, and rely on one of the LAN2-4 ports instead.
GPIOs
I didn’t test GPIO directly due to time constraints, but they are there with three gpiochip devices:
|
1 2 3 4 |
devkit@devkit-aaeon:~$ ls -l /dev/gpiochip* crw-rw---- 1 root gpio 254, 0 jun 4 16:17 /dev/gpiochip0 crw-rw---- 1 root gpio 254, 1 jun 4 16:17 /dev/gpiochip1 crw-rw---- 1 root gpio 254, 2 aug 16 05:27 /dev/gpiochip2 |
I could also list them with gpioinfo:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
devkit@devkit-aaeon:~$ sudo apt install libgpiod-dev gpiod devkit@devkit-aaeon:~$ sudo gpioinfo 0 gpiochip0 - 164 lines: line 0: "PA.00" "regulator-vdd-3v3-sd" output active-high [used] line 1: "PA.01" unused input active-high line 2: "PA.02" unused input active-high line 3: "PA.03" unused input active-high line 4: "PA.04" unused input active-high ... line 160: "PAG.04" unused input active-high line 161: "PAG.05" unused input active-high line 162: "PAG.06" unused input active-high line 163: "PAG.07" unused input active-high devkit@devkit-aaeon:~$ sudo gpioinfo 1 gpiochip1 - 32 lines: line 0: "PAA.00" unused input active-high line 1: "PAA.01" unused input active-high line 2: "PAA.02" unused input active-high line 3: "PAA.03" unused input active-high line 4: "PAA.04" unused output active-high line 5: "PAA.05" "regulator-vdd-3v3-pcie" output active-high [used] .... line 28: "PEE.05" unused input active-high line 29: "PEE.06" unused input active-high line 30: "PEE.07" unused input active-high line 31: "PGG.00" unused input active-high devkit@devkit-aaeon:~$ sudo gpioinfo 2 gpiochip2 - 4 lines: line 0: unnamed kernel input active-high [used] line 1: unnamed kernel input active-high [used] line 2: unnamed kernel input active-high [used] line 3: unnamed kernel input active-high [used] |
You’ll find the pinout diagram for the 40-pin GPIO header, and all connectors on the board for that matter, in the user manual, where there are also some basic instructions explaining how to use the GPIOs.
AI testing – Network Optix Nx Meta
While it’s possible to test AI workloads using Jetson Platform Services from the JetPack 6.2 SDK on Jetson Orin hardware, the NV8600-Nano DevKit comes with Network Optix (Nx) Meta platform and NX AI Manager Plugin, which can help users get started faster and accelerate development using a USB camera. So that’s what I will use in this review.
Starting Chromium will automatically enter the Nx Meta dashboard. Let’s click the “Setup New System” button.

Now we’ll be asked to enter a system name (devkit-aaeon-cnx) and create a password in the next two windows.

The system is not ready for use, and we can log in to it with the admin user and our password.

The dashboard’s left menu features four main parts: System Administration, Cameras, Users, and Servers.

When I went to the “Cameras” section, there was already one camera. I thought it might have been a camera used by AAEON before they shipped the sample, but actually the system automatically detected my Reolink TrackMix PoE security camera because it supports the ONVIF standard. I can’t quite remember the password, but maybe I’ll try it later.

AAEON documentation provides further instructions to get started with Nx Meta. We first need to create an account on meta.nxvms.com.

Click the “Create Account” button on the website to create an account with your email. After that, download the Nx Meta client for your OS. I have a laptop running Ubuntu 24.04, so I was redirected to the “Ubuntu x64 – Client installer”, but it’s also available for Windows, Mac OS, Arm (NVIDIA Jetson, Qualcomm Laptop, Raspberry Pi…), and mobile devices running Android or iOS.
After installation, I could start the “Nx Meta” client program, and the devkit-aaeon-cnx server was automatically detected.

I clicked on it, and was asked to enter the credentials I created earlier in the web dashboard.

Then, I had to right-click on the server and select “Server Settings”.

The important part is to tick the box “before Autodetect built-in and USB webcams” and click OK.

The UP USB webcam I received with the kit is now detected. But we are not done just yet. Right-click on the camera and select Camera Settings.
Navigate to the Plugins section, and enable “NX AI Manager”.
At this point, the client complains that “This system is not registered to a cloud user. Add a cloud user through the System Administration”. That’s because I did not log in to the cloud. See the notifications section from previous screenshots, reading “Check out Cloud – Connect to your system from anywhere”. So I went back there, clicked the Connect link, and logged in using the credentials (email + password) from the cloud services I had just registered with.
That’s better. I can now install Nx CPU or ONNX-CUDA. I selected the latter to make use of the Jetson Orin GPU. This will automatically load the “80-Classes Object Detector [320×320]” pipeline, and you can configure it to select which type of objects to detect from the list.
We can now play… Click on Object Search, and rounded boxes will now show around known objects. A keyboard and two TV monitors were detected in the screenshot below, and you can also see screen captures for various objects on the right panel.
Let’s see what else the NX AI Plugin has to offer. In the Plugin tab, click “Manage Devices” and the Models section. If nothing shows up, click “All available models” or “Nx Demo Models”.
Three models are available:
- Face locator
- 80-Classes Object detector [320×320] – Currently selected
- 80-Classes Object detector [640×640]
So click on the Sites icon, select your server (devkit-aaeon0cnx), and you can now configure pipelines from there. I kept the 80-classes object detector, and selected “Add a new Pipeline”…
… before clicking “Added to usb_cam-FHD Camera: FHD Camera pipeline”.
Now there are two model pipelines assigned to the camera: the object detector and the face locator. We’ll leave “no postprocessor selected” as it is for now.
Face and object detection pipelines are working at the same time. The screenshot below shows the detection of two faces from the Face locator, two persons, and one teddy bear from the object detector.
Nx Meta allows for more complex tasks as well. Let’s go to Camera Rules to create an Analytics Event to count objects and overlay the results on top of the camera output in the client.
We also adjusted the Postprocessor as shown below, with Object counting enabled for the object detector, but not the Face locator. Other options include Illegal Dumping, Line Crossing, and Loitering Detection (standing somewhere for no obvious reason).
We held a few objects in front of the camera, and although not all were detected at the time of the screenshot, we can see the overlay on the bottom right with two persons, one bottle, a keyboard, and one cell phone (the cup).
At this point, I decided to connect my PoE security camera over ONVIF (after finding its password), and it worked too. I could assign the NX AI Manager Plugin to it and detect objects like cars, persons, and chairs. The PTZ function works too, and presets from the Reolink app (e.g., gate and porch) are accessible from the Nx Meta client. Pretty neat!
We also tried the Line Crossing postprocessor. I was confused at first, since I could not find where to draw the line, but it’s in the pipeline configuration window, and I just had to scroll down a bit. After everything was properly configured, it could detect line crossing and show results overlaid on the video.
However, it’s not practical to do that on a tracking camera, since the line is drawn at a fixed location in the window, and will not automatically stay there. The screenshot below better explains what I mean :).
Conclusion
AAEON NV8600-Nano AI developer kit is a solid NVIDIA Jetson Orin Nano development platform with support for multiple cameras through MIPI CSI (e.g., Raspberry Pi Camera Module 2), six USB 3.0 ports, and four gigabit Ethernet ports, as well as three M.2 sockets for expansion, one fitted with an NVMe SSD for this review. It’s essentially a NVIDIA Jetson Orin Nano Super Developer Kit with extra features.
Everything I tested just worked, except for a few details. First, GPU acceleration is not enabled in Chromium. Note that it’s the same for all Jetson modules using JetPack 6.2, and can be enabled by manually recompiling Chromium (not tested here). Then the GbE RJ45 port on the left attached directly to the NVIDIA Jetson Orin Nano module does not perform as well as the other three ports using Intel I210 controllers for bidirectional transfers, not that it would matter if you are just going to connect a camera to it.
The highlight of the review was the Network Optix Meta (Nx Meta) platform, which makes it easy to run AI workloads on USB or networked cameras. I could test the object detector and face locator models on the UP USB camera in a few minutes, and set up more complex scenarios to count objects in the frame. I did the same with an ONVIF-enabled Reolink TrackMix PoE camera and also configured a Line Crossing pipeline for it. While getting started with Nx Meta is relatively straightforward, I found the user interface to be not always intuitive, so I wasted some time navigating part of it.
I’d like to thank AAEON for sending the NV8600-Nano AI developer kit along with a USB 2.0 camera for review. The devkit can be purchased on the UP shop for $649 plus taxes (if any) and shipping, and the UP HD camera sells for $35. That’s quite more expensive than the NVIDIA Jetson Orin Nano Super Developer Kit, but it ships with extra accessories (256GB SSD with JetPack 6.2 SDK + Raspberry Pi Camera Module 2), offers extra features and ports, is designed to operate in the -25°C to 70°C temperature range, and availability may not be as restricted as for the low-cost devkit from NVIDIA.

Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress. We also use affiliate links in articles to earn commissions if you make a purchase after clicking on those links.
























