The Gadget that started it all
I wanted to build something that felt like a real product – not just blinking LEDs or hello world examples. A small, book-shaped device that could fetch and display content seemed like the perfect way to integrate multiple embedded concepts: wireless connectivity, display control, user interaction, and physical assembly.
What I Built
Wi-Fi connectivity: Connects to an EC2-hosted PHP API for messages.
OLED Display: Renders JSON-parsed titles/authors with line wrapping and centering.
On-demand fetch: A GPIO button triggers content refresh.
Enclosure: Made from scored, folded, and cut plastic.
Power: Runs via USB
Hand-built: Fully hand-assembled and soldered.
The Learning Journey
Choosing MicroPython: I started with MicroPython because I wanted to focus on the system integration challenges rather than getting bogged down in low-level details. This turned out to be both a blessing and a limitation – while it let me build a complete working system quickly, it also left me feeling disconnected from what was actually happening at the hardware level.
First Real I2C Experience: Getting the OLED display working taught me about I2C communication, pull-up resistors, and the importance of proper wiring. When things didn’t work, I had to learn to use a multimeter and logic analyzer to debug the communication.
The Physical Reality: Building the enclosure by hand – scoring, cutting, and cementing plastic – made me realize how much engineering goes into making electronics practical and durable. It’s one thing to have a breadboard prototype; it’s another to create something that can survive being handled.
What This Project Taught Me
This project proved I could build complete embedded systems, but it also revealed my limitations. The MicroPython abstraction layer made me realize I wanted to understand what was happening closer to the hardware. This dissatisfaction with high-level abstractions became the driving force behind everything that followed – my dive into baremetal C, my attempts at bootloader development, and ultimately my decision to build a computer from discrete logic components.
Technologies Used
Microcontroller: Raspberry Pi Pico W
Firmware: MicroPython
Display: I2C OLED
User input: GPIO button
Enclosure: Hobby plastic, glue, knife
Why This Project Mattered
PicoBook wasn’t just my first embedded project – it was proof that I could take an idea from concept to working product. But more importantly, it showed me that I was more interested in understanding the fundamentals than just getting things to work. That realization shaped every project that followed.


















