tutorials News - CNX Software - Embedded Systems News

Espressif Systems releases a Linux BSP developer preview for ESP32-S31 RISC-V microprocessor

ESP32-S31 Linux

The ESP32-S31 microprocessor is getting Linux support from Espressif Systems. The ESP32-S31 dual-core RISC-V microprocessor was first unveiled in March, two ESP32-S31 development boards followed in May, and mass production was announced a few weeks ago. The new RISC-V chip features an MMU (Memory Management Unit), which makes Linux much easier to handle, and the development boards also come with 16MB PSRAM, so a minimal Linux image is possible. Moving from theory to practice, Espressif Systems has now released a developer preview version of the ESP Linux BSP for ESP32-S31, and some community Linux ports are also in the works (more on that at the end of the article). Let’s focus on the official ESP Linux BSP. The aforementioned repo only contains the image layout and packaging tools used by the ESP32-S31 Buildroot integration, and the core of the project can be found in the esp-buildroot-external repo with ESP32-S31 NOR boot […]

Using the Khadas Mind Graphics 2 (NVIDIA RTX 5060 Ti USB4 eGPU) on Ubuntu 26.04

Khadas Mind Graphics 2 NVIDIA GeForce RTX 5060 Ti 16GB eGPU Ubuntu 26.04

When we used the NVIDIA GeForce RTX 5060 Ti 16GB-based Khadas Mind Graphics 2 dock with a mini PC running Ubuntu 26.04 last week, the USB4-connected eGPU was detected and enabled automatically, but we encountered two issues: very poor performance and the mini PC failed to boot when the dock was removed. The solution is partially documented as part of a long GEEKOM IT13 Max Ubuntu 26.04 review, but I thought it might be useful to document everything in a shorter article for people who own the Khadas Mind Graphics 2 or another NVIDIA Blackwell eGPU connected over USB4/Thunderbolt. Fixing Khadas Mind Graphics 2 performance issues on Ubuntu The Khadas Mind Graphics 2 and NVIDIA graphics card were automatically detected when I connected the dock to an Ubuntu 26.04 mini PC

Armbian Imager 2.0 release supports over 300 boards from 64 SBC vendors, custom user profiles

Rock 5B Plus Armbian Operating System Selection

The Armbian community has just released the Armbian Imager 2.0 GUI program to easily flash pre-built Armbian-built Ubuntu or Debian images for over 338 boards from 64 SBC vendors. The new version features a slick user interface rewritten from scratch and implements custom user profiles in the settings with username and password, SSH key, Wi-Fi network credentials and country code, timezone, locale, and shell. That means the board is ready to use after flashing.  In some ways it’s similar to the Raspberry Pi Imager 2.0, except it covers a much broader ecosystem of single board computers. To be honest, I had no idea Armbian had an imager so far. The last time I used an Armbian image, I downloaded it directly from their website and used USB Imager or another tool to flash it to a microSD card slot. So it’s a good opportunity to check out the Armbian Imager […]

My experience upgrading the BIOS of a Windows 11 mini PC (with BitLocker) in 2026

Khadas Mind 2 BIOS update

I don’t always update the BIOS of my system, but when I do, I always make sure to waste several hours doing so. Last time I did that was in 2020, but this happened again when I updated the BIOS for the Khadas Mind 2 to test it with the Mind xPlay display and Mind Graphics 2 dock. Khadas provides the BIOS with instructions to update the Mind 2 mini PC, and it’s supposed to take five minutes, but I ended up wasting two about hours… The first step is to download and extract a zip file (mind-2-bios-v1.07-260122.zip), then start the Flash_BIOS upgrade program, and finally wait for the upgrade to complete. That part went great. No problem, but when the system rebooted, I was greeted by a BitLocker window asking me to enter a recovery key to carry on with the boot process. There’s no way to avoid this, […]

Idle CPU power management: cpuidle

Linux Kernel cpuidle subsystem architecture

Twenty years ago, it was easy for an operating system kernel to go idle: when there were no tasks to run, “the idle loop” would be scheduled. Early idle loops were basically empty infinite loops that did nothing while waiting for the next interrupt to happen. This saved power simply by avoiding running instructions that needed power-hungry components such as the cache or FPU! Over time, changing technology has allowed multiple additional hardware mechanisms to reduce power to be introduced. With these new options available today, the idle loop is responsible for choosing and deploying the “best” way to go idle. As a brief reminder, entering and returning from an idle state has a cost, and that cost can be measured both in time and in energy. Typically, the shallowest idle state is “nearly free” to enter/exit, whilst deeper idle states have increasingly higher costs to enter and exit. If […]

Reminder: enable ZRAM on your Linux system to optimize RAM usage (and potentially save money)

ZRAM zstd compression ram sticks

With the price of RAM getting out of control, it might be a good idea to remind Linux users to enable ZRAM so they can get better performance without upgrading memory, or save money on their next single board computer by selecting a board with the right amount of memory.

I had already written about the subject when I enabled ZRAM on a ODROID-XU4Q in 2018 using zram-config, and did the same on my Ubuntu laptop at the time. In recent days, I found Firefox crashing often due to running out of memory on my system with 16GB of RAM, and the Linux 7.0 release reminded me about ZRAM, since there were some related changes. So I decided to check the current swap configuration on my Ubuntu 24.04 laptop:

Getting started with SONOFF Dongle Plus MG24 Zigbee adapter using Home Assistant

SONOFF Dongle Plus MG24 review AirGuard TH MINI-ZB2GS-L

We have received a sample of the SONOFF Dongle Plus MG24 (also known as Dongle-PMG24) Zigbee/Thread USB dongle for review. As its name implies, it’s based on a Silicon Labs EFR32MG24 wireless chip, and the company claims up to 200 meters range thanks to an included 3dBi antenna. It is compatible with Windows, Linux, macOS, Raspberry Pi OS, and other operating systems that support USB serial drivers. The dongle works seamlessly with popular open-source platforms, such as Home Assistant, Zigbee2MQTT, ioBroker, and OpenHAB. In this review, we will go through an unboxing of the SONOFF Dongle Plus MG24, before connecting it to a Raspberry Pi 4 running Home Assistant. We will use two Zigbee devices from SONOFF: the  AirGuard TH (SNZB-02DR2) temperature and humidity sensor with an LCD, and the MINI DUO-L (MINI-ZB2GS-L) dual-channel/2-gang Zigbee 3.0 switch to demonstrate how to use the dongle with Home Assistant. SONOFF Dongle Plus […]

FlashESP is an all-in-one web-based tool for ESP32/ESP8266 Arduino development and firmware flashing

FlashESP Web-based ESP32 programming tool

FlashESP is a web-based tool allowing the development of Arduino sketches and firmware flashing for ESP32 and ESP8266 hardware platforms. I initially thought it was similar to ESP Web Tools for flashing firmware from the web and used by projects like ESPHome, but it goes further than that, and it looks like an Arduino Cloud Editor for ESP32/ESP8266 instead, since users can select boards, write code, load libraries, and flash the resulting firmware from a compatible web browser without installing anything else on their computer. FlashESP key features: Cloud Compilation – Real-time compilation with live logs. Auto Configuration – Intelligent board and library detection. One-Click Flash – Web Serial integration. Connect your ESP via USB and flash directly from a compatible browser (WebSerial support needed) without any drivers or downloads. Public Explorer – Discover community projects. Flexible Visibility – Create private projects for your team, public for the world, or […]

Banana Pi BPI-M8 Allwinner A733 Edge AI SBC