HTMAA 2024
Sungmoon Lim

week 3


embedded programming

The assignment for this week was to write a program for a microcontroller to interact with local input and/or output devices, to communicate with and control it remotely, and to simulate its operation.

I decided to play around with XIAO ESP32 microcontroller board, since this microcontroller has integrated WiFi capabilities, which I will need for my final project. Since I don't have much hardware or electronics experience, I spent some time parsing through the ESP32 datasheet. The core numbers are:

Supports 20 MHz, 40 MHz bandwidth in 2.4 GHz band

32-bit RISC-V single-core processor, up to 160 MHz

400 KB SRAM

Two 12-bit SAR ADCs, up to 6 channels

22 or 16 programmable GPIOs

xiao_datasheet2

Since (as of now) my final project idea is an LED subway map that relies on fetching realtime data via WiFi, I figured I would be relying heavily on the things we go over this week.

But first, since this week's assignment is to just get comfortable with microcontrollers and write to a simple program, I spent this week largely experimenting with the Wokwi simulator for ESP32. In Wokwi, I connected and simulated a simple pushbutton controlled LED, where the LED light can flash in different patterns when the button is pushed. You can see my Wokwi board and code for the ESP32 below:

w3_2 w3_2
Full simulation here

The next step would be moving away from Wokwi and applying this to hardware, which we'll explore in week 6. In the meantime, I got an ESP32, LEDs, and some jumper wires from Anthony to tinker around with.