esp-rtosLogger

printf style logging that costs the caller about a microsecond: arguments go raw into a ring of the caller's own core, a FreeRTOS task formats them later.

Author
Hamza Yesilmen
Website
https://github.com/HamzaYslmn/esp-rtosLogger
Category
Communication
License
NOASSERTION
Library Type
Contributed
Architectures
esp32, nrf52

logI("rpm=%d temp=%.2f", rpm, temp) writes the raw arguments into a ring of the caller's own core, with that core's interrupts masked for the write, so no lock is ever shared between cores. A low priority task formats the lines with the real snprintf and sends them to Serial, or wherever logTo says, batched. logBin(struct) sends a plain struct as bytes instead, read back on the other board with logBinRead. Safe from interrupts and from any number of tasks. Measured on an ESP32-S3 under a SimpleFOC drive: 0.9 us mean, 1.4 us worst from a loop in IRAM, 0.5 us from an interrupt; 4.4 us on an nRF52840. Runs on ESP32 (Arduino-ESP32 3.x) and nRF52 (Adafruit core).

Downloads

Filename Release Date File Size
esp_rtosLogger-0.3.0.zip 2026-09-23 21.70 KiB
esp_rtosLogger-0.2.0.zip 2026-09-23 16.10 KiB
esp_rtosLogger-0.1.0.zip 2026-09-22 12.20 KiB
esp_rtosLogger-0.0.1.zip 2026-09-22 10.59 KiB