esp-coredump
Generate core dumps on unrecoverable software errors
What it is and what it does
esp-coredump is a Python utility for extracting and debugging core dumps generated by ESP32 microcontrollers and related Espressif chips. It works both as a standalone command-line tool and as a Python library, offering two main analysis modes: info_corefile prints register state, call stacks, task lists, and memory contents from the dump; dbg_corefile converts the dump to an ELF file and launches an interactive GDB session for manual inspection of memory and variables.
The tool is designed to integrate with ESP-IDF but can run independently if you provide the esp-gdb toolchain separately. It depends on construct for binary parsing, pygdbmi for GDB interaction, and esptool for chip communication. Core dumps are typically provided as base64-encoded files or raw binary data, and the tool requires the original ELF binary to map memory regions and symbols.
Use it for:
- Analyze crash dumps from production ESP32 devices to identify the failing task, register state, and call stack.
- Debug memory corruption or stack overflow issues by inspecting memory contents and task control blocks stored in the core dump.
- Interactively examine variables and memory layout in GDB using a core dump as the debugging target instead of live hardware.
- Retrieve and decode base64-encoded core dumps transmitted from remote ESP32 devices over serial or network.
- Integrate core dump analysis into CI/CD pipelines to automatically inspect test failures on embedded targets.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Retrieves and analyzes core dumps from ESP32 and related microcontrollers, providing register dumps, call stacks, task lists, and memory inspection via CLI or Python API.
Yes. esp-coredump is actively maintained, has no known vulnerabilities, and solves a real problem for ESP32 developers. The low install friction and permissive license make it a straightforward addition to an embedded development workflow. Install it if you develop on ESP32 or use Espressif chips and need to debug crashes; skip it if you don't work with those platforms.
Install
esp-coredump on PyPI
pip
pip install esp-coredumpuv
uv add esp-coredumppoetry
poetry add esp-coredumpInstalling esp-coredump
Before you install
Low friction: pure Python wheel with three straightforward dependencies (construct, pygdbmi, esptool). Actively maintained with a recent release; last commit 2026-07-06. Supports Python 3.7 through 3.12.
License in practice
Apache 2.0 permissive license allows commercial and private use with minimal restrictions; you may use, modify, and distribute the code provided you include the license notice.
Quickstart
pip install esp-coredump
from esp_coredump import CoreDump
coredump = CoreDump(chip='esp32', core='./coredump.b64', core_format='b64', prog='./app.elf')
coredump.info_corefile()
Standalone use outside ESP-IDF requires esp-gdb toolchain downloaded and added to PATH; version must match your ESP32 architecture and ESP-IDF version.
Verify before relying
- Whether construct, pygdbmi, and esptool versions are pinned or have known compatibility issues with specific ESP-IDF versions.
- Performance characteristics when analyzing large core dumps or memory-constrained systems.
- Whether the tool supports ESP32-C3, ESP32-S3, and other variants beyond esp32 in the chip parameter.
Package facts
| License | Apache 2.0 (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — construct, pygdbmi, esptool |
| Maintenance | actively maintained — 128 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,302,690/month — #4,083 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: esp_coredump-1.16.0-py3-none-any.whl
Tags
More Embedded Systems packages
Provides Python abstractions and utilities for…
copyleft · top 5,000 on PyPI
pyquaternionProvides quaternion representation,…
permissive · top 5,000 on PyPI
crccheckCalculates CRC and checksum values from binary…
permissive · top 5,000 on PyPI
esptoolesptool is a serial utility for flashing,…
copyleft · top 5,000 on PyPI
esp-idf-kconfigProvides kconfig language support and IDE…
permissive · top 5,000 on PyPI
pyocdpyOCD is a Python-based debugger and programmer…
permissive · top 5,000 on PyPI
esp-idf-panic-decoderParses ESP-IDF panic handler output (registers…
permissive · top 15,000 on PyPI
esp-idf-monitorProvides serial communication monitoring and…
permissive · top 15,000 on PyPI
minidumpParses Microsoft minidump files and reads…
permissive · top 15,000 on PyPI
membrowseAnalyzes binary size and memory footprint of…
unclear · top 15,000 on PyPI
esp-idf-sizeAnalyzes statically allocated RAM and binary…
permissive · top 5,000 on PyPI
esp-pylibProvides shared logging, error handling,…
permissive · top 15,000 on PyPI
esp-idf-diagCollects ESP-IDF environment, system, and…
permissive · top 15,000 on PyPI
esp-bool-parserParses and evaluates boolean expressions from…
permissive · top 15,000 on PyPI
pycrashreportParses Apple crash reports (iOS, macOS) into a…
copyleft · top 15,000 on PyPI
malduckMalduck provides cryptographic, compression,…
copyleft · top 15,000 on PyPI