Open-source BBQ temperature monitor and controller. Uses an ESP32-S3 with a 3.5" touchscreen to maintain precise smoker temperature via PID-controlled fan and optional servo damper. Reads Thermoworks-compatible thermistor probes. Includes a web interface (PWA) for remote monitoring from any phone or computer on Wi-Fi. Touchscreen works fully offline.
Real-time temperature display on the 3.5" capacitive touchscreen. Works fully offline — no Wi-Fi required.
Browser-based PWA with live temperature graph, predictive done-time curves, and full cook session control. Access from any device at http://bbq.local.
- 3 probe inputs: 1 pit (ambient) + 2 meat probes (Thermoworks Pro-Series compatible, 2.5mm jack)
- PID temperature control: Fan + optional damper hold pit temperature steady (±5°F typical)
- 3.5" capacitive touchscreen: Real-time dashboard — works fully without Wi-Fi
- Web UI (PWA): Install to home screen, real-time graph, set points, alarms, session export
- Predictive curve: Chart shows dashed projection from current meat temp to target with estimated done time
- Alarms: Local buzzer + browser audio + Pushover push notifications
- Cook session logging: Persists through power loss, download as CSV/JSON before starting next cook
- Easy setup: QR code on screen for Wi-Fi, captive portal, mDNS (
bbq.local) - OTA updates: Flash new firmware from the browser — no USB after initial setup
- Error detection: Probe disconnect/short, fire-out warning, Wi-Fi auto-reconnect
- Calibration: Per-probe Steinhart-Hart coefficients with offset adjustment
- 3D printable enclosure: PETG case with snap-fit assembly
All internal electronics mount on a single 50x70mm carrier perfboard behind the display. Requires basic soldering (~20 joints). Enclosure target is ~100x70x40mm.
| # | Component | Product | Qty | Price | Link |
|---|---|---|---|---|---|
| 1 | MCU + Display | WT32-SC01 Plus (ESP32-S3, 3.5" 480x320 capacitive touch) | 1 | ~$20-25 | Amazon / AliExpress |
| 2 | ADC | ADS1115 16-bit I2C breakout (HiLetgo 3-pack) | 1 | ~$4 | Amazon |
| 3 | Blower Fan | GDSTIME 5015 12V dual ball bearing blower (2-pack) | 1 | ~$10-12 | Amazon |
| 4 | MOSFET | IRLZ44N logic-level N-channel TO-220 (5-pack) | 1 | ~$7 | Amazon |
| 5 | Servo | Miuzei MG90S metal gear micro servo (2-pack) | 1 | ~$8-10 | Amazon |
| 6 | Power Supply | ALITOVE 12V 5A DC adapter (5.5x2.1mm barrel) | 1 | ~$10-12 | Amazon |
| 7 | Buck Converter | MP1584EN mini adjustable DC-DC (6-pack, 22x17mm) | 1 | ~$8 | Amazon |
| 8 | Power Jack | Panel-mount DC barrel jack 5.5x2.1mm (4-pack) | 1 | ~$6 | Amazon |
| 9 | Probe Jacks | CESS 2.5mm mono TS panel-mount with nut (4-pack) | 1 | ~$6-8 | Amazon |
| 10 | Buzzer | Piezo buzzer disc 3-5V (5-pack) | 1 | ~$5 | Amazon |
| 11 | Carrier Board | 50x70mm perfboard (10-pack) | 1 | ~$6 | Amazon |
| 12 | Resistors | 10K ohm 1% metal film (pack) | 3 | ~$5 | Amazon |
| 13 | Capacitors | 0.1uF ceramic (pack) | 3 | ~$5 | Amazon |
| 14 | Hookup Wire | 22AWG solid core (assorted colors) | 1 | ~$8 | Amazon |
| Total (excluding probes) | ~$95-115 |
Any Thermoworks Pro-Series probe with 2.5mm mono jack works:
- TX-1003X-AP — Air/pit probe with grate clip (~$19)
- TX-1001X-OP — Cooking/meat probe (~$21)
Compatible alternatives: Maverick ET-72/73 replacement probes (different Steinhart-Hart coefficients), Inkbird, FireBoard probes.
PETG-printed enclosure and fan assembly. All designs are parametric OpenSCAD source files with pre-exported STLs ready for slicing.
- Front bezel — holds the display
- Rear shell — houses carrier board and panel-mount connectors
- Kickstand — detachable flip-out stand
- Blower housing — holds fan, servo, and butterfly damper
- UDS pipe adapter — mounts to 3/4" NPT pipe nipple on drum
See 3D Printed Parts for print settings, hardware list, and assembly instructions.
git clone https://github.com/MrMatt57/pitclaw.git
cd pitclawWindows — one script installs everything (Git, Python, PlatformIO CLI, OpenSCAD):
# Run from an elevated (Admin) PowerShell
powershell -ExecutionPolicy Bypass -File scripts\setup-dev.ps1Other platforms — install PlatformIO CLI (pip install platformio).
Solder the carrier board and wire everything up. See the wiring guide for the full diagram and pin assignments.
cd firmware
# Build firmware
pio run -e wt32_sc01_plus
# Connect WT32-SC01 Plus via USB-C, then flash
pio run -e wt32_sc01_plus --target upload
# Upload web UI files to flash filesystem
pio run -e wt32_sc01_plus --target uploadfsAfter this initial flash, all future firmware updates can be done over Wi-Fi at http://bbq.local/update.
- Power on — the setup wizard starts on the touchscreen
- Select temperature units (°F or °C)
- Scan the QR code on screen with your phone to connect to the setup Wi-Fi
- Enter your home Wi-Fi credentials in the portal page
- Plug in probes — the wizard verifies live readings
- Fan, servo, and buzzer do a quick self-test
- Setup complete — dashboard appears
Open http://bbq.local in any browser on the same Wi-Fi network.
For the best experience, add it to your phone's home screen (it's a PWA):
- iOS: Safari → Share → Add to Home Screen
- Android: Chrome → Menu → Add to Home Screen
Hold your finger on the touchscreen for 10 seconds during the boot splash screen.
| Guide | Topics |
|---|---|
| Firmware Development | Building, flashing, testing, architecture, configuration |
| Web UI Development | Simulator, web UI editing, cook profiles, WebSocket protocol |
| Wiring | Wiring diagram, pin assignments, carrier board layout |
| 3D Printed Parts | Print settings, hardware list, assembly instructions, parametric customization |
TBD

