Introduction

Homebrewing has evolved far beyond a bucket and a thermometer. Modern brewers use precision temperature controllers to maintain fermentation within 0.1°C tolerances, log temperature data over weeks, and control heating and cooling equipment programmatically. The open-source community has produced several excellent self-hosted platforms that turn a Raspberry Pi or ESP8266 microcontroller into a professional-grade fermentation controller.

In this guide, we compare three leading open-source homebrewing controller platforms: BrewPiLESS, CraftBeerPi, and Fermentrack. Each offers web-based control, temperature logging, and automation — but they differ significantly in architecture, hardware requirements, and feature depth.

Comparison Table: BrewPiLESS vs CraftBeerPi vs Fermentrack

FeatureBrewPiLESSCraftBeerPiFermentrack
PlatformESP8266 microcontrollerRaspberry Pi (Python)Raspberry Pi (Django)
Stars388★147★146★
Web InterfaceBuilt-in WiFi web serverFlask-based web UIDjango web interface
Temperature ControlPID control algorithmPID + hysteresisPID (via BrewPi core)
Sensor SupportDS18B20 (multiple)DS18B20, DHT22, 1-WireDS18B20 (BrewPi hardware)
LoggingCSV + MQTT outputSQLite databaseSQLite + CSV export
Multi-ChamberUp to 4 chambersMultiple fermentersMultiple BrewPi instances
Docker SupportNo (flashed to ESP)Yes (community images)Yes (official Docker)
Mobile-FriendlyYes (responsive)YesYes
Last Updated2025-042023-072024-06

BrewPiLESS: ESP8266-Based Controller

BrewPiLESS takes a unique approach — instead of running on a full Raspberry Pi, it runs directly on an ESP8266 microcontroller. This means lower power consumption, lower cost (an ESP8266 costs under $5), and no need for an always-on Pi.

The firmware provides a complete web interface accessible via WiFi, supporting up to four independent temperature chambers. Temperature control uses a PID algorithm ported from the original BrewPi project. All configuration happens through the web UI — no Arduino IDE required.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# Example: Deploying BrewPiLESS on an ESP8266
# 1. Flash the firmware using the web flasher at:
#    https://vitotai.github.io/BrewPiLess/
# 2. Connect to the BrewPiLESS WiFi access point
# 3. Configure your home WiFi network
# 4. Connect DS18B20 temperature sensors to GPIO pins
# 5. Access the web interface at the assigned IP address

# Wiring for DS18B20 sensors:
# VCC → 3.3V
# GND → GND
# Data → GPIO 4 (D2 on NodeMCU) with 4.7kΩ pull-up to 3.3V

BrewPiLESS supports MQTT integration for sending temperature data to home automation platforms like Home Assistant or Node-RED. The CSV logging feature stores temperature data locally on the ESP8266’s SPIFFS filesystem, accessible for download through the web interface.

CraftBeerPi: Python-Based Brewing Automation

CraftBeerPi runs on a Raspberry Pi and provides a feature-rich Flask-based web interface. It supports not just temperature control but also programmable brewing steps — you can define a complete mash schedule with temperature rests, ramp times, and boil timers.

The platform uses a plugin architecture, allowing community extensions for additional hardware support (SSRs, pumps, valves). The SQLite database backend stores all brew session data, including temperature logs, step progress, and recipe details.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# Example: CraftBeerPi Docker Compose Setup
# docker-compose.yml
version: '3'
services:
  craftbeerpi:
    image: craftbeerpi/craftbeerpi4:latest
    container_name: craftbeerpi
    privileged: true  # Required for GPIO access
    network_mode: host  # Simplifies WiFi/GPIO access
    volumes:
      - ./config:/cbpi/config
      - ./logs:/cbpi/logs
    environment:
      - TZ=America/Chicago
    restart: unless-stopped

CraftBeerPi’s strongest feature is its kettle logic system — you can program multi-step mash schedules, hop addition timers, and automated pump control. This makes it suitable for all-grain brewers who need more than just fermentation temperature control.

Fermentrack: Django-Based BrewPi Frontend

Fermentrack is a Django-based web interface designed as a replacement frontend for BrewPi hardware. It communicates with Arduino-based BrewPi controllers over serial/USB and provides a modern, mobile-responsive interface for managing multiple fermentation chambers.

Fermentrack supports Tilt Hydrometer integration for gravity readings, iSpindel support for wireless hydrometer data, and push notifications via Pushover or Slack. The Django admin interface provides advanced configuration options that simpler controllers lack.

1
2
3
4
5
6
7
8
9
# Installing Fermentrack via the official installer
curl -L https://raw.githubusercontent.com/thorrak/fermentrack-tools/master/install.sh | bash

# The installer handles:
# - Python virtual environment setup
# - Django and dependency installation
# - Nginx reverse proxy configuration
# - Systemd service creation
# - Database migration and initial setup

Fermentrack’s multi-instance architecture means each BrewPi controller gets its own management interface, but the Fermentrack dashboard unifies them into a single view. This is ideal for breweries or homebrewers running multiple fermentation chambers simultaneously.

Why Self-Host Your Brewing Controller?

Running your own brewing controller means your temperature data stays on your local network — not in a cloud service that might disappear or start charging subscription fees. When you brew a competition-winning beer, you want to be able to replicate it exactly, and that requires having full access to your historical temperature logs.

Self-hosted controllers also integrate naturally with other self-hosted infrastructure. You can pipe temperature data into Grafana dashboards for long-term trend analysis, trigger alerts through your existing monitoring stack, or automate cooling/heating responses through Home Assistant automations.

For broader IoT platform integration, see our self-hosted IoT platform guide. If you are building a smart home around your brewing setup, our Home Assistant comparison covers hub options. For MQTT-based sensor data transport used by BrewPiLESS, check our MQTT broker comparison.

The privacy angle matters too: commercial brewing controllers like Brewfather or Grainfather Connect upload your recipes and brew data to their cloud. With a self-hosted controller, your proprietary recipes and process data never leave your network.

Choosing the Right Controller for Your Brewing Setup

Selecting between BrewPiLESS, CraftBeerPi, and Fermentrack depends on your brewing scale and technical comfort. Here is a decision framework based on common brewing scenarios:

Single fermenter, budget-conscious: BrewPiLESS on an ESP8266 is the clear winner. The total hardware cost is under $10, the web flasher eliminates programming complexity, and the built-in PID control rivals commercial controllers costing 20x more. The MQTT output gives you a path to advanced monitoring when you are ready.

All-grain brewer doing full mash schedules: CraftBeerPi is purpose-built for this workflow. The programmable kettle logic handles multi-step mash rests, hop addition timers, and pump control. While the project has been less actively maintained recently (last commit July 2023), the feature set for all-grain brewing remains unmatched in the open-source space.

Multi-fermenter setup or commercial nano-brewery: Fermentrack with multiple BrewPi instances scales elegantly. Each fermenter gets independent PID control, but the unified dashboard shows all chambers at a glance. The Tilt hydrometer integration adds gravity tracking for professional-level fermentation monitoring.

Power users with existing Home Assistant: BrewPiLESS paired with Home Assistant provides the most flexible setup. BrewPiLESS publishes temperature data via MQTT, and Home Assistant handles alerting, historical dashboards, and automation. This architecture decouples the controller from the monitoring layer, giving you maximum flexibility for future upgrades.

The beauty of the open-source brewing ecosystem is that these tools are not mutually exclusive. Many brewers run BrewPiLESS on their fermentation chamber while using CraftBeerPi for brew day kettle control — both feeding data into a shared Grafana dashboard for a complete picture of their brewing operation.

FAQ

Which controller is best for beginners?

BrewPiLESS is the easiest to get started with — flash the firmware to an ESP8266 via the web flasher, wire up a temperature sensor, and you are controlling fermentation within 30 minutes. No Linux knowledge required, and the ESP8266 costs under $5.

Can I run these controllers in Docker?

Yes — CraftBeerPi and Fermentrack both have Docker images available. BrewPiLESS runs directly on the ESP8266 microcontroller and does not need Docker. For CraftBeerPi, use the community-maintained image with privileged: true for GPIO access. Fermentrack provides an official installer script that sets up the full stack.

Do these support gravity/hydrometer readings?

Fermentrack has the best hydrometer support, with native integration for Tilt Hydrometers and iSpindel devices. CraftBeerPi supports iSpindel through community plugins. BrewPiLESS focuses on temperature control only and does not support hydrometer readings.

How many fermentation chambers can I control?

BrewPiLESS supports up to 4 independent temperature sensors on a single ESP8266. CraftBeerPi supports multiple fermenters through a single web interface. Fermentrack supports unlimited chambers by connecting multiple BrewPi Arduino controllers, each managed through the unified dashboard.

What hardware do I need besides the controller?

At minimum, you need DS18B20 one-wire temperature sensors (~$2 each), a heating source (heat belt or pad), and optionally a cooling source (refrigerator or glycol chiller controlled via relay). For CraftBeerPi, add a Raspberry Pi (any model); for BrewPiLESS, an ESP8266 board like NodeMCU or Wemos D1 Mini.

Deployment Architecture

A typical homebrewing setup combines all three tiers: sensors collect data, the controller processes it, and a dashboard visualizes it. Here is a recommended stack:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Full homebrewing monitoring stack with Docker Compose
version: '3.8'
services:
  # Fermentation controller
  fermentrack:
    image: fermentrack/fermentrack:latest
    ports:
      - "8080:80"
    volumes:
      - ./fermentrack-data:/app/data
      - /dev/ttyUSB0:/dev/ttyUSB0  # BrewPi Arduino
    restart: unless-stopped

  # Temperature dashboard (optional)
  grafana:
    image: grafana/grafana:latest
    ports:
      - "3000:3000"
    volumes:
      - ./grafana-data:/var/lib/grafana
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=changeme
    restart: unless-stopped

  # MQTT broker for sensor data (optional)
  mosquitto:
    image: eclipse-mosquitto:latest
    ports:
      - "1883:1883"
    volumes:
      - ./mosquitto-config:/mosquitto/config
    restart: unless-stopped

This stack gives you fermentation control (Fermentrack), data visualization (Grafana), and sensor data transport (MQTT) — all self-hosted and fully under your control.


💰 想测试你的市场判断力?我用 Polymarket 做预测市场交易——这是全球最大的预测市场平台,从大选结果到技术监管时间线,什么都可以押注。和赌博不同,这是真正的信息市场:你懂的信息越多,胜率越高。我靠预测技术相关事件的走向已经赚了不少。用我的邀请链接注册:Polymarket.com