WiFi Devices & Fermentation Hydrometers

Last updated March 22, 2026


WiFi and Bluetooth devices connect to LoopString through your Raspberry Pi gateway. Unlike wired sensors that plug directly into Pi GPIO or I2C, wireless devices communicate over your local network (WiFi/MQTT) or Bluetooth Low Energy (BLE). The Pi receives their data and publishes it to the same RTDB paths as any other sensor, so the dashboard, alerts, and analytics work identically.

This page covers three wireless parts available in the Configurator:

  • iSpindel Hydrometer (MQTT) — A DIY wireless fermentation hydrometer that measures specific gravity, temperature, tilt angle, and battery voltage over WiFi/MQTT. Computes ABV% from gravity readings.
  • Tilt Hydrometer (BLE) — A commercial Bluetooth Low Energy hydrometer for real-time gravity and temperature monitoring during fermentation.
  • D1 Mini WiFi Sensor — A generic ESP8266/ESP32 microcontroller bridge for custom WiFi sensors publishing over MQTT.

iSpindel Hydrometer (MQTT)

The iSpindel is an open-source wireless hydrometer that floats inside your fermenter. It measures the tilt angle of the device (which correlates to specific gravity), temperature, and battery voltage. Data is sent over WiFi to an MQTT broker running on your Pi.

Signals

The iSpindel part outputs five signals:

Signal

Type

Unit

Description

Gravity

number

SG / Plato / Brix

Specific gravity (configurable unit)

Temperature

value-unit

°C

Wort/beer temperature

Tilt Angle

number

°

Inclination angle (correlates to gravity)

Battery

number

V

Battery voltage

ABV%

number

%

Computed from OG − current gravity

Configuration

MQTT Topic — The topic your iSpindel publishes to. Default pattern: ispindel/{device-name}/tilt. Configure this to match your iSpindel's MQTT settings.

Original Gravity (OG) — The starting gravity of your batch. Required for ABV% calculation. Enter this when you pitch yeast.

Gravity Units — Select between Specific Gravity (SG), Plato, or Brix. The dashboard converts between units based on your preference. Internally, all calculations use SG.

Calibration Polynomial — The iSpindel uses a polynomial to convert tilt angle to gravity. Enter the coefficients from your iSpindel's calibration spreadsheet. The default polynomial works for most builds but custom calibration improves accuracy.

Setup Steps

  1. Configure your iSpindel to publish to the Mosquitto MQTT broker on your Pi (typically mqtt://<pi-ip>:1883).
  2. In the Configurator, add an iSpindel Hydrometer part to your fermentation room.
  3. Set the MQTT topic to match your iSpindel's configured topic.
  4. Enter your Original Gravity before starting fermentation.
  5. Deploy the flow.

The iSpindel typically sends data every 15–30 minutes to conserve battery. Readings appear on the dashboard as they arrive.

Unit Conversion

The dashboard supports three gravity unit systems:

  • Specific Gravity (SG) — e.g., 1.050. The international standard. Default.
  • Degrees Plato (°P) — e.g., 12.4. Common in European brewing.
  • Degrees Brix (°Bx) — e.g., 12.4. Common in winemaking. Equivalent to Plato for wort.

Set your preferred unit in your user preferences (Settings → Units). The conversion is display-side only — raw RTDB data is always stored in SG.


Tilt Hydrometer (BLE)

Experimental — Bluetooth Low Energy support on Raspberry Pi varies by model and OS version. This part works but may require troubleshooting BLE stack issues.

The Tilt is a commercial floating hydrometer that broadcasts gravity and temperature readings over Bluetooth Low Energy. The Pi receives broadcasts using the node-red-contrib-tilt-hydrometer package.

Signals

Signal

Type

Unit

Description

Specific Gravity

number

SG

Gravity reading via BLE broadcast

Temperature

value-unit

°F

Temperature from on-board sensor

Configuration

Tilt Color — Tilt hydrometers come in different colors. Select yours so the node filters for the correct BLE advertisement. Options: Red, Green, Black, Purple, Orange, Blue, Yellow, Pink.

Scan Interval — How often to scan for BLE advertisements. Default is 10 seconds.

Requirements

  • Raspberry Pi with Bluetooth (Pi 3B+, Pi 4, Pi 5, Pi Zero 2W).
  • node-red-contrib-tilt-hydrometer package (installed automatically during deploy).
  • The Pi must be within BLE range of the Tilt (∼10 meters line-of-sight).

Troubleshooting

No readings appearing — BLE may not be enabled. SSH into the Pi and run hciconfig to check if the Bluetooth adapter is up. Run sudo hciconfig hci0 up if it is down.

Intermittent readings — BLE range is limited. Move the Pi closer to the fermenter or use a USB BLE adapter with a better antenna.


D1 Mini WiFi Sensor

A generic WiFi sensor bridge for ESP8266 or ESP32 microcontrollers (Wemos D1 Mini, NodeMCU, ESP32 DevKit). The microcontroller reads a sensor and publishes the value to MQTT on your Pi's broker. The Configurator part subscribes to the topic and brings the reading into the LoopString pipeline.

When to Use

  • You have an existing Arduino/ESP project reading a sensor that LoopString does not have a native part for.
  • You need a remote sensor in a location where running wires to the Pi is impractical.
  • You want to prototype a custom sensor before building a full LoopString part definition.

Configuration

MQTT Topic — The topic your ESP device publishes to.

Payload Format — Raw numeric value or JSON. If JSON, specify the key path to extract the reading (e.g., temperature or data.value).

Signal Type — What the sensor measures (temperature, humidity, pressure, etc.). This determines the dashboard display widget and unit conversion.

Setup

  1. Program your ESP to connect to your Pi's WiFi network and publish readings to the Mosquitto MQTT broker.
  2. In the Configurator, add a D1 Mini WiFi Sensor part.
  3. Configure the MQTT topic and payload format.
  4. Deploy.

The MQTT broker on your Pi is installed automatically during Pi provisioning if you have any MQTT parts in your configuration.


Use Cases

Homebrewing Fermentation Monitoring

Track an IPA fermentation from grain to glass. An iSpindel floats in the fermenter, reporting gravity and temperature every 20 minutes. The dashboard shows a fermentation curve (gravity over time) and computes ABV% in real-time. Set an alert threshold at FG 1.012 to know when fermentation is complete.

Wine Cellar Temperature

An ESP32 with a DS18B20 sensor sits in a wine cellar 50 meters from the Pi. The ESP publishes temperature over WiFi/MQTT every 60 seconds. The D1 Mini part brings the reading into LoopString where it feeds a hysteresis controller driving a cellar cooler.

Multi-Fermenter Brewery

Three fermenters each have an iSpindel. Each publishes to a unique MQTT topic (ispindel/fv1/tilt, ispindel/fv2/tilt, ispindel/fv3/tilt). Three iSpindel parts in the Configurator, one per room (FV1, FV2, FV3), each subscribed to its respective topic. The fleet dashboard shows all three fermentations at a glance.


Troubleshooting

MQTT sensor data not appearing on the dashboard

Verify the MQTT broker is running: sudo systemctl status mosquitto on the Pi. Then verify the device is publishing: mosquitto_sub -t '#' -v to see all incoming messages. If messages arrive but the dashboard shows nothing, check that the MQTT topic in the Configurator matches exactly (topics are case-sensitive).

iSpindel battery drains quickly

Reduce the iSpindel's reporting interval. Every 30 minutes is sufficient for most fermentations. The iSpindel's own configuration portal (accessed via its WiFi AP) controls the send interval.


For liquid sensors connected via I2C or serial (Atlas Scientific pH, EC, DO), see Liquid & Chemical Sensors.

For MQTT protocol configuration details, see Protocol Bridges.

wifimqttfermentationispindelhydrometerbluetoothesp32