TinyMaix is a lightweight machine learning library for microcontrollers

TinyMaix machine learning Arduino

Sipeed TinyMaix open-source machine learning library is designed for microcontrollers, and lightweight enough to run on a Microchip ATmega328 MCU found in the Arduino UNO board and its many clones. Developed during a weekend hackathon, the core code of TinyMax is about 400 lines long, with a binary size of about 3KB, and low RAM usage, enabling it to run the MNIST handwritten digit classification on an ATmega320 MCU with just 2KB SRAM and 32KB flash. TinyMax highlights Small footprint Core code is less than 400 lines (tm_layers.c+tm_model.c+arch_O0.h), code .text section less than 3KB Low RAM consumption, with the MNIST classification running on less than 1KB RAM Support INT8/FP32 model, convert from keras h5 or tflite. Support multi-architecture acceleration: ARM SIMD/NEON, MVEI, RV32P, RV64V (32-bit & 64-bit RISC-V vector extensions) User-friendly interfaces, just load/run models Supports full static memory config MaixHub Online Model Training support coming soon Sipeed says there […]

EncroPi – A Raspberry Pi RP2040 USB key to read, encrypt & store data (Crowdfunding)

SB Components’ EncroPi is a USB key based on the Raspberry Pi RP2040 microcontroller that can be used to log data, encrypt data, or as a secure key, and it also features a DS3231 real-time clock with a backup battery to store the data and time. The USB key also comes with a small 1.14-inch color display to display information such as time and date, and should be programmable like the Raspberry Pi Pico with MicroPython or C/C++. All photo shows a USB Type-A port, but based on user feedback the company will also make a USB Type-C version. EncroPi specifications: MCU – Raspberry Pi RP2040 dual-core Cortex-M0+ microcontroller @ 133 MHz with 264KB SRAM Storage – QSPI flash, MicroSD card slot Display – 1.14-inch color LCD with 240×240 resolution USB – 1x USB 2.0 Type-A or Type-C port (should it be USB 1.1 instead?) Misc – Boot button, Power […]

Milandr MDR32F02FI is a RISC-V microcontroller for (Russian) electricity meters

Last year, we wrote about the Made-in-Russia Mikron MIK32 RISC-V microcontroller with features similar to STM32L0 Arm Cortex-M0+, and I was recently told that the first fully packed samples are expected for the end of autumn. But it turns out there’s another Russian company that makes RISC-V microcontrollers, and for instance, the Milandr MDR32F02FI features the open-source BM-310 RISC-V MCU core and is specially designed for electricity meters. It is the second generation of the microcontroller with the first being based on Arm Cortex-M0 core and produced for over 5 years. Milandr MDR32F02FI specifications: CPU – CloudBEAR BМ-310S 32-bit RISC-V core @ 60 MHz Memory – 112KB Storage – 256+8 KB flash, 16KB OTP Electricity meter function 7-channel 24-bit sigma-delta ADC Hardware unit for calculating power consumption Other Peripherals 5x UART, 3x SPI, 1x I2C Up to 55x GPIOs Instrumental ADC – 10-bit with temperature sensor 4x 32-bit timer blocks […]

YD-CH32V307VCT6 RISC-V MCU board comes with Ethernet and plenty of I/Os

At the beginning of the year, we wrote about WCH CH32V307 RISC-V microcontroller and a development board with 8 UART ports controlled over Ethernet. I’ve now been informed of a similar, but much more compact by VCC-GND Studio named “YD-CH32V307VCT6”. Besides the 144 MHz RISC-V microcontroller, the board features a 10Mbps Ethernet port, two USB Type-C ports, SPI flash, EEPROM, a microSD card socket, and four rows of 24 pins each for a total of 96 pins exposing all pins out of the LQFP100 package. YD-CH32V307VCT6 board specifications: MCU – WCH CH32V307VCT6 32-bit RISC-V microcontroller @ 144 MHz with 256K Flash, 64K SRAM Storage – 32Mbit SPI NOR flash (W25Q32), 64kbit EEPROM (24C64), MicroSD card slot Networking – 10 Mbps Ethernet USB – 1x USB 2.0 Type-C port (High Speed: 480 Mbps), 1x USB 2.0 Type-C port (Full Speed: 12 Mbps) Expansion – 2x 48-pin headers with 2 x 12-bit […]

can2040 project adds software CAN bus to Raspberry Pi RP2040 microcontroller

The can2040 project is a software CAN bus implementation for the Raspberry Pi RP2040 microcontroller that leverages programmable I/Os (PIO) to achieve reading and writing CAN 2.0B data frames at rates up to 1Mbit per second. Kevin O’Connor, the developer of the project, further explains the implementation uses only one of the two RP2040 PIO hardware blocks, so it is possible for a single Raspberry Pi RP2040 chip to have two separate CAN bus interfaces. Some processing also happens on one of the Arm Cortex-M0+ cores of the microcontroller with the processing time dependent on the amount of bus traffic, and a fully saturated CAN bus at the fastest supported rate of 1Mbit/s may use up to around 30% of that core when clocked at 125MHz, so that should still leave plenty of room for other tasks that may run on the system. I could not find any information about […]

Using Raspberry Pi Pico as a logic analyzer

MCU boards, including the $1.5 BluePill board, have been used as cheap logic analyzers for years, notably with Sigrok open-source software. So it should come as no surprise the $4 Raspberry Pi Pico board can also be used as a logic analyzer, with one developer claiming it can deliver 100 Msps, or the performance obtained with a 1.6 GHz CPU, thanks to the PIOs from the Raspberry Pi RP2040. Hackaday reported about a Sigrok driver for the Pico last March, but the topic was brought to our attention via a post on Hackster.io about an open-source Windows program developed from scratch to transform the Raspberry Pi Pico board into a logic analyzer capable of 100 Msps. Agustín Gimenez Bernad (aka gusmanb)’s LogicAnalyzer program offers up to 24 digital channels, pre, and post-trigger sampling, edge trigger and pattern trigger up to 16 bits. It can work with the Raspberry Pi Pico […]

Flashchip FCM32 is yet another alternative to STM32 microcontroller

Once upon a time, people tried to avoid STM32 fakes and clones, but in a world where companies are allegedly purchasing washing machines to extract a few unavailable components, people have started to look for alternatives, and last week I wrote about the Geehy APM32 family of STM32 clones. But I had never heard about Flashchip Microelectronics FCM32 microcontrollers, and they are not that easy to find in search engines, so they must be relatively new. The company appears to make both FCM32F clones and FCM32H derivatives with no direct equivalent STM32 part numbers, a higher clock frequency, and faster flash. For example, the FCMF030F4P6 will match the specifications of STMF030F4P6 as far as I can tell. The good news is that the datasheet is available in both Chinese and English. The FCM32H030C8T6 appears to be a higher performance version of STM32F030C8T8 / FCM32F030C8T8 with a 100 MHz frequency, and […]

Silabs EFM32-based HydroMoth enables underwater acoustic data recordings

Open Acoustic Devices’ HydroMoth is the underwater equivalent of the AudioMoth full-spectrum acoustic device that records audio samples mostly to monitor wildlife. Still based on a Silicon Labs EFM32 Wonder Gecko MCU, the HydroMoth is firmware-compatible with AudioMoth, enables audio recording at up to 60 meters deep, and has been tested to last two months at a depth of 30m using three AA batteries. HydroMoth key features and specifications: Wireless microcontroller – Silicon Labs EFM32 Wonder Gecko Cortex-M4F MCU @ 48MHz with 256kB Flash, 32kB RAM Storage – MicroSD card slot to store audio data Audio capture Onboard analog MEMS microphone acting as contact hydrophone Analog preamplifier with adjustable gain Uncompressed WAV from 8k to 384k samples per second USB – Micro USB Type-B port for configuration and reprogramming of the flash Misc Onboard RTC to track time in UTC timezone Improved 32.768 kHz MEMS oscillator to reduce clock drift […]