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

RAKwireless adds more Wisduo and Wisblock modules, launches WisToolBox configuration tool for IoT devices

RAKwireless have launched several Wisduo wireless modules, a dozen of Wisblock modules for IoT prototyping, updated WisDM, WisGateOS, and RUI3 software, and introduced WisToolBox mobile/desktop configuration tool for IoT devices as part of their spring launch 2022 even entitled “Empowering the Innovators: Making IoT your own”. Three new Wisduo modules RAK3172-SIP WisDuo SIP based on STM32WLE5 Wireless SoC with LoRa connectivity. Compared to the original RAK3172, it offers more IO pins, integrates a TCXO, and comes in a smaller size. The module supports LoRa P2P and complies with Class A, B, & C of LoRaWAN 1.0.3 specifications. Cost: $5.99. WisDuo RAK3272-SiP – That’s a breakout board for the RAK3172-SiP System-in-a-Package module for LoRaWAN and allows easy access to all pins via 2.54mm pitch headers. RAK4630 WisDuo Stamp Module – This module supports both LoRa/LoRaWAN and BLE 5.0, and comes with RUI V3 (RUI3) firmware. It can be deployed as an […]

RoenDi is a rotary encoder with a color display (Crowdfunding)

RoenDi is a rotary encoder with an integrated round color display. Based on an STM32L4 MCU, it can be programmed with the STM32CubeIDE or the Arduino IDE, and be used as an information display, an IoT controller, a locking mechanism, as well as in audio applications. RoenDi specifications: MCU – STMicro STM32L433 Arm Cortex-M4 microcontroller @ 80 MHz with 256 KB flash memory Storage – 128 Mbit SPI NOR flash Display – Round 1.28-inch TFT LCD display with 240 x 240  resolution, up to 262K colors Rotary Encoder – 15 pulses / 30 detents USB – Micro USB connector I/Os – Breakout pads for peripherals: I2C, GPIO, PWM, CAN; 5V tolerant Debugging – Adaptor board and cable for ST-LINK Misc – BOOT boot, RTC (built-in into STM32 MCU) Power Supply – 3V to 5V DC input, 3 V, 400 mA LDO Dimensions – 40 x 40 mm (PCB) Enclosure  – […]

Portenta X8 is the first Arm Linux Arduino board

In simpler times, Raspberry Pi was making Arm Linux SBC’s, and Arduino MCU boards, but after Raspberry Pi got into the MCU business last year, it’s now time for Arduino to introduce its first Arm Linux board with the Arduino Portenta X8. The new board since comes with the same STM32H7 Cortex-M7/M4 microcontroller found in the Portenta H7 boards, but add a more powerful, Linux-capable NXP i.MX 8M Mini processor with four Cortex-A53 cores and a Cortex-M4 core, coupled with 2GB RAM and a 16GB eMMC flash. Arduino Portenta X8 specifications: SoC – NXP i.MX 8M Mini Arm Cortex-A53 quad-core up to 1.8 GHz,1x Cortex-M4 real-time core up to 400MHz. Microcontroller – STMicro STM32H747AII6 Cortex-M7 @ 480 MHz + M4 @ 240 MHz MCU  with 2MB dual-bank Flash memory, 1 MB RAM, Chrom-ART graphical hardware accelerator System Memory – 2GB LPDDR4 Storage – 16GB eMMC flash Connectivity Gigabit Ethernet interface […]