Introduction
系列产品的概述和特点。
TODO: 插入购买卡片
Comparison
M 系列产品根据不同的MCU主控,有一些功能差异,下面是功能的对比表。
| M1 | M2 | M3 | M4 | |
|---|---|---|---|---|
| Chip | Nordic nRF52840 | Expressif ESP32-C6 | Rasbperry Pi RP2040 | WCH CH32V208 |
| Architecture | Single-core ARM Cortex-M4 | Dual-core RISC-V 32Bit | Dual-core Cortex-M0+ | Single-core RISC-V 32Bit |
| Freq. | 64 MHz | 160MHz & 20MHz(Low Power Core) | 133 MHz | 144MHz |
| RAM | 256 KB | 512 KB | 64 KB | |
| Internal ROM/Flash | 1 MB | 320 KB | 480 KB | |
| Flash on-board | 2 MB | 2 MB | 2 MB | |
| WiFi | ❌ | 2.4GHz, 802.11b/g/n/ax | ❌ | ❌ |
| Bluetooth LE | 5.0 | 5.3 | ❌ | 5.3 |
| Ethernet | ❌ | ❌ | ❌ | 10M PHY |
| Programming IO | 48 GPIO | 30/22 GPIO | 51 GPIO | |
| CAN | ||||
| UART | 2 UART | 2 UART + 1 LP UART | ✔ | 3 UART |
| I2C | ✔ | 1 I2C + 1 LP I2C | ✔ | 2 I2C |
| SPI | ✔ | 2 SPI | ✔ | ✔ |
| ADC | ✔ | 7 channels | ✔ | ✔ |
| PWM | ✔ | 6 channels | ✔ | ✔ |
| User LED | 1 WS2812 RGB LED | 1 WS2812 RGB LED | 1 WS2812 RGB LED | 1 WS2812 RGB LED |
| Button | 1 Button | 1 Button | 1 Button | 1 Button |
| Low Power | Yes | Yes | ❌ | Yes |
| Board Dimensions |
支持的开发环境
开发环境的支持,根据不同 MCU 主控,也会有差异,当前的状态如下。
Arduino 是一种面向初学者的开发环境,通过简单的代码可以轻松控制硬件设备。它提供了许多库,适用于各种传感器和外设,帮助快速原型开发。
MicroPython 是 Python 的精简版,专为微控制器设计,适合快速开发嵌入式项目。通过 Python 语法,用户可以轻松编写和调试嵌入式程序。
Rust 是一种注重安全性和性能的语言,能够有效防止内存泄漏和并发问题。虽然上手稍有难度,但它的内存管理机制非常适合嵌入式开发。
Zig 是一门崭新的系统编程语言,强调明确的内存管理和直接的硬件访问。它灵活且高效,非常适合资源受限的嵌入式系统开发。
TinyGo 是 Go 语言的嵌入式版本,支持在微控制器和 WebAssembly 上运行。它提供了简洁的语法,适合快速编写可移植的嵌入式程序。
| M1 | M2 | M3 | M4 | |
|---|---|---|---|---|
| Arduino | ✔ | ✔ | ✔ | ✔ |
| MicroPython | ✔ | ✔ | ✔ | ❌ |
| C | ✔ | ✔ | ✔ | ✔ |
| Rust | ✔ | ✔ | ✔ | ✔ |
| Zig | ✔ | ❌ | ✔ | ❌ |
| TinyGo | ✔ | ❌ | ✔ | ❌ |
对 RTOS 的支持也有差异。
Zephyr 是一个模块化的实时操作系统,专为资源受限的嵌入式设备设计。它支持多种架构和外围设备,适合开发跨平台的物联网应用。
FreeRTOS 是轻量级的实时操作系统,广泛应用于嵌入式系统。它具有灵活的任务调度功能,非常适合小型设备的实时任务管理。
Embassy 是一个基于 Rust 的嵌入式异步框架,专注于无阻塞的异步任务管理。它利用 Rust 的内存安全特性,帮助开发高效且安全的嵌入式系统。
RT-Thread 是一个实时操作系统,支持丰富的嵌入式开发功能。它提供灵活的内核架构,适用于物联网、工业控制等场景。
RTIC (Real-Time Interrupt-driven Concurrency) 是基于 Rust 的并发框架,专为实时系统设计。它通过基于中断的设计确保系统高效运行,适合需要实时响应的嵌入式项目。
NuttX 是一个 POSIX 兼容的实时操作系统,强调小型化和高可移植性。它支持丰富的嵌入式功能,适合从低端到高端的微控制器开发。
ThreadX 是嵌入式设备上广泛应用的实时操作系统,以高效的线程管理著称。它内存占用小,调度快速,适合需要低延迟和高实时性的应用。
| M1 | M2 | M3 | M4 | M5 | M6 | |
|---|---|---|---|---|---|---|
| Zephyr | ||||||
| FreeRTOS | ||||||
| Embassy | ||||||
| RT-Thread | ||||||
| RTIC | ||||||
| NuttX | ||||||
| ThreadX |
Features
- 板载 16Mbits(2MBytes) 闪存
- 板载 WS2812 可寻址 RGB LED 灯
- 板载一个轻触开关(Tact Switch)
- 支持 USB-C 接口供电,板载完整的充放电电路,支持锂电池
- 兼容 Pro Micro 板型和 IO