Comparison of CO2 sensors MH-Z19B and CCS811

Comparison of CO2 sensors MH-Z19B and CCS811

I hooked up both the MH-Z19B and CCS811 CO₂ sensors side by side and logged data for a full week. The results? They mostly follow the same trends—but actual readings vary wildly, sometimes by 1000+ ppm. Which one’s accurate? Hard to say without a calibrated reference…

Read more...
Carbon Dioxide Sensor CCS811

Carbon Dioxide Sensor CCS811

Picked up a CJMCU-811 CO₂ and air quality sensor to compare it with my go-to MH-Z19B. It’s smaller, cheaper, uses I2C, and reacts super fast (you can literally breathe on it and watch the values change). One of my two units didn’t work, though—so quality might be hit or miss.

Read more...
Carbon Dioxide Sensor MH-Z19b - Part 2 - Software

Carbon Dioxide Sensor MH-Z19b - Part 2 - Software

In Part 2 of my CO₂ sensor project, I set up the MH-Z19b with Arduino and ESP8266 using PlatformIO. Added WiFi-based configuration with my own WiFiConfig library, and used RecurringTask to keep everything responsive without blocking the loop. It’s simple, wireless, and super easy to tweak from your browser!

Read more...
URU Key - final hardware design

URU Key - final hardware design

Hardware is done! After months of prototyping, I finally finished the compact 40×15mm URU Key device—complete with ESP32, fingerprint scanner, security chip, LiPo battery, and USB-C. It’s basically a fitness tracker… but for secure authentication. Now onto the software (and maybe a proper case 😅).

Read more...
FPC1020 Fingerprint Scanner - detecting finger presence

FPC1020 Fingerprint Scanner - detecting finger presence

Back to FPC1020 driver work! I fired up an ESP8266 with Arduino to detect finger presence using the scanner’s built-in sensor matrix. It’s simple, fast, and could help optimize image capture—or even act like a button or gesture detector. Full example code and visuals inside!

Read more...
URU Key - fully autonomous prototype

URU Key - fully autonomous prototype

It’s official—URU Key is now a real, standalone device! I added the custom power board, used spring-loaded pins for easy firmware updates, and screwed everything together into a compact 35×20×10mm unit. Hardware’s basically done—now it’s time to dive deeper into the firmware, especially the biometric side.

Read more...
How to measure battery level with ESP32 microcontroller

How to measure battery level with ESP32 microcontroller

Figured out how to measure battery level on the URU Key using a simple voltage divider and some clever GPIO control. Threw in some ESP32 ADC math to convert readings into a nice 0–100% percentage—and even blink a red LED if the battery’s running low. BLE support coming too!

Read more...
URU Key - making decision on power source

URU Key - making decision on power source

Next step: power! I explored both CR2032 coin cells and tiny rechargeable LiPo batteries for the URU Auth device. Settled on a rechargeable setup with a TP4054 charger and USB-C—compact, convenient, and way more user-friendly. Bonus: added battery level monitoring and auto power-off to keep things efficient.

Read more...