Skip to main content

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:

  1. Download and install BrewFlasher
  2. Connect your ESP board via USB
  3. Select your board type
  4. Choose the latest BrewPi-ESP firmware
  5. Click Flash

2. Configure WiFi

After flashing, the ESP will create a WiFi access point:

  1. Connect to the BrewPi-XXXX network
  2. Navigate to 192.168.4.1
  3. Enter your WiFi credentials
  4. The device will restart and connect to your network

3. Add to Fermentrack

  1. Log in to Fermentrack 2
  2. Navigate to Devices
  3. Click "Add Device"
  4. The BrewPi-ESP should appear in the discovery list
  5. 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

BrewPi-ESP can control TP-Link Kasa smart plugs over WiFi:

  1. Set up the Kasa plug using the Kasa app
  2. Note the plug's IP address
  3. 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

Resources