Analysis updated 2026-07-26
Set a manual chamber temperature for your 3D printer from a browser.
Automatically have the chamber heater follow the printer bed temperature.
Run a timed drying cycle to remove moisture from filament using material presets.
Embed the heater control panel directly inside Fluidd or Mainsail dashboards.
| plastikman/dragonbreath | gregordinary/rocket-userspace | grieferpig/esp32-s31-linux | |
|---|---|---|---|
| Stars | 8 | 8 | 8 |
| Language | C | C | C |
| Setup difficulty | hard | hard | hard |
| Complexity | 4/5 | 5/5 | 5/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires flashing custom firmware onto hardware and reading safety documentation before operating the heater.
DragonBreath is open-source firmware for the BIGTREETECH Panda Breath, a small heater used to warm the chamber around a 3D printer. The stock firmware on this device is closed, so this project replaces it with open code you can read, modify, and audit yourself. It is part of a broader family called OpenVent, which shares common building blocks across several BTT Panda products. Instead of reimplementing everything from scratch, the author lifted the shared parts, like WiFi setup, the web portal, and Moonraker connectivity, from the sibling OpenVent project and renamed them for this device. The firmware lets you control the heater through a local web page served by the device itself, or through Moonraker and Klipper, the popular open-source 3D printer control stack. You can set a manual temperature, let the chamber target follow the printer's bed temperature automatically, or run a timed filament-drying cycle with presets for different materials. A settings page exposes safety limits, a communications watchdog, and sensor calibration. The interface is touch-friendly, works in light or dark themes, and can be embedded in dashboards like Fluidd or Mainsail. Four front-panel buttons and four status LEDs provide direct on-device control and feedback. The buttons handle mode switching with short presses, a two-second hold triggers a panic-off, and long presses can clear faults. The LEDs show power status and which mode is currently active, with slow blinks when the device is armed but waiting. Safety is treated seriously. Two independent hardware over-temperature cutoffs, a bonded thermal fuse and the self-limiting physics of the PTC heater, bound worst-case failure to roughly the stock firmware's ceiling, and these cannot be defeated by a software bug. The firmware adds software cutoffs and a watchdog on top. The README stresses reading the safety documentation before touching heater code and supervising early runs. The HTTP control API on port 80 exposes JSON endpoints for reading state, streaming events, sending commands, and updating firmware. Mutating requests require a custom authentication header, which prevents ordinary web pages from silently driving the heater. The author notes this is CSRF hardening for a trusted local network, not full transport encryption. The full README is longer than what was shown.
Replacement open-source firmware for a 3D printer chamber heater, letting you control temperature and drying cycles from a web browser or Klipper, with built-in hardware and software safety cutoffs.
Mainly C. The stack also includes C, JSON, HTTP.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.