Simple image dithering algorithm

Simple image dithering algorithm

Got into a Reddit convo about showing JPEGs on e-ink displays with ESP8266—and turns out, you don’t need an external service to dither images. Just a bit of code magic in C++ or Python can convert JPEGs to black and white right on the device. Simple and fun!

Read more...
ESP32 implementation of FIDO2 Authenticator

ESP32 implementation of FIDO2 Authenticator

Spent the weekend turning an ESP32 into a FIDO2 BLE Authenticator! Chrome even recognizes it (though it doesn’t do much yet). Also found a neat secure chip—ATECC508A—that could store encrypted keys. Still brainstorming how to handle more than 16 keys. Nerdy fun!

Read more...
WebAuthN - authentication without password

WebAuthN - authentication without password

Ever heard of logging in without passwords? I stumbled upon the FIDO2/WebAuthn standard and it’s actually pretty cool—just your fingerprint and you’re in. I looked into how it works, its pros, and some open questions that still bug me (like… what if you lose the device?). Check it out!

Read more...
ESP8266 - simple configuration over WiFi

ESP8266 - simple configuration over WiFi

While building my CO2 sensor, I wanted to manage the device over WiFi—no buttons, no cables. So, I made a sleek web-based config panel using VueJS and Tailwind CSS, all running right on the ESP8266. Here’s how I replaced manual setup with a modern, async, file-based config system.

Read more...
Carbon Dioxide Sensor MH-Z19b - Part 1 - Hardware design

Carbon Dioxide Sensor MH-Z19b - Part 1 - Hardware design

Ever feel like the air in your room gets a bit… stale? I picked up a cheap MH-Z19b CO2 sensor and built a simple home air quality monitor using an ESP8266 and some DIY magic. Here’s how I prototyped it (twice!) and got it up and running with WiFi and colorful LED alerts.

Read more...