UP 7000 SBC review – Part 2: Ubuntu 22.04 on a fanless Intel N100 single board computer

The UP 7000 is a credit card-sized Alder Lake-N single board computer that can be used as an alternative to the Raspberry Pi 5 for industrial applications. AAEON sent me a model with an Intel Processor N100 CPU, 8GB LPDDR5, and a 64GB eMMC flash, and I went through an unboxing in the first part of the review, compared its mechanical design to the earlier UP 4000 and Raspberry Pi 5 SBC , and also installed Ubuntu 22.04 since the UP 7000 board did not come with any OS and would initially boot to the UEFI shell.

I’ve now spent more time with the board and I will report my experience with the UP 7000 SBC running Ubuntu 22.04 in this article checking out features, performance, video playback, power consumption, and so on using the UP 4000 review with Ubuntu 22.04 I did last year as a template plus some extra tests for the GPIOs.

UP 7000 Ubuntu 22.04 review

Ubuntu 22.04 System info

Let’s check out some of the UP 7000 system information after updating Ubuntu 22.04 with the latest packages:


So we have an Intel N100 quad-core processor clocked at 700 MHz / 3.4 GHz (Turbo) with 7.5GB RAM and a 56.61GB rootfs partition running Ubuntu 22.04.3 with Linux 6.2 as expected. The idle temperature is shown to the 54°C.

UP 7000 About Ubuntu 22.04

UP 7000 features testing on Ubuntu 22.04

I then tested most ports, skipping some headers I’m unable to test such as the 10-pin USB/UART wafer, to make sure the main hardware features of the UP 7000 board are all working normally on Ubuntu 22.04:

  • HDMI – Video OK, Audio OK
  • USB 3.0/2.0 ports – Tested with RF dongles for wireless mouse and keyboard, plus an ORICO NVMe SSD enclosure (836/927MB/s R/W speed, EXT-4)
  • Gigabit Ethernet – OK (iperf3 DL: 942 Mbps, UL: 941 Mbps, full-duplex: 939/937 Mbps)
  • RTC – OK
  • I/Os – See section below.

One test is gone from the UP 4000 SBC review: dual display setup, as the UP 7000 lacks the USB-C port found on the UP 4000 board, so it only supports up to one display up to 4Kp30 resolution. There’s no technical reason why the new board does not include this port, so it was a design decision possibly because few customers required this feature…

UP 7000 GPIO testing

Like all other UP boards, the UP 7000 comes with a 40-pin GPIO header mostly compatible with the Raspberry Pi GPIO header.

UP 7000 40-pin Raspberry Pi compatible GPIO header

The header for the UP 7000 supports GPIO, I2C, UART, SPI, PWM, ADC, and I2S interfaces. So while I’m not going to connect external hardware, I’ll make sure the drivers are up and running. The wiki has more information about GPIO control, and we’re told to install the pinctrl driver to enable all I/Os

GPIO check

We can check if GPIO chips are there as devices:


Userspace tools are another option:


A quick test I did was to turn on and off the green user LED on the board:


AAEON tells us interrupts are supported too and provides a test sample:


But that sample did not work for me:

UART interfaces

Let’s now check the UART interface. Two can be found in sysfs: /dev/ttyS4 and /dev/ttyS5


dw-apb-uart.8 is the UART on the 10-pin wafer and dw-apb-uart.9 is the one on the 40-pin GPIO header (Tx: pin 8 and Rx: pin 10). I had to navigate the sysfs a bit to find the port, and installing the BootTerm utility utility is an easier way to find the ports:

I2C interfaces and GPIO BIOS options

I2C is also supported and we have two I2C interfaces in sysfs:


We can install userspace I2C tools to list devices:


But there’s nothing on I2C-0 or I2C-1 as those are on the 40-pin GPIO header, and I don’t have an I2C module with me to play with.


But there are some devices attached to I2C-3 which must be an internal bus:


As a side note, all pins have multiple features with GPIO or special modes and the default behavior of those can be set in the BIOS, including for I2C. You can enter the BIOS by pressing the “Del” key and press enter when you are asked for a password.

UP 7000 BIOS Advanced

From there you can navigate to the Advanced menu, and select HAT Pins Configurations.

UP 7000 BIOS HAT Pins Configurations

From there you can enable/disable I2C, SPI, UART, or I2S controllers or ADC in order to select the default mode of each GPIO pin. If GPIO mode is selected for a specific pin you can decide whether it’s an input pin or an output pin set to high or low.

The documentation also mentioned an Engineering BIOS password (upassw0rd) that you can use when entering the BIOS to access even more options. The wiki says the I2C speed is selectable from 100 kHz to 3 MHz in the LPSS Configuration, but I could not find this option in the UP 7000 BIOS when I entered the BIOS “administrator” mode using the aforementioned password.

UP 7000 Administrator access BIOS

The CRB Setup is where most of the goodies are, although some new options also show up in the Advanced tab. The PCH-UI Configuration is only one small part of the CRB Setup options.

AAEON BIOS PCH IO Configuration

There’s a massive list of options, 90 percent of which I don’t understand, and most people should not enter the BIOS in administrator mode and especially change CRB settings since AAEON warns us it’s possible to brick the board when changing certain advanced BIOS parameters… You’d then need to reflash the BIOS with an SPI programmer…

SPI interfaces

Two SPI interfaces are exposed in user space thanks to the DKMS pinctrl driver we installed above:


We can use spi-tools in Ubuntu to read or set the configuration.

PWM control

We can see two PWM interfaces in sysfs:


The documentation says pwmchip0 is used with pwm0 on pin 32, pwm1 on pin 33, no pwm2, and pwm3 on pin 16. There’s nothing about pwmchip1.

When executed as root, the following commands are supposed to generate a 293 Hz square wave pulse on pin 32, with a duty cycle of around 50% on PWM0 pin:


But it failed for me with the second and fourth command exiting with an I/O error:


I see some others having issues with PWM, but that was three years ago and for a different problem. I’ll have to ask AAEON for a solution.

Enabling ADC

The wiki does not have anything about the ADC pin, but I noted some info in the forums for the original UP Board.


The ADC is supposed to be there but it’s empty. But if you remember when we accessed the HAT pin configurations in the BIOS in the I2C section of this review, ADC was disabled. So I went back to the BIOS to enable ADC on GPIO 3 (pin 7).

UP 7000 ADC pin

If we go back to Ubuntu 22.04, we can see the ADC interface is indeed enabled on the UP 7000 and accessible on sysfs:


We can use this to read the raw voltage:

UP 7000 benchmarks in Ubuntu 22.04

Let’s first run SBC-bench.sh script from Thomas Kaiser:


The test was done at an ambient temperature of around 28°C as winter decided to leave early this year. The highest CPU temperature recorded by the script was 99.0°C in CPU miner, and while throttling was not detected it appears to have occurred since the frequency dropped to as low as 1,800 MHz in CPU miner for short periods. The heatsink can be really hot (I had to wear gloves to touch it for more than one second), but it mostly means it’s doing its job.

Powercap was detected so let’s check the power limits as requested by the script:


PL1 set to 9.125W and PL2 to 25W.

We’ve done a side-by-side comparison chart below and for reference, the 7-zip score (12,890 points) is almost exactly twice the one for the UP 4000 and about 28 percent higher than with the Raspberry Pi 5, but Rockchip RK3588 SBCs like the Rock 5B or Khadas Edge2 Pro are still clearly ahead both in terms of memory bandwidth and 7-zip performance. Those results are also a bit lower than an actively cooled mini PC (Beelink EQ12) getting a little over 14,000 points.

SBC-bench.sh UP 7000 Raspberry Pi 4 5 RK3588 SBC
sbc-bench.sh results
AES-256 benchmarks SBC
AES-256 in Mh/s

The BIOS has performance settings, so I temporarily changed “AAEON Smart Boost” from “Smart Boost” to “Maximum Performance”. There’s also an option for Good Stability which may be suitable for higher ambient temperatures, but I should note I did not have any stability issues with either Smart Boost or Maximum Performance settings.

AAEON Smart Boost BIOS Maximum Performance

Once done, I ran sbc-bench.sh again:


Here’s the link to the full test results. Power limits info with both PL1 and PL2 set to 25W:


The performance is slightly higher, but note that the room temperature was around 26°C or about 2°C less than the first test. The rest of the review was done with the “Smart Boost” option.

We don’t often use the Phoronix test suite anymore since comparisons can be complicated due to evolving compiler flags and code, but since we used it with the UP 4000, we repeated the test with the UP 7000 again:


UP 7000 Phoronix Benchmarks

The UP 7000 is faster than the UP 4000 for all tests, and trades top results with the Rockchip RK3588S powered Khadas Edge2 Pro. You’ll find the full results on the openbenchmarking.org website.

Storage Performance

Storage performance is an important component of overall system performance, so I’ve used iozone3 to test the performance of the eMMC flash:


Around 309 MB/s and 227 MB/s sequential read and write speeds are excellent for an eMMC flash and a non-insignificant improvement over the UP 4000 (234/191 MB/s) and random I/O results look good too, and better than on the UP 4000.

3D Graphics Benchmark

I went with the usual Unigine Heaven Benchmark 4.0 to test 3D graphics performance in Linux.

UP 7000 3D Unigine Heaven Benchchmark 4.0 3D graphics

That would be 258 points or 10.2 average fps at 1920×1080 resolution. For reference, the Atom x7-E3950 based UP 4000 got 131 points and the Ryzen Embedded R1606G powered DFI GHF51 SBC achieved 135 points. So again, a pretty good improvement here.

Video Playback in YouTube and Kodi 19.4

I could play YouTube videos in Firefox at 1920×1080 60 fps with just a couple of frames dropped at the beginning,

YouTube 1080p60 Firefox Intel N100 fanless

but 4Kp60 is very choppy with many dropped frames.

YouTube 4K 60fps Firefox Intel N100 fanless

I switched to Chrome and I could play 1080p60 smoothly albeit with some frames dropped at the beginning and a few from time to time if I move the mouse,

YouTube 1080p60 Chrome UP 7000

and 2160p (4K) had many dropped frames and the loading icon was showing often despite the network buffer being close to full at all times.

YouTube 4K 60fps Chrome UP 7000 SBC

Switching to another 4K video at 30 fps yielded much better results with the video playing smoothly and only one frame dropped at the beginning.

YouTube 4K 30fps Chrome UP 7000 Ubuntu 22.04

All videos used the VP9 codec.

I connected a USB 3.0 hard drive to play some local 4K videos in Kodi 19.4.

  • HD.Club-4K-Chimei-inn-60mbps.mp4 (H.264, 30 fps) – OK
  • MHD_2013_2160p_ShowReel_R_9000f_24fps_RMN_QP23_10b.mkv (10-bit HEVC) – OK
  • BT.2020.20140602.ts (Rec.2020 compliant video; 36 Mbps; 59.97 Hz) – OK
  • big_buck_bunny_4k_H264_30fps.mp4 – OK
  • Fifa_WorldCup2014_Uruguay-Colombia_4K-x265.mp4 (4K, H.265, 60 fps) – OK
  • 暗流涌动-4K.mp4 (10-bit H.264; 120 Mbps) – Playing at an estimated 8-10 fps through software video decoding
  • tara-no9-vp9.webm (4K VP9 YouTube video @ 60 fps, Vorbis audio) – OK
  • The.Curvature.of.Earth.4K.60FPS-YT-UceRgEyfSsc.VP9.3840×2160.OPUS.160K.webm (4K VP9 @ 60 fps + opus audio) – OK, although the video froze for the first two seconds it played perfectly smoothly afterward.

All videos play with hardware video decoding and are smooth with low CPU usage (around 20% or less on all cores), except for the 4K 10-bit H.264 video that is played through software video decoding, and the processor is not quite powerful enough to reach ~24 fps.

Power Consumption

Finally, I measured power consumption with a wall meter:

  • Power off – 1.4 – 1.5 Watt
  • Idle – 4.2 – 4.3 Watts
  • Full HD 60 fps YouTube video in Firefox – 9.2 to 11.4 Watts
  • Full HD 60 fps YouTube video in Chrome – 7.3 to 10.1 Watts
  • Stress test with “stress -c 4” –  16.5 to 17 Watts

Note: An HDMI monitor, RF dongles for wireless keyboard and mouse, and an Ethernet cable were connected to the board and no other peripherals.

Conclusion

Just like the UP 4000 single board computer, the new Intel Processor N100-based UP 7000 SBC is a solid device with everything basically working out of the box in Ubuntu 22.04 with stable operation and about twice the performance of the earlier model. The new model however lacks the USB-C port from the UP 4000 meaning only single display setups are possible and I had some issues with the interrupt sample and PWM, but those may soon be fixed once I get feedback from the company. 4Kp60 YouTube video playback is not smooth with this CPU, although 4Kp30 and 1080p60 are fine, and 4Kp60 videos play fine in Kodi with hardware video decoding. In terms of performance, the UP 7000 offers something between a Raspberry Pi 5 and Rockchip RK3588 SBCs, although it will still outperform the latter in some of the tests.

Compared to Arm platforms, even the Raspberry Pi, you’ll get excellent Linux support, and the BIOS provides an amazing number of options, although I’m not sure what most of them are for… Support is fairly good with community support from the UP community that includes a forum and a wiki. Regular readers will be aware that we just tested the Youyeetoo X1 x86 SBC testing GPIO and other features in  Ubuntu 22.04, and it could offer a cheaper alternative to the UP 7000 SBC, but the AAEON provides higher performance and should be better suited to industrial use with a fanless design and long term longevity up to 2038.

I’d like to thank AAEON for sending the UP 7000 x86 SBC for review. The model tested here, with an Intel Processor N100, 8GB LPDDR5 RAM, and a 64GB eMMC flash, can be purchased for $251.99 with the 12V/5A power supply on the UP shop where you’ll also find accessories such as a USB 2.0 cable for the 10-pin wafer and OS installation services with Windows 10 IoT Enterprise 2021 ($47.99 with license) and Debian 12 ($17.99).

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
0 Comments
Khadas VIM4 SBC