กลับไปหน้ารวมไฟล์
serialdebug-improving-debug-to-arduino-8df268-en.md

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.

SerialDebug library in serial monitor of Arduino IDE

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:

Youtube

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.

ข้อมูล Frontmatter ดั้งเดิม

title: "SerialDebug: Improving Debug to Arduino"
description: "Improved serial debugging, with debug levels and simple software debugger, to see/change global variables, add watch, or call a function."
author: "JoaoLopesF"
category: "Lab Stuff"
tags:
  - "debugging tools"
  - "embedded"
  - "communication"
views: 15860
likes: 15
price: 699
difficulty: "Easy"
components:
  - "1x Teensy 3.6"
  - "1x Arduino MKR1000"
  - "1x Arduino 101"
  - "1x Teensy 3.1"
  - "1x Adafruit Feather HUZZAH with ESP8266 WiFi"
  - "1x Arduino Due"
  - "1x Arduino MKR Fox 1200"
  - "1x Arduino MKR Zero"
  - "1x Arduino UNO"
  - "1x ESP-WROOM-02"
  - "1x ESP8266 SDK"
  - "1x SparkFun ESP32 Thing"
  - "1x NodeMCU ESP8266 Breakout Board"
  - "1x Arduino Mega 2560"
tools: []
apps:
  - "1x SerialDebugApp"
  - "1x Arduino IDE"
downloadableFiles:
  - "https://github.com/JoaoLopesF/SerialDebug"
  - "https://github.com/JoaoLopesF/SerialDebug"
documentationLinks: []
passwordHash: "2630acadc1dcd07df91211cc8f46d099469e00c0ee5dbacfbff6eb3eb97fba0f"
encryptedPayload: "U2FsdGVkX1+V0JD1RSVzdD2IN3HFcInkiJ2p3nrabnmt/ODeAJFNk7rWjrCaFm3jeTIyF28w+eZU56Whbyte5jDy2c7YzOE3wEWX2gPWpWWBhF4l+Suj55v1Rq8sW2Uv"
seoDescription: "Enhance Arduino Serial Debugging with SerialDebug. Manage debug levels, watch global variables, and call functions in real-time."
videoLinks:
  - "https://www.youtube.com/embed/EfvF55Ww-lU"
  - "https://www.youtube.com/embed/C4qRwwjyZwg"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/serialdebug-improving-debug-to-arduino-8df268_cover.jpg"
lang: "en"