iSpindle Documentation

DIY electronic Hydrometer

Download .zip Download .tar.gz

iSpindle Documentation

Translation is work in progress, feel free to contribute! This translation might be out of sync with the original german one, please double check

iSpindle (iSpindel) Documentation

DIY electronic Hydrometer Please consider supporting this project


iSpindle in clean water Dashboard

Table of Contents


All rights reserverd, any commercial use is hereby prohibited and will violate applicable patents.


Powered by the thread Alternative to the Spindle, the idea was born to reproduce the commercially available electronic tilting spindle using low-cost components.

The system is based around the use of a heeling (or tilting) cylinder, an ingenious and easy concept - you do not need any external reference (except for gravity) and the cylinder is extremely easy to keep clean. The inclination angle changes in relation to the buoyancy and thus directly in relation to the sugar content. There is an angle formed between the center of mass and the center of bouyancy depending on the density of the fluid.


Therefore the idea is to place a Wifi-enable IoT device with an accelerometer and temperature sensor in a floating cylinder. The system will measure the sensors and every x-minutes it will connect to the Wifi and sends its tilt angle, temperature and battery voltage to a cloud service like to store the data.

With an update interval of 30min it was possible to achive a battery lifetime of almost 3 months!

Metacentric Height

Actually, this is the “metacentre”, the cylinder will tilt as the liquid density changes in relation to its center of mass and center of bouyancy. The angle of tilt can then be measured.

It is possible to trim the cylinder by adding a few grams on the bottom so that the cylinder is more upright, or on the lid, so that it is more tilted.

The software calculates the Euler angle for X and Y from the XYZ acceleration values and forms the absolute angle. We compute these with the calibrated parameters to ° Plato, SG or similar by correlating to measured references.


see Parts

see Sourcing

see Circuit Diagram

see iSpindel Breadboard Mounting


  • A 3D Printed drawer is used to secure the electronics and battery inside the plastic housing as shown below. The 3D model can be found in the repository. Sled Assembled Assembled




  • To start, you must create a free account at
  • Next, you must go to the menu API Credentials to get a Token to be used by the iSpindle to authorize writing data to the Ubidots account. Write this down.


By pressing the Reset Button the Wemos creates an access point, which allows you to make the necessary settings to configure the device. **In operation mode this portal is not active or accessible because the principle of this design is based on shorted possible acitve time. Basically it will wake up, send its data and deep sleep again. This takes now less than 3s which is directly related to its long life run time.

The iSpindel signals the config mode by blinking the LED at a 1s interval.
By saving your settings or waiting timeout of 5min it will end the Portal thus AccessPoint and try to go into operation mode.




In Ubidots you can monitor the update of data unders Sources where the iSpindel will create a new device itself.
In the Dashboard now you can create your nice graphs.


Cloning the Example

  • For this example you will need 1800 (4x200 + 100 + 900) energy points, which allows to use the free version;
  • Download Blynk App: Android iOS
  • Touch the QR-code icon and point the camera to the code below

  • Enjoy the app!

Using your own App

  • If you want to use your own App or modify the example the Virtual Pins are defined as follows:
    1. V20 - Temperature withouth unit;
    2. V30 - Battery without unit;
    3. V1 - String Tilt in degress;
    4. V2 - String Temperature degress C or F or K;
    5. V3 - String Battery Volts;
    6. V4 - Gravity;

Graphical User Interface


In order to convert the measured iSpindle angle to degrees Plato (°Plato), density (SG), or other units, it is necessary to first calibrate the sensor by making several reference measurements of sugar water of known gravities. These reference measurements can then be converted to a mathematical function which is stored for later measurements and display. Since each self-assembled iSpindle will have different measured values, each device must be individually calibrated after assembly or reassembly to yield accurate measurements. A detailed procedure is below.

Calibration Procedure

Ubidots Graphen


CraftBeerPi ***


Firmware flashing

Firmware flashing

if you like it, let me know :beers: