<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>LogicFrenzy</title><description>Deep ESP32, Arduino, and industrial IoT tutorials for firmware developers.</description><link>https://www.logicfrenzy.com/</link><language>en-us</language><item><title>Event-driven firmware on ESP32: why polling is killing your code</title><link>https://www.logicfrenzy.com/blog/esp32-event-driven-firmware/</link><guid isPermaLink="true">https://www.logicfrenzy.com/blog/esp32-event-driven-firmware/</guid><description>Polling loops are the goto of firmware architecture — everyone uses them, everyone knows they&apos;re bad, nobody stops. Here&apos;s how to build a proper event-driven system on ESP32 with FreeRTOS queues, and why you&apos;ll eventually want something like AdvancedSignalSlot.</description><pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate></item><item><title>ESP32 FreeRTOS: tasks, queues and semaphores in plain English</title><link>https://www.logicfrenzy.com/blog/esp32-freertos-tasks/</link><guid isPermaLink="true">https://www.logicfrenzy.com/blog/esp32-freertos-tasks/</guid><description>FreeRTOS is already running on your ESP32 whether you know it or not. Learn task creation, stack sizing, inter-task communication, mutexes, and how to not shoot yourself with shared state.</description><pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate></item><item><title>ESP32 GPIO explained: inputs, outputs, pull-ups and interrupts</title><link>https://www.logicfrenzy.com/blog/esp32-gpio-explained/</link><guid isPermaLink="true">https://www.logicfrenzy.com/blog/esp32-gpio-explained/</guid><description>A production-focused deep dive into ESP32 GPIO: floating pins, the GPIO matrix, hardware and software debouncing, ISR rules, volatile variables, and current limits. Skip the toy examples.</description><pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate></item><item><title>ESP32 Modbus TCP and RTU: read industrial sensors step by step</title><link>https://www.logicfrenzy.com/blog/esp32-modbus-tutorial/</link><guid isPermaLink="true">https://www.logicfrenzy.com/blog/esp32-modbus-tutorial/</guid><description>Modbus is 45 years old and it&apos;s everywhere. Learn RTU over RS485 with proper direction control, function codes, 32-bit register reconstruction, error handling, and a complete energy meter example.</description><pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate></item><item><title>ESP32 MQTT tutorial: publish and subscribe with PubSubClient</title><link>https://www.logicfrenzy.com/blog/esp32-mqtt-tutorial/</link><guid isPermaLink="true">https://www.logicfrenzy.com/blog/esp32-mqtt-tutorial/</guid><description>MQTT for production ESP32 firmware: broker options, QoS, LWT, retained messages, and a robust reconnect loop that survives both WiFi and broker drops. No toy snippets.</description><pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate></item><item><title>ESP32 OTA updates: push firmware wirelessly in production</title><link>https://www.logicfrenzy.com/blog/esp32-ota-updates/</link><guid isPermaLink="true">https://www.logicfrenzy.com/blog/esp32-ota-updates/</guid><description>OTA is not optional for production firmware. Learn the ESP32 partition scheme, HTTP OTA with MD5 verification, rollback on failure, HTTPS certificate pinning, and versioning strategy.</description><pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Why your ESP32 firmware needs a state machine (and how to build one)</title><link>https://www.logicfrenzy.com/blog/esp32-state-machine/</link><guid isPermaLink="true">https://www.logicfrenzy.com/blog/esp32-state-machine/</guid><description>Boolean flags and nested if/else statements are a maintenance trap. Here&apos;s how to replace them with a proper finite state machine using a transition table — and why impossible states become structurally excluded.</description><pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate></item><item><title>ESP32 watchdog timer: build firmware that recovers from crashes</title><link>https://www.logicfrenzy.com/blog/esp32-watchdog-timer/</link><guid isPermaLink="true">https://www.logicfrenzy.com/blog/esp32-watchdog-timer/</guid><description>Hardware watchdog timers are your last line of defense against hung firmware. Learn how ESP32&apos;s Task Watchdog Timer works, the anti-patterns that make it useless, and how to build a health monitor task that actually catches real failures.</description><pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate></item><item><title>How to use ESP32 timers: stop using delay() in your firmware</title><link>https://www.logicfrenzy.com/blog/esp32-timers-stop-using-delay/</link><guid isPermaLink="true">https://www.logicfrenzy.com/blog/esp32-timers-stop-using-delay/</guid><description>delay() blocks everything. Learn how ESP32 hardware timers and millis()-based patterns let you multitask without FreeRTOS.</description><pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate></item></channel></rss>