Review of SMARTHON Smart City IoT Starter Kit for BBC Micro:bit

Smarthon Smart City IoT Starter Kit review

SMARTHON Smart City IoT Starter Kit for micro:bit is an educational kit for 10+ years old teaching basic projects from turning an LED to more complex projects with multiple sensors, IFTTT integration, and mobile app development. The company sent us a sample of the Start Kit along with a BBC Micro:bit board for review, and we’ll report our experience with the kit in this review. Unboxing of SMARTHON Smart City IoT Starter Kit for micro:bit The package I received includes the SMARTHON Smart City IoT Starter Kit for Micro:bit and a BBC Micro:bit V2 board since it’s not included in the starter kit. The bottom side of the package lists the main components and features a QR code pointing to the product page. The package includes cardboard and wooden models, various cables, a 180° servo, a screw set, a city map, the Smarthon IoT:bit carrier board for the BBC Micro:bit, […]

Raspberry Pi CM5 review with different cooling solutions (and camera tribulations)

Raspberry Pi CM5 IO board cooling heatsink active cooler

The day of Raspberry Pi CM5 release, I published a mini review of the Raspberry Pi Development Kit for CM5 showing how to assemble the kit and boot Raspberry Pi OS, and I also ran sbc-bench benchmark to evaluate the performance. Sadly, the Broadcom BCM2712 CPU did throttle during the test meaning cooling was not optimal when the CM5 IO board was inside the IO Case and the Compute Module 5 was only cooled by the fan. So today, I’ll repeat the same test with other cooling solutions namely the official Raspberry Pi Cooler for CM5 (that’s a heatsink only),  and EDATEC’s CM5 active cooler similar to the active cooler for the Raspberry Pi 5, but designed for the CPU module. But before that, I’ll do some house cleaning so to speak since last time, I booted Raspberry Pi OS from an NVMe SSD and I noticed the camera did […]

iKOOLCORE R2 Max review – Part 2: 10GbE on an Intel N100 mini PC with OpenWrt (QWRT), Proxmox VE, Ubuntu 24.04 and pfSense 2.7.2

iKOOLCORE R2 Max Review Proxmox VE Ubuntu 22.04

I’ve already checked out iKOOLCORE R2 Max hardware in the first part of the review with an unboxing and a teardown of the Intel N100 system with two 10GbE ports and two 2.5GbE ports. I’ve now had more time to test it with an OpenWrt fork, Proxmox VE, Ubuntu 24.04, and pfSense, so I’ll report my experience in the second and final part of the review. As a reminder, since I didn’t have any 10GbE gear so far, iKOOLCORE sent me two R2 Max devices, a fanless model and an actively-cooled model. I was told the fanless one was based on Intel N100 SoC, and the actively-cooled one was powered by an Intel Core i3-N305 CPU, but I ended up with two Intel N100 devices. The fanless model will be an OpenWrt 23.05 (QWRT) server, and the actively cooled variant be the device under test/client with Proxmox VE 8.3 server […]

How to use iperf3 in multi-thread mode for 10Gps+ Ethernet testing

iperf3 10GbE multi thread test

With 10GbE becoming more widespread and often found in entry-level hardware, the CPU may become the bottleneck, so I’ll explain how to use iperf3 in multi-thread mode to fully saturate the 10GbE bandwidth even with a system based on a relatively low-end multi-core processor.

For this tutorial, I use two iKOOCORE R2 Max mini PCs with two 10GbE interfaces each and an Intel N100 quad-core processor running an OpenWrt fork (QWRT) and Proxmox VE (Debian) respectively. I will show how I can fully saturate the 10GbE interfaces using multithreading, but not with a typical iperf3 single-core test.

Arduino Core for Zephyr beta released – Let’s give it a try!

Arduino Zephyr Boards llext

Last July, Arduino announced plans to switch from the soon-to-be deprecated Arm Mbed to Zephyr RTOS, and the company has now outed the first beta release of “Arduino Core for Zephyr OS” for a range of boards. From the user’s perspective, this should not change anything. However, there are massive changes under the hood and Arduino sketches are built and executed differently with the Arduino Core for Zephyr.  Some highlights of the new Zephyr-based Arduino core implementation include: Dynamic sketch loading – Sketches are compiled as ELF files and dynamically loaded by a precompiled Zephyr-based firmware. Zephyr subsystems support threading, inter-process communication, and real-time scheduling. Fast compiling and smaller binaries since a thin layer of user code and libraries are compiled, while the rest of the ZephyrOS is already binary. You can get started straightaway with the code and instructions on GitHub. You’ll need Arduino 2.x.x for this to work. […]

Getting Started with Raspberry Pi AI HAT+ (26 TOPS) and Raspberry Pi AI camera

Raspberry Pi AI HAT+ and AI camera review

Raspberry Pi recently launched several AI products including the Raspberry Pi AI HAT+ for the Pi 5 with 13 TOPS or 26 TOPS of performance and the less powerful Raspberry Pi AI camera suitable for all Raspberry Pi SBC with a MIPI CSI connector. The company sent me samples of the AI HAT+ (26 TOPS) and the AI camera for review, as well as other accessories such as the Raspberry Pi Touch Display 2 and Raspberry Pi Bumper, so I’ll report my experience getting started mostly following the documentation for the AI HAT+ and AI camera. Hardware used for testing In this tutorial/review, I’ll use a Raspberry Pi 5 with the AI HAT+ and a Raspberry Pi Camera Module 3, while I’ll connect the AI camera to a Raspberry Pi 4. I also plan to use one of the boards with the new Touch Display 2. Let’s go through a […]

Mitigating a DoS attack with GoAccess and Cloudflare

Cloudflare Under Attack Mode

In this off-topic post, I’m going to discuss some behind-the-scenes “fun” that may happen when managing the web server used to host the CNX Software website. From time to time, the server becomes unreachable, but I can still access its console, and notice a very high CPU load (over 100) on a VPS with four cores, while the CPU load is typically 0.5 to 2 under normal circumstances. That’s usually due to a DoS (denial of service), DDoS (distributed denial of service), or some bug I can’t identify. An easy way to solve this issue is to log in to Cloudflare and set the “Under Attack Mode” to on. It will show all visitors a JavaScript challenge the first time they visit the website, and the CPU usage typically drops back to normal level within a minute or so. That means I can access my website and so do regular […]

Arduino CLI 1.0 released – Let’s try it with the Raspberry Pi Pico 2

Arduino CLI Raspberry Pi Pico 2

Arduino has just announced the release of the Arduino CLI version 1.0.0, the first stable release for which users and developers can be confident the software API won’t change over time, or at least with minimal changes that will not impact the workflow of applications based on it. We first looked at the Arduino CLI when it was still at the alpha stage way back in 2018. Arduino CLI version 1.0.0 was actually quietly released about two months ago, but Arduino only announced it now and the utility is now at version 1.0.4 with several bug fixes. Arduino CLI 1.0 release The goal of the API is to easily program the boards from the command line without having to use the Arduino IDE, and the CLI can be integrated into your own script to automatize various processes. Arduino explains there are three ways to integrate and utilize the capabilities of […]

EmbeddedTS embedded systems design