Sparrow is a sensor-to-cloud LoRaWAN solution based on STM32WLE5 microcontroller

Sparrow developer kit

Blues Wireless Sparrow is a LoRaWAN solution designed to connect a group of low-cost, low-power device sensors for shared data backhaul to the cloud. It is comprised of STMicro STM32WLE5 LoRa-based sensors whose data is then routed through the company’s Notecard-powered WiFi or cellular gateway and ultimately a cloud app hosted on AWS, Microsoft Azure, or other IoT cloud platforms. The company claims the Notecard and Sparrow solutions ease the development of IoT networks in a way that was previously only available “to sophisticated engineering firms”, and now Blues Wireless supports cellular, WiFi, and LPWAN technologies. Let’s have a look at the “Sparrow Essentials” board specifications first: Wireless SoC – STMicro STM32WLE5+ Arm Cortex-M4F microcontroller @ 48MHz with 256KB Flash, 64KB of SRAM, Semtech SX126x LoRa transceiver I/Os Breadboard compatible 2.54mm headers with digital and analog I/O, I2C, UART, and SPI Qwiic Connector Debugging – JTAG (SWD capable) debug jack […]

OSM Size M SiP Integrates STM32MP1 MPU for industrial & IoT applications


ARIES Embedded MSMP1 OSM-compatible system-in-package (SiP) based on STM32MP1 CortexA7/M4 microcontroller for Industrial and IoT applications follows the company’s MSRZG2UL and MSRZFive OSM-compatible SiPs with Renesas Arm or RISC-V microprocessor introduced a few months ago. But instead of coming in the ultra-compact 30×30 mm OSM Size S form factor, the new MSMP1 complies with the larger 45x30mm OSM Size M form factor with a total of 476 contacts to allow for more I/Os. The SiP also integrates 512 MB to 4 GB DDR3L RAM, and 4 to 64 GB eMMC flash. MSMP1 SIP specifications: SoC – STMicro STM32MP1 single or dual-core Arm Cortex-A7 processor up to 800MHz, with Arm Cortex-M4 real-time core up to 209MHz, Vivante GPU compatible with OpenGL ES 2.0 System Memory – 512MB – 4GB DDR3L RAM Storage – 4GB – 64GB eMMC NAND Flash 476-contact LGA with Networking – Gigabit Ethernet USB – USB 2.0 Host/OTG […]

Flashchip FCM32 is yet another alternative to STM32 microcontroller

Flashchip Microelectronics FCM32 development board

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 […]

Geehy APM32F103 clone of STM32F103 MCU has been tested to work without PCB or code modifications

APM32F103 STM32F103 clone

Geehy APM32F103 is a clone of STMicro STM32F103 MCU that has been tested by at least one person who claims it was just a drop-in replacement and PCB, code, hex, testing, and production did not have to be changed at all. Most STM32 microcontrollers are in short supply with 52+ weeks lead times and prices going through the roof, so people may be looking into the long list STM32 clones and fakes including APM32F103. They all claim to be pin-to-pin and firmware compatible, but when theory meets reality, things may go wrong. For instance, last year I had a conversation with one person who switched to GD32 microcontroller and had all sorts of issues (translated from French): I ordered samples from the GD32F103RCT6 (LQFP64) “clone”, tested them, and it’s a catastrophe… Out of 6 chips, I only managed to flash one. And that one will not boot either. I’ve dived […]

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 […]

Linux 5.18 release – Main changes, Arm, RISC-V, and MIPS architectures

Linux 5.18 release arm risc-v mips

Linux 5.18 is out! Linus Torvalds has just announced the release on lkml: No unexpected nasty surprises this last week, so here we go with the 5.18 release right on schedule. That obviously means that the merge window for 5.19 will open tomorrow, and I already have a few pull requests pending. Thank you everybody. I’d still like people to run boring old plain 5.18 just to check, before we start with the excitement of all the new features for the merge window. The full shortlog for the last week is below, and nothing really odd stands out. The diffstat looks a bit funny – unusually we have parsic architecture patches being a big part of it due to some last-minute cache flushing fixes, but that is probably more indicative of everything else being pretty small. So outside of the parisc fixes, there’s random driver updates (mellanox mlx5 stands out, […]

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 […]

Arduino releases secure bootloader based on MCUboot

Arduino MCUboot

Arduino has released a new bootloader based on MCUBoot to increase the range of features and firmware safety of Arduino products, with the first release targetting STM32H7 based Arduino Portenta and Nicla Vision boards from the Arduino Pro family. The release focuses on Arduino Mbed OS-based boards, but MCUboot is OS agnostic, and should also work with Zephyr, Nuttx, and Apache mynewt. The company has also made sure that the transition is easy and reused the existing OTA firmware upgrade process in place on Arduino boards. MCUboot Arduino highlights: Signed and encrypted updates – MCUboot has support for encrypting/decrypting images on-the-fly while upgrading. It will also check if the computed signature is matching the one embedded in the image before booting a sketch. Confirm or revert updates – After an update, the new Sketch can update the content of the flash at runtime to mark itself as OK. If everything […]

UP maker boards