AIfES for Arduino high-efficiency AI framework for microcontrollers becomes open source

AlFes for Arduino

AIfES (AI for Embedded Systems) is a standalone, high-efficiency, AI framework, which allows the Fraunhofer Institute for Microelectronic Circuits and Systems, or Fraunhofer IMS for short, to train and run machine learning algorithms on resource-constrained microcontrollers. So far the framework was closed-source and only used internally by Fraunhofer IMS, but following a collaboration with Arduino, AIfES for Arduino is now open-source and free to use for non-commercial projects. The framework has been optimized to allow 8-bit microcontrollers such as the one found in Arduino Uno to implement an Artificial Neural Network (ANN) that can be trained in moderate time. That means offline inference and training on small self-learning battery-powered devices is possible with AIfES without relying on the cloud or other devices. The library implements Feedforward Neural Networks (FNN) that can be freely parameterized, trained, modified, or reloaded at runtime. Programmed in C language, AIfES uses only standard libraries based […]

ARM64EC mixes Arm and x64 emulated code in Windows 11 for higher performance on Arm

ARM64EC Windows 11

Windows has been available on Arm for a few years, and while software support has progressed there have always been some limitations, and emulated x86/x64 code on Arm does not usually run as fast as native ARM32/ARM64 code. So far developers had a binary choice: run their x86/x64 app on Arm using emulation, or port the entire app to Arm, But Microsoft has now come up with a solution that mixes x64 emulation and native Arm with ARM64EC (Emulation Compatible). That means developers won’t need to port the complete app to Arm, but instead could do so step-by-step and focus on part of the code where native Arm support makes the most difference. Microsoft explains: ARM64EC is a new application binary interface (ABI) for Windows 11 on ARM that runs with native speed and is interoperable with x64. An app, process, or even a module can freely mix and match […]

Arm introduces Open-CMSIS-Pack and Keil Studio Cloud for MCU software development

Keil Studio Cloud Beta

Arm has just announced two new initiatives that aim to boost the productivity embedded, IoT, ML, and MCU software developers: the Open-CMSIS-Pack project and Keil Studio Cloud. The Open-CMSIS-Pack Project The Cortex Microcontroller Software Interface Standard (CMSIS) packs have been around for years providing a vendor-independent hardware abstraction layer for microcontrollers, mostly Cortex-M based, but others too, and currently support close to 9000 different microcontrollers. I always assumed CMSIS was open-source as the source code is available in Github under an Apache 2.0 license. But apparently, not all components are, and Arm has now announced the Open-CMSIS-Pack project that will move part of CMSIS into the open project in collaboration with the Linaro IoT and Embedded Group. Linaro, Arm, and other partners like STMicro and NXP will initially focus their work on command-line tools and CMake workflows, with the ultimate goal of making the CMSIS-Pack technology into a true open […]

HybridOS is an open-source operating system designed for smart IoT devices and cloud computing environment

HybridOS

As I wrote about the “Summer 2021 of Open Source Promotion Plan” earlier, I noticed a new open-source operating system called HybridOS described as “totally new” and designed for “smart IoT devices and cloud computing environment”. It’s actually more of an ecosystem than an operating system, as it offers three main components with a device side running on devices running Linux kernel or another POSIX-compatible kernel, a server side running on servers in the cloud, and a client side to manage the cloud and devices from Windows, Linux distributions, iOS, or Android. HybridOS Device Side relies on several open-source projects including: hiWebKit, the HybridOS derivative of WebKit: hiACEJS, the HybridOS derivative of OpenHarmony ACELite hiViewRenders, the renderers for hiview tag of hiWebKit hiShell, the app running environment (the shell) Various Graphics stacks including hiMesa, the HybridOS derivative of Mesa hiCairo, the HybridOS derivative of Cairo: hiDRMDrivers, DRM Drivers for HybridOS […]

Summer 2021 of Open Source Promotion Plan is China’s alternative to Google Summer of Code

Summer 2021 Open Source Promotion Plan

China has now an alternative to the Google Summer of Code, an international annual program in which Google awards stipends to students who successfully complete a free and open-source software coding project during the summer. China’s alternative is called “Summer 2021 of Open Source Promotion Plan”, also known as “summer 2021” for short, and is organized by the Institute of Software Chinese Academy of Sciences and the openEuler community. It’s a global program open to college students around the world who want to participate in the development and maintenance of open-source software. There’s only one specific requirement to be able to apply:  be at least 18 years old at the time of registration. Selected students will be paid according to the complexity of the project with 12000 RMB ($1,867), 9000 RMB ($1,400), or 6000 RMB ($933) “bonuses” to be distributed at the end of the project. Other stakeholders include the […]

Allwinner V831 NPU (Neural Processor Unit) reverse-engineered

V831 NPU open-source toolchain

When Sipeed introduced MAIX-II Dock AIoT vision development kit, they asked help from the community to help reverse-engineer Allwinner V831‘s NPU in order to make an open-source AI toolchain based on NCNN. Sipeed already had decoded the NPU registers, and Jasbir offered help for the next step and received a free sample board to try it out. Good progress has been made and it’s now possible to detect objects like a boat using cifar10 object recognition sample. Allwinner V831’s NPU is based on a customized implementation of NVIDIA Deep Learning Accelerator (NVDLA) open-source architecture, something that Allwinner (through Sipeed) asked us to remove from the initial announcement, and after reverse-engineering work, Jasbir determined the following key finding: The NPU clock defaults to 400 MHz, but can be set between 100 and 1200 MHz NPU is implemented with nv_small configuration (NV Small Model),  and relies on shared system memory for all […]

Crowbits Master Kit Tutorial – Part 2: ESP32 intrusion scanner and visual programming

Crowbits Intrusion Scanner

I started Crowbits Master Kit review last month by checking out the content, user manual, and some of the possible projects for the ESP32 educational kit including a 2G phone and a portable game console. For the second part of the review, I’ll go through one of the lessons in detail, namely the intrusion scanner to show the whole process and how well (or not) it works. Let’s go to Lesson 5 directly, although I’d recommend going through the first lessons that provide details about the hardware and visual programming basics using Letscode program, which is basically a custom version of Scratch for Crowbits The user manual introduces the project, explains it is to detect intruders, and lists the learning goals as we’ll learn how to control the servo and play music on the Crowbits kit. Kit Assembly But first, we’ll have some assembly to do, in a similar way […]

Made in Thailand CorgiDude RISC-V AI board aims to teach machine learning

CorgiDude AI Learning Kit

There’s a relatively small but active maker community in Thailand, and we’ve covered or even reviewed some made in Thailand boards including ESP8266 and ESP32 boards, a 3G Raspberry Pi HAT, and KidBright education platform among others. MakerAsia has developed CorgiDude, a board based on the version of Sipeed M1 RISC-V AI module with built-in WiFi, and part as a kit with a camera and a display used to teach machine learning and artificial intelligence with MicroPython or C/C++ programming. CorgiDude board specifications: AI Wireless Module – Sipeed M1W Module with Kendryte K210  dual-core 64-bit RISC-V RV64IMAFDC CPU @ 400Mhz with FPU, various AI accelerators (KPU, FFT accelerator…),  8MiB on-chip SRAM Espressif ESP8285 single-core 2.4 GHz WiFi 4 SoC plus IPEX antenna connector Storage – MicroSD card slot Camera I/F for 2MP OV2640 sensor up to 1280 × 1024 (SXGA) @ 30 fosm SVGA @ 30 fps, or CIF @ […]

UP 7000 x86 SBC