Assignment requirements
Group assignment
- 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
Individual assignment
- Browse through the datasheet for a microcontroller
- Write and test a program for an embedded system using a microcontroller to interact (with local input &/or output devices) and communicate (with remote wired or wireless connections)
Progress status
Group work
Done
Demonstrate and compare the toolchains
Develop workflows
Individual work
Done
Write and test a program for an embedded system using a microcontroller
Documentation
Done
Upload source files.
1) Introduction
New topic
- Learn about Xiao Seed ESP32-C3
- Review projects with Xiao Seed ESP32-C3
- Discuss the group project
- Interact and collaborate
2) Group assignment - Demonstrate, compare and development embedded architectures
For more details visit Fab Lab Peru - Group Assignment: https://fabacademy.org/2026/labs/lima/#page-top
Xiao RP2040, Xiao ECP 32 C3, Xiao ECP 32 S3, ATSAMD11
Group Assignment - Embedded Programming
Compare performance
- RP2040 is well balanced: it has dual-core processing, good speed (up to 133 MHz), and enough memory (264 KB SRAM + 2 MB Flash) for medium projects. It’s ideal for local control (LEDs, buttons, sensors, PWM, ADC) and quick development with Arduino or MicroPython
- ESP32-C3 is a good option when wireless connectivity is required, since it includes Wi-Fi and Bluetooth (BLE). It is strong enough for basic IoT applications, and its main advantage is the ability to connect to a network or a phone. The workflow usually includes network setup (Wi-Fi credentials or BLE services).
- ESP32-S3 is the most powerful option: it offers higher speed and significantly more memory available on the board (large Flash + PSRAM). This is helpful for heavier tasks, larger libraries, or advanced features, while still maintaining Wi-Fi/BLE connectivity.r
- ATSAMD11 is the most basic and limited in terms of resources (lower speed and memory). However, it is very useful for learning because it encourages writing efficient firmware and often involves a more “technical” workflow using ARM tools and SWD debugging. It is a good option to demonstrate a workflow different from simply uploading via USB
// define led according to pin diagram in article
const int led = D10; // there is no LED_BUILTIN available for the XIAO ESP32C3.
void setup() {
// initialize digital pin led as an output
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH); // turn the LED on
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off
delay(1000); // wait for a second
}
Video demonstration
3) Individual assigment
Problems
Unknow basic concepts
Unknow microcontroller Xiao ESP 32 C3 architecture
Failed leds
Poor connections
Solutions
Review Xiao ESP 32 C3 documents
Review connections using a voltimetimeter
This Wiki was useful https://wiki.seeedstudio.com/xiao_esp32s3_getting_started/
Reviewing components and technical specitications
Exploring Xiao ESP 32 C 3 - documents
Viewing clear with a magnifying glass
Connecting without experiences - Error, error and error
Installing Arduino Ide
Load program and reset
// define led according to pin diagram in article
const int led = D10; // there is no LED_BUILTIN available for the XIAO ESP32C3.
void setup() {
// initialize digital pin led as an output
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH); // turn the LED on
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off
delay(1000); // wait for a second
}
Connections at Xiao ESP 32 C3 using the protoboard
Testing leds
Connecting more leds
Connecting three leds
Connecting three leds
Connecting a fan
void setup() {
Serial.begin(115200); // start serial communication
}
void loop() {
Serial.println("Hello, Hello Fab Academy!");
delay(2000); // repeat every 2 seconds
}
4) Final results
- Linked to the group assignment page
- Documented what you learned
- Documented your design and fabrication process
- Explain how your code works
- Explained any problems and how you fixed them
- Include original design filess and source code
- Included a 'hero shot' of your board
5 References files
We learn how to test a program for an embedded system using a microcontroller