Improving debugging for the Arduino
Modern development platforms, such as Android and iOS, has debug output with levels (verbose, debug,...).
ESP-IDF, the native SDK for ESP32, have it too.
Why levels on debug messages is important?
Why do they allow you to set a level of each message, according to its importance, and it helps to filter important messages.
Why do not we have this for the Arduino?
This motivated me to make a library for the Arduino.
How to improve this?
SerialDebug library, which improve debugging for Arduino, with levels and more.
To improve more the debugging for Arduino, I made one desktop app for SerialDebug library, the SerialDebugApp. This is optional, due not dependency between this app and library. You choice, can use serial monitor of Arduino IDE or this app:
Please access the github repo for more informations:
https://github.com/JoaoLopesF/SerialDebug
EXPANDED TECHNICAL DETAILS
Enhanced Embedded Diagnostic Suite
SerialDebug is a professional-grade software library designed to provide deep insight into the internal state of an Arduino during execution.
- Live Variable Inspection Hub: Instead of tedious
Serial.print()statements, the library allows the user to monitor and modify global variables in real-time through the SerialDebugApp on a PC. - Remote Function Execution: The firmware enables the developer to call specific Arduino functions remotely via the serial link, allowing for isolated testing of sub-modules without restarting the entire system.
Performance Metrics
- CPU Load and RAM Trace: Includes a real-time monitor of the "Loop Duration" and "Free RAM," helping engineers identify bottlenecks and memory leaks in complex IoT applications.