Targeted at industrial, IoT, and automotive applications, the NXP i.MX 93 features a 64-bit dual-core Arm Cortex-A55 application processor running at up to 1.7GHz and a Cortex-M33 co-processor running at up to 250MHz. It integrates an Arm Ethos-U65 microNPU, providing up to 0.5TOPS of computing power, and supports EdgeLock secure enclave, NXP’s hardware-based security subsystem. The heterogeneous multicore processing architecture allows the device to run Linux on the main core and a real-time operating system on the Cortex-M33 core.
The processor is designed for cost-effective and energy-efficient machine learning applications. It supports LVDS, MIPI-DS, and parallel RGB display protocols for industrial and non-industrial uses. It is also compatible with Linux, FreeRTOS, Greenhills, QNX, and VxWorks.
MYC-LMX9X System-on-Module
MYIR Tech’s MYC-LMX9X system-on-module is one of the most compact NXP i.MX 93 modules, at only 37mm by 39mm. It comes with 1 or 2GB LPDDR4 RAM, 8GB of eMMC storage, 32Kbit EEPROM, and an onboard power management IC (PMIC). The 218-pin expansion interface offers several connectivity options, including 2x USB 2.0, 3x SD/SDIO 3.01, 2x Gigabit Ethernet, and 2x CAN-FD interfaces.
The MYC-LMX9X is bound for applications in sectors such as healthcare equipment, human-machine interfaces, motion control, EV charging stations, and engineering machinery. It supports the Linux 6.1 operating system. The system-on-module is currently available in two SKUs on MYIR’s website, priced at $43 and $49 respectively. The development board comes with a USB to TTL cable, a 12V/2A Power adapter, and a quick start guide, and is available for $105 and $115.
DART-MX93 “DART Pin2Pin” System-on-Module
Variscite’s DART-MX93 is the newest addition to its DART Pin2Pin family. It is described as a “rugged, cost-optimized solution for machine learning on edge devices for markets like industrial, IoT, smart devices, and wearables.” Carrier boards can be reused for all members of the DART Pin2Pin family, offering future-proofing and seamless scalability.
It measures 55 x 30mm – about half the size of a bank card – and integrates 2x camera interfaces (CSI2, ISI), 2x CAN bus, 2x GbE, audio in/out, 2x USB, Wi-Fi 6 dual-band 802.11 ax/ac/a/b/g/n with optional 802.15.4 and BT/BLE 5.3, in the industrial temperature grade of -40 to 85𝆩C. It supports Linux, Android, and FreeRTOS operating systems.
The DART-MX93 is currently only available to Variscite’s alpha customers in production quantities at $39 per unit and the public release is said to be “coming soon.” Evaluation kits are also available, including the scalable VAR-DT8MCustomBoard and an optional LVDS display with a touch panel. More information is available on the product page.
MCM-iMX93 System-on-Module
Compulab’s MCM-iMX93 system-on-module comes in a solderable QFN form factor and is the smallest module in this list, measuring only 30 x 30 x 3 mm and weighing 5g. The SoM’s compact form factor makes it suitable for portable and space-tight applications. It is also designed to be resistant to shocks and vibrations.
It offers up to 2GB LPDDR4 RAM and 64GB eMMC flash. It features 2x GbE ports, three display interfaces (DSI, LVDS, and RGB), an externally powered real-time clock, 2x SD/SDIO, 2x CAN, 2x USB 2.0, 8x UART, 4x ADC, 6x PWM, and up to 80x GPIO. It runs Yocto Linux, Debian Linux, and RTOS, and supports over-the-air updates via Mender.
The module is available from $32 for bulk orders and the evaluation kit is priced at a base price of $245. You can find more details and ordering information on the company’s website.
Linus Torvalds has just announced the release of Linux 6.9 on LKML:
So Thorsten is still reporting a few regression fixes that haven’t made it to me yet, but none of them look big or worrisome enough to delay the release for another week. We’ll have to backport them when they get resolved and hit upstream.
So 6.9 is now out, and last week has looked quite stable (and the whole release has felt pretty normal). Below is the shortlog for the last week, with the changes mostly being dominated by some driver updates (gpu and networking being the big ones, but “big” is still pretty small, and there’s various other driver noise in there too).
Outside of drivers, it’s some filesystem fixes (bcachefs still stands out, but ksmbd shows up too), some late selftest fixes, and some core networking fixes.
And I now have a more powerful arm64 machine (thanks to Ampere), so the last week I’ve been doing almost as many arm64 builds as I have x86-64, and that should obviously continue during the upcoming merge window too. The M2 laptop I have has been more of a “test builds weekly” rather than “continuously”.
Not that I really expect that to really show any issues – the laptop builds never did – but I feel happier having a bit more coverage.
Anyway, please keep testing, and obviously this means that tomorrow the merge window for 6.10 opens. I already have a few dozen pull requests pending, I appreciate the early birds,
Linus
Released about two months ago, Linux 6.8 brought us a new experimental Intel Xe drm driver that aims to replace the legacy i915 driver for new Intel GPUs, the ability for the zswap subsystem to force cold pages out to (real) swap when memory gets tight, rust support for the creation of network PHY drivers, better cache efficiency for networking thanks to the reorganization of data structures, and many more changes. Linux 6.8 also happens to be the default kernel in the just-released Ubuntu 24.04 OS.
Main changes in Linux 6.9
Some notable changes for the new Linux 6.9 kernel include:
Added support for Intel Flexible Return and Event Delivery (FRED) which aims to improve low-level event delivery and allows for simpler and more reliable code; See documentation commit for additional details
Added support for running AMD Secure Nested Paging (SNP) guests (see PDF documentation), part of AMD’s confidential-computing solution. However, full support requires KVM changes which have been deferred until Linux 6.10.
Mitigations for the latest x86 hardware vulnerability “Register File Data Sampling” (RFDS) impacting Intel Atom CPUs have been merged. More details may be found in this documentation commit.
Linux 6.9 can make use of GCC’s named address spaces feature to optimize access to per-CPU data.
Initial support for FUSE passthrough has been merged. This feature allows I/O to files served by a user-space FUSE server to be handled directly by the kernel resluting in significant performance increases under some conditions. The passthrough mode only supports privileged servers in Linux 6.9.
Linux 6.9 changelog for the Arm architecture
The Rust language is now supported on 64-bit Arm processors.
It is now possible to run 64-bit Arm CPUs in LPA2 mode, which sets up a 52-bit virtual address space.
Clock driver – Fix clock listing Oops on Amlogic axg
Amlogic T7 – GPIO and IRQ drivers
Amlogic ARM64 DT changes for Linux 6.9:
Add reset controller for Amlogic C3
Set initial rate for the NPU on Amlogic G12 SoCs
Set initial clocks for USB on Amlogic A1
Initialize Amlogic AXG SoC capacitance
Drop unstable remark on Amlogic Bindings
Add all Amlogic maintainers/reviewers on Amlogic SoCs bindings
Cleanups – T7 whitespaces, underscore in names
New device – Freebox Pop Player (IPTV Set-To-Box from Free French internet provider based on Amlogic Meson G12A S905X2)
Samsung
Extend Exynos PMU (Power Management Unit) driver being also the syscon to main system controller registers block, to support Google GS101. The Google GS101 has PMU registers protected and writing is available only via SMC. The Exynos PMU will register its own custom regmap for such case of mixed MMIO+SMC.
Rework Samsung watchdog driver to get the regmap to PMU block not via syscon API, but from the Exynos PMU driver. This is necessary for the watchdog driver to work on Google GS101.
DTS Arm changes for Linux 6.9
Disable thermal polling by Linux in Eynos5422 Odroid XU3 boards, because drivers implement proper dynamic trip points management.
Mark crosc-ec-spi in Peach Pi and Peach Pit as wake-up source, to reflect the hardware capabilities.
Samsung P4 Note (Exynos4412): add accelerometer.
Samsung Galaxy Tab (Exynos5420)
Reduce available RAM to avoid conflict with TrustZone.
Add WiFi on MMC.
Samsung DTS ARM64 changes
Mostly work around Google GS101 SoC and Pixel phone (Oriole) adding support for:
Multi Core Timer (MCT) clocksource.
Several clock controllers (DTS and DT bindings) and use new clocks in several other device nodes.
More serial-interface instances: USI8 and USI12 with I2C.
Exynos850 – SPI and DMA controllers (PL330).
Defconfig changes – N/A
New Devices – N/A
Qualcomm
PHY driver – Qualcomm X1E80100 PCIe phy support, SM8550 PCIe1 PHY, SC7180 UFS PHY and SDM630 USB-C support
WiFi
Qualcomm (ath11k):
Support 6 GHz station power modes: Low Power Indoor (LPI), Standard Power) SP and Very Low Power (VLP)
QCA6390 & WCN6855: support 2 concurrent station interfaces
QCA2066 support
Qualcomm (ath12k):
Refactoring in preparation for Multi-Link Operation (MLO) support
1024 Block Ack window size support
firmware-2.bin support
support having multiple identical PCI devices (firmware needs to have ATH12K_FW_FEATURE_MULTI_QRTR_ID)
QCN9274: support split-PHY devices
WCN7850: enable Power Save Mode in station mode
WCN7850: P2P support
ARM32 DTS updates
MSM8226 – SAW and ACC nodes are introduced to enable SMP support. Watchdog definition is also added, and all nodes are sorted and cleaned
up. rmtfs memory is defined on HTC One Mini 2, vibrator support is added to LG G Watch R, touch keycodes are defined for Samsung Galaxy Tab 4. The Samsung Galaxy Tab 4 DeviceTree is refactored to allow more variants to be introduced easily.
The SAW nodes across APQ8064, IPQ8064, MSM8960 and MSM8974 are updated based on recent work on the binding and driver.
IPQ8064 – SAW nodes are cleaned up, and unused reset-names is dropped from DWC3.
MSM8960 – GSBI3 and the I2C bus therein is introduced, in order to introduce touchscreen support on the Samsung Galaxy Express SGH-I437. gpio-keys are introduced on the same.
MSM8974 – The QFPROM register size is corrected. The order of the clocks in the SDX65 DWC3 node is corrected to match the binding.
The mach-qcom Kconfig options are cleaned up, to avoid unnecessary per-platform options.
Arm64 DTS updates for Linux 6.9
Snapdragon X Elite – Audio and compute remoteprocs, IPCC, PCIe, AOSS QMP, SMP2P, TCSR, USB, display, audio, and soundwire support is introduced, and enabled across the CRD and QCP devices.
SM8650 – PCIe controllers are moved to GIC-ITS and msi-map-mask is defined. Missing qlink-logging reserved-memory region is added for the modem remoteproc. FastRPC compute contexts are marked dma-coherent. Audio, USB Type-C and PM8010 support is introduced across MTP and QRD devices.
GPU cooling devices are hooked up across MSM8916, MSM8939, SC8180X, SDM630, SDM845, SM6115, SM8150, SM8250, SM8350, and SM8550.
UFS PHY clocks are corrected across MSM8996, MSM8998, SC8180X, SC8280XP, SDM845, SM6115, SM6125, SM8150, SM8250, SM8350, SM8550, and SM8650.
PCI MSI interrupts are wired up across SM8150, SM8250, SM8350, SM8450, SM8550, SM8650, SC7280, and SC8180X
IPQ6018 – QUP5 I2C, tsens sand thermal zones are defined.
The Inline Crypto Engine (ICE) is enabled for IPQ9574.
MSM8953 – The GPU and its IOMMU is introduced, the reset for the display subsystem is also wired up.
VLS CLAMP registers are specified for USB3 PHYs on MSM8998, QCM2290, and SM6115.
QRB4210 RB2 – USB Type-C port management is enabled.
SA8295P ADP – The MAX20411 regulator powering the GPU rails is introduced and the GPU is enabled. The first PCI instance on SA8540P Ride is disabled for now, as a fix for the interrupt storm produced here has not been presented.
SA8775P – The firmware memory map has changed and is updated. Safety IRQ is added to the Ethernet controller.
SC7180 – UFS support is introduced and the cros-ec-spi is marked as wakeup source.
SC7280 – Capacity and DPC properties are added, cryptobam definition is improved to work in more firmware environments, more Chrome-specific properties are moved out from main dtsi, and cros-ec-spi is maked as a wakeup source. Slimbus definition is added to the platform.
A missing reserved-memory range is added to Fairphone FP5, PMIC GLINK and Venus are enabled. LEDs are introduced and voltage settings corrected on the QCM6490 IDP, and RB3gen2 sees the same voltage changes and GCC protected clocks are introduced to make the board boot properly.
RPMh sleep stats and a variety of cleanups and fixes are introduced for SC8180X.
SC8280XP – The additional tsens instances are introduced. Camera Subsystem and Camera Control Interface (CCI) are added. PMIC die-temp vadc channels are introduced on the CRD, to allow ADC channels to be tied to the shared PMIC temp-alarms, to actually report temperature.
SDM630 – USB QMP PHY support is introduced and enabled on the Inforce IFC6560 board. On the various Sony Xperia XA2 variants WLED is enabled and configured.
SM6350 – Display subsystem interconnects and tsens-based thermal zones are added.
SM7125 – UFS support is added.
Fairphone FP4 (SM7225) – Display and GPU are enabled, and firmware paths are corrected.
SM8150 – PCIe controller definitions are corrected.
SM8550 – As with SM8650, the SM8550 the fastrpc compute contexts are marked dm-coherent, and PCIe controllers are moved to use GIC-ITS. The UFS controller frequency definition is moved to the generic opp-table. Touchscreen is enabled on the QRD device.
Variety of smaller cleanups and corrections to match DeviceTree bindings and style guidelines are introduced across the various files.
Arm64 defconfig updates
Enable the Qualcomm PBS driver to resolve the dependency from the Light Pulse Generator (LED-driver) on modern Qualcomm platforms. Enable the X1E multimedia clock controllers, to provide clocks for the various multimedia blocks. Enable Global clock controller and interconnect drivers for the QDU1000/QRU1000 platforms.
Enable the audio drivers and the Goodi Berlin touchscreen driver, used on SM8650 QRD.
Enable the MAX20411 regulator driver drive the GPU rail on SA8295P.
Mark the Qualcomm interconnect providers that feeds UART instances as builtin, to ensure the console exists when userspace is launched.
New devices and boards
Samsung Galaxy Tab 4 10.1 LTE
Four variants of Samsung Galaxy Core Prime and Grand Prime, built on MSM8916
SM8550 (Snapdragon 8 Gen 2) Hardware Development Kit (HDK)
MediaTek
Added support for Mediatek MT7981B (Filogic 820) and MT7988A (Filogic 880) networking SoCs designed to be used in wireless routers, and similar to the already supported MT7986A (Filogic 830).
PHY driver – Mediatek MT8365 CSI phy driver
DMA engine – Yaml conversion for MediaTek High-Speed controller binding
Add support for Sound to MediaTek MT6357 CODEC
mt76 wifi driver:
mt7915: newer ADIE version support
mt7925: radio temperature sensor support
Defconfig updates
Arm Devicetree updates for Linux 6.9
Adds more support for the MediaTek MT8186 SoC’s Video and JPEG encoders
Adds MT7988 clocks
Enables wakeup support for the CrOS EC on SPI in all MediaTek Chromebooks
Performs some cleanups and includes some spare fixes.
The Waveshare ESP32-S3-Matrix is a microcontroller development board designed for AIoT applications, featuring a larger 8×8 RGB LED matrix (64 LEDs) compared to the 5×5 GB LED matrix (25 LEDs) on the ESP32-C3 based C3FH4 RGB / PICO D4 RGB board. In addition to that the Waveshare board features 20 GPIO pins, along with an integrated QMI8658C attitude sensor (9-axis IMU sensor), making it ideal for robotics and motion control projects.
Like other waveshare boards, the company provides a detailed specification diagram, making it easy to identify every major component of the board. This diagram also works as a troubleshooting guide, as you can now quickly pinpoint any faulty components using the diagram as a reference.
The company also provides a pinout diagram making it easy for you to get started with the board or add other peripherals to the board.
Regarding software support, the board can be programmed with ESP-IDF, Arduino IDE, and MicroPython, which are available from their respective websites. Additional documentation, such as the pinout diagram, installation guide, live example images, and links for all the resources can be found on their wiki page.
Oak Development Technologies has recently announced Lattice FeatherWing – An iCE40-based development board designed to be controlled by Adafruit Feather. Previously we wrote about the IcyBlue Feather V2, a standalone development built around a Lattice Semi iCE5LP4K FPGA. But this FeatherWing board is designed to add functionality to your existing Adafruit Feather board.
The Lattice FeatherWing expands your Adafruit Feather with a Lattice iCE5LP4K FPGA. It connects and gets programmed over SPI so you can use all the FPGA’s GPIO pins through the header blocks. There’s also a built-in RGB LED directly connected to the FPGA’s open-drain pins, for visual feedback.
Integrates two hardware I2C and SPI blocks for enhanced functionality
Supported I/O Standards – LVCMOS33, LVCMOS25, and LVCMOS18
Communication Blocks
2x I2C hard blocks
2x SPI hard blocks
Indicators – RGB LED as status indication (24 mA Current Drive)
Clock Management
One Phase-Locked Loop (PLL) for advanced clock management
Multiple on-chip oscillators for standalone operation
GPIO – 47 Accessible GPIOs
Form Factor – Adafruit Feather form factor
Like the previous IcyBlue Feather V2 board, this board is also compatible with open-source tools like IceStorm and proprietary software from Lattice Semiconductor, such as the Diamond Programmer.
Other than that not much information is available, but the company says all the previous examples on their GitHub repos will be compatible with this board. At the time of writing no such schematics or design files for the board are available, but they should be available in the future. you can get your hands on this unique development board at Oak Development Technologies Tindie store priced at $24.95.
Today, We will review the Cytron Maker Uno RP2040 development board combining the Arduino UNO form factor with the Raspberry Pi RP2040 microcontroller that makes it programmable with the Arduino IDE (C/C++), Micropython, or CircuitPython.
The board is suitable for both beginners and advanced users with a convenient port layout that includes a “Maker” connector plus six Grove connectors for sensor modules and a header for four servos besides the Arduino UNO headers. The board offers two power options: USB (5V) via the USB-C connector or a single-cell LiPo/Li-Ion battery via the LiPo connector.
Cytron Maker Uno RP2040 specifications
SoC – Raspberry Pi RP2040 dual-core Arm Cortex-M0+ processor @ up to 133 MHz with 264 KB SRAM
Storage – 2MB flash
USB – USB-C port for power and programming
Expansion
Arduino UNO headers for shields
6x Grove Ports (Digital I/O, PWM Output, UART, I2C, Analog Input)
1x Maker port compatible with Qwiic, STEMMA/QT, and Grove module (the latter via conversion cable)
12-pin header for 4x servos
Misc
16x Status LEDs for GPIO
1x Piezo Buzzer with mute switch
User programmable keypad
Reset button
Boot button
2x RGB LEDs (WS2812)
Power Supply
5V via USB-C port
Single-cell LiPo connector with built-in overcharge/discharge protection circuitry
Dimensions – 60.96 x 9.40 cm (Arduino UNO form factor)
Unboxing of the Cytron Maker Uno RP2040 kit
The Maker Uno RP2040 can be purchased as a standalone board, but we requested a few modules to make the review more interesting and received everything in a single package.
Our kit includes the Maker Uno RP2040 itself, four Grove to jumper cables, a USB-A to USB-C cable, a soil moisture sensor with one Grove cable, an HC-SR04 ultrasonic sensor with a Grove cable, a SG90 micro servo with accessories, a 0.96-inch I2C OLED display (128×64 resolution), and four silicon rubber feet.
Here’s a closer look at the top of the board…
… and the bottom side with the Raspberry Pi RP2040 microcontroller and a white area to let students write their names.
All modules are well-known off-the-shelf parts so we won’t go into details this time.
Getting started with the Maker Uno RP2040 board using the Arduino IDE
As mentioned in the introduction, the Maker Uno RP2040 can be powered with either a USB Type-C cable (5V) or a single-cell Li-Po/Li-Ion battery (3.7V). In this review, we will use a USB Type-C cable for power and to program the board with a laptop running Windows 11.
The Maker Uno RP2040 supports Arduino, Micropython, and CircuitPython programming, but in this review, we will be focusing on the former. So the first step is to download and install the Arduino IDE for your operating system. We used the latest version available at the time of the review, namely Arduino IDE 2.3.2 for Windows.
Arduino IDE configuration
We’ll be mostly following Cytron’s tutorial to work with the Cytron Maker UNO RP2040 using the Arduino IDE. Three steps are needed for the initial configuration.
Add Maker Uno RP2040 to the Arduino IDE.
Go to File->Preferences menu, and add the URL “https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json” in the “Additional Boards Manager URLs”
Select OK and search for “Uno RP2040” to install the board package.
Once installed, you will find the Maker Uno RP2040 board in the Arduino IDE. Just select it from Tools > Board > Raspberry Pi Pico/RP2040 > Cytron Maker Uno RP2040 or in the drop-down menu.
Enter Bootloader mode by connecting the Maker Uno RP2040 to your laptop. Press and hold the BOOT button and press RESET (just one press!) and a new drive named RPI-RP2 will appear in the File Manager.
Select the board and COM port
Select the Maker Uno RP2040 board from Tools > Board > Raspberry Pi Pico/RP2040 > Cytron Maker Uno RP2040
Select the COM port by going to Tools > Port (the first time the COM port will be “UF2_Board”). After uploading the sketch, the board will reset and the COM port will appear under a name such as “COM12”. Now we are ready to start coding.
Blinking some LEDs
Make sure the correct board and COM port are selected in the Arduino and copy the following code to blink two LEDs every 500ms:
/*
DESCRIPTION:
This example code will use Maker Uno RP2040 to light up any of two onboard GPIOs LEDs alternately.
For this code, GPIOs LED for GPO and GP1 pin are selected.
Each LED will be blinking every each 0.5 second alternately.
AUTHOR : Cytron Technologies Sdn Bhd
WEBSITE : www.cytron.io
EMAIL : support@cytron.io
*/
// Pin assignments for LEDs
const int ledPin1 = 0;
const int ledPin2 = 1;
void setup() {
// initialize leds on GP0 and GP1 pins as output.
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
}
void loop() {
// led GP0 is light up for 0.5s then turned off.
digitalWrite(ledPin1, HIGH);
delay(500);
digitalWrite(ledPin1, LOW);
delay(500);
// led GP1 is light up for 0.5s then turned off.
digitalWrite(ledPin2, HIGH);
delay(500);
digitalWrite(ledPin2, LOW);
delay(500);
}
Select Verify to check the code compiles and then Upload the sketch to your Maker Uno RP2040 board.
Two LEDs should now be blinking on the board (connected to GP0 and GP1) alternating every 0.5 seconds. (Note GP2 is always on, and we can’t see GP1 clearly in the animated WebP file above but it’s blinking too).
Controlling the RGB LEDs
Here’s an Arduino sketch to cycle the colors of the two RGB LEDs on the board going to Red, Green, Blue, and off:
/*
DESCRIPTION:
This example code will use Maker Uno RP2040 to light up the on-board RGB leds.
The RGB LEDs will sequentially changing their colors individually.
AUTHOR : Cytron Technologies Sdn Bhd
WEBSITE : www.cytron.io
EMAIL : support@cytron.io
REFERENCE:
Adafruit_NeoPixel library link:
https://github.com/adafruit/Adafruit_NeoPixel/tree/master
*/
#include <Adafruit_NeoPixel.h>
// Declare pin number of the Neopixel LED and the number of the LED
const int neoPin = 25;
const int numPixels = 2;
// Initialize the NeoPixel RGB LEDs on pin GP25
Adafruit_NeoPixel pixels(numPixels, neoPin, NEO_GRB + NEO_KHZ800);
void setup() {
pixels.begin(); // Initialize NeoPixel library
pixels.clear(); // Set all pixel colors to 'off'
pixels.show(); // Send the updated pixel colors to the hardware.
}
void loop() {
// pixels.Color() takes RGB values, from 0,0,0 up to 255,255,255
// NeoPixels are numbered from 0 to (number of pixels - 1).
pixels.setPixelColor(0, pixels.Color(200, 0, 0)); // Red
pixels.setPixelColor(1, pixels.Color(200, 0, 200)); // Magenta
pixels.show(); // Send the updated pixel colors to the hardware.
delay(1000);
pixels.setPixelColor(0, pixels.Color(0, 200, 0)); // Green
pixels.setPixelColor(1, pixels.Color(200, 200, 0)); // Yellow
pixels.show(); // Send the updated pixel colors to the hardware.
delay(1000);
pixels.setPixelColor(0, pixels.Color(0, 0, 200)); // Blue
pixels.setPixelColor(1, pixels.Color(0, 200, 200)); // Cyan
pixels.show(); // Send the updated pixel colors to the hardware.
delay(1000);
pixels.setPixelColor(0, pixels.Color(0, 0, 0)); // Black (turn off the LED)
pixels.setPixelColor(1, pixels.Color(0, 0, 0)); // Black (turn off the LED)
pixels.show(); // Send the updated pixel colors to the hardware.
delay(1000);
}
Let’s now Upload the sketch to the maker Uno RP2040 board…
The RGB LEDs will change color and turn off in a loop as expected.
Controlling an LED with the user button
The Arduino sketch below turns on or off the LED connected to the GP1 pin when pressing the user button (GP2) on the Maker Uno RP2040 board:
/*
DESCRIPTION:
This example code will show how to use the User button on the Maker Uno RP2040 as an Input.
In this code, the button will be used to control an on-board LED.
If the button is pressed, the LED will light up for 0.5 second then turned off
AUTHOR : Cytron Technologies Sdn Bhd
WEBSITE : www.cytron.io
EMAIL : support@cytron.io
*/
// Declare pin assignments for LED and button.
const int ledPin1 = 8;
const int btn1 = 2;
void setup() {
// initialize leds GP8 pins as output and the user button GP2 as input
pinMode(ledPin1, OUTPUT);
pinMode(btn1, INPUT_PULLUP);
}
void loop() {
// check button 1 (GP2) is pressed
if (!digitalRead(btn1)) {
// led GP0 is light up for 0.5s then turned off.
digitalWrite(ledPin1, HIGH);
delay(500);
digitalWrite(ledPin1, LOW);
}
}
Buzzer testing
We’ll play some sound through the buzzer when pressing the user button (GP2) using this code:
/*
DESCRIPTION:
This example code will use the the buzzzer on the Maker Uno RP2040 to play the tones.
The User button also used in this code. Upon startup, a short melody will be played
and then the code will wait for the button press to play another set of short tones.
AUTHOR : Cytron Technologies Sdn Bhd
WEBSITE : www.cytron.io
EMAIL : support@cytron.io
*/
// Declare pin assigment for buzzer and button
const int buzzerPin = 8;
const int btn1 = 2;
// Create an array of the melody note frequency with its corresponding duration for each note
int melody_note[10] = {659, 659, 0, 659, 0, 523, 659, 0, 784, 0}; // [E5, E5, REST, E5, REST, C5, E5, REST, G5]
int melody_duration[10] = {150, 150, 150, 150, 150, 150, 150, 150, 200, 150};
void setup(){
// Initialize buzzer pin as output
pinMode(buzzerPin, OUTPUT);
// Initialize buttons
pinMode(btn1, INPUT_PULLUP);
// Play melody during start up
play_melody(buzzerPin);
}
void loop(){
// Check button 1 (GP2) is pressed
if (!digitalRead(btn1)) {
// Play tones
tone(buzzerPin,262,100);
delay(100);
tone(buzzerPin,659,100);
delay(100);
tone(buzzerPin,784,100);
delay(100);
noTone(buzzerPin);
}
}
void play_melody(int pin){
for(int i=0; i<10; i++){
if(melody_note[i] == 0){
noTone(pin);
}
else{
tone(pin, melody_note[i], 100);
}
delay(int(melody_duration[i]));
}
}
After uploading the sketch, we should hear a short snippet of Mario Bros theme melody each time we press the user button
Arduino sketch to control a micro servo from the Maker Uno RP2040
We’ve only tested hardware built-in on the Maker Uno RP2040 board so far, but we’ll now start testing expansion capabilities by connecting an S90 micro servo to the GP14, +, and – pins of the SERVO header.
The Arduino sketch below will rotate the four servos from 0 degrees to 180 degrees and back in an infinite loop:
/*
DESCRIPTION:
This example code will use Maker UNO RP2040 to control four servo motors connected to the onboard servo ports.
The servo motor will sweep from 0° to 180° with an increment of 1° every 10 milliseconds.
Then the servos moves back from 180 degrees to 0 degrees with a decrement of 1 degree every each 10 milliseconds.
AUTHOR : Cytron Technologies Sdn Bhd
WEBSITE : www.cytron.io
EMAIL : support@cytron.io
*/
// Include the servo library
#include <Servo.h>
// Create servo objects for each servos
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
void setup() {
// Attach each servo object to their corresponding pins
servo1.attach(14);
servo2.attach(15);
servo3.attach(16);
servo4.attach(17);
}
void loop() {
// Move the servos from 0 degress to 180 degrees with with an increment of 1 degree per step
for (int pos = 0; pos <= 180; pos += 1) {
servo1.write(pos); // Set Servo 1 position to 'pos' degrees
servo2.write(pos); // Set Servo 2 position to 'pos' degrees
servo3.write(pos); // Set Servo 3 position to 'pos' degrees
servo4.write(pos); // Set Servo 4 position to 'pos' degrees
delay(10); // Pause for 15 milliseconds to control the speed of servo movement
}
// Move the servos from 180 degress to 0 degrees with with a decrement of 1 degree per step
for (int pos = 200; pos >= 0; pos -= 1) {
servo1.write(pos); // Set Servo 1 position to 'pos' degrees
servo2.write(pos); // Set Servo 2 position to 'pos' degrees
servo3.write(pos); // Set Servo 3 position to 'pos' degrees
servo4.write(pos); // Set Servo 4 position to 'pos' degrees
delay(10); // Pause for 15 milliseconds to control the speed of servo movement
}
}
/*
NOTE:
This code is written for standard servo motors. If you are using 360 degree continous rotation servo,
the servo.write (pos) function behave differently than standard servo. It controls speed rather than position.
A value near 90 means no movement, 0 is full speed in one direction and 180 is full speed in other direction
*/
We only have one micro servo which we connected to GP14 (S1) and added a small flag for dramatic effect
The servo motor rotates smoothly from 0° to 180° in increments of 1° every 10 ms. When it reaches 180°, it reverses direction and moves back to 0° in increments of 1° every 10 ms.
Reading analog values from a soil moisture sensor
The Maker Uno RP2040 board comes with various Grove connectors with digital, analog, or I2C interfaces.
We’ll first test an analog connector (Grove 5) using a Maker soil moisture sensor to measure humidity in a glass of water.
There are dry, moist, and wet LEDS on the sensor module, but the following code will report the raw and voltage values from the A3 (GP29) pin in the serial monitor:
/*
DESCRIPTION:
This example code will use Maker Uno RP2040 to read the analog input from Maker Soil Module
and then show the result on serial monitor. This code also applicable to any analog sensor.
CONNECTION:
Grove 5 of Maker Uno RP2040 : Maker Soil Module
GP29 - OUT pin of the Maker Soil Module
AUTHOR : Cytron Technologies Sdn Bhd
WEBSITE : www.cytron.io
EMAIL : support@cytron.io
*/
int sensorPin = 29; // select the input pin for the potentiometer
int raw_value = 0;
float voltage_value = 0;
void setup() {
// declare the sensorPin as an OUTPUT:
pinMode(sensorPin, INPUT);
Serial.begin(9600);
// enable adc resolution to 12-bit (default 10-bit)
analogReadResolution(12);
}
void loop() {
// read the value from the sensor:
raw_value = analogRead(sensorPin);
// Convert the raw ADC value to voltage (3.3V is the board's voltage reference)
voltage_value = (raw_value * 3.3) / 4095;
Serial.print("Raw Value : ");
Serial.println(raw_value);
Serial.print("Voltage Value : ");
Serial.println(voltage_value);
Serial.println("---------------------------");
delay(1000);
}
Once the sketch is running, we can open the Serial Monitor to check out the values updates in a loop every 1 seconds.
Reading digital values from an HC-SR04 ultrasonic sensor
While only two of the Grove connectors support analog, any of the 6 Grove connectors and the Maker port can be configured to take a digital sensor. In this review, we will be using an HC-SR04 ultrasonic sensor module connected to pins 20 (ECHO signal), 21 (TRIG signal), and 3.3V and GND of the Grove 6 connector on the Maker Uno RP2040 board in order to measure the distance to the Cytron retail box.
Here’s the Arduino sketch to measure the distance and output the value in the serial monitor:
/*
DESCRIPTION:
This example code will use Maker UNO RP2040 with Ultrasonic Sensor HC-SR04P
to measure distance and then display the readings on serial monitor.
CONNECTION:
HC-SR04P - Grove 6 of Maker UNO RP2040
or
GP20 - Echo pin of HC-SR04P
GP21 - Trig pin of HC-SR04P
AUTHOR : Cytron Technologies Sdn Bhd
WEBSITE : www.cytron.io
EMAIL : support@cytron.io
REFERENCE:
Code adapted from www.HowToMechatronics.com:
https://howtomechatronics.com/tutorials/arduino/ultrasonic-sensor-hc-sr04/
*/
// defines pins numbers
const int echoPin = 20;
const int trigPin = 21;
// defines variables
long duration;
int distance;
void setup() {
pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
pinMode(echoPin, INPUT); // Sets the echoPin as an Input
Serial.begin(9600); // Starts the serial communication
}
void loop() {
// Clears the trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Sets the trigPin on HIGH state for 10 micro seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Measure the response from the echoPin
duration = pulseIn(echoPin, HIGH);
// Calculate the distance from duration value
// Use 343 metres per second as the speed of sound
distance = duration * 0.034 / 2;
// Prints the distance on the Serial Monitor
Serial.print("Distance : ");
Serial.print(distance);
Serial.println(" cm");
delay(100);
}
Let’s upload the code to the board and move the box at different distances from the package.
The distance will be shown in the serial monitor in centimeters.
Connecting an I2C OLED module to the Maker Uno RP2040.
We’ve already tested analog input and digital I/O interface, and we’ll now switch to I2C using the small SSD1315 OLED display provided in our kit connected to the Grove 6 I2C connector.
Here’s a simple Arduino sketch to write some messages on the OLED module:
/*
DESCRIPTION:
This example code will demonstrate how to use Maker UNO RP2040 with OLED Display SSD1315 to display text.
CONNECTION:
Grove 6 of Maker UNO RP2040 - OLED Display SSD1315 Grove
GP20 - SDA
GP21 - SCL
AUTHOR : Cytron Technologies Sdn Bhd
WEBSITE : www.cytron.io
EMAIL : support@cytron.io
REFERENCE:
Code adapted from:
https://wiki.seeedstudio.com/Grove-OLED-Display-0.96-SSD1315/
*/
#include <Arduino.h>
#include <U8g2lib.h>
#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#endif
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock(SCL)*/ SCL, /*data(SDA)*/ SDA, /* reset=*/ U8X8_PIN_NONE);
void setup(void) {
u8g2.begin();
}
void loop(void) {
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_ncenB08_tr);
// Adjusted coordinates for better positioning
u8g2.drawStr(5, 15, "Hello");
u8g2.drawStr(5, 30, "Cnx-Software");
u8g2.sendBuffer();
delay(1000);
}
The first time we tried to compile the code it ended up in failure due to u8g2lib.h file missing.
That’s because we’ve yet to install the U8g2 graphics library. It can be installed by going to Tools->Manage Libraries and searching for u8g2.
After loading the code to the board, the display would still stay dark. We eventually tried another similar display OLED module (also 0x7B I2C address) and the text was shown properly.
In this review of the Maker Uno RP2040 board with the Arduino IDE we could blink LEDs, control RGB LED lights, press the user button to turn on one LED or make the buzzer output some melody, control a micro servo, read sensor values from a soil moisture sensor (analog) and an ultrasonic sensor (digital I/O), as well as display text to an I2C OLED module.
All that could be done relatively easily thanks to tutorials by Cytron that are fairly easy to follow even for a beginner. The board is suitable for STEM education with built-in LEDs, RGB LEDs, a buzzer, and expansion capabilities through Arduino headers and Grove and Maker connectors.
We’d like to thank Cytron for sending us the Maker Uno RP2040 kit for review. The Maker Uno RP2040 board can be purchased for $14.90 with some local distributors in Europe, India, Japan, and Egypt. They don’t sell the kit we’ve received directly, but you’ll find the Maker soil moisture sensor, HC-SR04 ultrasonic sensor, SG90 micro Servo, and 0.96-inch I2C OLED display on the company’s online store.
CNXSoft: This review is a translation of the original tutorial on CNX Software Thailand by Suthinee Kerdkaew. Note that Suthinee has limited experience with this type of hardware, having only reviewed the Cytron Maker Nano RP2040 kit with CircuitPython two years ago and no formal IT education. I just gave her the kit and link to Cytron tutorial, and said “Good luck”. I ended up providing some very limited support (maybe 5 to 10 minutes of my time) for some blocking issues, but as a relative beginner, she mostly managed to complete the review on her own.
I’ve just received a kit comprised of an ODROID-H4+ SBC along with a Type 3 enclosure taking up to four 2.5-inch SATA drives and related accessories for review. I’ll start with an unboxing, followed by an assembly guide, and a quick first boot in the first part of the review, before testing performance, features such as IBECC memory, power consumption, and more in the second part of the review.
ODROID-H4+ kit unboxing
The package I received included small packages for the “H4 Type 3” enclosure and the ODROID-H4 PLUS SBC, a 15V/4A (60W) power supply with US plug adapter, a large fan with screws, as well as four sets of SATA data and power cables.
We’ve already provided the ODROID-H4, H4+, and H4 Ultra specifications in the announcement post, but let’s have another quick look at the Intel Processor N97 fanless SBC. The rear panel comes with a DC jack, two 2.5GbE RJ45 ports, two USB 2.0 ports, two USB 3.0 ports, three video outputs (1x HDMI and 2x DisplayPort), and an audio combo hack with audio input, audio output, and optical S/PDIF.
The other side of the board comes with four SATA data ports, four SATA power connectors, the power and reset buttons, and an RTC backup battery (not included by default).
The ODROID-H4+ SBC will not come with RAM by default, but since I don’t have any spare one, I asked Hardkernel to send the review sample with memory, and they told me they added a “32GB Samsung DDR5” memory… The bottom side also features an M.2 NVMe socket and I’ll add my own SSD during the assembly.
The H4 Type 3 enclosure comes as a kit with PCB-like parts, plastic standoffs, a few screws, and four rubber feet.
ODROID-H4 Type 3 case assembly instructions
The only assembly instructions I could find were a YouTube video… If like me, you’re not a big fan of video instructions with having to pause and rewind the video frequently, I’ll go through the main assembly steps below.
We’ll start by attaching the fan to the top cover with four of the five screws that ship with the fan. Make sure the fan is orientated as shown in the photo above. Hardkernel recommends the use of an electric screwdriver. I didn’t have any on hand, so I did that manually
The next step is to mount the SATA drives to the two brackets. I only have three 2.5-inch drives (2x HDD and 1x SSD), but there’s room for four. The main point is to pay attention to the orientation of the drives. Somehow I struggled to fully tighten the two screws at the front part of the SSD, maybe the threads are damaged on my drive after being used in so many reviews…
We can now work on the ODROID-H4+ SBC. I started by installing a 128GB MAKERDISK NVMe SSD, as once the kit is assembled, it will be a pain to install or replace the memory or storage (See photo below). I also mounted four long standoffs with female threads to four short standoffs with female and male threads through the four mounting holes of the board.
Time to install the middle plate and secure it with long female/make standoffs before clipping the SATA drive brackets on top.
At this stage, we can install the bottom plate and secure it with four screws. It might also be a good time to stick the four rubber feet on the white circles, although I did not do it at this step of the assembly myself.
Now place the kit on its side, and connect the power and data cables between the drives and the ODROID-H4+ board making sure to pass the cables through the large opening of the middle plate, and not around it (one mistake I made the first time).
The H4 Type 3 enclosure is designed to work with all ODROID-H4 boards including the variant with only one RJ45 port, so we’ll need to cut off the bit covering one of the RJ45 ports on the rear plate to access the two Ethernet ports on the ODROID-H4+. We can now insert all sides in the small opening of the bottom plate, and connect the fan to the connector on the SBC as shown in the photo above.
The final step is to push all side panels and insert the top cover on top before securing it with four more screws. The results can be seen above with the ODROID-H4+ with Type 3 case on the left, and the ODROID-H2+ with Type 3 Case on the right. The new design is sturdier but also bigger because it’s designed to take the Net Card with four 2.5 GbE ports. You’ll see another detachable panel under the USB and HDMI ports for this purpose.
Another improvement over the Type 3 case for the ODROID-H2 is much easier access to the Reset and Power buttons thanks to an opening. A round opening is still there for people wanting to add a large power button. It took me about one hour to complete the assembly including taking photos for the review. I estimate it would have taken around 45 minutes otherwise.
ODROID-H4+ first boot
Time to give it a try. I’ve connected the ODROID-H4+ to an HDMI display (CrowView laptop monitor), two RF dongles for a wireless mouse and a wireless keyboard, and an Ethernet cable to one of the 2.5GbE ports. I finally connected the 60W power supply and pressed the power button.
I could immediately see the Hardkernel logo on the monitor, and the boot quickly ended up in Grub which should not be surprising since the system did not ship with storage (except for the 128Mbit SPI flash). I’ll have to install Ubuntu 24.04 on the M.2 NVMe SSD I installed in the kit. Important note: according to the Wiki, the first boot may take 3 minutes after you install the RAM, but mine already came equipped with RAM so the “RAM timing check” part was already done.
The power consumption is around 16.1 Watts at this stage, so I might have to take the ODROID-H4+ SBC out of its enclosure for further power consumption tests and fanless benchmarks parts of the review.
That will be all for today. I’d like to thank Hardkernel for sending the ODROID-H4+ kit for review. Readers can reproduce this exact setup with the following items:
15V/4A power adapter – $9.40 as an option when ordering the board. Note a 19V~20V laptop power supply would also work. Just make sure to check the polarity.
SATA data and power cables – $3 per set, or $12 in total
Samsung 32GB DDR5-5600 SO-DIMM – $95 on Hardkernel. Not a bad deal when we compare the price to the Samsung 32GB DDR5-5600 memory sticks sold on Amazon. CRUCIAL ones are a little cheaper
That would be $278.90 plus shipping in total to which you’d have to add an M.2 SSD for the OS (unless you’re fine running the OS from one of the SATA drives) and a few SATA drives.
Banana Pi BPI-F3 single board computer (SBC) is powered by the same SpacemiIT K1 octa-core 64-bit RISC-V SoC with 2TOP AI accelerator found in the upcoming Muse Book RISC-V laptop.
The board comes with up to 4GB RAM and 16GB eMMC flash, supports NVMe or SATA storage via its M.2 socket, is equipped with HDMI and MIPI DSI display interfaces, two MPI CSI camera interfaces, two gigabit Ethernet ports, a WiFi 5 and Bluetooth 4.2 module, and can also take a PCIe module for 4G LTE cellular connectivity. Other features include four USB 3.0 Type-C ports, a microSD card slot, a 26-pin GPIO header, and optional support for PoE.
Power Supply – 12V/3A via DC jack or USB Type-C port (strangely placed at opposite corners of the board)
Dimensions – 148×100 mm
Weight – 200 grams
Banana Pi provides a Linux BSP with pi-opensbi RISC-V Open Source Supervisor Binary Interface, U-boot 2022.10, Linux 6.1.15, and an Armbian 24.04 build script. “Bianbu” NAS/Desktop images based on the Debian distribution and optimized to run on the SpacemiT K1 SoC can also be downloaded directly as well as unofficial Armbian images based on Ubuntu 24.04 Noble, Ubuntu 24.11 Mantic, or Ubuntu 22.04 Jammy.
You’ll find all these resources, PDF schematics, and DXF files on the documentation website which looks better than before (aesthetically speaking), but don’t worry, it still has a few errors here and there as per the long-established tradition for Banana Pi boards. Banana Pi says the BPI-F3 SBC – and the SpacemiT K1 SoC in general – can be used for NAS, laptops, smart robotics, industrial control, edge AI computing, and more.
Banana Pi sells the 4GB/16GB variants of the BPI-F3 single board computer on Aliexpress for $73.69 plus shipping, and the 2GB/8GB model is listed for $63.16 but is currently out of stock. The RISC-V SBC can also be found on Amazon for $89 (4GB/16GB model). The BPI-F3 will be a cheaper platform for evaluation than the complete Muse Book laptop since the software maturity of the RISC-V ecosystem is still something to consider although it has progressed a lot in recent years.
Banana Pi uploaded a few videos on YouTube showing the SBC in action, including the one below with nine Full HD videos playing simultaneously while drawing about 12 Watts of power.
XGO-Rider is a two-wheel self-balancing robot with an ESP32 controller for motor and servo control, USB-C charging, etc… and a choice between a Raspberry Pi CM4 module or a BBC Micro:bit board for display, audio, and camera (CM4-only).
Raspberry Pi CM4 with 2GB RAM + ESP32 for main control, USB-C charging port, DIP switch
BBC Micro:bit V2 + ESP32 for main control, USB-C charging port, DIP switch
Raspberry Pi CM4 model (XGO-Rider)
Display – 2-inch color TFT screen
Camera – 5MP camera based on OV5647 sensor
Audio
Dual MEMS digital microphone
8 Ohm/3W chambered speaker
micro:bit XGO-Rider
Display – 5×5 LED matrix
Capacitive touch logo
Audio
Onboard MEMS microphone
8 Ohm/3W chambered speaker
Hub motor – 8.4V magnetic encoded outer rotor brushless motor; rated torque: 0.1N.m
Servo motor – 6V 4.5Kg.cm metal shell steel gear with 360˜ magnetic encoded dual-axis serial servo motor
Battery – 1200mAh 18500 2S battery good for up to 2 hours under mixed conditions
Dimensions – 135 x 118 x 116 to 158mm
Weight – About 600 grams
Materials – 1mm aluminum alloy, PC, carbon fiber
The Raspberry Pi CM4 version of the robot supports programming with Python, Blockly, and ROS, and can run various AI computer vision workloads such as Gesture Recognition, Face Detection, Skeleton Recognition, and more, as well as ChatGPT. The micro:bit XGO-Rider was developed in collaboration with ELECFREAKS to support MakeCode/MicroBlocks visual programming IDE which is especially suited to children’s STEM education.
The company points to its GitHub account for more details, but I don’t see anything specific to the new XGO-Rider at this time. Backers and users will also be able to get supported through a dedicated Facebook group. Watch the video below to better understand some of the capabilities of the self-balancing “AI” robot.
Luwu Intelligence has launched the XGO-Rider self-balancing robot on Kickstarter with an 80,000 HKD ($10850 US) funding goal that has already been reached. “Super Early Bird” rewards start at about $250 US for the micro:bit XGO-Rider, and around $300 for the CM4-powered XGO-Rider. Shipping adds from $10 to China up to $40 to most of the world, and backers should expect their perks to ship in August if everything goes according to plans.
SONOFF Micro Zibgee USB Smart adapter, or SONOFF ZBMicro for shorts, is a Zigbee 3.0 USB adaptor to remotely control USB devices via your smartphone app or home automation solution based on Home Assistant or other solution to turn on/off the device, set timers to control charging times, configure smart scenes, or control with voice commands.
The new home automation device from ITEAD is based on a Silicon Labs EFR32MG21 multiprotocol SoC, works with the usual eWelink app, as well as Home Assitant and OpenHAB open-source solutions when the server is fitted with a compatible Zigbee 3.0 USB dongle
MCU core – Arm Cortex-M33 microcontroller @ 80 MHz
Memory – 96KB SRAM
Storage – 352KB flash, 1024KB ROM for protocols and library functions
Wireless – Zigbee 3.0
USB – USB 2.0 Type-A port
Misc
User Button – single press: Turn on/off the smart device; Press and hold for 5 seconds: the device enters the pairing mode.
Network LED indicator (Green) – Steady on: Normal connection with the gateway; slow flash: the device is in pairing mode; fast flash: abnormal connection with the gateway
The SONOFF ZBMicro requires a Zigbee 3.0 hub such as the SONOFF iHost, SONOFF NSPanel Pro, Echo Plus 2nd, Philips Hue, or SmartThings hub V3… It works with the eWelink mobile app, but it is also compatible with open-source automation platforms such as Home Assistant with Zigbee2MQTT integration and openHAB as long as those are fitted with a compatible Zigbee Dongle such as the SONOFF ZBDongle-E or the SkyConnect USB stick. ITEAD also explains the ZBMicro can work as a Zigbee router to extend the range of your Smart Home Zigbee network. A user manual is available but with limited information.
ITEAD sells the SONOFF ZBMicro for $12.99 plus shipping, but as usual, you can get a 10% discount when using the coupon code CNXSOFTSONOFF, and orders over $89 get free shipping. Paisit will soon get a sample along with the upcoming ZBbridge-U “Zigbee Bridge Ultra and Matter Bridge” supporting up to 256 Zigbee sub-devices, so you can expect a review within the next few weeks on CNX Software.
Sipeed MaixCAM is an AI camera based on SOPHGO SG2002 RISC-V (and Arm, and 8051) SoC with a 1 TOPS NPU that takes up to 5MP camera modules and comes with a 2.3-inch color touchscreen display.
The development kit also comes with WiFi 6 and BLE 5.4 connectivity, optional Ethernet, audio input and output ports, a USB Type-C port, and two 14-pin GPIO headers for expansion that makes it suitable for a range of computer vision, Smart audio, and AIoT applications.
1 GHz RISC-V C906 processor or Arm Cortex-A53 core (selectable at boot) running Linux
700 MHz RISC-V C906 core running an RTOS
25 to 300 MHz low-power 8051 processor
NPU – 1 TOPS @ INT8 with support for models such as Mobilenetv2, YOLOv5, YOLOv8, etc…
Video Codec – H.264, H.265, MJPEG hardware encoding and decoding up to 2K @ 30fps
Memory – 256MB DDR3
Storage
MicroSD card slot (bootable)
SD NAND flash (bootable)
Display – 2.3-inch IPS capacitive touchscreen display with 552×368 resolution; connected through a 31-pin, 2-lane MIPI DSI connector and a 6-pin capacitive touch connector
Camera I/F – 4-lane MIPI CSI input via 22-pin connector for up to 5MP cameras. Supports 4MP GC4653 and OS04A10 cameras out of the box
Audio Output – On-board power amplifier for 1W speakers via headers
Mechanical – 3D printed enclosure, two threaded holes
The MaixCAM builds on the company’s board based in LicheeRV-Nano board powered by the SG2002 SoC and all software for the board can run on the camera including the Debian and Qt-based Linux images. Willy – a regular CNX Software reader and commenter – tried one of those two months ago, but was rather unimpressed with usability (e.g. no SSH) and the delta compared to the latest Linux 5.10, and ended up rebasing the code to Linux 5.10.251. There’s a very large number of changes (about 25,000), and the git pull request has yet to be processed by SOPHGO.
There’s also software specific to the Sipeed MaixCAM which we are told won’t work on the LicheeRV-Nano or other SG2002 boards which are better suited for Linux development:
MaixPy – Python development package with an API optimized for MaixCAM that supports hardware acceleration
MaixVision – AI Vision IDE for programming, running code, real-time image preview, and even block-based programming
MaixCDK – C++ version of MaixPy
You’ll find all three along with other technical details in the wiki. To make things even easier, Sipeed provides the MaixHub with a list of pre-trained AI models that can be directly uploaded to the MaixCAM hardware. Example apps include a simple HTTP streamer, face detection, fire detection, and a few others, as the list is not super long right now. You can also access those by tapping on the “App Store” button in the user interface on the 2.3-inch display.
Sipeed has started selling the MaxiCAM RISC-V AI camera on Aliexpress for about $40 for a kit with a 4MP camera and accessories.
WCH CH32V006 RISC-V microcontroller is an upgrade to the 10-cent CH32V003 microcontroller with more I/Os, up to four times the memory, storage, a wider supply voltage range, the addition of a TouchKey interface, as well as a new 32-bit V2C RISC-V core instead of the V2A core found in the CH32V003.
More specifically that means we went from the CH32V003 with 2KB SRAM and 8KB flash, up to 8KB SRAM and 62KB for the CH32V006, and 6KB SRAM and 32KB flash for the CH32V005, a smaller sibling of the new RISC-V microcontroller.
WCH CH32V005 & CH32V006 specifications (with highlights in bold to show differences against CH32V003):
CPU – 32-bit “RISC-V2C” core up to 48 MHz
Memory – 6KB SRAM (CH32V005) or 8KB SRAM (CH32V006)
Storage – 32KB flash (CH32V005) or 62KB flash (CH32V006)
Peripherals
Up to 31x GPIO with interrupt support (CH32V003 had up to 18x GPIO)
2x USART interfaces
1x I2C
1x SPI
12-bit ADC up to 8 channels; TouchKey interface (CH32V006 only)
1-wire or 2-wire debug interface
Operational amplifier (OPA)
General purpose DMA controller
Timers
16-bit advanced timer
16-bit general-purpose timer
16-bit “simplified” (精简) timer (CH32V006 only)
2x watchdog timers
32-bit system timer
Misc – 96-bit chip unique ID
Supply voltage – 2V to 5V (CH32V002 was 3.3V or 5V)
Low power modes – Sleep, standby
Power on Reset (POR), programmable voltage detector
Packages
CH32V005 – QFN12, QFN20, QSOP24
CH32V006 – TSSOP20, QFN20, QSOP24, QFN32
We can see some packages are the same as the CH32V003, but they may not be pin-compatible considering the extra interfaces. There’s no product page just yet and the datasheet is not available. The new CH32V005/6 microcontroller showed up in the product guide (PDF) and Patrick Yang, CTO at WCH, tweeted (X’ed?) about the upcoming CH32V006 MCU providing a few extra details and offering free samples to those interested. More information and documentation should surface once the new MCUs get closer to mass production.
Ludwik Leibler a Polish-born French physicist and his team from the Laboratoire Matière Molle et Chimie at ESPCI ParisTech created a new class of plastics known as “vitrimers” and material researchers at the University of Washington (UW) have leveraged the new plastics to develop a recyclable PCB (printed circuit board) known as “Vitrimers PCB” (vPCB) that can be recycled many times over.
The team tested their vPCB for strength and electrical properties and found that they are very similar to standard FR-4 PCB material. This means Vitrimers PCBs could offer a solution to reduce landfill waste and make it easier to recycle leftover copper, maximizing resource recovery.
Key Features of Vitrimers-based Recyclable PCBs:
Base material – Employs vitrimer epoxy, a type of polymer that can be repeatedly cured and uncured without damage.
Environmentally sustainable – Designed to reduce e-waste and offer a more circular lifecycle for electronics.
Performance – Electrical and mechanical properties comparable to common FR-4 PCB materials.
Recyclability:
Damaged boards can be repaired under heat and pressure.
Components are easily removed for reuse or responsible recycling.
Base vitrimer and glass fibers are recoverable and reusable in new PCBs.
It has demonstrated high recovery rates of vitrimer, glass fiber, and solvent used in the process.
Manufacturing compatibility – Minimal changes are needed for existing PCB manufacturing processes.
Vitrimers are a unique class of polymers that combine the properties of both thermoplastics and thermosets. It is made of two-part thermoset epoxy and does not require any new or exotic process to make it. Additionally, it promises a high degree of recyclability without harmful side effects. The material features unique properties it can flow and be reshaped when heated (like thermoplastics) but also form strong, cross-linked networks when cooled (like thermosets). Vitrimers have gained attention because of their self-healing properties and recyclability.
Epoxy on the other hand consists of long hydrocarbon chains that interlock during curing, making them stable and inseparable. However, vitrimer materials are different, while their chains intertwine upon curing like typical polymers, they have the properties to unwind when exposed to heat or specific solvents. This is why they can go through multiple cycles of curing, uncuring, and recuring without degradation, making them recoverable for recycling.
The vPCB (vitrimer printed circuit board) is treated with a solvent to separate the vitrimer into a jelly form, allowing easy recovery of the glass fiber mat and metal PCB traces. Researchers recovered 98% of the vitrimer and 100% of the glass fiber, as well as 91% of the solvent used for recycling. The team also analyzed the environmental impact and found that vPCBs could result in a 48% reduction in global warming potential and an 81% reduction in carcinogenic emissions compared to traditional PCBs.
On paper, this new Vitrimers PCB offers a great environment-friendly solution, but to implement this in a real-world scenario manufacturing needs to be cost-competitive, Incentives and regulations are needed to encourage the collection and recycling of e-waste, and further research is needed to find that this new material can handle demanding high speed and RF applications.
The UW team also mentioned that they have manufactured functional prototypes of Internet of Things devices transmitting 2.4 GHz radio signals on vPCBs with electrical and mechanical properties meeting industry standards.
More information on this Vermiters-based recyclable PCB can be found on the UW news page. The researchers mention that further research is ongoing to develop even better vitrimer materials for a wider range of applications.
QEMU 9.0 open-source emulator just came out the other day, and it brings on board major updates and improvements to Arm, RISC-V, HPPA, LoongArch, and s390x emulation. But the most notable updates are in Arm and LoongArch emulation.
The QEMU 9.0 emulator now supports the Raspberry Pi 4 Model B, meaning you can run the 64-bit Raspberry Pi OS for testing applications without owning the hardware. However, QEMU 9.0 has some limitations since Ethernet and PCIe are not supported for the Raspberry Pi board. According to the developers, these features will come on board in a future release. For now, the emulator supports SPI and I2C (BSC) controllers.
Still on ARM, QEMU 9.0 provides board support for the mp3-an536 (MPS3 dev board + AN536 firmware) and B-L475E-IOT01A IoT node, plus architectural feature support for Nested Virtualization, Enhanced Counter Virtualization, and Enhanced Nested Virtualization.
If you develop applications for the LoongArch architecture, QEMU 9.0 supports LoongArch KVM acceleration, including LSX/LASX vector extensions. These two support the architecture’s 128-bit and 256-bit Single Instruction Multiple Data (SIMD) units, respectively.
For RISC-V, this QEMU version adds ISA/extension support for Zacas, RVA22 profiles, amocas, Ztso, and many others. You’ll also get SMBIOS support for the updated RHCT table, RISC-V virtual machine, ACPI support for SRAT, SLIT, AIA, and PLIC, and several other fixes.
HPPA and s390x have received a few updates, which include LAE fixes and emulation support for CVB, CVDG, CVBG, and CVBY instructions for s390x and SeaBIOS firmware update to version 16 for HPPA.
Overall, the QEMU 9.0 release contains over 2,700 commits from 220 authors that improve several other areas, not only the ISA emulations. For instance, the memory backends preallocations will now be handled concurrently using multiple threads, and virtio-blk will now support multiqueue, allowing the different queues of a single disk to be processed by different I/O threads. More details may be found in the announcement.
Openterface Mini-KVM compact, open-source hardware KVM-over-USB device with HDMI and audio inputs which connects over a USB-C port to the host computer.
We’ve seen quite a few low-cost KVM-over-IP solutions based on single board computers over the years, but the Openterface Mini-KVM is quite different (and cheaper) as a plug-and-play and network-independent KVM-over-USB device that establishes a direct HDMI and USB connection between the host computer and the target device. It supports many of the same features as KVM-over-IP solutions except for some features such as ATX support found in the PiKVM v4 Plus or the Pi-Cast KVM with an expansion board that allows the target device to be turned off and from the host device.
Mini-KVM (model LIG03D01) specifications:
Control method – KVM-over-USB
Video capture – Up to 1920×1080 @ 30 Hz with under 140ms latency through HDMI or VGA (the latter requires an add-on VGA-to-HDMI cable)
Audio capture – Via HDMI
Text transfer – Text can be sent from the host to the target device via emulated keyboard output. Useful for copying usernames, passwords, or code snippets.
USB Port – USB 2.0 Type-A port switchable to the host or target to transfer files to/from a USB driver or share other USB devices
BIOS access – Direct access to the target device’s BIOS for firmware updates and startup management.
Power Supply – Via USB-C from the host computer
Dimensions – 61 x 53 x 13.5 mm
Weight – 48 grams
The host application will soon be available for macOS, Windows, Linux, and Android. You will be able to follow the development for each app and access the hardware design files on GitHub in the following repositories (currently all empty):
Openterface_MacOS – Host Applications for MacOS
Openterface_QT – Host Applications for Windows and Linux
Openterface_Android – Host Applications for Android Support
Openterface_Mini-KVM_Hardware – Hardware Design, Schematics and Components
The company (TECHxARTISAN) says the KVM-over-USB solution can be useful for IT professionals troubleshooting servers, technicians servicing ATMs, VLTs, and kiosks, developers managing edge computing devices, tech enthusiasts experimenting with single-board computers, professionals requiring secure local operations on network segregation, such as those managing crypto assets, or anyone in need of frequently integrated workflows between personal and work computers. It looks especially useful for accessing headless hardware with a laptop without additional display, keyboard, and mouse.
The Mini-KVM kit is quite cheaper than the StarTech Crash Cart NOTECONS02 KVM-over-USB device that supports VGA input and sells for about $400, as well as KVM-over-IP solutions although they did not exactly select the cheapest option in this comparison table…
The company has just launched the Mini-KVM on Crowd Supply with a $12,000 goal that has already been surpassed. Two main rewards are available:
$79 Openterface Mini-KVM with Quick Start Guide
$99 Openterface Mini-KVM Toolkit with the same items as in the $79 reward, plus a 30cm HDMI male-to-male cable, a 30cm USB-C male to USB-A male cable with USB-A female to USB-C male adapter, a 1.5-meter USB-C male-to-male cable, and a toolkit bag.
There’s also a VGA + audio to HDMI converter that could be useful for server systems or older systems that only come with a VGA port. Shipping adds $8 to the US, and $18 to the rest of the world. Backers should expect their perks to ship by the end of September 2024 if everything goes according to plans. Additional details might also be found on the project’s website.
Raspberry Pi Connect software, currently in beta, aims to make remote access to the Raspberry Pi boards even easier and more secure by using a web browser and minimal configuration needed.
It’s been possible to access Raspberry Pi boards remotely through VNC forever, and the X protocol used to be an option before the switch to Wayland, but both can be somewhat hard to configure especially when wanting to access the machine on a different local network or from the internet. Raspberry Pi Connect aims to change that.
Under the hood, we’re told the web browser and the Raspberry Pi device established a secure peer-to-peer connection with the same WebRTC communication technology found in programs such as Zoom, Google Meet, or Microsoft Teams. The Raspberry Pi runs the “rpi-connect” daemon that listens to screen-sharing requests from the Raspberry Pi Connect website and establishes a secure, low-latency VNC instance directly between the Pi and the browser. Note the website is only used to establish the connection, so no traffic passes through Raspberry Pi Limited servers after that, except if it’s not possible to establish a direct connection in which case traffic may be securely relaid through our Raspberry Pi servers using DTLS encryption.
Since it’s supposed to be so easy, and I have a Raspberry Pi 5 on my desktop, let’s give it a try. Note Raspberry Pi Connect only works with Raspberry Pi OS 64-bit “Bookworm” with Wayland (the Lite version is not supported). I just connected an Ethernet cable and power to my Pi and did not connect any display. After accessing the board through SSH, I installed the (beta) software as follows:
At this point, we’ll need to create a Raspberry Pi ID with our email, but I noticed I already had one for some reason. Users running the desktop will find a remote access icon in the top right corner, where they can sign in with their Raspberry Pi ID. That also means you lose some anonymity/privacy compared to simply using VNC.
But since I’m running the Raspberry Pi 5 headless, I can use the command as explained in the documentation:
pi@raspberrypi:~ $ rpi-connect signin
Complete sign in by visiting https://connect.raspberrypi.com/verify/xxxx-yyyy
⣷ Waiting for a response…
I opened the link on my PC, and signed in…
and created a new device as requested.
At this point, we should be done with a congratulatory message.
Clicking on “view your dashboard” will bring us to the connect.raspberrypi.com website with our devices, and right now, I only have my one and only Raspberry Pi 5 showing up.
Clicking on Connect will start the remote access session. It works although with a lag as usual for this type of solution.
A bidirectional clipboard is there too, but I could only copy from the screen sharing to my laptop, as copying text from my laptop to the remote session (Search field on CNX Software website) did not work and the “Paste to remote” button became greyed out after I tried that.
I also tried it on my phone for fun, and after passing the annoying captchas, I managed to access the Raspberry Pi 5 remotely using my Android smartphone.
Using a desktop environment on a small screen is already a challenge, but with the controls taking a large part of the screen’s real estate it’s close to impossible to use. It’s still possible to zoom on the desktop so that it’s almost full screen, but the controls go away.
C790 is an HDMI to MIPI CSI-2 board compatible with Raspberry Pi single board computers featuring a 40-pin GPIO header that adds both HDMI input up to 1080p60 and I2S audio input to the popular Arm SBC.
The solution can be useful for IP KVM solutions as we’ve seen with the PiKVM v3 and PiCast portable KVM switch, or to capture video and audio from a camera that outputs HDMI with audio through the board’s MIPI CSI camera interface and I2S input signals on the GPIO header.
C790 specifications:
Supported SBC’s – Raspberry Pi Zero, 3B, 3B+, 4B, CM3, CM4 with MIPI CSI-2 input port (Note: Raspberry Pi 4 is limited to 1080p50 due to 2-lane MIPI CSI-2, CM4 supports 1080p60)
Main chip – Toshiba TC358743XBG HDMI to CSI-2 bridge chip up to 1920×1080, 60 FPS
Video and audio input – HDMI port up to 1080p60
Video Output – 2-lane (15-pin) or 4-lane (22-pin) MIPI CSI-2 Tx up to 1080p60
The seller points customers to the wiki for the BLIKVM project for instructions showing how to configure HDMI input and record video and audio with up to Raspberry Pi 4 using tools such as v4l2-ctl and GStreamer (gst-launch-1.0). The Raspberry Pi 5 is also supported, but since the Broadcom BCM2712 SoC does not come with a video encoder, the steps in the wiki are different. Note there are several versions of the board, and the C790 is the newest with improvements such as HDMI backpowering and two MIPI CSI connectors over the previous C780 and C779 boards.
GIGAIPC PICO-N97A Pico-ITX SBC features an Intel Processor N97 quad-core Alder Lake-N processor coupled with up to 16GB DDR5 SO-DIMM memory and M.2 SATA or NVMe storage designed for passively cooled and enclosed systems for Industry 4.0 applications in the smart cities, retail, and healthcare sectors.
The single board computer supports up to two independent displays via HDMI and LVDS interfaces. It also provides dual Gigabit Ethernet, two USB 3.1 ports, an additional M.2 Key-B socket for wireless, and various headers for RS232/RS422/RS485, GPIO, USB 2.0, and more.
Availability and pricing information were not disclosed, but for reference, the AAEON sells samples of the PICO-ADN4 (N97) for $309. A few more details about the PICO-N97A may be found on the product page and press release.
Neural networks and other machine learning processes are often associated with powerful processors and GPUs. However, as we’ve seen on the page, AI is also moving to the very edge, and the BitNetMCU open-source project further showcases that it is possible to run low-bit quantized neural networks on low-end RISC-V microcontrollers such as the inexpensive CH32V003.
As a reminder, the CH32V003 is based on the QingKe 32-bit RISC-V2A processor, which supports two levels of interrupt nesting. It is a compact, low-power, general-purpose 48MHz microcontroller that has 2KB SRAM with 16KB flash. The chip comes in a TSSOP20, QFN20, SOP16, or SOP8 package.
To run machine learning on the CH32V003 microcontroller, the BitNetMCU project does Quantization Aware Training (QAT) and fine-tunes the inference code and model structure, which makes it possible to surpass 99% test accuracy on a 16×16 MNIST dataset without using any multiplication instructions. This performance is impressive, considering the 48 MHz chip only has 2 kilobytes of RAM and 16 kilobytes of flash memory.
The training data pipeline for this project is based on PyTorch and consists of several Python scripts. These include:
trainingparameters.yaml configuration file to set all the parameters for the training model
training.py Python script trains the model, then stores it in the model data folder as a .pth file (weights are stored as floats, with quantization happening on the fly during training).
exportquant.py Quantized model exporting file converts the stored trained model into a quantized format and exports it into the C header file (BitNetMCU_model.h)
Optional test-inference.py script that calls the DLL (compiled from the inference code) for testing and comparing results with the original Python model
The inference engine (BitNetMCU_inference.c) is implemented in ANSI-C, which you can use with the CH32V003 RISC-V MCU or port to any other microcontroller. You can test the inference of 10 digits by compiling and executing BitNetMCU_MNIST_test.c. The model data is in the BitNetMCU_MNIST_test_data.h file, and the test data is in the BitNetMCU_MNIST_test_data.h file. You can check the code and follow the instructions in the readme.md file found on GitHub to give Machine Learning on the CH32V003 a try.
Arduino has recently announced two new expansions to their Arduino Pro Opta PLC series – the Arduino Pro Opta Ext D1608E and Arduino Pro Opta Ext D1608S, the main difference between the two is that the D1608E features 8 electromechanical relays (EMRs) whereas the D1608S features solid-state relays (SSRs).
Other than that both expansion modules have 16x programmable I/Os (0-24 V digital / 0-24 V analog) which doubles the number of I/Os we have seen on the Opta micro PLC. Both are compatible with the Arduino IDE and the PLC IDE and are easy to install on a DIN rail. These features make it suitable for control, monitoring, and predictive maintenance applications.
Previously we have seen Arduino launch a PLC Starter Kit for those who want to get started with PLCs. Additionally, we have written about ESP32-powered PLCs, Raspberry Pi-powered PLCs, and more. Feel free to check those out if you want customizable PLC products.
Arduino Pro Opta Series D1608E and D1608S specifications
MCU- Renesas Electronics R7FA4M1AB3CFM with 48 MHz Arm Cortex-M4 core, 256-KB code flash memory, 32-KB SRAM, USB Controller, ADC, DAC, and more
Input
Configurable digital/analog input: 16
Digital Operational Range: 0-24 V
Analog Operational Range: 0-24 V
Analog Resolution: 14 bit
Relays
Arduino Opta Ext D1608E (AFX00005):
Number of relays: 8
Relay rated voltage: 250 VAC
Maximum current per relay: 6 A
Maximum peak current per relay: 10 A
Arduino Opta Ext D1608S (AFX00006):
Number of relays: 8
Relay rated voltage: 24 VDC
Maximum current per relay: 2 A
Maximum peak current per relay: 50 A
Power Supply – 12-24 VDC
IP Protection – IP20
Dimensions – 89 x 70 x 62 mm
Weight – 190 grams
The company says that up to 5 snap-on modules can be managed to multiply and mix a set of I/Os with seamless detection snap them right next to your Opta base module and use the I/Os as native Opta resources. For programming the company said that the PLC IDE can be utilized for IEC 61131-3 PLC languages, other than that it can be programmed with Arduino IDE and Arduino CLI. Another advantage of using an Arduino model is its support for the Arduino IoT Cloud dashboards for real-time remote monitoring and OTA firmware updates.
For simplicity and ease of use, the company provides a block diagram and specifications list that can be found on the datasheet of the device. Not only that they also offer full technical documentation, tutorials, and much more on their documentation page.
Both Arduino Pro Opta expansions can be purchased on the Arduino Store with the D1608E is going for $136.80 and the D1608S for $146.40.
The NanoCell V2.1 is a development board built around the Espressif ESP32-C3 SoC (system-on-a-chip) preloaded with ESPHome firmware for low-power applications and improved Lithium battery management. The development board is a white printed circuit board with gold-plated contacts and a battery fuel-gauge IC, designed by Frapais’ lab in Greece.
As the name suggests, the NanoCell V2.1 is the latest in a series of iterations of ESP32-C3-based devices targeted at low-power applications. Compared to earlier versions, it offers a better user experience and improved power efficiency.
It features a buck-boost converter that reduces standby current consumption to 66uA (excluding the current consumed by the ESP32 module). The battery management system (BMS) integrated circuit supports accurate capacity measurement and protects connected Lithium batteries from overcharging and other harmful scenarios. Also, two LEDs on the board serve as power and charging indicators to relay the board’s status.
Microcontroller – ESP32-C3 RISC-V microcontroller @ 160MHz, with Wi-Fi and Bluetooth 5 (LE)
Battery Management
battery capacity measurement IC
Li-ion/Li-po battery charging & protection ICs
Accurate battery capacity measurement IC (MAX17048), accessible via I2C on pins 2 and 3.
USB – USB Type-C for charging and uploading firmware
Buttons – Reset and Boot
LEDs – Charging and USB power LED indicators
Breadboard-compatible pin headers break out all the pins of ESP32-C3, USB, battery, and VCC voltage.
The NanoCell V2.1 is designed to work seamlessly with Home Assistant and ESPHome automation systems. A setup guide is available in the NanoCell-C3 GitHub repository.
The NanoCell V2.1 is priced at $14.49 on Tindie and $14.90 on Elecrow (bulk discounts available). It is completely open-source, and hardware schematics and initialization firmware can be found in the earlier-mentioned GitHub repository.
Microchip PIC32CK is a new family of 32-bit Arm Cortex-M33 microcontrollers clocked up to 120 MHz with Arm Trustzone and an optional integrated Hardware Security Module (HSM) that can help companies meet the cybersecurity requirements for consumer IoT devices and critical infrastructure mandated in the US, Europe, and other countries.
Two sub-families are available with the PIC32CK GC and PICK32CK SG with the latter integrating the HSM, and the company claims it is the first 32-bit device on the market that combines an HSM with TrustZone technology for optional security. The PIC32CK is also said to support ISO 26262 functional safety and ISO/SAE 21434 cybersecurity standards.
Microchip PIC32CK specifications:
MCU core – Arm Cortex-M33 clocked at up to 120 MHz with 4KB combined instruction and data cache, TrustZone security
Memory and Storage
128KB, 256KB, or 512KB SRAM
512KB, 1MB, or 2MB flash
128KB boot flash memory
64KB of configuration flash memory (CFM)
Up to 4KB tightly coupled memory (TCM)
8-bit/16-bit external bus interface (EBI) – Static memory controller for up to 256KB SRAM, PSRAM, LCD module, Flash (for 100-pin and 144-pin devices only)
Up to 2x SDHC Memory Card interfaces
Audio – 1x I2S
Networking – 10/100M Ethernet with support for IEEE 1588 (PTP), 802.3az (energy efficiency), WoL
USB – 1x USB 2.0 high-speed port, 1x USB 2.0 full-speed (12Mbps) port
Other Peripheral interfaces
Up to 107x programmable I/O lines
8x Serial Communication Interfaces (SERCOM) configurable as USART, I2C, SPI
1x SQI (Serial Quad Interface)
2x CAN Bus with support for CAN 2.0 A/B and CAN-FD
Multiple power management modes: Idle, Stand-by, Hibernate, SleepWalking peripherals
Packages
TQFP64 – 10x10mm, 0.5mm lead pitch, 50 GPIOs
TQFP100 – 14x14mm, 0.5mm lead pitch, 71 GPIOs
TQFP144 – 16x16mm, 0.4mm lead pitch, 108 GPIOs
Temperature Range – -40°C to +85°C
It’s not the first Microchip PIC32 microcontroller with a Hardware Security Module, and we wrote about the PIC32CZ CA Cortex-M7 microcontroller last October with higher performance and support for displays, but obviously, there’s no Arm TrustZone in a Cortex-M7 MCU. We also mentioned the PIC32CX SG MCU in the WBZ451 curiosity board a couple of years ago. You’ll find a summary of the differences between vairous PIC32 microcontrollers in the table below.
Software-wise, the new PIC32CK MCU family is supported by MPLAB Harmony v3 and Trust Platform Design Suite. Engineers can get started quickly or simply evaluate the new microcontrollers with the PIC32CK SG and PIC32CK GC Curiosity Ultra development boards sold under the EV33A17A and EV44P93A part numbers and equipped with an embedded programmer/debugger, as well as Arduino Uno R3 headers, a MikroBus connector for MikroElektronika Click boards, and 90-degree angle headers for Xplained Pro expansion boards. The development boards can be used for Bluetooth audio, Internet of Things (IoT), robotics, and other proof-of-concept designs.
The PIC32CK family is now available for purchase in high-volume production quantities. Pricing for the PIC32CK CG (64-pin) starts at $6.13 in 5K+ quantities, and while I could not find pricing for the 64-pin PIC32CK SG, the 100-pin SKUs start at $7.57 in volume (5K+). The PIC32CK SG/CG Curiosity Ultra Development Board sells for $230.99. More details may be found on the product page and in the press release.
HackerGadgets has launched a few Raspberry Pi 5 PCIe HAT+ boards including one M.2 NVMe 2230/2242 HAT+ that fits into the official Raspberry Pi 5 case with proper cooling.
We’ve seen many M.2 PCIe HAT+ boards of the Raspberry Pi 5 boards from companies such as Pineboards, Waveshare, or Geekworm, but none of them won’t fit in the official red and white case, at least if you’re not ready to sacrifice active-cooling, but HackerGadgets “NVME Hat for Raspberry Pi 5” keeps the fan by simply allowing users to mount it on the bottom of the board.
HackerGadgets “NVME Hat for Raspberry Pi 5” specifications:
Compatible SBCs – Raspberry Pi 5 and other compatible SBCs with a 16-pin PCIe connector and mounting holes
PCIe interface – 16-pin PCIe FPC connector up to PCIe Gen3 speeds
M.2 socket – Support PCIe Gen2/Gen3 x1, M.2 2230 and 2242 SSDs
Cooling – PWM fan support with mounting on the bottom side of the board.
Dimensions – Designed for the official Raspberry Pi 5 case with cutouts for the enclosure lid allowing it to snap securely into place.
The HAT has also been designed to make it easy to replace the M.2 SSD when in the case, as the user simply needs to pop up the top lid to replace the SSD without having to tear down the complete case. HackerGadgets says they provide an FPC cable meeting the 90-ohm impedance requirement from the official Raspberry Pi PCIe cable specifications to enable PCIe Gen3 speeds.
The first time I looked at the design, I thought they had to completely remove the fan from the enclosure, but instead mounting holes on the bottom side allows the users to reuse the fan from the official case to keep the system cool even with an M.2 SSD.
The HAT+ board ships with a short FPC PCIe cable, M2 standoff and M2 screw for SSD mounting, several M2.5 standoffs, screws, and nuts for mounting the HAT to the Raspberry Pi 5 and to attach the fan.
As mentioned in the introduction, HackerGadgets also developers other PCIe HATs: one for M.2 2280 SSDs, and two “NVME+LTE/5G Hat” for SSD and 5G or 4G LTE connectivity with or without SMA connectors. We had previously written about the Sixfab 5G Modem HAT for Raspberry Pi 5 using a USB 3.0 connection, but that’s only for cellular connectivity, while the “NVME+LTE/5G Hat” offers both NVMe storage (Key-M) and 5G connectivity via Key-B module.
The NVME Hats for Raspberry Pi 5 sells for $12.99, while the NVME+LTE/5G Hat goes for $32.99 obviously without a 5G modem and antennas… You’ll find all four HAT+ expansion boards on the company’s online store. The website is completely new and without contact details, so it looks dodgy, but the developers pinged me on Twitter, and the team is behind the PiCast KVM, so it’s not their first project.
Loongson 2K1000LA is a 1GHz dual-core 64-bit LoongArch processor designed for industrial applications with gigabit Ethernet, SATA, two PCIe interfaces, two digital video outputs, audio interfaces, USB 2.0, and others all in a 1 to 5W power envelop. It is found in Loongson’s own development board and Banana Pi BPI-5020 2K1000LA SBC.
The LoongArch architecture was first introduced in 2021 as an alternative to Arm, x86, and RISC-V, and heavily inspired by MIPS with extra instructions. Some of the first LoongArch processors were the Loongson 3A5000 and 3C5000 SoCs for desktop computers and servers respectively, and now, the company has launched a lower-power processor for industrial applications, such as IoT gateways, with the 2K1000LA.
Loongson 2K1000LA specifications
We only have some basic specifications from the product page on Loongson’s website.;
Loongson has designed its own 2K1000LA development board, but there’s no documentation in English that I could find, so it’s a bit tricky unless you can read the Chinese documentation shared on Baidu.
The LS2K1000LA processor is sold on Aliexpress for $62.73, and the development board for $342.71 on the same page, so not exactly low-cost…
That’s why I’d rather focus on the Banana Pi BPI-5202 single board computer below.
Special encryption chip for (China) State Grid communication (SC1161Y)
Misc – RTC, buzzer, 3x LEDs, 5V fan connector
Power Supply – 9V to 36V DC isolated input
Dimensions – 140 x 100 mm
The 20-pin 2.54mm pitch male header is used to connect I/O modules through ribbon cables c:
7x RS485 module with isolation
16x DI module (switch input module), passive input (up to 5 modules can be mixed)
16x DO module (switch output module), relay output (up to 5 modules can be mixed)
8x DI + 8x DO module (switch input/output module), relay output (up to 5 modules can be mixed)
8x AI + 4x AO module (analog input/output module), support 0-5V, 0-20mA input
Customized Lora, ZigBee, 433M wireless transmission modules, power line carrier modules, and other functional modules,
All modules are connected through RS485 or SPI to the BPI-5202 SBC and enable the design of a full system that looks like the photos below.
OS support includes Loongnix Linux operating system with a desktop environment, LoongOS for industrial and terminal applications (probably Loongnix without graphics), LxAMP (server distributions with Apache, MySQL, and PHP?), and Kylinos V10 that is likely based on Ubuntu Kylin. Banana Pi also claims support for over 300 protocols ranging from “video access transmission/control/recording/linkage” to “edge computing programming ability” and “full-featured SCADA for C/S architecture”. The documentation provides more details, but no download link to OS images or source code. It also seems to focus on the mainland China market with references to it being a “domestic autonomous controllable platform”.
The 2K1000LA solutions are expected to be used by the military, utilities, oil and gas operations, factories, mines, and other IoT applications. Banana Pi sells the BPI-5202 board on Aliexpress for $218, but you won’t find the IO module, enclosure, etc… there.
Among all the inexpensive Intel Alder Lake-N mini PCs, ZXIPC is selling a no-name AMD Ryzen 5 5500 mini PC for $177 with 8GB of RAM and a 128GB SSD, or $143.03 as a barebone system.
It would be interesting to compare the performance on these to similarly priced AMD offerings. I’m specifically thinking here of Mini PCs based on the Ryzen 5560U and the Ryzen 5800U/H
Since we haven’t reviewed this type of mini PC, I won’t be able to do such a comparison, but I was still intrigued, as most AMD mini PCs I had seen sold for at least $300. So I went to Aliexpress and found a few AMD Ryzen 5/7 mini PCs for $250 or so, mostly barebone, but ZXIPC sells some x86 hardware for a much lower price, even some older Intel systems for about $75, so let’s have a look.
Specifications:
SoC – AMD Ryzen 5 5500U 6-core/12-thread processor up to 2.10 GHz / 4.00 GHz (Turbo) with 7-core AMD Radeon graphics @ 1800 MHz; TDP: 15W (Not shown on AMD Ryzen product page, but the drivers page shows the 7nm processor was released in 2021)
System Memory – 2x DDR4-3200 DO-SIMM memory sockets up to 32GB
Storage
M.2 NVMe SSD (PCIe 3.0 x4)
2.5-inch SATA slot
MicroSD card slot
Video Output – 2x HDMI up to 4K, 2x DisplayPort up to 8K (TBC, it might be only one DP for the Ryzen 5 5500U)
Audio – 3.5mm audio jack, digital audio via HDMI or DisplayPort
Networking
2x 2.5GbE RJ45 ports
WiFi 6 and Bluetooth 5.2 (optional, not installed on barebone model)
USB – 3x USB 3.0 ports, 1x USB 3.0 Type-C port
Misc – Power button, Kensington lock slot
Power Supply – Via DC jack
Dimensions – 130 x 130 x 53 mm
We aren’t told much about OS support, but systems with storage and RAM are said to ship with an activated version of Windows. The title mentions Windows 11 Pro, so I guess that’s the version used here. The list of accessories is not provided either, but one can hope the power adapter ships with the mini PC and maybe an HDMI cable. People wanting to install a 2.5-inch SATA drive are told to ask for a SATA cable at the time of order… That’s an FPC to SATA cable as shown in the teardown video below (in Chinese).
Besides the AMD Ryzen 5 model, there are also variants based on the Ryzen 7 5700U or Ryzen 7 4800H 8-core/16-core processor for a few dollars more on the same Aliexpress link. Pricing for the Ryzen 5 5500U mini PC ranges from $143 (barebone) up to $283.15 with 32GB RAM and a 1TB SSD, and the Ryzen 7 4800H mini PC goes from $148 to $273. The Ryzen 7 5700U vairants are out of stock at the time of wiring and prices are not available.
This AMD Ryzen 5 5500U mini PC is really inexpensive, and I find the other prices on ZXIPC suspect as well since they are so low, plus the shop only opened in March 2024. But there are already some user reviews (that don’t look fake), and AliExpress’s buyer protection can always be used if the item is not as expected or delivery is really late.
SparkFun’s RTK Torch is a real-time kinematic (RTK) surveying device that offers tri-band reception, tilt compensation, and millimeter accuracy in a portable, waterproof enclosure.
It features an ESP32-WROOM module with 16MB flash and 2MB PSRAM, providing Wi-Fi and Bluetooth functionality. The onboard RTK-capable Unicore UM980 module receives various GNSS frequencies with high accuracy and supports all available constellations and frequencies. Also included is an STMicroelectronics STM32WLE5CCU6 MCU for obtaining corrections via LoRa radio.
The RTK Torch builds on the earlier RTK Facet, adding improvements such as wider reception, higher precision, and a more portable form factor. Like the Facet, the RTK Torch comes in a bundle that includes a carrying case, a 3m USB C-to-C charging cable, a 65W PD wall adapter, and a 1/4in. to 5/8in. antenna thread adapter.
It supports several operating modes including
GNSS Positioning (~800mm accuracy) – also known as ‘Rover’
GNSS Positioning with RTK (8mm accuracy) – using a local base station
GNSS Positioning with PPP-RTK (14 to 60mm accuracy) – using PointPerfect corrections
GNSS Positioning with Tilt Compensation
GNSS Base Station
GNSS Base Station NTRIP Server
It is well-suited for high-precision geolocation and GIS (Geographic Information System) mapping and can be used in applications such as land surveying, agriculture, and construction.
1408-channel concurrent reception of GPS, GLONASS, Galileo, BeiDou, and QZSS signals
Horizontal Accuracy
Autonomous: 1.5m
DGPS: 0.4m
RTK: 0.8cm + 1 ppm
Vertical Accuracy
Autonomous: 2.5m
DGPS: 0.8m
RTK: 1.5cm + 1 ppm
Max Altitude: 18km (11 miles)
Max Velocity: 515m/s (1152mph)
LoRa Radio – STM32WLE5CCU6 MCU, Arm Cortex-M4 core @ 48MHz with built-in LoRa
USB – USB-C for power delivery and programming
Internal Antenna: L1/L2/L5 with ≥ 2.3dBi gain
Tilt Compensation – IM19 inertial management unit
Misc – 7.2V 6.8Ahr 49Whr battery with 10W charging, single push-button control, 1W amplifier/front-end (centered at 900MHz)
Weight – 428g (0.94lbs)
Dimensions – 71 x 71 x 147mm
While the SparkFun RTK Torch comes in an enclosure rated IP67 (dust resistant and protection against immersion in water up to 1m), it is not recommended for permanent outdoor mounting.
It runs SparkFun’s universal firmware for RTK products, RTK Everywhere, which is open-source and hosted on GitHub. It also includes Zero-Touch RTK, a feature that enables the device to load corrections automatically with only the credentials for a Wi-Fi network. These corrections are retrieved via Wi-Fi from u-blox PointPerfect and are only available in the US, EU, and some parts of Australia, Canada, Brazil, and Korea. The product comes with a one-month free subscription to PointPerfect.
You can set up your phone to receive NMEA output from the RTK Torch over Bluetooth. The RTK Torch works with several Android and iOS GIS apps such as SW Maps (recommended), Survey MasterVespucci, QGIS, and QField with the last three being open-source.
With just the press of a button, the RTK Torch is the fastest way to take millimeter-grade measurements. By connecting your phone to the RTK Torch over Bluetooth, your phone or tablet can receive the NMEA output and work with most GIS software. This is exactly how professional-grade surveying devices have been operating for the past decade – we just made it faster, more precise, and a lot more economical.
Elecrow CrowVi VF156T – or just CrowVi for shorts – is an ultra-thin 15.6-inch portable touchscreen display with mini HDMI and USB-C input ports making it suitable for a wide range of devices from Windows 11 and Linux mini PCs or laptops, SBCs such as the Raspberry Pi 5, and smartphones featuring a USB-C port with DisplayPort Allt. mode.
The display supports 10-point multitouch, offers a 1920×1080 “Full HD” resolution, and includes stereo speakers and a 3.5mm audio jack. Besides the USB-C input, it also comes with an additional USB-C PD port for power in case the host does not provide enough power or only HDMI input is used without the touchscreen function. There’s also a “smart case” acting as a foldable stand on the back so you don’t need to bring your own stand.
Elecrow sent us a sample of the CrowVi 15.6-inch portable monitor for review and we will be testing it with a Raspberry Pi 5 single board computer, a Windows 11 laptop, and a mini PC running Ubuntu 24.04 to make sure everything works as expected.
CrowVi VF156T specifications
Screen Type – TFT IPS LCD
Resolution – 1920 x 1080
Aspect Ratio – 16:9
Screen size – 344 x 193
Brightness – 300nit
Refresh Rate – 60Hz
Color Gamut – 16.7M, NTSC 72%, sRGB up to 100%
Contrast ratio – 800:1
Viewing Angle – 178°
Backlight – LED
Video input ports – Mini HDMI, USB Type-C port (also for touchscreen data)
The TFT IPS LCD screen has a 15.6-inch diagonal size, a 360 x230 x 10 mm frame, and a usable area of 344 x 193 mm with a 1920 x 1080 resolution.
The display is ultra-thin with a thickness of only 10 mm, making it easy to take along in a laptop bag. The smart case protects it during transport, so there’s no need for a pouch like we’ve been using with the company’s CrowView laptop monitor.
One side of the display features a power button, a rocker for MENU and navigation (+/-) keys, and a USB-C PD port.
A long press of the POWER button will turn on or off the display. and a short press will allow us to bring the source selection menu…
… or go back to the previous menu in the OSD.
The MENU key will bring up the OSD screen and we can use +/- to navigate the menus or adjust values.
Note the photo above is for our first sample, but we received a second sample (more on that later) with a different OSD menu. It’s unclear what version will users end up getting.
Press MENU to select or enter the next page. Press + to enter the brightness menu. Use +/- to adjust the value. Press – to enter the volume menu. Use +/- to adjust the value.
The other side of the display comes with a mini HDMI input port, a USB-C port for video, data (touchscreen), and power, and an “HP” port that is a 3.5mm audio jack to connect headphones or external speakers.
Elecrow provides an inexhaustive list of compatible devices with a USB-C port.
Note: This should work with any USB 3.1 Type-C port that supports data and DisplayPort Alt mode.
The display screen comes with a smart case that protects the screen during storage and transports that doubles as a stand when folded. The angle can be adjustable to your preference, but note that users should use the touchscreen with light touches only as otherwise the screen may move.
Testing the CrowPi portable display with a Windows 11 laptop
We’ll start actual testing by using the 15.6-inch CrowVi as a secondary monitor connected to the Windows 11 laptop through the Mini HDMI port for video and the USB-C port for power and the touchscreen function. It’s plug-and-play without any drivers needed and the monitor shows up as a 1920×1080 display.
We tested the touchscreen function with the cross-platform WBBMTT web-based multitouch tool, and found the 10 points all worked just fine either with static touches or moving our fingers on the screen.
Since the CrowVi comes with stereo speakers and a headphone jack we tried either one in turn while playing a YouTube video and no issues here.
It also worked immediately and we played a YouTube video to check the speakers were working fine in Linux as well, and indeed they were.
The CrowVi monitor shows up as the YCT 15.6″ display in Ubuntu with a 1920×1080 resolution and a 60Hz refresh rate.
The multi-touch function works, as tested with WBBMTT, but we only managed to get up to 7 points to register, and you never managed to get the full 10-point capacitive touch function to work fully for reasons unknown to us.
CrowVi portable display with Raspberry Pi 5 SBC
The final test was with the Raspberry Pi 5 SBC. The board does not provide enough port over USB, so we had to use the left USB-C PD port which appeared damaged in our first sample (the monitor would not turn on at all when connecting power), so the company sent us a new one (the one with the black OSD), and we had no issues that time around. Note the CrowVi requires three cables and extra accessories to work with the Raspberry Pi 5 all of which are provided in the kit: an HDMI to micro HDMI cable (plus HDMI to micro HDMI adapter) for video input, a USB-A to USB-C cable for touch data, and another USB cable connected to the provided 5V/2A power adapter.
The Screen Layout Editor confirms the resolution is 1920×1080.
While we had no such luck in Ubuntu 24.04, the 10-point capacitive touch function worked great on Raspberry Pi OS using the same WBBMTT website.
Conclusion
Elecrow’s CrowVi 15.6-inch portable touchscreen monitor works well with Windows 11, Ubuntu 24.04, and Raspberry Pi OS (Raspberry Pi 5) using either HDMI+USB or USB-C input as supported by the host computer. The display is crisp with bright colors and looks quite better than the integrated display of our older (2018) ACER laptop. Support for audio output through speakers or a 3.5mm audio jack is also a bonus.
The monitor is ultrathin, relatively light (1.2kg), and as a result, is easy to carry around with the smart case protecting the display during storage and/or transport. The only real issue we had was in Ubuntu where the multitouch program only managed to capture 7 points instead of 10, and one downside is that the stand (folded smart case) is not as sturdy as we would have liked especially when using the touchscreen since the monitor may move.
We’d like to thank Elecrow for sending the CrowVi 15.6-inch portable touchscreen display for review. It can be purchased for $159 on the Elecrow store, where you’ll also find a 13.3-inch model for $139 (non-touch) or $149 (touchscreen).
Portwell NANO-6064-ASL is an Intel Atom “Amston Lake” x7000RE-powered Nano-ITX motherboard. The board looks very similar to the Portwell Nano-6062 and features an operating temperature of -40°C to 85°C. The motherboard can support a max of 16GB DDR4 memory and features triple display output, dual 2.5Gbps Ethernet, USB, M.2, SATA, GPIO, and more, and takes power from a 12V external power input.
Temperature Range – 0 to 60°C (Alder Lake-N SKU); -40 to 85°C (Amston Lake SKU)
Humidity – 5 to 95% non-condensing
MTBF – Over 100,000 hours at 55°C
At the time of writing the company did not provide any pricing information but they mentioned that this board is suitable for medical, retail, and digital signage applications. The company also mentions that the board will support various OS, including Windows 10 IoT Enterprise LTSC 2021 (64-bit), Yocto YP 4.0 LTS (64-bit), Ubuntu 22.04, Red Hat 8.8, and more.
More information about the board can be found on Portwell’s products page where you’ll also find a datasheet and a user manual with additional information.
Google dropped RISC-V support from the Android’s Generic Kernel Image in recently merged patches. Filed under the name “Remove ACK’s support for riscv64,” the patches with the description “support for risc64 GKI kernels is discontinued” on the AOSP tracker removed RISC-V kernel support, RISC-V kernel build support, and RISC-V emulator support.
In simple terms, the next Android OS implementation that will use the latest GKI release won’t work on devices powered by RISC-V chips. Therefore, companies wanting to compile a RISC-V Android build will have to create and maintain their own branch from the Linux kernel (ACK RISC-V patches).
These abbreviations can be confusing, so let’s focus on them starting with ACK. There’s the official Linux kernel, and Google does not certify Android devices that ship with this mainline Linux kernel. Google only maintains and certifies the ACK (Android Common Kernel), which are downstream branches from the official Linux kernel. One of the main ACK branches is the android-mainline because it is the primary development branch that is forked into the Generic Kernel Branch to correspond to a specific combination of a supported Linux kernel and the Android OS version.
In a nutshell, ACK refers to a Linux core with some patches of interest to the Android community that haven’t been merged to the Mainline or Long Term Supported (LTS) Linux kernels. On the other hand, GKI refers to a kernel built from one of these ACK branches. Every Android device ships to the market while running one of these GKI branches.
Matthias Männich, a senior staff software engineer at Google, uploaded these patches for review on 26th April, and they passed the review process by 1st May, resulting in successful merging on the branches android15-6.6 and android-mainline.
This update might inconvenience chip companies that were planning to launch RISC-V CPUs for Android devices. Qualcomm, for instance, was planning to power the next generation of Wear OS solutions (wearable platforms) using RISC-V CPUs.
However, this merged patch is not permanent. Google hasn’t killed RISC-V support forever. According to a Google spokesperson, the company is not ready to provide a single supported image to all vendors due to the rapid rate of iteration. Therefore, Android will continue to support RISC-V, but not for now, at later at an unknown date.
In the meantime, the RISC-V community has provided a RISC-V boot and runtime services specification to system vendors and operating system vendors to help them interoperate with one another. This specification enables the OS to utilize system management and device discovery when running on a RISC-V chip and could help with OS ports including future Android RISC-V implementations.
Mixile has launched a promotion that could save you up to $75 on the company’s Rockchip RK3588-powered devices, namely the Mixtile Blade 3 SBC that can be used standalone or integrated into a cluster and Core 3588E SO-DIMM system-on-module that follows the NVIDIA Jetson Nano, TX2 NX, Xavier NX, and Orin Nano form factor and will work with most carrier boards designed for those.
The first part of the “Lucky Offer” promotion is a $50 discount coupon code (cnx50off) applicable to the Mixtile Blade 3, Mixtile Blade 3 Case, and Mixtile Cluster Box.
The Mixtile Blade 3 is a pico-ITX SBC powered by a Rockchip RK3588 octa-core Cortex-A76/A55 processor, with up to 32GB RAM, up to 256GB eMMC flash, three display interfaces, an HDMI input port, dual GbE, a 40-pin GPIO header, and a U.2 connector carrying 4-lane PCIe Gen3 and SATA 3.0 signals and specifically designed for cluster applications. We had the opportunity to review the Mixtile Blade 3 focusing on AI and LLM testing with the model equipped with 32GB of RAM.
The second part of the promotional offer is a $25 discount with the coupon code cnx25off when purchasing the Mixtile Core 3588E system-on-module.
Like the Blade 3, and Core 3588E features a Rockchip RK3588 SoC and is offered with 4GB, 8GB, or 16GB LPDDR4, up to 128GB eMMC 5.1 flash, a gigabit Ethernet PHY, as well as the 260-pin SO-DIMM connector found in many NVIDIA Jetson module. We tested the Core 3588E SoM with a kit running Ubuntu 22.04 at the end of last year.
You’ll need to go to the Mixtile store to take advantage of the offer, add a product to the cart, and apply the coupon code cnx50off or cnx25off depending on the item purchased. Note that each coupon can only be used once for a given customer, they can’t be combined in a single order, and both are valid until December 31, 2024.
While the coupons are valid until the end of the year, stocks are limited, and the company prepared 100 coupons for the Mixtile Blade 3 (and accessories) and 100 coupons for the Mixtile Core 3588E.
As one should have expected after the Kodi 21 “Omega” release last month, the LibreELEC 12 lightweight Linux media center distribution is now out with many devices updated to 64-bit, including the Rasberry Pi 4 and 5 SBCs.
LibreELEC 11 was released last year based on Kodi 20 “Nexus” and bringing back support for Amlogic devices. LibreELEC 12 builds on that and benefits from the new features added to Kodi 21 such as FFmpeg 6 and works on Arm platforms based on Allwinner, Amlogic, Broadcom (Raspberry Pi), and Rockchip processors, as well as generic x86 computers.
It’s an easy option to create a dedicated HTPC based on a range of hardware with all the features brought by Kodi 21 media center. Since so many platforms are supported there are always some limitations for each and known problems:
Raspberry Pi – 50/60fps H.264 HW decoding may need force_turbo=1 or core_freq_min=500 in config.txt to avoid AV-sync-issues/skipping
Several Amlogic devices are well supported – compared to Allwinner/Rockchip, see below – but with a range of missing features
No support for updates from older LibreELEC releases (clean install is mandatory)
No support for internal eMMC installs except WeTek Hub/Play2 and SBC boards
No support for SSV6501 and S908CS WiFi chips
No drivers for in-box DVB tuners
No hardware deinterlacing
No HDR to SDR tone mapping
No formal support for newer S905X2/D2/Y2, S905X3, S922X, and A312D devices (Android is recommended for those due to a complex situation concerning Linux drivers. Note: CoreELEC is also another option)
Known problems:
Allwinner OrangePi Win does not work properly
Allwinner and Rockchip devices are not widely tested, and there may be issues
Rockchip RK3328 devices such as the Rock64 SBC are currently not working.
You can check whether your device is supported and get an OS image on the Downloads page. If going the upgrade path from LibreELEC 11 to LibreELEC 12, note that Widevine DRM will need to be reinstalled for those Arm platforms that switch from 32-bit to 64-bit. Further details, notably about the Amlogic Linux drivers situation, can be found in the announcement.
Intel Alder Lake-N processors have been pretty popular in mini PCs and to a lesser extent in single board computers in the last year or so, thanks to their excellent performance/price and features/price ratios. All processors have more or less the same features, but performance differences do exist and do not always match the increasing part number.
Since we’ve reviewed a bunch of Alder Lake mini PCs, I’ve decided to compare the performance of the Processor N95, Processor N97, Processor N100, and Core i3-N305 CPUs to have a better understanding of the differences between each part.
Prices are taken from Amazon without any coupon or discount, and most do have a discount, for example, $80 for the MP80 at the time of writing. Weibu N10 is an OEM product that has no publicly available pricing information, but fully equipped Core i3-N305 mini PCs will have an MSRP of over $300. All those models are not the cheapest ones, but the ones we have reviewed ourselves, and you’ll find fully equipped systems for under $150, possibly missing features such as 2.5GbE, WiFi 6, etc…
The Blackview MP80 models come with SATA storage which will negatively impact some benchmark scores compared to other models with M.2 NVMe storage.
Alder Lake-N benchmarks comparison – Windows 11 Edition
Let’s start with Windows 11 (Pro) benchmark results:
Blackview MP80 (Processor N95)
Blackview MP80 (Processor N97)
MINIX Z100-0dB
GEEKOM Mini Air12
Weibu N10 Core i3-N305
PCMark 10
3,196
3,388
3,009
3,150
N/A
- Essentials
7,213
7,026
7,240
7,467
N/A
- Productivity
4,884
5,104
4,285
4,598
N/A
- Digital content creation
2,515
2,945
2,386
2,471
N/A
3DMark (Fire Strike)
1,038
1,527
1,125
1,188
1,534
PerformanceTest 11.0
1,286
1,606
1,512
1,580
2,358
- CPU Mark
4,649
6,089
6,003
6,180
9,734
- 2D Graphics Mark
281
459
227
248
253
- 3D Graphics Mark
901
1,170
884
888
1,172
- Memory Mark
2,141
2,230
2,309
2,492
2,379
- Disk Mark
3,843
4,305
11,886
20,984
12,806
Cinebench R23
- Single Core
913
926
789
918
1,030
- Multi Core
2,673
2,741
2,541
2,927
4,505
Power consumption (idle)
8.5-9.0 Watts
9 – 11 Watts
8.9 – 9.2 Watts
8 to 10 Watts
12.5 Watts
You’ll find the Windows 11 benchmarks in the relevant sections of each review:
The Core i3-N305 will be the fastest of the lot for multi-core workloads thanks to its eight cores, but the real winner in terms of price/performance ratio is the Processor N97 with good CPU performance and a better 3D graphics thanks to 24EU Intel UHD Graphics clocked at 1.2 GHz instead of just 16EU @ 1.2 GHz or 24EU @ 750 MHz for the other parts. That’s why, along with the higher turbo frequency, Hardkernel selected the Intel Processor N97 for the ODROID-H4 SBC over the Processor N100 despite the slightly higher price. As mentioned above, storage results for the MP80 mini PCs should be ignored (for a CPU comparison) due to the use of an M.2 SATA SSD.
All systems have about the same power consumption at idle (desktop mode with HDMI display, wireless keyboard, wireless mouse, and Ethernet or WiFi). The exception was the Weibu N10 which was reviewed by Ian with different equipment and environment. As we can see from the MINIX Z100-0dB (fanless) and GEEKOM Mini Air12 (actively cooled) results, fanless solutions may perform a little slower, especially in hot conditions, but may consume a little less since there’s no fan. It’s also worth repeating that the often misinterpreted TDP values have no direct connection to the power consumption of a device since 6W N100 and 12W N97 mini PCs consume about the same.
Alder Lake-N benchmarks comparison – Linux Edition
Let’s now switch to Linux benchmarks, although we’ll have to drop the Blackview MP80 (N95) as we were unable to install Ubuntu 22.04 on it, and only found out later that Fedora 39 could be installed and work reasonably well on the N97 model. All other mini PCs were tested with Ubuntu 22.04.
Blackview MP80 (N97)
MINIX Z100-0dB
GEEKOM Mini Air12
Weibu N10 Core i3-N305
OS
Fedora 39
Ubuntu 22.04
Ubuntu 22.04
Ubuntu 22.04
sbc-bench.sh
- memcpy
8989.0 MB/s
9,572.6 MB/s,
10,459.3 MB/s
9,949.4 MB/s
- memset
12881.2 MB/s
8,552.2 MB/s
10,665.4 MB/s
8,991.6 MB/s
- 7-zip (average)
13,230
10,680
13,940
17,615
- 7-zip (top result)
13,270
12,324
13,976
20,002
- OpenSSL AES-256 16K
1302822.91k
1,232,743.08k
1,233,283.75k
1,377,211.73k
Geekbench 6 Single
1,251
1,243
1,213
1,177 (Geekbench 5)
Geekbench 6 Multi
3,141
3,189
3,272
4,856 (Geekbench 5)
Unigine Heaven score
404
294
303
451
Speedometer (Firefox)
152
146
149
N/A
You’ll find the Linux benchmarks in the relevant sections of each review:
The story in Linux is very similar to the one in Windows, with the Core i3-N305 being the more powerful solution as expected, but the Processor N97 delivers similar performance as the N100 in most tests except for 3D graphics (Unigine Heaven Benchmark 4.0 benchmark) where it’s significantly faster.
AAEON’s RTC-1010RK is a 10.1-inch (1280 x 800) rugged tablet powered by a Rockchip RK3399 processor and can be equipped with up to 4GB LPDDR4 memory and 128GB eMMC flash. It offers robust connectivity with Wi-Fi, Bluetooth, and optional 4G LTE and Ethernet. It also supports GPS + GLONASS (Default), and BeiDou (Optional) for navigation.
The RTC-1010RK is an IP65-rated tablet with protection against dust and water splashes. Additionally, it has programmable function keys, NFC/smart card readers, front (8MP) and rear (8MP) cameras, and the option to add a barcode scanner. The hot-swappable battery in the tablet ensures uninterrupted power, making it ideal for demanding field and industrial applications.
Vibration –MIL-STD-810H: 2019, 514.8 Procedure I, Table 514.8C-I Category 4 common carrier
Drop – MIL-STD-810H: 2019, 516.8 Procedure IV Drop height: 122cm Number of Drop: 26 times, for all surfaces, edges, and corners Condition: Based on 2“ plywood over concrete
SHOCK – MIL-STD-810H: 2019, 516.8 Procedure V
ESD – Air charge: +/- 8KV, Contact charge: +/- 4KV
Certifications and Standards – UL62368-1, CE, FCC, IC
The company mentions that the RTC-1010RK will ship with Android 11, and you don’t have to worry about drops, shocks, or vibrations because this tablet is MIL-STD-810H (a military standard that tests a product’s ability to withstand environmental conditions throughout its lifetime) tested for extreme environments.
At the time of writing the AAEON has not declared any pricing information for the tablet, but if you want to get a quote or have any inquiries you can do that from their product page where you’ll also find a datasheet and a manual for download.