CherryUSB – A lightweight USB device/host stack for embedded systems

CherryUSB USB stack for embedded systems

CherryUSB is a lightweight open-source USB device/host stack for embedded systems with one or more USB interfaces. The stack implements various class drivers such as CDC, HID, MSC, audio, video, and so on. It’s apparently part of Boufallo Lab SDK (e.g. for BL702 MCU), and has been ported and tested with WCH CH32V307 RISC-V MCU, STMicro STM32F4, and Nuvoton NUC442 Cortex-M4 microcontroller, as well as a two Arm Cortex-M3 microcontrollers I’ve never heard of: EastSoft ES32F3 and MindMotion MM32L3xx. CherryUSB device stack highlights: Support for USB2.0 full and high speed Endpoint irq callback USB classes support Composite Device Communication Device Class (CDC) Human Interface Device (HID) including “Custom HID” Mass Storage Class (MSC) USB VIDEO Class (UVC1.0,UVC1.5) USB AUDIO Class (UAC1.0, UAC2.0) Device Firmware Upgrade CLASS (DFU) MIDI CLASS (MIDI) Test and Measurement CLASS (TMC) Vendor class Remote NDIS (RNDIS) support Support WINUSB 1.0,WINUSB 2.0 with BOS (Binary Device Object […]

Clicker 4 for TMPM4K board targets motor control with Toshiba M4K microcontroller

Clicker 4 for TMPM4K

Toshiba and Mikroelektronika have launched the Clicker 4 for TMPM4K development board equipped with Toshiba M4K Arm Cortex-M4 microcontroller for motor control, as well as four mikroBUS sockets for MikroE Click expansion boards. The Clicker 4 for TMPM4K board is also fitted with an on-board CMSIS-DAP compliant Debug Unit based on Toshiba’s TMPM067 MCU, extension connectors, JTAG/SWD debug ports, LED indicators and push buttons, and works best with Clicker 4 Inverter Shield with six MOSFETs for motor driving, a 48V switching power supply, and a 5V regulated power source that can power the M4K board. Clicker 4 for TMPM4K specifications: MCU – Toshiba TMPM4KNFYAFG 32-bit Arm Cortex-M4 microcontroller @ up to 160 MHz with 256KB code flash, 32KB data flash, 24KB SRAM, as well as Vector Engine (A-VE+), Encoder and Programmable Motor Driver (PMD) for brushless DC motors Expansion 4x mikroBUS sockets for adding Click board 40x connection pads with […]

LilyGO T-HC32 board with the world’s smallest Arm MCU (HC32L110B6) is now available for $9

HC32L110B6 vs ESP32-PICO-D4

HC32L110 Arm Cortex-M0+ MCU is found in a minuscule 1.59 x 1.436 mm CSP16 package that should make it the world’s smallest Arm MCU. LilyGO T-HC32 is one of the first boards with the HC32L110B6 microcontroller, and it is now available for $8.98 on Aliexpress including shipping. The board offers really basic features with two buttons, a WS2812 RGB LED, and two-row of ten pins each for GPIOs and power signals, plus a 4-pin header for SWD programming. There’s nothing really special about the board or its price, except for the MCU’s size that’s barely discernable from a discrete component, and much smaller than the 7x7mm ESP32-PICO-D4 system-in-package shown in the photo below for comparison.   LilyGO T-HC32 board specifications: MCU – HDSC HC32L110B6 Arm Cortex-M0+ @ up to 32 MHz with up to 4KB RAM, up to 32KB flash memory Expansion – 2x 10-pin header with GPIO, UART, I2C, […]

Exo Sense RP – A Raspberry Pi RP2040-based multi sensor module

Raspberry Pi RP2040 multi-sensor module

Sfera Labs Exo Sense RP is a multi-sensor module with a Raspberry Pi RP2040 microcontroller and various sensors to report temperature, humidity, air quality (VOC), light intensity, audio, and motion. The module can work as a standalone unit but can also communicate with a host through RS485 and USB interfaces, and supports expansion via surge-protected digital inputs and outputs. The Exo Sense RP is designed for indoor residential and commercial applications such as environmental monitoring and data logging, people and assets tracking, room management, access control, and more. Exo Sense RP specifications: MCU – Raspberry Pi RP2040 dual-core Arm Cortex M0+ @ 133 MHz with 264KB SRAM Storage – 16MB flash memory Communication ports RS485 half-duplex up to 115200 bps, with surge protection Micro USB 1.1 Type-B connector Sensors Sensirion SHT40 temperature and humidity sensor Sensirion SGP40 air quality (VOC) sensor Texas Instruments OPT3001 light intensity sensor TDK ICS-43432 digital […]

PikaScript – A lightweight Python implementation that runs on STM32 and other low-end MCUs

PikaScript Python STM32 MCU

PikaScript is an ultra-lightweight Python engine that can run on microcontrollers with as little as 4KB of RAM and 32KB of Flash, while the more popular MicroPython requires at least 256kB of code space and 16kB of RAM. PikaScript was initially developed to run on STM32G030C8 and STM32F103C8 MCUs, meaning, for example, it works on the BluePill board, but it has also been ported to other platforms like WCH CH582 RISC-V MCU, WinnerMicro W806 C-Sky microcontroller, as well as other like Raspberry Pi RP2040, ESP32-C3, etc… but those are not quite as well supported with some features missing. PikaScript also permits the binding C function to a Python module through Pika Pre-compiler. PikaScript can run bare metal on the microcontroller, but also supports real-time operating systems such as RT-Thread and VSF (Versaloon Software Framework), as well as Linux. Just like MicroPython, it’s using a subset of Python 3, but I’d […]

Embedded World 2022 – June 21-23 – Virtual Schedule

Embedded World 2022

Embedded World 2020 was a lonely affair with many companies canceling attendance due to COVID-19, and Embedded World 2021 took place online only. But Embedded World is back to Nuremberg, Germany in 2022 albeit with the event moved from the traditional month of February to June 21-23. Embedded systems companies and those that service them will showcase their latest solution at their respective booths, and there will be a conference with talks and classes during the three-day event. The programme is up, so I made my own little Embedded World 2022 virtual schedule as there may be a few things to learn, even though I won’t be attending. Tuesday, June 21, 2022 10:00 – 13:00 – Rust, a Safe Language for Low-level Programming Rust is a relatively new language in the area of systems and low-level programming. Its main goals are performance, correctness, safety, and productivity. While still ~70% of […]

NXP i.MX RT1180 Cortex-M7/M33 crossover MCU integrates GbE TSN for industrial IoT communication

NXP i.MX RT1180

NXP i.MX RT1180 is the latest member of the company’s i.MX RT Series crossover MCUss with application processor-like performance. The 800 MHz dual-core Arm Cortex-M7/M33 microcontroller is specifically designed for industrial IoT communication with a Gigabit Ethernet port supporting time-sensitive networking (TSN). NXP also highlights that it is the first crossover MCU to include an EdgeLock secure enclave that “eases the complexity of implementing robust, system-wide security intelligence for industrial IoT applications”, and the new processor aims to bridge the gap between existing industrial systems and Industry 4.0 system. NXP i.MX RT1180 key features and specifications: CPUs – Arm Cortex-M7 @ 800 MHz + Arm Cortex-M33 @ 240 MHz (Optional: single-core Arm Cortex-M33) On-chip Memory – Up to 1.5 MB SRAM (ECC protected) with 512 KB of TCM for Cortex-M7 and 256 KB of TCM for Cortex-M33 Memory & Storage I/F – 2x FlexSPI for HyperRAM or HyperFlash 8/16/32-bit SDRAM/LPSDRAM […]

Arm Cortex-M85 is faster than Cortex-M7, offers higher ML performance than Cortex-M55

Arm Cortex M85

Arm has introduced a new MCU-class core with the Cortex-M85 core that offers higher integer performance than Cortex-M7, and higher machine learning performance compared to Cortex-M55 equipped with Helium instructions. The new Cortex-M85 core is designed for developers requiring increased performance for their Cortex-M powered products without going to Cortex-A cores, and instead, keeping important features such as determinism, short interrupt latencies, and advanced low-power management modes found in all Cortex-M cores. Arm Cortex-M85 key features and specifications: Architecture – Armv8.1-M Performance efficiency – 6.28 CoreMark/MHz and 3.13/4.52/8.76DMIPS/MHz (1. “ground rules” in the Dhrystone documentation, 2. inlining of functions,  3. simultaneous (”multi-file”) compilation). Bus interfaces AMBA 5 AXI 64-bit Main system bus (compatible with AXI4 IPs) AMBA 5 AHB 32-bit Peripheral bus AMBA 5 AHB 64-bit TCM Access bus (subordinate port) Pipeline – 7-stage (for main integer pipeline) Security Arm TrustZone technology PACBTI extension (Pointer Authentication, Branch Target Identification) helps […]

Exit mobile version