The final outcome operated as a complete system consisting of individually addressable RGB LEDs, a real-time OLED interface, a B10k potentiometer input, and interactive games. I implemented a button matrix and analog input via the potentiometer to allow a user interface across the fully soldered PCB. The board works reliably, which strengthened my confidence in designing, coding, and building microcontroller systems.
Building this board taught me how to solder and troubleshoot a personal PCB. I began with no previous knowledge, and learned how to manage a Raspberry Pi Pico with LEDs, a button matrix, potentiometer, and an OLED display. Issues that arose were:
Cold solder joints caused several buttons and some LEDs to only work when the board was pressed with excessive force, indicating unstable electrical connections.
Joints that appeared to have poorly done solder were reheated and fully rewetted, which eliminated the poor behavior of LEDs and buttons.
Buttons were registering multiple presses, as well as generating rapid signals that caused games to register multiple inputs from a single press.
I chose to implement software debouncing and added delays in code to allow the system to "catch up" in the time between each button press.
Soldering and timing were the main challenges I encountered while working on this personal project. Resolving these issues improved my confidence in hardware and firmware interactions.
The board running in various modes — game mode, LED animation mode, potentiometer mode, and two-player Tug-o-War.
My mechatronics course at San Diego State University, coupled with my attendance at California Polytechnic State University's Engineering EPIC program, introduced me to circuits, breadboarding, microcontrollers, and coding. I wanted to challenge myself by creating something more complex and self-contained. I was motivated to take what I learned in class and push it further by creating a tangible product that combined analog inputs, LEDs, a display, and full firmware control.
Tools used: Raspberry Pi Pico, MicroPython, custom PCB design, hand soldering.