Fermentrack 2 Arduino (Serial) Support
Fermentrack began life as a replacement for the Raspberry Pi-hosted web interface for BrewPi. Over time it evolved—adding new features, supporting ESP-based controllers, and outgrowing its humble Pi roots. Today, the latest iteration - Fermentrack 2 - is fully cloud-native, so you can host it anywhere: on a virtual server, in a container, on a Raspberry Pi, or - if you choose - via the cloud, at Fermentrack.net.
That evolution brings an obvious challenge: legacy BrewPi controllers still speak serial-over-USB, and there’s no “USB cable to the cloud.” To bridge the gap for serial-connected Arduino- or ESP-based BrewPis, I’m excited to introduce Serial-to-Fermentrack.
Serial-to-Fermentrack is exactly what it sounds like: a lightweight daemon that sits on a local device (such as a Raspberry Pi!), reads and writes BrewPi’s serial protocol, and forwards it securely to Fermentrack 2. In the sections that follow, you’ll find everything you need to get it installed, configured, and talking smoothly to Fermentrack 2 - regardless of where it lives.
Installation
Installation is simple, and can be done either automatically (via a single terminal command) or manually (if you prefer not to pipe scripts from the internet to bash).
Automatic Installation
The easiest way to install Serial-to-Fermentrack is to use the "Fermentrack Local Tools" installer, which is available by logging into your Raspberry Pi and running:
bash <(curl -sSL http://localtools.fermentrack.net)
This command downloads and immediately executes a script which will handle all the steps of the manual installation as listed below, including running the tool install script.
Local Installation
Local installation is straightforward, but expects greater familiarity with the command line.
- Install git (if not already installed) - e.g.
sudo apt-get update && sudo apt-get install git
- Clone the "ft2_tools" repo -
git clone
https://github.com/thorrak/ft2_tools.git
- Ensure the tool installer is executable -
cd ft2_tools && chmod u+x ft2_tools_installer.sh
- Run the installer -
./ft2_tools_installer.sh
Running the Tool Install Script
Once you launch ft2_tools_installer.sh
(or the automatic installation script launches it for you) you will be presented with a list of tools available for install. When asked if you want to "Install Serial to Fermentrack?" choose yes, and when asked "Do you want serial_to_fermentrack to run automatically at startup?" choose "yes" again.
The installation script will also ask if you want to install other tools such as BrewFlasher Command Line Edition – feel free to install these at the same time if you wish.
Configuring Serial-to-Fermentrack
Each individual serial-connected device must be configured before it will connect to and will be used with Fermentrack. Configuration is managed using the serial_to_fermentrack_config
command which is created by the installer in the ft2_tools
folder. To use this command, simply:
cd ft2_tools/
if you aren't already in the directory- ...and run
./serial_to_fermentrack_config
Configure the Connection to Fermentrack
The first step is to configure the connection to Fermentrack. Select this option in the menu, and follow the prompts.
NOTE - You can change connection options at any time, including changing the host/port of a custom host, switching from Fermentrack.net to a local/custom host, or from a local/custom host to Fermentrack.net.
Configure Devices for Fermentrack
Once your connection to Fermentrack is configured, you're ready to connect your Serial-based BrewPis. Connect your BrewPis to your computer (Raspberry Pi) and choose "Configure Devices".
You will be presented with a list of available devices - select the one that you want to configure. The tool will attempt to connect to the device and verify that it is a BrewPi, and will then prompt you for a name to register with Fermentrack. Choose one, and your device will be registered.
NOTE - Serial-to-Fermentrack uses the physical USB port a device is connected to in order to identify it. Make sure that you label your devices appropriately, and - especially if using multiple controllers - do not plug them into the wrong physical port.
Using Serial-to-Fermentrack
If you chose for Serial-to-Fermentrack to run at startup during installation, at this point you should be done! The daemon will detect the configuration files and will automatically connect your controller to Fermentrack.
Upgrading & Uninstalling
The Fermentrack 2 tools scripts include scripts for upgrading and uninstalling Serial-to-Fermentrack. To upgrade, simply run ./upgrade.sh
and to uninstall run ./uninstall.sh
from within the ft2_tools
directory, and follow the prompts.
Note - The uninstall script will not remove any system packages installed via apt
(including python3, git, and avrdude) as these may be needed for other, non-Fermentrack-related apps.
Debugging Serial-to-Fermentrack
If you are having issues with Serial-to-Fermentrack, the best place to start is in the ft2_tools/logs
directory. There are several log files to be aware of:
serial_to_fermentrack_error.log
- Contains most messages related to the F2S daemon (most of which are not errors, despite the name of the file)serial_to_fermentrack_stdout.log
- Contains some messages related to the F2S daemon- Device specific logs, e.g.
3-2:1.0.log
- Contains device-specific messages for a specific, individual controller
Questions? Requests? Comments?
The best place to ask questions or place requests for Serial-to-Fermentrack is on GitHub. Alternatively I can be reached via any of the typical methods.
With all the above said - that’s it! If you’ve followed the steps above, you should now have a fully functional Serial-to-Fermentrack bridge linking your legacy BrewPi controller to Fermentrack 2. Thanks for giving Serial-to-Fermentrack a spin.
Happy brewing!