Repository navigation
iSpindels
The iSpindels tab manages iSpindel hydrometers that post readings over WiFi to the controller. Unlike Tilts, iSpindels are not detected via BLE — they push HTTP JSON to OurBrewbot whenever they wake up to take a reading.
The device exposes a POST /iSpindel endpoint. Point your iSpindel firmware at http://<controller>/iSpindel as its "Generic HTTP" target, and the next reading auto-registers a slot. From then on the iSpindel is identified by the ID field in its payload.
The tab shows one card per iSpindel slot. Slots are filled in the order new iSpindels first reported in. If no iSpindels have ever posted, the tab shows "No iSpindel slots configured."
A slot card header shows:
- The slot index (0, 1, …)
- The iSpindel's reported name (e.g. iSpindel_42AB) once registered
- An Active badge when the slot has live data
Configured slots display a live-readings line with whatever fields were in the last received payload:
- SG — last raw specific gravity
- Temp — last reported temperature (with calibration offset applied)
- Angle — tilt angle (degrees) — useful for diagnosing calibration drift
- Batt — battery voltage in volts
- RSSI — WiFi signal strength of the iSpindel itself
If the iSpindel firmware also reports polynomial-corrected values (eg, from Gravitymon), a second line shows:
- Corr.SG — corrected gravity (after the iSpindel's onboard polynomial)
- Velocity — gravity change rate
- Cycle — wake-to-sleep cycle time (seconds)
-
Unit — gravity unit string from the device (typically
SGorPlato)
The footer shows Last seen: N min ago — or "Never" if the slot has never reported.
The slot's Device ID (also shown) is the unique identifier the iSpindel sends in every payload; this is what binds the slot to a specific physical device.
| Field | Description |
|---|---|
| Fermenter | Which fermenter (0 – 3, or None) this iSpindel is assigned to. The iSpindel's gravity becomes that fermenter's SG. |
| Unit | How to interpret incoming gravity readings — SG or Plato. Match the iSpindel firmware's configured unit. |
| Temperature reading | Whether to use the iSpindel's onboard temperature as the Beer temperature for the assigned fermenter, or Not used. |
| SG Adjust | Per-iSpindel gravity offset, applied on top of any polynomial the iSpindel firmware applies. |
| Temp Adjust | Per-iSpindel temperature offset (°C). |
| Save | Commits the slot's settings. |
| Clear | Resets the slot to unconfigured. Use this to remove a retired or replaced iSpindel. |
- The iSpindel's gravity feeds the assigned fermenter's SG, which is what gravity-based profile steps (3, 4, 6, 7, 8, 9) compare against.
- If Temperature reading = Beer, the iSpindel's temperature overrides the DS18B20 Beer probe for that fermenter. Useful if the iSpindel sits in the wort and is more representative than a side-mounted probe.
-
In the iSpindel firmware, set the target to Generic HTTP (sometimes called HTTP POST). Host = the controller IP or mDNS name, Port =
80, URL path =/iSpindel. Use SG or Plato as appropriate. - Wake the iSpindel so it sends a reading. The controller auto-registers a slot.
- Open the iSpindels tab and configure the new slot: pick a Fermenter, set Unit, and pick whether to use the iSpindel's temperature as Beer.
- Calibrate if necessary using SG Adjust / Temp Adjust.
- Wake interval affects responsiveness. iSpindels typically sleep between readings. Gravity-step triggers will only fire when a reading is posted, so set the wake interval reasonably — every 15 min is a common balance between battery and reactivity.
- Battery health — Batt voltage well below ~3.6 V suggests a fading lithium cell. Replace before it stops reporting mid-batch.
- Polynomial calibration is best done in the iSpindel firmware (it's a polynomial vs. tilt-angle fit). Use SG Adjust here only for fine offset trimming.
-
Replaced an iSpindel? Use Clear on the old slot so its retained data doesn't confuse you, then point the replacement at the same
/iSpindelendpoint to register fresh.