• 1

    An XIAO ESP32C3 microcontroller and an XIAO extension board manufactured by Seeed Studio comprised the heart of this project.

    It comes with rich peripherals that include an OLED, RTC, SD Card Sot, passive buzzer, reset/user button, 5V servo connector, and Grove connector for pairing multiple Grove devices with XIAO.

    We can power the entire setup using any Li-ion or LiPo cell thanks to its integrated Li-ion charging circuit.

    If you would like to get one for yourself, here is the link to its page.


    The battery input section and the SSD1306 OLED were the two major elements we used in the expansion board.

    The OLED screen is connected to the XIAO's i2c pins, allowing us to control it directly without requiring additional connections.

    the Adafruit's SSD1306 library can be used with the OLED screen, but you can also use the u8g2 library.

    As for the microcontroller, we are using the XIAO ESP32C3, which is a IoT mini-development board based on the Espressif ESP32C3 WiFi/Bluetooth dual-mode chip. ESP32-C3 is a 32-bit RISC-V CPU, which includes an FPU (Floating Point Unit) for 32-bit single-precision arithmetic with powerful computing power.

    This board comes with an external antenna to increase the signal strength for wireless applications. It also has a small and exquisite form-factor combined with a single-sided surface-mountable design.

    It is equipped with rich interfaces and has 11 digital I/O that can be used as PWM pins and 4 analog I/O that can be used as ADC pins. It supports four serial interfaces, such as UART, I2C and SPI. There is also a small reset button and a bootloader mode button on the board.

    You can check out Seeed Studio's brief product introduction for the expansion board and XIAO ESP32C3, which includes a ton of information, by clicking the link below.



    Visit Seeed Studio to get a wide range of services, including 3D printing, PCB/PCBA, and microcontroller/module services.

  • 2

    Setting up a basic breadboard version of the project, which consists of three push buttons connected to one 1K resistor each between VCC and GND, is the first phase or level. When the button is pressed, a value is obtained at the GPIO Pins, which is read by the XIAO MCU and triggers it to execute the XYZ set in the code. The middle pin between the resistor and switch is linked to the GPIO of the XIAO MCU.

    Follow the added wiring diagram for this setup.

    We added the main code to the XIAO EXP32C3 board and tested the system.

    D0 is for fire, D1 is for the up button, and D2 is for the down button.

  • 3
    LEVEL 2
    • We used a 55 x 35 mm prototype board for Level 2 of this project and added three push buttons to it: two 6 x 6 mm push buttons for up and down, and one 12 x 12 mm push button for fire.
    • Next we added Three 1K Resistor with each push button.
    • The resistor and push button leads were then soldered together, and five wires (VCC, GND, D0, D1, and D2) were also connected.
    • Next, we use a soldering iron to join the wires of the prototype board to the XIAO VCC, GND, D0, D1, and D2 terminals on the back side of the XIAO expansion board.