Kitchen Analyzer
Battery-powered ESP32 LOLIN32 device that tracks combustible gas, temperature and humidity in a kitchen, waking on PIR motion to save power and reporting readings on a 16x2 I2C LCD.
This blog is about architecture notes, firmware deep dives and deployment guides. It is divided into two sections: articles and projects. Where, articles will be having a focus on general learnings, on the other hand, projects will be discussing architectures and implementation details with practical examples.
Each project is documented from the hardware layer upwards: peripherals and pin maps, firmware architecture, data handling and deployment. Each project has a linked repository to get its related data and firmware. Following are the projects with their short desctriptions that have been documented in this blog:
Battery-powered ESP32 LOLIN32 device that tracks combustible gas, temperature and humidity in a kitchen, waking on PIR motion to save power and reporting readings on a 16x2 I2C LCD.
End-to-end biosignal platform: ESP32 wearable firmware streaming to a C++ backend, a React frontend for live sessions, InfluxDB time-series storage and Grafana dashboards.
Raspberry Pi Pico firmware that reads an XPT2046 resistive touch controller over SPI and converts raw 12-bit coordinates into driverless USB HID digitizer and relative mouse reports.
Firmware flasher and custom bootloader for the TI TMS320F28379D dual-core C2000 microcontroller, with dual-core flashing scripts and a customised Code Composer Studio theme.
Whichever experiences won't fit into a project, will be documented as an article. Following are the articles with their short descriptions that have been documented in this blog:
A written series on deploying an Astro site to Amazon S3 behind CloudFront from GitHub Actions, without storing long-lived AWS credentials: OIDC, IAM, a private bucket, clean URLs, and the failures you hit on the way.
A written series on the Yocto Project: what it actually is, how BitBake, recipes and layers work, and how to build a customized embedded Linux image for an NXP i.MX7 board and a Raspberry Pi 3.