Getting Started with Sipeed M1 based Maixduino Board & Grove AI HAT for Raspberry Pi

Grove AI HAT Face Detection

Last year we discovered Kendryte K210 processor with a RISC-V core and featuring AI accelerators for machine vision and machine hearing. Soon after,  Sipeed M1 module was launched with the processor for aroud $10. Then this year we started to get more convenient development board featuring Sipeed M1 module such as Maixduino or Grove AI Hat. Seeed Studio sent me the last two boards for review. So I’ll start by showing the items I received, before showing how to get started with MicroPython and Arduino code. Note that I’ll be using Ubuntu 18.04, but development in Windows is also possible. Unboxing I received two packages with a Maixduino kit, and the other “Grove AI HAT for Edge Computing”. Grove AI HAT for Edge Computing Let’s start with the second. The board is a Raspberry Pi HAT with Sipeed M1 module, a 40-pin Raspberry Pi header, 6 grove connectors, as well as connectors for camera and display. The USB-C port is …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

BFQ (Budget Fair Queuing) I/O Scheduler Improves Linux Systems Responsiveness (Video)

BFQ Scheduler

Storage is normally the slowest part of a system, and operating systems such as Linux try to limit I/O access with “tricks” like caching. The I/O scheduler may also matter if you have multiple programs accessing the same drive, and in Linux 4.12 implemented two new multi-queue block I/O schedulers, namely BFQ (Budget Fair Queuing) and Kyber that are meant to improve the performance of the systems. If you’re using Linux 5.2 you may even get further improvements since performance tweaks make application start-up times under load to be up to 80% faster. I have never seen BFQ in action so far, but earlier this year, Paolo Valente, who is working for Linaro, made a video with an Acer Chromebook 15 showing Google Chrome launch time using the default mq-deadline schedule, and bfq-mq scheduler. The test involves writing a 1.5GB file to the drive with dd, and clicking on the Google Chrome icon to start it up. With the mq-deadline …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

PhyWhisperer-USB Python Controlled USB 2.0 Sniffer Enables USB Security Testing (Crowdfunding)

PhyWhisperer-USB is a hardware USB sniffer & triggering platform that allows users to test the security of USB devices using side-channel power analysis and fault injection using a Python 3 interface, beside simply capturing packets. This has become especially important now as some USB devices include Bitcoin Wallets, FIDO2 keys, and encrypted drives with valuable data. PhyWhisperer-USB hardware specifications: FPGA – Xilinx Spartan 7S15 with 12,800 logic cells USB USB 2.0 Low/Full/High Speed mode PC connection – Micro-USB 2.0 HS port Host connection – Micro-USB port Target connection – USB-A female connector Trigger pattern – 1 – 64 bytes with mask Trigger delay – 0 – 1048576‬ cycles of 240 MHz internal clock derived from USB clock USB sniffer FIFO – 8192 bytes (FPGA block RAM, adjustable depending on FPGA utilization) Expansion – Spare digital I/O: 8 data pins, 1 clock pin routed to FPGA (on front panel) Clock output – 60 MHz Target Power Source – Selectable: Host USB …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

MINIX NEO S2 USB-C SSD Hub Review in Ubuntu 18.04 with Khadas Edge

MINIX NEO S2 Khadas Edge

MINIX NEO S1 & S2 are USB-C hubs with the usual HDMI and USB outputs, but also a built-in 120 GB & 240 GB SSD respectively. The company has sent me a sample of each, and in order to test the platform, I decided to do on a Khadas board running Ubuntu 18.04 with LXDE desktop environment (aka Lubuntu). I’ll start by checking out the packages’ content, before going through my experience with the MINIX NEO S2 USB-C hub in Ubuntu 18.04 with LXDE desktop environment. MINIX NEO S1 & S2 Unboxing Both packages are basically identical except for the different color, and one shows 120GB SSD capacity, while the other has 240GB The back side has some more details about the USB-C hub. I’ll focus on the 240GB model since it’s just the same, but around $13 to $20 more expensive, and it offers double the capacity, as well as slightly higher performance. The USB-C hub ships with a …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Reading ID Card Data in Ubuntu with EZ100PU Smart Card Reader (Thai ID Edition)

Smart Card Reader Thai ID Card

I was asked help with configuring a smart card reader on a government computer running Windows 7, but this made me wonder what would happen if I connected the card reader to my Ubuntu laptop and whether I’d be able to read content from a Thai ID card. EZ100PU Smart Card Reader Let’s have a look at the card reader itself first. It’s a FAST ID EZ100PU smart card reader compliant with ISO7816 standard. That’s the product page of the specific model, but a search for EZ100PU only reveals the manufacturer may be InfoThink Technology based on Taiwan. The USB smart card reader comes with a CD that includes drivers for Windows, Linux, Mac OS, and Android, as well as an SDK with a demo program and sample code in C++, Visual Basic .NET, and C#. As we’ll see further below, the Linux driver is not needed as it works out of the box. The design of the board (RX-N99B-2) …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

TensorFlow Lite for Microcontrollers Benchmarked on Linux SBCs

TensorFlow Lite microcontrollers benchmark linux SBC

Dimitris Tassopoulos (Dimtass) decided to learn more about machine learning for embedded systems now that the technology is more mature, and wrote a series of five posts documenting his experience with low-end hardware such as STM32 Bluepill board, Arduino UNO, or ESP8266-12E module starting with simple NN examples, before moving to TensorFlow Lite for microcontrollers. Dimitris recently followed up his latest “stupid project” (that’s the name of his blog, not being demeaning here :)) by running and benchmarking TensorFlow Lite for microcontrollers on various Linux SBC. But why? you might ask. Dimitris tried to build tflite C++ API designed for Linux, but found it was hard to build, and no pre-built binary are available except for x86_64. He had no such issues with tflite-micro API, even though it’s really meant for baremetal MCU platforms. Let’s get straight to the results which also include a Ryzen platform, probably a laptop, for reference: SBC Average for 1000 runs  (ms) Ryzen 2700X (this …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Android Gaming on Khadas VIM3 SBC (Video)

Android Gaming Khadas VIM3

I started playing with Khadas VIM3 Basic SBC powered by Amlogic A311D processor and 2GB RAM, and noticed Android benchmarks, especially 3D graphics were significantly better (40% improvement) than the ones of Rockchip RK3399. So I decided it may be interesting to show Android gaming on the single-board computer, and installed the latest version of Android 9.0 with Google Play store. Finally I connected the RF dongle of Tronsmart Mars G01 wireless gamepad, as well as USB keyboard and mouse to get some fun. Since the board only has two USB type-A ports, I also inserted MINIX NEO S2 USB-C + SSD hub to connect the gamepad RF dongle. Then I tried to install and play four games Beach Buggy Racing Installed via Google Play Played with Tronsmart gamepad. Perfectly smooth with max graphics settings. Similar to other TV boxes or boards. Riptide GP2 Installed via Amazon Store Played with gamepad Perfectly smooth with max graphics settings, and improvement over …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Amlogic A311D vs Rockchip RK3399 Benchmarks Comparison

A311D vs RK3399

I’ve run some benchmarks on Khadas VIM3 SBC earlier this morning. The board is powered by the latest Amlogic A311D hexa-core Cortex-A73/A53 processor, and I’ve found results to be impressive. But let’s see how it compares to another hexa-core processor, namely the popular Rockchip RK3399 Cortex-A72/A53 processor released in 2016 and found in several Chromebooks, TV boxes, and development boards. To do so, I’ve compared Antutu 7.x, PCMark 10 Work 2.0, and 3Dmark benchmark results in Khadas VIM3 board running Android 9, against an actively-cooled Rockchip RK3399 SBC running Android 8.1. The results for A311D should be the same as for Amlogic S922X-B processor, so this post could also serve as an Amlogic S922X-B vs RK3399 comparison. Amlogic A311D vs Rockchip RK3399 – Key features Amlogic A311D Rockchip RK3399 CPU Quad-core Cortex-A73 @ 2.21 GHz Dual-core Cortex-A53 @ 1.8 GHz Dual-core Cortex-A72 @ 1.8 GHz Quad-core Cortex A53 @ 1.416 GHz GPU Arm Mali-G52MP4 ARM Mali-T860MP4 NPU Yes (5.0 TOPS) …

Support CNX Software – Donate via PayPal or become a Patron on Patreon