In Week 2, we are testing the waters with Wokwi's virtual Arduino programming environment and diving into the basics of microcontroller (MCU) understanding. In hindsight, I really appreciate how forgiving Wokwi is in ignoring the complexities of physical hardware, allowing us to focus purely on the communication between the MCU and components through programming. For my project, I set a LED to flash the most sincere blessing one can offer: MAY YOU GET RICH, in Morse code.
A little taken aback by how much time and interpretive effort it took for the blessing to reach its recipient, I decided to add a dot matrix to display the message in plain text. I hope the message is self-explanatory.
We’re working with C++ to communicate with the Arduino, which is my first exposure to the language. It took me a while to figure out how to connect the correct pins to the components (DIN/CS/CLK). It was a good reminder that whenever encountering new hardware, consulting the datasheet is essential.
A few things I’d improve in the next iteration:
Text mirroring: The text appears mirrored; it would be nice to adopt a Da Vinci-style effect only if it's intentional. Control over timing/style: I couldn't yet figure out how to control the timing or style of the flashing on the dot matrix. Still a challenge as a rookie coder.
![](../assets/w5/Screenshot 2024-10-14 230450.png)
RP2040 datasheet As for reading MCU datasheets, I chose to focus on the RP2040, following the fine advice of our TA, Leo. Much to my surprise, the 33-page document turned out to be one of the most concise datasheets I’ve ever encountered, especially when compared to those of Arduino, XIAO, and ESP. Here’s what I learned from the document before getting completely lost in the section with charts:
The RP2040 boasts an impressive 30 GPIO pins, all conveniently operating at a fixed 3.3V.
It’s programmable via C/C++ or MicroPython, a rare beginner-friendly feature.
Dual-core processor: This gives it more computational power than many other MCUs.
Cost-efficient at just $1—a fact I’m still struggling to grasp.
*Revisiting from Week 7: "recommended to make paste zones 163% larger than the footprint for better results."
Introducing RP2040. It will make one good friend for this course. I promise.