Week 4 — Embedded programming

This week’s topic: Embedded programming.

Group assignment

For this group assignment in Shenzhen Chaihuo, we compared practical embedded workflows instead of only listing chip specs. The goal was to understand what students can actually use from first compile to successful flashing and debugging in class conditions.

Work objective

We built a reproducible comparison between RP2040 and ESP32-C3 development paths, including SDK choice, build tools, flash methods, serial workflow, and common setup failures. The output is a practical decision guide for future weekly assignments.

1) Case-study boards and architecture focus

We used two same-footprint boards as a fair baseline: Seeed XIAO RP2040 and XIAO ESP32-C3. RP2040 is strong for deterministic GPIO timing and USB-oriented tasks, while ESP32-C3 is better for networked prototypes with built-in Wi-Fi and BLE.

Seeed XIAO RP2040 development board
Board photo A - XIAO RP2040 used for non-wireless toolchain verification.
Seeed XIAO ESP32-C3 development board
Board photo B - XIAO ESP32-C3 used for wireless-oriented workflow comparison.

2) Capability baseline (datasheet-oriented)

Comparison chart of multiple MCU families and features
Reference chart - MCU family comparison used to align datasheet reading.
Topic RP2040 ESP32-C3
Compute / focus Dual-core MCU path with strong timing control and PIO flexibility. RISC-V path with integrated Wi-Fi/BLE for connected devices.
Typical SDK path Pico SDK (CMake + GCC), often combined with UF2 boot workflow. ESP-IDF with integrated build/flash/monitor command flow.
Common “fast start” Arduino core or MicroPython for fast early iteration. Arduino core or IDF examples, especially for connectivity tests.
How to choose Prefer when real-time GPIO behavior matters and radio is not needed. Prefer when wireless communication is a core project requirement.

3) Toolchain and workflow observations

Reference used for board-family context: Seeed Studio XIAO series introduction.