ESP32 Projects and Firmware
Most of my hardware runs on an ESP32 or ESP32-S3. Wi-Fi and Bluetooth on one chip, two cores for FreeRTOS tasks and enough headroom for on-device machine learning make it my default for connected products. I write the firmware in C++, wire up the sensors, build the dashboard it reports to and, when a prototype needs to become a product, design the board and print the enclosure.
- Projects
- 5
- Notes
- 7
What I Build With It
- Firmware in C++ on FreeRTOS, with tasks that don't block each other
- Sensors and peripherals over I2C, SPI and UART
- Telemetry over MQTT and WebSockets, with a web dashboard
- Over-the-air updates from GitHub Releases with GitReleaseOTA, my open-source library on the PlatformIO registry
- Edge AI with TensorFlow Lite Micro, like SmartPot's on-device wake word
- Battery life: deep sleep, wake sources and power budgets
Projects Built With ESP32
- 2026SmartPot — AI Plant CompanionVoice-controlled ESP32 plant assistant with edge AI and sensor intelligence.IoTShipped
- 2026Smart Robotic ArmGesture-controlled multi-axis arm with computer vision.IoTShipped
- 2025Smart Nanoleaf SystemAudio-reactive modular lighting with custom firmware.EmbeddedArchived
- 2024Smart IoT Fish FeederRemote-controlled automated feeding system.IoTArchived
- 2024Live Weather Monitoring SystemReal-time display with sensor fusion & API dataIoTArchived
Notes
- I2C vs SPI vs UART: Choosing the Right Serial Protocol for Embedded HardwareA practical comparison of the three most common embedded serial communication protocols. Learn which to choose for sensors, displays, and microcontroller peripherals.6 min
- ESP32 Deep Sleep Modes and Wake Sources: A Power Optimization GuideReduce ESP32 current consumption from 240mA active to under 15μA using deep sleep, RTC memory, and timer or GPIO wake sources.7 min
- Designing Your First Custom PCB: From KiCad Schematic to Gerber FilesA beginner-friendly walkthrough of the complete PCB design workflow in KiCad — schematic capture, footprint assignment, PCB layout, routing, and generating Gerber files for manufacturing.9 min
- ESP32 vs Raspberry Pi Pico: Choosing the Right MicrocontrollerAn in-depth hardware comparison between ESP32 and RP2040 (Pico) covering processing power, wireless connectivity, power draw, and workflows.6 min
- Running TensorFlow Lite Micro on ESP32-S3How to run machine learning models directly on the edge. Deploying wake-word and audio classification models on ESP32-S3 chips.7 min
- ESP32 FreeRTOS Task Scheduling & PrioritizationLearn how to write deterministic firmware on ESP32 using FreeRTOS tasks, task notifications, and semaphore queues.6 min
- How to Hire a Specialized ESP32 Firmware DeveloperA technical hiring guide for companies looking to recruit freelance or contract ESP32 developers. Key interview questions and skill verification.6 min
Questions
Yes. Most builds start on a dev board; once the design settles I draw the schematic and PCB in KiCad, order and bring up the boards, and design a 3D-printed enclosure around them.
Yes. I use over-the-air updates from GitHub Releases (GitReleaseOTA, my open-source library), so new firmware reaches devices in the field without a cable.
Yes, Arduino or ESP-IDF code: fixing crashes and watchdog resets, moving blocking code into FreeRTOS tasks, cutting power draw or adding connectivity.
Need something built with ESP32?