esp32-serial-logging
Real-time serial log monitoring for ESP32 and microcontrollers. Capture device output to a file and monitor logs in real-time. Use when debugging embedded devices, investigating crashes, or monitoring device behavior.
How do I install this agent skill?
npx skills add https://github.com/h1d/agent-skills-esp32 --skill esp32-serial-loggingIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill provides standard documentation and shell commands for monitoring serial logs from ESP32 microcontrollers. It uses basic utilities like stty, cat, and grep to manage logs in the /tmp directory. No malicious patterns, unauthorized network access, or obfuscation were detected.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- Runlayerwarn
1/1 file flagged
What does this agent skill do?
ESP32 Serial Log Monitoring
Overview
Capture serial output from ESP32 (or any microcontroller) to a file for real-time monitoring and analysis.
ESP32 Setup (Device Side)
ESP-IDF Framework
#include "esp_log.h"
static const char* TAG = "MyComponent";
void my_function() {
ESP_LOGI(TAG, "Info message");
ESP_LOGW(TAG, "Warning: value=%d", some_value);
ESP_LOGE(TAG, "Error occurred");
ESP_LOGD(TAG, "Debug details");
}
Arduino Framework
void setup() {
Serial.begin(115200);
}
void loop() {
Serial.println("Status: running");
Serial.printf("Sensor: %d\n", analogRead(A0));
delay(1000);
}
Host Side - Capture Logs
# Find serial port
PORT=$(ls /dev/cu.usbmodem* /dev/ttyUSB* /dev/ttyACM* 2>/dev/null | head -1)
echo "Found port: $PORT"
# Configure and start capture
stty -f "$PORT" 115200 raw -echo 2>/dev/null || stty -F "$PORT" 115200 raw -echo
cat "$PORT" >> /tmp/device.log &
echo "Logging to /tmp/device.log (PID: $!)"
Monitor Logs
# Real-time monitoring
tail -f /tmp/device.log
# Filter specific patterns
tail -f /tmp/device.log | grep -E "ERROR|WiFi|Button"
Search for Errors
# Find crashes and errors
grep -E "ERROR|crash|overflow|panic|assert|Backtrace" /tmp/device.log
# Find reboots (look for boot messages or uptime resets)
grep -E "boot:|rst:|Uptime: [0-9] sec" /tmp/device.log
Debug Workflow
-
Clear log before reproducing issue:
> /tmp/device.log -
Reproduce the issue
-
Analyze captured logs:
cat /tmp/device.log
Common Baud Rates
| Device | Baud Rate |
|---|---|
| ESP32 (default) | 115200 |
| ESP32 (fast) | 460800 |
| Arduino | 9600 |
| STM32 | 115200 |
Stop Logging
pkill -f "cat /dev/cu.usbmodem"
pkill -f "cat /dev/ttyUSB"
Troubleshooting
- Port not found: Check USB connection, try
ls /dev/cu.* /dev/tty.* - Permission denied: Add user to
dialoutgroup (Linux) - Garbled output: Wrong baud rate
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/h1d/agent-skills-esp32/esp32-serial-logging">View esp32-serial-logging on skillZs</a>