Skip to content

Application Overview

An overview of the series products and their features.

TODO: Insert purchase cards.

Product feature comparison

The M-series products have functional differences depending on the MCU. The table below compares their features.

M1M2M3M4
ChipNordic nRF52840Espressif ESP32-C6Raspberry Pi RP2040WCH CH32V208
ArchitectureSingle-core ARM Cortex-M4Dual-core RISC-V 32-bitDual-core Cortex-M0+Single-core RISC-V 32-bit
Freq.64 MHz160MHz & 20MHz (Low Power Core)133 MHz144MHz
RAM256 KB512 KB64 KB
Internal ROM/Flash1 MB320 KB480 KB
Flash on-board2 MB2 MB2 MB
WiFi2.4GHz, 802.11b/g/n/ax
Bluetooth LE5.05.35.3
Ethernet10M PHY
Programming IO18 GPIO18 GPIO18 GPIO18 GPIO
CAN
UART2 UART2 UART + 1 LP UART3 UART
I2C1 I2C + 1 LP I2C2 I2C
SPI2 SPI
ADC7 channels
PWM6 channels
User LED1 WS2812 RGB LED1 WS2812 RGB LED1 WS2812 RGB LED1 WS2812 RGB LED
Button1 Button1 Button1 Button1 Button
Low PowerYesYesYes
Board Dimensions

Supported development environments

Supported development environments vary by MCU:

Arduino is a beginner-friendly environment for controlling hardware with simple code. Libraries cover many sensors and peripherals for fast prototyping.

MicroPython is a lightweight Python implementation for microcontrollers, ideal for quickly developing embedded projects. Python syntax makes it easy to write and debug code.

Rust focuses on safety and performance, preventing memory leaks and concurrency issues. It has a learning curve, but its memory model suits embedded development well.

Zig is a modern systems language emphasizing explicit memory management and direct hardware access. It is flexible and efficient for resource-constrained embedded systems.

TinyGo is the embedded flavor of Go that runs on microcontrollers and WebAssembly. Its concise syntax helps write portable embedded programs quickly.

M1M2M3M4
Arduino
MicroPython
C
Rust
Zig
TinyGo

RTOS support also differs.

Zephyr is a modular real-time operating system for resource-constrained embedded devices. It supports multiple architectures and peripherals and is suitable for cross-platform IoT development.

FreeRTOS is a lightweight real-time OS widely used in embedded systems. Its flexible scheduling is great for managing real-time tasks on small devices.

Embassy is a Rust-based embedded async framework that focuses on non-blocking asynchronous task management. Leveraging Rust’s memory safety, it helps build efficient and secure embedded systems.

RT-Thread is a real-time operating system with rich embedded development capabilities. Its flexible kernel suits IoT, industrial control, and similar scenarios.

RTIC (Real-Time Interrupt-driven Concurrency) is a Rust-based concurrency framework for real-time systems. Its interrupt-driven design ensures efficient operation for projects needing real-time response.

NuttX is a POSIX-compatible real-time operating system emphasizing small size and high portability. It supports extensive embedded features, suitable for a wide range of microcontrollers.

M1M2M3M4
Zephyr
FreeRTOS
Embassy
RT-Thread
RTIC
NuttX

Product features

  • On-board 16Mbits (2MBytes) flash memory
  • On-board WS2812 addressable RGB LED
  • On-board tact switch
  • USB-C power supply with a complete charging/discharging circuit; supports lithium batteries
  • Compatible with the Pro Micro form factor and IO layout