BrewPi-ESP
BrewPi is an open source fermentation temperature controller that allows you to simultaneously control heating and cooling to control fermentation temperatures to within 0.1 degrees Fahrenheit. It integrates with Fermentrack to allow for remote monitoring and control, the use of pre-defined temperature control profiles, and the generation of temperature logs.
BrewPi-ESP is a port of the BrewPi firmware to ESP8266 and ESP32 boards, which brings additional features such as native WiFi support, direct integration with Fermentrack 2 (without the need of hardware such as a Raspberry Pi), support for Bluetooth temperature sensors such as the Tilt Pro, and the use of TP Link Kasa WiFi relays to control your heating or cooling.
The BrewPi-ESP firmware is freely available, and can be flashed using BrewFlasher to a compatible ESP8266 or ESP32 board.
Project Links/Documentation
Using BrewPi-ESP with Fermentrack
Fermentrack 2 supports the use of BrewPi-ESP beginning with the v16 release.
Features
Temperature Control
BrewPi-ESP provides precise temperature control for your fermentation:
- Heating and Cooling: Simultaneously control heating and cooling elements
- Precision: Control temperatures to within 0.1°F (0.05°C)
- Multiple Sensors: Support for multiple DS18B20 temperature sensors
Connectivity
- Native WiFi: Built-in WiFi support - no additional hardware needed
- mDNS Discovery: Automatic device discovery on your network
- Direct Integration: Connects directly to Fermentrack 2
Relay Control
- GPIO Relays: Control relays directly connected to the ESP board
- TP-Link Kasa: Support for TP-Link Kasa WiFi smart plugs
- Bluetooth Sensors: Support for Tilt Pro hydrometers via Bluetooth
Supported Hardware
ESP8266 Boards
- NodeMCU
- Wemos D1 Mini
- ESP-01 (limited GPIO)
ESP32 Boards
- ESP32 DevKit
- ESP32-WROOM
- ESP32-S2/S3
Getting Started
1. Flash the Firmware
Use BrewFlasher to flash the BrewPi-ESP firmware to your board:
- Download and install BrewFlasher
- Connect your ESP board via USB
- Select your board type
- Choose the latest BrewPi-ESP firmware
- Click Flash
2. Configure WiFi
After flashing, the ESP will create a WiFi access point:
- Connect to the
BrewPi-XXXXnetwork - Navigate to
192.168.4.1 - Enter your WiFi credentials
- The device will restart and connect to your network
3. Add to Fermentrack
- Log in to Fermentrack 2
- Navigate to Devices
- Click "Add Device"
- The BrewPi-ESP should appear in the discovery list
- Click to add and configure
Temperature Sensor Setup
BrewPi-ESP supports DS18B20 digital temperature sensors for:
- Beer Temperature: Primary fermentation temperature
- Chamber Temperature: Ambient/fridge temperature
- Room Temperature: External reference temperature
Wiring DS18B20 Sensors
Connect DS18B20 sensors to the designated GPIO pin (typically GPIO4/D2):
DS18B20 ESP Board
─────── ─────────
VCC ──── 3.3V
GND ──── GND
DATA ──── GPIO4 (with 4.7kΩ pull-up to 3.3V)
Multiple sensors can share the same data pin (1-Wire bus).
Relay Configuration
GPIO Relays
Configure heating and cooling relays through the BrewPi-ESP web interface:
- Cooling Relay: Typically GPIO12/D6
- Heating Relay: Typically GPIO13/D7
TP-Link Kasa Smart Plugs
BrewPi-ESP can control TP-Link Kasa smart plugs over WiFi:
- Set up the Kasa plug using the Kasa app
- Note the plug's IP address
- Configure in BrewPi-ESP settings
Troubleshooting
Device Not Discovered
- Ensure the ESP and Fermentrack are on the same network
- Check that mDNS is not blocked by your router
- Try adding the device manually by IP address
Temperature Readings Not Updating
- Verify sensor wiring and pull-up resistor
- Check sensor assignment in BrewPi-ESP web interface
- Restart the ESP device
Connection Issues
- Check WiFi signal strength at the device location
- Verify Fermentrack can reach the device IP
- Check firewall settings