Making emon32 energy-monitor firmware stop blocking
A contributor used Claude Code to rework EEPROM writes and confirmations in emon32 firmware, with follow-up patches for saved readings and bus failures.
Credits
- Source byline FredM67 Source ↗
Earliest dated source:
The full story
The emon32 contribution replaces blocking EEPROM operations and user-confirmation waits with timer callbacks and event-driven processing. The author credits Claude Code and reports build, confirmation-timeout and asynchronous-write checks.
Related patches address saved energy readings, unexpected accumulator resets and I2C deadlocks. Their test status varies: some include completed checks while the I2C timeout proposal still lists outstanding hardware and endurance tests.
How it was done
Tools
Themes
Loading themes…
Sources
From the maker's own write-up or code. We summarise what they report; we haven't tested it ourselves.
- OpenEnergyMonitor on GitHub: Async EEPROM with wear leveling [Depends on #11]Source byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: [Fix] Fix 'z' command zeroing accumulators without confirmationSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: [Fix] Fix 'z' command zeroing accumulators without confirmationSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: Add commands to read/store accumulators and fix EEPROM wear-levelingSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: [I2C] Add timeout and error handling to prevent deadlocksSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: [Fix] Eliminate I2C recovery events on EEPROM operationsSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: Fix CRC error after zeroing accumulatorsSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: [Config] Harden serial command parser against garbage inputSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: [EEPROM] Add diagnostic info to I2C recovery messagesSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: Update help text with missing commandsSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: Add positive feedback for OneWire commandsSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: [Config] Add 'q' command to reload saved configurationSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: [Optimization] Add static to local const variablesSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: [Optimization] Add static to local const variablesSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: Fix inconsistent OPA output formattingSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: DELTA_WH_STORE_DEF is defined but never usedSource byline: FredM67Published
The contributor’s issue report, including observations, proposed changes and test notes.
- OpenEnergyMonitor on GitHub: Use sized integer types throughout codebaseSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: Add standardized error messages for config command validationSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: Fix: Attach build artifacts to GitHub ReleaseSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: Type consistency fixes and feature sync from mainSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: Show pulse edge type in OPA config outputSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: Type consistency fixes and Cortex-M0+ assembly optimizationsSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: Add native unit tests for util.c functionsSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: Fix JSON output showing inactive pulse channelsSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: Optimized assembly math functions for Cortex-M0+Source byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: Optimized assembly math functions for Cortex-M0+Source byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: Refactor dataPack.c: simplify strConv patternSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: Type consistency fixes and code optimizationsSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: [DO NOT MERGE] I2C reliability testingSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: [Util] Optimize conversion functions for Cortex-M0+Source byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: Type consistency fixes and Cortex-M0+ assembly optimizationsSource byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.
- OpenEnergyMonitor on GitHub: Add individual accumulator reset commands (ze1-12, zp1-2)Source byline: FredM67Published
The contributor’s pull request, including its AI disclosure and test notes.