Group Assignment — Week 4: Embedded Programming

Tasks

- Demonstrate and compare the toolchains and development workflows for available embedded architectures.

- Document your work to the group work page and reflect on your individual page what you learned.

Link to ChatGPT

1. Arduino IDE (Beginner–Intermediate)

Best for: quick prototyping, simple projects, education

Toolchain Components:

Workflow:

  1. Install Arduino IDE
  2. Add Seeed RP2040 board support (Boards Manager URL)
  3. Select XIAO RP2040 board
  4. Write code using Arduino-style C/C++ (setup() / loop())
  5. Plug in board and press boot button if needed
  6. Upload via USB

Pros:

Cons:

2. MicroPython (Beginner–Creative Coding)

Best for: interactive projects, teaching, rapid experimentation

Toolchain Components:

Workflow:

  1. Flash MicroPython UF2 file (drag-and-drop after boot mode)
  2. Open Thonny and connect to board
  3. Write Python scripts (main.py)
  4. Run code instantly or save to board

Pros:

Cons:

3. C/C++ SDK (Pico SDK) (Advanced)

Best for: performance, custom firmware, embedded systems

Toolchain Components:

Workflow:

  1. Install ARM GCC toolchain
  2. Clone Pico SDK
  3. Write C/C++ code using hardware libraries
  4. Configure project with CMake
  5. Build to generate .uf2 file
  6. Drag-and-drop onto device in bootloader mode

Pros:

Cons:

4. CircuitPython (Alternative to MicroPython)

Best for: creative coding and hardware libraries

Toolchain Components:

Workflow:

  1. Flash CircuitPython UF2
  2. Board appears as USB drive
  3. Edit code.py directly
  4. Device auto-runs code

Pros:

Cons:

Choosing the Right Toolchain

Back to individual assignment