Local, self-hosted, or public โ your choice
๐ Local
The app talks straight to your grill on your LAN. No account, no cloud, no vendor. Lowest latency.
๐ Self-hosted
Run the PelletPilot server yourself. Reach your grill from anywhere, on infrastructure you own.
โ๏ธ Public API
Prefer zero ops? Point at the hosted PelletPilot cloud and skip the setup.
A grill that answers to you
Live telemetry
Chamber & meat-probe temps, setpoint, fan/igniter/auger activity โ decoded app-accurate.
Control
Set target temp, light, prime, power โ over the same protocol the vendor cloud uses.
Probe graphs
Time-series meat-probe charts with stall-aware time-to-target estimates.
Open protocol
Fully documented serial + cloud protocol. Build your own client on @pelletpilot/protocol.
Smarter holds
Optional supervisory control for tighter, steadier temperatures.
No lock-in
MIT-licensed. Your data, your server, your grill.
Talk to your grill in one command
export PELLETPILOT_GRILL_IP=<your-grill-ip>
python3 tools/pbclient.py state # decoded live state
python3 tools/pbclient.py watch # poll every 5s
TypeScript packages (@pelletpilot/protocol, server, app) are in the monorepo. Firmware lives in PelletPilot/firmware.
Roadmap
- โ Reverse-engineered device, serial & cloud protocols (docs 01โ08)
- โ Reference client + validated decoder (Python)
- โ @pelletpilot/protocol โ TypeScript codec + local RPC client
- โป Server โ self-hostable relay + public API
- โป App โ mobile PWA dashboard
- โป Firmware โ drop-in ESP32 app that repoints your grill to your cloud