Product Overview
Overview and features of the W-series products.
Product Feature Comparison
The W-series products have some functional differences based on different MCU controllers. Below is a comparison table of their features.
| W02 | W04 | |
|---|---|---|
| Chip | Expressif ESP32-C6 | WCH CH32V208 |
| Architecture | Dual-core RISC-V 32Bit | Single-core RISC-V 32Bit |
| Freq. | 160MHz & 20MHz(Low Power Core) | 144MHz |
| RAM | 512 KB | 64 KB |
| Internal ROM/Flash | 320 KB | 480 KB |
| Flash on-board | 2 MB | 2 MB |
| WiFi | 2.4GHz, 802.11b/g/n/ax | ❌ |
| Bluetooth LE | 5.3 | 5.3 |
| Ethernet | ❌ | 10M PHY |
| Programming IO | 18 GPIO | 18 GPIO |
| CAN | ||
| 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 |
| Button | 1 Button | 1 Button |
| Low Power | Yes | Yes |
| Board Dimensions |
Supported Development Environments
Development environment support varies depending on the MCU controller. The current status is as follows.
Arduino is a beginner-friendly development environment that allows easy hardware control through simple code. It provides many libraries for various sensors and peripherals, enabling rapid prototyping.
MicroPython is a streamlined version of Python designed specifically for microcontrollers, ideal for rapid embedded project development. With Python syntax, users can easily write and debug embedded programs.
Rust is a language focused on safety and performance, effectively preventing memory leaks and concurrency issues. While it has a steeper learning curve, its memory management mechanisms are well-suited for embedded development.
Zig is a modern systems programming language that emphasizes explicit memory management and direct hardware access. It is flexible and efficient, making it ideal for resource-constrained embedded systems development.
TinyGo is an embedded version of the Go language that supports running on microcontrollers and WebAssembly. It offers concise syntax, suitable for quickly writing portable embedded programs.
| W02 | W04 | |
|---|---|---|
| Arduino | ✔ | ✔ |
| MicroPython | ✔ | ❌ |
| C | ✔ | ✔ |
| Rust | ✔ | ✔ |
| Zig | ✔ | ✔ |
| TinyGo | ✔ | ❌ |
RTOS support also varies.
Zephyr is a modular real-time operating system designed for resource-constrained embedded devices. It supports multiple architectures and peripherals, making it suitable for developing cross-platform IoT applications.
FreeRTOS is a lightweight real-time operating system widely used in embedded systems. It features flexible task scheduling, making it ideal for real-time task management on small devices.
Embassy is a Rust-based embedded async framework focused on non-blocking asynchronous task management. It leverages Rust’s memory safety features to help develop efficient and secure embedded systems.
RT-Thread is a real-time operating system with rich embedded development capabilities. It provides a flexible kernel architecture, suitable for IoT, industrial control, and other scenarios.
RTIC (Real-Time Interrupt-driven Concurrency) is a Rust-based concurrency framework designed for real-time systems. It uses interrupt-driven design to ensure efficient system operation, suitable for embedded projects requiring real-time responsiveness.
NuttX is a POSIX-compatible real-time operating system that emphasizes small size and high portability. It supports rich embedded features, suitable for microcontroller development from low-end to high-end.
| W02 | W04 | |
|---|---|---|
| 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 complete charging/discharging circuit, supports lithium battery
- Compatible with Pro Micro form factor and IO