Embedded Programming

grp.jpg

Group assignment

This year in our fablab, students mainly used 2 types of microcontroller for various projects. These are the XIAO RP2040 and the XIAO ESP32-C3.

XIAO ESP32-C3

An overview of the XIAO ESP32-C3

es0.jpg
es1.jpg
es2.jpg
es3.jpg

The XIAO ESP32 has architecture based on the Xtensa LX6 dual-core processor, which provides higher processing power. The ESP32 is known for its built-in Wi-Fi and Bluetooth connectivity, making it ideal for IoT applications that require wireless communication. It also offers a wide range of peripherals, including GPIO, I2C, SPI, and UART, making it highly versatile. The ESP32 ecosystem is well-established, with a vast community and extensive documentation.

You can find more information here

XIAO RP2040

An overview of the XIAO RP2040

rp0.jpg
rp1.jpg
rp2.jpg

The RP2040, developed by Raspberry Pi, features a dual-core ARM Cortex-M0+ processor. It is specifically designed for low-cost microcontroller applications and offers high-performance computing capabilities. The RP2040 stands out for its Programmable I/O (PIO) subsystem, which allows for custom waveform generation and timing-sensitive tasks. It supports various interfaces, including SPI, I2C, and UART, and also offers a dedicated USB 1.1 controller.

You can find more information here

The table below is a comparision between the two boards that ar currently being used by the students in our Lab this year

Item XIAO RP2040 XIAO ESP 32
Processor RP2040 Dual-core M0+@133Mhz ESP32-C3 32-bit RISC-V @160MHz
Wireless Connectivity N/A WiFi and Bluetooth 5 (LE)
Memory 264KB SRAM 2MB onboard Flash 400KB SRAM
Built-in Sensors N/A N/A
Interfaces I2C/UART/SPI/I2S I2C/UART/SPI
PWM/Analog Pins 11/4 11/4
Onboard Buttons Reset/ Boot Button Reset/ Boot Button
Onboard LEDs Charge LED Full-color RGB/ 3-in-one LED
Battery Charge Chip 2Built-in N/A
Programming Languages Arduino Arduino/ MicroPython/ CircuitPython Arduino/ MicroPython/ CircuitPython

In summary, the XIAO RP2040 is ideal for simple applications without the need for wireless connectivity, thanks to its two ARM Cortex-M0+ cores, good computing power and above all its unique PIO subsystem, while the XIAO ESP32 C3, with its 32-bit RISC-V core and Wi-Fi and Bluetooth capabilities, is perfect for IoT projects requiring wireless connectivity and more memory.