• Skip to main content
  • Skip to primary sidebar

RNTLab.com

The Ultimate Shortcut to Learn Electronics and Programming with Open Source Hardware and Software

  • Courses
  • Forum
    • Forum
    • Ask Question
  • Shop
  • Account
  • Blog
  • Login

Updating “Heating System Monitor” I found major changes to ESP_NOW.h, ESP32 core 3.3.10!

Q&A Forum › Updating “Heating System Monitor” I found major changes to ESP_NOW.h, ESP32 core 3.3.10!
0 Vote Up Vote Down
William Lucid asked 1 month ago

Collaboration with myself, Claude AI (Anthropic), and Gemini AI (Google).

Serial Monitor output images –Three ESP32’s devices!

Heating System Monitor III Project Files

Acoustical coupling of blower sound with bandpass filtering to capture on/off cycle. No electrical hook up!!! Featuring ESP NOW, ESP32 Core 3.3.10. “Heating System Monitor” logs time, outside temp, inside temperature, register temperature, thermostat, elapsed time, daily total time –both local, LittleFS log file and perpetual, Google Sheet –month to month and year to year.

Inspiration for the perpetual, Google Sheet

3 Answers
0 Vote Up Vote Down
William Lucid answered 1 month ago

ESP NOW breaking changes from core 2.x to 3.x

The migration from ** ESP32 core 2.x** to **3.x** introduced significant breaking changes to the **ESP_NOW** API, primarily driven by the upgrade to **ESP-IDF 5.1**.

* **Callback Signature Change**: The receiver callback function signature (`esp_now_recv_cb_t`) was modified. In version 2.x, the first parameter was the sender’s MAC address (`const uint8_t*`). In version 3.x, this is replaced by a pointer to an `esp_now_recv_info_t` struct.
* **New Info Struct**: The new `esp_now_recv_info_t` struct includes `src_addr` (source MAC), `des_addr` (destination MAC), and `rx_ctrl` (Wi-Fi packet receive control info). Code must now extract the MAC address from `info->src_addr` instead of receiving it directly as the first argument.
* **API Refactoring**: Beyond callbacks, the underlying I2S and LEDC APIs were also redesigned, meaning older sketches relying on legacy function calls or parameter orders will fail to compile unless updated.

To maintain compatibility with legacy code, users can **downgrade** their board package to **2.0.17** in the Arduino IDE. Alternatively, existing code must be refactored to match the new 3.x callback structure.

0 Vote Up Vote Down
William Lucid answered 1 month ago

Have to switch out the microphone for sound detection.  Current MAX4466 has Automatic Gain Control that interferes with reliable detection and sensitivity.  Ordered KY-037 and KY-038 to try; advantage is they both have digital outputs, simplifying the code by reading the GPIO logic level.

William

0 Vote Up Vote Down
William Lucid answered 1 month ago

06/13/2026 Update:

Staying with variance sound detection using analog output of the KY-038.  Getting better separation between on/off transitions, better sensitivity at two feet from blower, and better reliability.

Live Google Sheet from “Heating System Monitor III“.  

Regards,
William

Primary Sidebar

Login to Ask or Answer Questions

This Forum is private and it’s only available for members enrolled in our Courses.

Login »

Latest Course Updates

  • [eBook Updated] Smart Home with Raspberry Pi, ESP32, and ESP8266 Version 1.7 November 28, 2025
  • [eBook Updated] Smart Home with Raspberry Pi, ESP32, and ESP8266 V1.6 September 9, 2025

You must be logged in to view this content.

Contact Support - Refunds - Privacy - Terms - MakerAdvisor.com - Member Login

Copyright © 2013-2026 · RandomNerdTutorials.com · All Rights Reserved

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.