Guy does demoscene tricks to ESP32 powered display (2022)
The project evolved from a simple ESP32 message board to a complex system with animations and sound, utilizing coding techniques for optimization and highlighting scope creep in the learning process.
Read original articleThe article discusses a personal project involving the ESP32 microcontroller, which started as a simple message board for leaving notes. The author initially aimed to use an SSD1306 display and WiFi for remote message updates but later optimized the system by storing messages in EEPROM and implementing a web server for easier updates. As the project evolved, the author explored more complex features, including animations and sound, leading to the integration of a demoscene tracker and a desktop simulator for faster iteration. The project also involved upgrading to a color display and utilizing various coding techniques, such as RLE compression and delta encoding, to optimize memory usage. The author reflects on the challenges faced, including the learning curve associated with CAD for creating a laser-cut front panel. Ultimately, the project exemplifies the concept of scope creep, where the initial goal expanded into a multifaceted learning experience, resulting in a functional and aesthetically pleasing product.
- The project began as a simple message board using an ESP32 and evolved into a complex system with animations and sound.
- The author utilized various coding techniques, including RLE compression and delta encoding, to optimize memory usage.
- A desktop simulator was created to facilitate faster iteration and debugging during development.
- The project highlights the concept of scope creep, leading to a broader learning experience and a successful final product.
- The author learned valuable skills in areas such as I2C vs SPI communication, capacitive button debouncing, and palette cycling.
Related
I don't know how CPUs work so I simulated one in code (2019)
The author simulated an 8-bit CPU to understand computer architecture, learning about bits, ALU functions, and I/O communication, while planning to explore advanced topics like RISC architectures and modern CPU features.
Move Fast and Abandon Things
The author reflects on their game development journey, emphasizing nostalgia, the importance of quick iterations, and lessons learned from both completed and unfinished projects shared on GitHub.
Lessons from implementing Sokoban for the Intel 8080
Franklin Pezzuti Dyer implemented the Sokoban game for the Intel 8080, emphasizing low-level programming challenges, trade-offs between efficiency and convenience, and the importance of documentation and modularity.
Building an e-ink weather display for our home
The article describes a DIY project to build a battery-powered e-ink weather display, focusing on design, challenges, and successful assembly, completed in three weeks with an emphasis on familiar tools.
Solarpunk Web Server
The author shares their solarpunk web server project using a modified solar charger and a Wemos S2 mini board. The project emphasizes sustainability, with plans for future enhancements and features.
Investigating this lead me to an interesting polish company called semihalf who were recently acquired by google.
https://www.youtube.com/watch?v=qLh1FOcGysY
Apparently they added some Xtensa support to clang. I guess that means xtensa is very important in the android context.
Related
I don't know how CPUs work so I simulated one in code (2019)
The author simulated an 8-bit CPU to understand computer architecture, learning about bits, ALU functions, and I/O communication, while planning to explore advanced topics like RISC architectures and modern CPU features.
Move Fast and Abandon Things
The author reflects on their game development journey, emphasizing nostalgia, the importance of quick iterations, and lessons learned from both completed and unfinished projects shared on GitHub.
Lessons from implementing Sokoban for the Intel 8080
Franklin Pezzuti Dyer implemented the Sokoban game for the Intel 8080, emphasizing low-level programming challenges, trade-offs between efficiency and convenience, and the importance of documentation and modularity.
Building an e-ink weather display for our home
The article describes a DIY project to build a battery-powered e-ink weather display, focusing on design, challenges, and successful assembly, completed in three weeks with an emphasis on familiar tools.
Solarpunk Web Server
The author shares their solarpunk web server project using a modified solar charger and a Wemos S2 mini board. The project emphasizes sustainability, with plans for future enhancements and features.