I’ve spent all my spare (technology) time learning more about the ESP32, the Arduino HAL, and using some additional integrated circuits.
+3-bit Flash ADC using LM339N comparators
+ +Put together a 3 bit flash ADC while waiting on some other tasks to finish. I had meant to do this last week but I didn’t have time. I did learn some new things here, as usual. pic.twitter.com/AAU8mq8pWy
— Andrew Kesterson (@AKLabsDotNet) June 9, 2026
This project uses an LM339N comparator chip, a voltage ladder, a potentiometer and 4 LEDs to create a Flash Analog to Digital Converter.
+It’s worth pointing out that this ADC outputs thermometer code (unary code), not binary. I would have needed to use an additional priority encoder to get it converted down to binary. I didn’t have a priority encoder on hand (though I could’ve built one with quite a few other chips I did have on hand), so I just left it at unary output.
+Lessons learned from this project:
+-
+
- What is a voltage ladder +
- How pull up and pull down resistors work +
- Breadboards are small finnicky things +
- How USB power delivery dummies work +
There is a more detailed writeup about this project in my source repository.
+Snake Game on an 8x8 LED Matrix
+ +It works! Snake on an ESP32 with a 7 segment scoreboard and adjustable difficulty using an 8x8 LED matrix as a display pic.twitter.com/RZPqkQRxEZ
— Andrew Kesterson (@AKLabsDotNet) June 18, 2026
This project uses 3 74HC595 serial to parallel shift registers, a 7-segment display multi unit, an 8x8 LED matrix, an active buzzer, an NPN transistor, a joystick (later replaced with 4 buttons), a handful of resistors and a potentiometer to make a playable Snake game.
+This was easily the most challenging project so far, taking me almost two weeks to get it working right. I wound up having to break the project out across 4 separate breadboards. The breadboards look as gross in real life as it does in Fritzing.
+Lessons Learned
+-
+
- C has admitted design flaws +
- Hardware debouncing is definitely the way to go +
- The Arduino IDE debugger really sucks +
- It’s been a long time since I had to think this hard about what my code was doing to the hardware +
- Compiling, uploading, and debugging Arduino code from the CLI +
- Breadboards probably introduce just as many bugs as I do +
- How to drive a 7-segment display and an 8x8 LED matrix using shift registers +
- Embedded platforms have undocumented limits that may surprise you +
- You don’t need lots of pixels, or even colors, to make it fun +
There is a more detailed writeup about this project in my source repository.
+Closing Thoughts
That 8x8 LED Matrix Snake game left me taxed. I’m probably going to lay off the embedded stuff for a week or so while I work out some stuff in libakgl related to partitioning the game world for actor collisions and some physics engine bits. Then I’m on vacation until July 6, so I may or may not have a devlog in the first week of July at all.
+Also, getting into embedded development is like getting into Warhammer. When a new chip costs pennies, a new MCU costs a dollar, an entire dev board costs 5 or 10 bucks, and a new Pi is less than $50…
+