The iBLOPPER is very easy to use after it have been build.

- Attach iBLOPPER till your S-airlock by rubber bands.
- Enter Brewname, OG, Brewsize at iBLOPPER Access Point.
- Decide on Start-out polynomial (see below, “Best settings for S-airlock”).
- Ensure the fermenter and iBLOPPER cables is isolated from vibrations.
- Use a S-airlock with cap on (evaporation) + a tiny drilled hole at top (pressure equalization). Use 5ml water in it.
- Follow the Blop pr. min (BPM) in either Brewfather or Ubidots STEM.
- During 33-66% into fermentation (preferably when high kreuzen has just passed), take one hydrometer reading. Calculate the speed of fermentation (polynomial) for this brew by simple math’s, e.g. “Reduction in gravity”
^{1}divided by “Sum BPM/L”, and then once update the iBLOPPER with this new polynomial. **That its. Hence, this way you can foresee the final SG by an error of mean of 3-5 points.**

**Hydrometer reading of OG and “one hydrometer reading” must be precise. This give you full insight in the fermentation, by activity, temperature, and how far it have come through indicative SG estimate. All by not adding anything into the wort.**

(^{1} Reduction in gravity, rG = OG – SG)

# Full Introduction

The iBLOPPER is an Arduino device (ESP8266) and sold accordingly as a Arduino-kit. It monitor your yeast activity by motioning the CO2 blops pr. minute (BPM). Besides BPM, also “Sum BPM/L” and temperature is logged. Based on Sum BPM/L indicative gravity estimate is give by polynomial/modelistic approach.

It works by placing iBLOPPER on the outside of the airlock, and iBLOPPER then detects the tiny movement the airlock makes at the release of a bubble. Hence, it need placed away from vibrations sources (flamingo mat in cooler or similarly).

The software can though the “Sum BPM/L” be used to give an indicative SG/rG (reduction in gravity) by polynomial approach. To ensure a reliable SG estimation and to account for the many factors affecting CO2 release the users needs to conduct “one hydrometer reading” when preferably high kreuzen has just passed and hence re-calculating and updating the polynomial for the current brew by very simple maths (e.g. “reduction in gravity” divided by “Sum BPM/L”, for instance 14/1700 => Y=0.0082x). For more details see below!

**This approach allows all fermenters and S-airlocks to be used with iBLOPPER, but the user should strive towards fermenters with high airtightness for best results. This approach should works for other types of airlocks, but currently not tested in full (help appreciated).**

Hence, the idea of iBLOPPER is by simply adding one more hydrometer reading on top of the OG, and the 2 FG measurement we all recommend, this 4th sampling at preferably high kreuzen can tell us something about the speed of fermentation, thus, giving us an indicative estimate of the SG.

All data can be send til Ubidots STEM and Brewfather, as below image shows:

## Initial setup/operate

The iBLOPPER got a captive portal mode (Wifi Access Point mode) and hence you log on just as it was a Wifi access point. If the login page do not automatically come up, go to: **192.168.4.**

It will for 120 seconds go into this “Captive Portal” at power on (or after any failures as lost connection or lost power) where all setting can be done, e.g Brew Name, SSID+Password, Brew Size, Original Gravity, Polynomial, License, Location and setting URL of either Brewfather URL/Ubidots STEM Token. It light Blue for 120 sec when in portal mode/access point mode. **Please notice any changes in portal must always be followed by setting SSID and Password**, each and every time any changes is done.

Likewise it light blue when sending/treating data for 1-2 seconds. Samwise a short blue blink is seen when it detect a bubble.

Hence,

- Connect till the “iBLOPPER CONNECT” SoftAP though either you mobile phone or laptop by Wifi. After connect till access point the Bubble-logger url for the configuration page is: 192.168.4.1
- Set the various parameters accordingly (
**Currently, you need to set SSID+Password every time you enter “Captive Portal” mode, so you need to set SSID+password even you just changed one parameter**). - If you later on wish to change for instance polynominal, pull power for 2 sec, and go into portal mode again and make the change (remember to set SSID+password again too).

Secondly, the iBLOPPER also got a web server you can follow all data on during brewing, to access webserver you need to find the IP and best way currently is to look in the IP routing table or some Network sniffer program as “Advance IP Scanner” (https://www.advanced-ip-scanner.com). The Web server is on: 192.168.1.xxx.

We strongly propose you get a Ubidots STEM account and hence insert the TOKEN, and for Brewfather you need to enable “Custom Stream” and inset this associated URL into Bubble-logger.

Some other considerations:

- The SSID and password always needs to be set even just changing a parameter.
- Sometime after hitting “Save” iBLOPPER need a second re-run of portal (120 sec blue light) to get the internet established.
- Best behaviour for portal mode is seen with iOS browser/phones.

### Best settings for S-airlock ( + Airtight fermenters)

The iBLOPPER needs a baseline or “start-out” polynomial for the **S-airlock** and also a few other setting/considerations need to be done.

- Start-out Polynomial for
**airtight**fermenters (there’s a tendency higher headspace give higher polynomial) :- 0.0060*sum if headspace below 0-17% (Not recommend, likely to give blow-out).
**0.0075*sum if headspace 18-30%**(generally the most suited range).

- 0.0090*sum if headspace above 30%
- Or use:
**headspace% * 0.00027824x**(eg. 50 * 0.00027824x = 0.0139x => Polynomial = 0.0139*sum).

- 5 ml water in airlock
- Tiny hole in top of airlock to equalize pressure
- Cap/”hat” on to lower evaporation
- Sensitivity: 4

If using **none-airtight fermenters (buckets)** the polynomial will be different (way higher as you loose CO2), and as such needs further considerations. The “one hydrometer reading” will tell you the speed of fermentation, but the difference between start-out polynomial and your final polynomial will be more pronounced.

Please also notice, the polynomials above was created by the “tiny” hole and cap on S-airlocks, and even you can use the iBLOPPER without and get good results by the “One hydrometer reading” approach, then above Start-out polynomials will differ then.

### Other Airlocks?

I have not in full tested other than S-airlocks. The 3-4 test brew I done with other types of airlocks indicate this works well with other airlocks, but for instance Speidels airlock would need a bit of weight to give a stable bubbling-rate (vibrations). Hence, other airlocks than S-airlocks might need a adventures approach from the user.

### What data is send?

The following data is send till Ubidtos STEM and Brewfather:

- “Blop pr. min” is send as: BPM
- “Sum BPM/L” is send till Ubidots (only till Brewfather as a “comment”).
- “Gravity” is send as: Gravity (G)
- “Temperature” is send as: Temperature (C)

(Please notice I do not and do not intend to support other than metric numbers. 3rd worlds countries has to add up and follow the scientific rules.)

## Opperation during brewing = getting precise SG

During the brewing you will need to take one hydrometer sampling at preferably 33-66% into the fermentation (high kreuzen) and calculate the 1st degree polynomial or “speed of fermentation” for this brew. **We call this “One Hydrometer Reading” approach**. As the release of C02 is ensured linear by the iBLOPPER software (see more below under “Deep drive into data”), the math is very simple. Just take the rG (reduction in gravity) and divide by “sum BPM/L”. In the below case we had OG of 1056 and after “1025 Sum BPM/L” the rG was 14 measured by hydrometer, thus, 14/1025 => Polynomial=0.01366*sum.

After you made this simple calculation **you might need** (but not always if difference is small compared till the existing polynomial) to update iBLOPPER with the new polynomial and hence now the SG prediction follows the current brew (orange line below) and hence include this brew equipment, airtightness, yeast, wort, pressure, temperature and all other factors impacting CO2 release. Therefore, you will see a change based on this “one hydrometer reading” adjustment. **It should be noted this approach put much faith into precise hydrometer measurements and hence a keen eye and good technic in the field of hydrometer sampling is needed. An misread off 2-4-6 at “one hydrometer reading” sampling point can fastly be 5-10-15 SG units in the end if a high-voluminous beers is in the making. **

### Important “take on messages” for estrimating SG

- Sensor should be calibrated till “hear and see” matching count, e.g. adjust sensitivity in portal mode if needed (4 should be fine though). The “one hydrometer reading” approach somehow will solve any calibration errors, but if you wish to have a “true” and quantitative picture of BPM the calibration should be considered.
- 5 ml water in S-Airlock to get best blop/vibration.
- Use a fermenter there is airtight. Be a “
**Leak Hunter**”! - Take notice of your
**amounts in Liters**and set this in iBLOPPER setup.**Same for OG.** - Take “one hydrometer reading” during brewing and recalculate the polynomial for this brew and adjust in portal mode accordingly.
**PLEASE NOTICE, this “one hydrometer reading” need to be precise, hence, double check it and read up onpon how to take hydrometer readings.**- Make use of slow and controlled fermentation and/or good headspace between 15-30%.
- Or, use a closed airtight blow-out system.
- Steady WiFi is needed for the logger to obtain data it needs for calculation (e.g. surrounding pressure).
I use flemingo in my cooler to isolate the vibrations. Also the cord must be isolated from any vibration especially when using a cooler.*LIMITATION: iBLOPPER works by detecting vibration at the release of a bubble, hence, you will need to isolate the fermenter from vibrations and hence best to place fermenters away from washing machine, etc.*

## How to build

To build an iBLOPPER one need very basical skills in soldering, and even if you have not prior done any soldering we do beleive every one can do this build. Below you find the instructions ande the components needed:

- 1x NodeMCU modded
^{(1)} - 1x Box
- 1x DS18b20 probe, 1 meter, + resistor, where resistor needs to go from D4 till VCC. The signal cord (yellow) from temperature probe go also till D4, and power (red) till VCC. GRD (black) goes till GRD
- 1x MPU6050 where VCC till 3V3, GRD till GRD, SCL=D5, SDA=D6 is connected accordingly till NodeMCU
- 1x Ballon (12cm version)

(1) We modd the NodeMCU by removing legs for the MPU6050 placement, and bent the temperature legs, to indicate where to solder the various components.

### Uploading software incase you source components yourself and only buy “license”

If you choose to source components yourself or wish to re-install and hence hence needs to upload the software, please see this page “Installing/Burn/Update iblopper“

## Estimate of “reduction in gravity” (rG) or SG prediction

The software can be used to give an indicative rG (reduction in gravity) or SG estimate base on one hydrometer measurement is taken during brewing at preferable when high kreuzen has passed.

What we measure is as said the Blops pr. Min coming when CO2 is released by vibration detection, e.g. BPM, and if we look at the chemistry behind the metabolisms of fermentation of sugar by yeast cells, we see one part Alcohol generate two part CO2. Hence, CO2 is a direct measurement of the alcohol production. This should be a linear function, and the key issue is to measurement this gas accurate and precise. Hence, sealed air tight tanks is a good start.

```
C6H12O6 ====> 2(CH3CH2OH) + 2(CO2) (+Energy)
Sugar ====> Alcohol + Carbon dioxide gas (+Energy)
```

Hence, by knowing the BPM and brew size (L) and other involving constants we can plot a curve of Sum BLOPS/L vs. the reduction in Gravity and generate a model and polynomial for the alcohol production based on our initial measurement of Blops pr. Min (BPM), se more below.

### Factors impacting on SG estrimation

There is a long list of factors affecting the SG estrimation, as shown by following figure:

**Picture showing all the considerations for trying making SG****estimation from CO2.**The Atmospheric pressure and temperature in particular impacts on the bubbling rate, hence, the iBLOPPER software contains complex build in models to account for change of pressure and temperature and reports the adjusted “Sum BLOPS**(pt)**/L” ensuring the “Sum BPM/L” becomes a linear function. Besides the climatic factors, then also the headspace and especially the “hat/cap” on/off and tightness/resistance of “hat” do give big variation in bubble-rate. The amount of water in S-airlock alos impact on bubbling rate. More unknown is the various yeasts and wort-possibilites, but these are assumed to be less impacting.

*Therefore, to ensure a good user experience, the user needs to make the "one hydrometer reading" during brewing as this more or less balance most of above factors out if this sample/measurement is conducted precise and trustworthy.*

### Approaches for estimating SG

There is as such 2 ways or approaches for estimating SG from C02:

**“Same procedure/Same equipment from brew till brew”,** if using same equipment and same procedure from brew till brew only climatic and physical factors is left to impacting, and as such this procedure can be used with the same developed polynomial for brew till brew. But it is a tedious approach, and just a slight error in airtightness, or different airlock, cap resistance (on/off/loose), headspace, water amount, etc. can offset this polynomial for the equipment. But this is still the approach to find the range of a future-wise usable polynomial (baseline) for a given airlock.

**“One hydrometer reading”,** as said before this is what we propose is best suited to remove a lot of unknowns. simply to take one hydrometer reading during the initial brewing, best at preferably 33-66% (when high kreuzen just passed) into the fermentation and hence update the polynomial for each brew. If using a S-airlock and the earlier stated polynomial you would expect the fololwing sum blop before taking a sample:

- 0-17% headspace (Polynomial of 0.0060X) have at least
**2500-3500**“SUM BPM/L” - 17-30% headpace (Polynomial of 0.0075x) have around
**1700-2500**“SUM BPM/L” - 30% and above headspace (Polynomial of 0.0090x) at least
**1000-1700**“SUM BPM/L”

The above can somehow also be extracted from above graph of all the data.

**Deep diving into the data**

Below you find links till the data behind this project for S-airlock with 4-5ml water and with a tiny equalization hole in S-airlock + the cap on to lower evaporation. It is based on various sensors, e.g. sound, infrared and MPU6050, and various S-airlocks, but the volume in S-airlock have been between 4-5ml.

*All the data behind iBLOPPER as of early 2021.***Deep diving further into the data for S-airlock**, you will notice the “One hydrometer reading” approach during the main fermentation at preferably around 33-66% complete, e.g. high kreuzen, we get a error of mean of 3.3 SG units.

### All the data for S-airlock

Below you find all the data during the last years. If using the “one hydrometer reading” preferably at 33-66% (e.g. high kreuzen has just passed) into the fermentation an error of mean around 3.3 SG units is justified.

All data is done with S-airlock (assuming 4-5 different types used during the testning, but all mat/soft plastic), 4-5 ml water in airlock, and the data is a mix of sensors, e.g. sound, infrared and MPU6050. For S-airlock a tiny hole in top of airlock have been drilled to equalize pressure, secondly, the “hat” was on to lower evaporation. I do compare the dataset with a Baseline/”Normal Brew” by headspace of around 25%, e.g. function of Y=0.0074*x. This is to show unless one keeps all parameters the same, the use of a single polynomial from brew till brew cannot be used as such.

### Brew 33 “DD Citra IPA – check of very high headspace of 52%”

MPU6050 sensor. *OG=1058, FG=1014, 16.5L* (32L Plastic Barrel).

Link till Brewfather: https://share.brewfather.app/TFc2jJNWAKxzaR

Link till “One Hydrometer Reading” approach picture: DD-Citra-IPA-1.png

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

? | 20 | 0 | 0 | 1058 | 0 | ||||

? | 22 | 457 | 6 | 1052 | 3 | ||||

? | 24 | 2015 | 32 | 1026 | 15 | y=0.0159x | 32 | ||

? | 20 | 2742 | 44 | 1014 | 20 | 44 | |||

24 | 0 |

The graph of the data for rG and Sum BPM/L:

### Brew 32 “A Citra Wit – check of very high headspace of 55%”

MPU6050 sensor. *OG=1053, FG=1016, 14.5L* (32L Metal Tank).

Link till Brewfather: https://share.brewfather.app/TFc2jJNWAKxzaR

Link till “One Hydrometer Reading” approach picture: citra_wheat_final_SG.png

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

? | 18 | 0 | 0 | 1053 | 0 | ||||

? | 22 | 1445 | 29 | 1024 | 15 | Y=0.00200x | 29 | ||

? | 20 | 1885 | 37 | 1016 | 29 | 38 | |||

? | 20 | 1925 | 37 | 1016 | 32 | 39 | |||

23 | 2 |

The graph of the data for rG and Sum BPM/L:

### Brew 31 “Sugarwort 4 – check of very high headspace of 50%”

MPU6050 sensor. *OG=1054, FG=999, 6.5L* (13L Plastic Speidel Tank used).

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

? | 19 | 0 | 0 | 1054 | 0 | ||||

? | 19 | 2041 | 27 | 1027 | 15 | Y=0.01326x | 27 | ||

? | 20 | 3893 | 49 | 1005 | 29 | 52 | |||

? | 21 | 4336 | 55 | 999 | 32 | 58 | |||

23 | 3 |

The graph of the data for rG and Sum BPM/L:

### Brew 30: “Amber Lager”

MPU6050 sensor. *OG=1054, FG=1005, 11.8L* (13L Plastic Speidel Tank used). Check of rather low headspace.

Link till Brewfather: https://share.brewfather.app/5QUXPtznizh5oL

Link till Ubidots, “One Hydrometer Reading” aaproach: https://iblopper.bubble-logger.com/wp-content/uploads/2021/03/image-5.png

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

? | 11 | 0 | 0 | 1054 | 0 | ||||

11 | 1315 | 4 | 1050 | 10 | |||||

11 | 5400 | 21 | 1033 | 40 | Y=0.0039 | 21 | |||

11 | 11573 | 41 | 1013 | 86 | 45 | ||||

19 | 12600 | 45 | 1009 | 93 | 49 | ||||

20 | 13650 | 49 | 1005 | 101 | 53 | ||||

20 | 13746 | 49 | 1005 | 102 | 54 | ||||

53 | 5 |

The graph of the data for rG and Sum BPM/L:

### Brew 29: “IPL”

MPU6050 sensor. *OG=1042, FG=1006, 10L* (13L Plastic Speidel Tank used).

Link till Brewfather: https://share.brewfather.app/aBTQ6HmwLUnBLY

Link til Ubidots, One Hydrometer approach: https://iblopper.bubble-logger.com/wp-content/uploads/2021/02/IPL_.png

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

? | 10 | 0 | 0 | 1042 | 0 | ||||

? | 16 | 545 | 3 | 1039 | 4 | ||||

? | 21 | 4128 | 25 | 1017 | 31 | Y=0.0061x | 25 | ||

? | 20 | 6749 | 36 | 1006 | 50 | 41 | |||

14 | 5 |

The graph of the data for rG and Sum BPM/L:

**Brew 28:** “NEIPA_Jan2021”

MPU6050 sensor. *OG=1056, FG=1010, 21.8L* (30L barrel used).

Link till Brewfather: https://share.brewfather.app/dKQ4cD45E01YeR

Link til Ubidots, One Hydrometer approach: https://iblopper.bubble-logger.com/wp-content/uploads/2021/02/image-45.png

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

1002 | 23 | 0 | 0 | 1056 | 0 | ||||

1002 | 23 | 1035 | 14 | 1042 | 8 | Y=0.0135x | 14 | ||

1002 | 24 | 1327 | 18 | 1038 | 10 | 18 | |||

1004 | 25 | 2263 | 30 | 1026 | 17 | 31 | |||

1004 | 23 | 3055 | 40 | 1016 | 23 | 42 | |||

1002 | 22 | 3591 | 44 | 1012 | 27 | 49 | |||

1003 | 22 | 3661 | 46 | 1010 | 27 | 49 | |||

16 | 3 |

The graph of the data for rG and Sum BPM/L:

**Brew 27:** “RockKilde Pilsner”

MPU6050 sensor. *OG=1044, FG=1006 21.3L Mangrove Jack steel tank*.

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

985 | 10.5 | 0 | 0 | 1044 | 0 | ||||

995 | 10.5 | 225 | 2 | 1042 | 2 | ||||

995 | 10.5 | 462 | 5 | 1039 | 3 | ||||

1006 | 10.5 | 3231 | 31 | 1013 | 24 | Y=0,0096x | 31 | ||

1003 | 18 | 3600 | 35 | 1009 | 27 | ||||

1000 | 21 | 3730 | 36 | 1008 | 28 | ||||

1000 | 21 | 3854 | 38 | 1006 | 29 | ||||

1014 | 21 | 3975 | 38 | 1006 | 29 | 38 | |||

9 | 0 |

The graph of the data for rG and Sum BPM/L:

### Brew 26: “Sugarwort3”

MPU6050 sensor. *OG=1045, FG=1016. 23L* in 30L Plastic barrel.

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

1026 | 22.5 | 0 | 0 | 1045 | 0 | ||||

1026 | 22.5 | 879 | 5 | 1040 | 7 | ||||

1024 | 22.5 | 1467 | 11 | 1034 | 11 | Y=0.0075x | 11 | ||

1023 | 22.5 | 1623 | 12 | 1033 | 12 | 12 | |||

1018 | 21.5 | 2156 | 16 | 1029 | 16 | 16 | |||

1020 | 21.5 | 2596 | 21 | 1024 | 19 | 20 | |||

1019 | 21.5 | 2879 | 23 | 1022 | 21 | 22 | |||

1015 | 21.5 | 3253 | 26 | 1019 | 24 | 24 | |||

1007 | 21.5 | 3494 | 29 | 1016 | 26 | 26 | |||

3 | 3 |

The graph of the data for rG and Sum BPM/L:

### Brew 25: “Sugarwort 2”

MPU6050 sensor. *OG=1030, FG=1004. 10.2L* in 11L Plastic Speidel Tank.

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

998 | 22 | 0 | 0 | 1030 | 0 | ||||

998 | 22 | 852 | 6 | 1024 | 6 | ||||

998 | 22 | 1972 | 14 | 1016 | 15 | Y=0.0071x | 14 | ||

998 | 22 | 2707 | 20 | 1010 | 20 | 19 | |||

998 | 22 | 3271 | 24 | 1006 | 24 | 23 | |||

998 | 22 | 3360 | 25 | 1005 | 25 | 24 | |||

1014 | 22 | 3502 | 26 | 1004 | 26 | 25 | |||

0 | 1 |

The graph of the data for rG and Sum BPM/L:

### Brew 24: “Sugarwort1”

MPU6050 sensor. *OG=1030, FG=1004. 10.1L* in 11L Plastic Speidel Tank.

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

1023 | 22 | 0 | 0 | 1040 | 0 | ||||

1023 | 22 | 987 | 8 | 1032 | 7 | ||||

1023 | 22 | 1973 | 14 | 1026 | 15 | Y=0.0071x | 14 | ||

1023 | 22 | 2758 | 20 | 1020 | 20 | 20 | |||

1018 | 22 | 4092 | 29 | 1012 | 30 | 29 | |||

1018 | 22 | 4735 | 33 | 1008 | 35 | 34 | |||

1018 | 22 | 5083 | 36 | 1005 | 38 | 36 | |||

1009 | 22 | 5450 | 38 | 1003 | 40 | 39 | |||

1009 | 22 | 5487 | 39 | 1002 | 41 | 39 | |||

2 | 0 |

The graph of the data for rG and Sum BPM/L:

### Brew 23: “Rhubar Wheat2020”

Sound detection – OG 1041; FG 1009. 16L in 25L Plastic Speidel Tank.

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

20 | 0 | 0 | 1041 | 0 | |||||

20 | 1131 | 12 | 1029 | 8 | Y=0,0106x | 12 | |||

20 | 2456 | 24 | 1017 | 18 | 26 | ||||

20 | 3478 | 32 | 1009 | 26 | 37 | ||||

6 | 5 |

The graph of the data for rG and Sum BPM/L:

### Brew 22: “Sweet Cold IPA”

Infared sensor. *OG=1063, FG=1024. 22L* in 30L Plastic barrel.

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction | rG_corr | Error_corr |

983 | 12 | 0 | 0 | 1063 | 0 | ||||

983 | 12 | 489 | 5 | 1059 | 4 | ||||

983 | 12 | 2322 | 13 | 1048 | 17 | Y=0.0056x | 13 | ||

999 | 12 | 4830 | 25 | 1038 | 36 | 27 | |||

999 | 12 | 6291 | 32 | 1031 | 47 | 35 | |||

999 | 12 | 7003 | 34 | 1029 | 52 | 39 | |||

? | 12 | 7377 | 35 | 1028 | 55 | 41 | |||

? | 15 | 7570 | 36 | 1027 | 56 | 42 | |||

? | 18 | 7650 | 36 | 1027 | 57 | 43 | |||

? | 21 | 7871 | 37 | 1026 | 58 | 44 | |||

? | 21 | 7938 | 39 | 1024 | 59 | 44 | |||

20 | 5 |

The graph of the data for rG and Sum BPM/L:

### Brew 21: “CitLiMan_US05”

Sound detection – OG 1041; FG 1009. 10L in 12L Plastic Speidel Tank.

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

1014 | 18 | 0 | 0 | 1054 | 0 | ||||

1015 | 18 | 1661 | 12 | 1042 | 12 | Y=0.0072x | 12 | ||

1016 | 18 | 3082 | 22 | 1032 | 23 | 22 | |||

1014 | 18 | 4841 | 32 | 1022 | 36 | 35 | |||

1012 | 20 | 6338 | 43 | 1011 | 47 | 46 | |||

1010 | 22 | 6389 | 44 | 1010 | 47 | 46 | |||

3 | 2 |

The graph of the data for rG and Sum BPM/L:

### Brew 20: “CitLiMan_MJ44”

Sound detection – OG 1052 FG 1013. 10L in 12L Plastic Speidel Tank.

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

1014 | 18 | 0 | 0 | 1052 | 0 | ||||

1015 | 18 | 4678 | 37 | 1015 | 35 | Y=0.0079x | 37 | ||

1010 | 22 | 4877 | 39 | 1013 | 36 | 39 | |||

3 | 0 |

The graph of the data for rG and Sum BPM/L:

### Brew 19: “Sort Øl”

Sound detection – OG 1040 FG 1013. 26L in 30L Barrel.

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

1026 | 10 | 0 | 0 | 1040 | 0 | ||||

1028 | 10 | 462 | 4 | 1036 | 3 | ||||

1032 | 10 | 1212 | 11 | 1029 | 9 | Y=0.0091*x | 11 | ||

1030 | 10 | 2262 | 20 | 1020 | 17 | 21 | |||

1020 | 13 | 2701 | 25 | 1015 | 20 | 25 | |||

1014 | 17 | 2928 | 28 | 1012 | 22 | 27 | |||

6 | 1 |

The graph of the data for rG and Sum BPM/L:

### Brew 18: “Reuse-more”

Infrared detection – OG 1050; FG 1020. 10L in 12L Plastic Speidel Tank

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction | rG_corr | Error_corr |

0 | 0 | 1056 | 0 | ||||||

714 | 13 | 1043 | 5 | Y=0.0182 | 0 | ||||

1200 | 22 | 1034 | 9 | 13 | |||||

1646 | 29 | 1027 | 12 | 22 | |||||

2073 | 34 | 1022 | 15 | 30 | |||||

2166 | 35 | 1021 | 16 | 38 | |||||

2199 | 36 | 1020 | 16 | 39 | |||||

2205 | 38 | 1018 | 16 | 40 | |||||

22 | 2 |

The graph of the data for rG and Sum BPM/L:

### Brew 17: “FNOE BIPA”

Sound detection – OG 1070; FG 1016. 21L in 25L Plastic Speidel Tank.

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

1026 | 19 | 0 | 0 | 1070 | 0 | ||||

1026 | 18 | 1666 | 11 | 1059 | 12 | Y=0.066x | 11 | ||

1018 | 20 | 4628 | 31 | 1039 | 34 | 31 | |||

1017 | 20 | 6278 | 43 | 1027 | 46 | 41 | |||

1013 | 20 | 7147 | 50 | 1020 | 53 | 47 | |||

1020 | 20 | 7487 | 53 | 1017 | 55 | 49 | |||

1024 | 21 | 7511 | 54 | 1016 | 56 | 50 | |||

1026 | 21 | 7526 | 54 | 1016 | 56 | 50 | |||

2 | 4 |

The graph of the data for rG and Sum BPM/L:

### Brew 16: “Wit Lemon Ginger”

Infrared detection – OG 1050; FG 1020. 10L in 12L Plastic Speidel Tank. Bad taste = bad idea!

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

? | 18 | 0 | 0 | 1050 | 0 | ||||

? | 18 | 457 | 4 | 1046 | 12 | Y=0.0088x | 4 | ||

? | 22 | 3551 | 30 | 1020 | 34 | 31 | |||

4 | | 1 |

The graph of the data for rG and Sum BPM/L:

### Brew 15: “Yoga Pils 3”

Inferred detection – OG 1040 FG 1013. 25L in 30L Barrel.

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

1030 | 10 | 0 | 0 | 1041 | 0 | ||||

1028 | 10 | 808 | 7 | 1034 | 6 | Y=0.086x | 7 | ||

1032 | 10 | 3030 | 28 | 1014 | 22 | 26 | |||

1014 | 16 | 3678 | 31 | 1010 | 27 | 32 | |||

1020 | 20 | 4189 | 33 | 1008 | 31 | 36 | |||

2 | 3 |

The graph of the data for rG and Sum BPM/L:

### Brew 14: “Sugar Blue 2”

Infrared detection – OG 1026; FG 1002. 10L in 12L Plastic Speidel Tank.

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

1015 | 21 | 0 | 0 | 1026 | 0 | ||||

1014 | 21 | 257 | 2 | 1025 | 2 | ||||

1010 | 21 | 1182 | 10 | 1016 | 9 | y=0.0085x | 10 | ||

1012 | 21 | 2230 | 18 | 1008 | 17 | 19 | |||

1014 | 21 | 2504 | 22 | 1004 | 19 | 21 | |||

1015 | 21 | 2600 | 24 | 1002 | 19 | 22 | |||

1015 | 21 | 2618 | 24 | 1002 | 19 | 22 | |||

5 | 2 |

The graph of the data for rG and Sum BPM/L:

### Brew 13: “Sugar Blue 3”

Infrared detection – OG 1026; FG 1002. 10L in 12L Plastic Speidel Tank.

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

1015 | 21 | 0 | 0 | 1026 | 0 | ||||

1014 | 21 | 604 | 6 | 1020 | 4 | ||||

1010 | 21 | 1260 | 10 | 1016 | 9 | y=0.0079x | 10 | ||

1012 | 21 | 1786 | 13 | 1013 | 13 | 14 | |||

1014 | 21 | 2313 | 17 | 1009 | 17 | 18 | |||

1015 | 21 | 2447 | 19 | 1007 | 18 | 19 | |||

1 | 0 |

The graph of the data for rG and Sum BPM/L:

### Brew 12: “Re-use Agian”

Infrared detection – OG 1057; FG 1018. 10L in 12L Plastic Speidel Tank.

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

1015 | 21 | 0 | 0 | 1057 | 0 | ||||

1014 | 21 | 1989 | 16 | 1041 | 15 | Y=0.0080x | 16 | ||

1010 | 21 | 4429 | 33 | 1024 | 33 | 35 | |||

1012 | 21 | 5071 | 36 | 1021 | 38 | 41 | |||

1014 | 21 | 5209 | 38 | 1019 | 39 | 42 | |||

1015 | 21 | 5329 | 39 | 1018 | 39 | 43 | |||

0 | 4 |

The graph of the data for rG and Sum BPM/L:

### Brew 11: “NEIPS PIF2 (sound)”

Sound detection – OG 1052; FG 1010. 20L in 25L Plastic Speidel Tank.

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

1023 | 17 | 0 | 0 | 1052 | 0 | ||||

1036 | 18 | 5050 | 38 | 1014 | 37 | Y=0.0075x | 38 | ||

1040 | 18 | 5930 | 42 | 1010 | 44 | 44 | |||

1039 | 20 | 6077 | 42 | 1010 | 45 | 46 | |||

3 | 4 |

The graph of the data for rG and Sum BPM/L:

### Brew 10: “NEIPS PIF2 (infrared)”

Sound detection – OG 1052; FG 1010. 20L in 25L Plastic Speidel Tank.

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

1023 | 17 | 0 | 0 | 1052 | 0 | ||||

1036 | 18 | 4900 | 38 | 1014 | 36 | Y=0.0078x | 38 | ||

1040 | 18 | 5850 | 42 | 1010 | 43 | 46 | |||

1039 | 20 | 5885 | 42 | 1010 | 44 | 46 | |||

2 | 4 |

The graph of the data for rG and Sum BPM/L:

### Brew 9: “Rå Hvede”

Infared detection – OG 1052; FG 1018. 15L in 25L Plastic Speidel Tank.

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

1007 | 18 | 0 | 0 | 1052 | 0 | ||||

1007 | 18 | 1111 | 10 | 1042 | 8 | Y=0.0090x | 10 | ||

1010 | 18 | 1989 | 16 | 1036 | 15 | 18 | |||

1010 | 18 | 2626 | 22 | 1030 | 19 | 24 | |||

1003 | 20 | 3569 | 28 | 1024 | 26 | 32 | |||

1008 | 20 | 3992 | 32 | 1020 | 30 | 36 | |||

1010 | 20 | 4138 | 34 | 1018 | 31 | 37 | |||

1014 | 20 | 4190 | 34 | 1018 | 31 | 38 | |||

3 | 4 |

The graph of the data for rG and Sum BPM/L:

### Brew 8: “BrookVer2”

Sound detection – OG 1053 FG 1023. 23L in 30L Barrel.

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

1028 | 10 | 0 | 0 | 1053 | 0 | ||||

1017 | 10 | 155 | 2 | 1051 | 1 | ||||

1017 | 10 | 550 | 6 | 1047 | 4 | ||||

1017 | 10 | 738 | 7 | 1046 | 5 | ||||

1015 | 10 | 1750 | 14 | 1039 | 13 | Y=0.0080x | 14 | ||

1015 | 10 | 2562 | 20 | 1033 | 19 | 20 | |||

1005 | 10 | 3431 | 26 | 1027 | 25 | 27 | |||

989 | 11 | 3668 | 28 | 1025 | 27 | 29 | |||

994 | 15 | 3784 | 29 | 1024 | 28 | 30 | |||

998 | 17 | 3850 | 29 | 1024 | 28 | 31 | |||

995 | 17 | 3908 | 30 | 1023 | 29 | 31 | |||

1 | 1 |

The graph of the data for rG and Sum BPM/L:

### Brew 7: “Azzca IPA”

Sound detection – OG 1064; FG 1017. 15L in 25L Plastic Speidel Tank

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

1019 | 18 | 0 | 0 | 1064 | 0 | ||||

1015 | 20 | 4049 | 36 | 1028 | 30 | Y=0.0089x | 36 | ||

1011 | 20 | 5054 | 41 | 1023 | 37 | 45 | |||

1011 | 20 | 6600 | 47 | 1017 | 49 | 59 | |||

2 | 12 |

The graph of the data for rG and Sum BPM/L:

### Brew 6: “Yoga Pils”

Sound detection – OG 1049 FG 1013. 23L in 30L Barrel.

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

993 | 12 | 0 | 0 | 1049 | 0 | ||||

996 | 11,5 | 298 | 2 | 1047 | 2 | ||||

999 | 12 | 1209 | 9 | 1040 | 9 | Y=0.0074xx | 9 | ||

1000 | 12 | 1720 | 14 | 1035 | 13 | 13 | |||

999 | 12 | 2738 | 22 | 1027 | 20 | 20 | |||

1002 | 12 | 4003 | 29 | 1020 | 30 | 30 | |||

1003 | 12 | 4378 | 33 | 1016 | 32 | 32 | |||

1003 | 12 | 4491 | 34 | 1015 | 33 | 33 | |||

1004 | 16 | 4785 | 35 | 1014 | 35 | 35 | |||

1002 | 21 | 5087 | 36 | 1013 | 38 | 38 | |||

2 | 2 |

The graph of the data for rG and Sum BPM/L:

### Brew 5: “Bagge Brooklyn”

Sound detection – OG 1064; FG 1017. 14L in 25L Plastic Speidel Tank

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

1008 | 17 | 0 | 0 | 1054 | 0 | ||||

1006 | 17 | 2220 | 19 | 1035 | 16 | Y=0.0086x | 19 | ||

1006 | 17 | 3300 | 27 | 1027 | 24 | 28 | |||

1006 | 17 | 4138 | 31 | 1023 | 31 | 36 | |||

1010 | 20 | 4362 | 32 | 1022 | 32 | 38 | |||

1018 | 20 | 4570 | 34 | 1020 | 34 | 39 | |||

1019 | 20 | 4908 | 35 | 1019 | 36 | 42 | |||

1019 | 20 | 5228 | 37 | 1017 | 39 | 45 | |||

2 | 6 |

The graph of the data for rG and Sum BPM/L:

### Brew 4: “Rå Wiess”

Sound detection – OG 1050; FG 1016. 15L in 25L Plastic Speidel Tank

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

990 | 19 | 0 | 0 | 1050 | 0 | ||||

994 | 19 | 2376 | 20 | 1030 | 18 | Y=0.0084x | 20 | ||

997 | 20 | 3811 | 26 | 1024 | 28 | 33 | |||

1000 | 22 | 4576 | 32 | 1018 | 34 | 39 | |||

1003 | 22 | 4904 | 34 | 1016 | 36 | 42 | |||

2 | 8 |

The graph of the data for rG and Sum BPM/L:

### Brew 3: “REUSE NEIPA HOPS”

Sound detection – OG 1052; FG 1012. 16L in 25L Plastic Speidel Tank.

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

1014 | 19 | 0 | 0 | 1052 | 0 | ||||

1009 | 18 | 1650 | 12 | 1040 | 12 | Y=0.0072x | 12 | ||

1018 | 20 | 4488 | 30 | 1022 | 33 | 32 | |||

1025 | 20 | 5525 | 37 | 1015 | 41 | 40 | |||

1014 | 20 | 6289 | 40 | 1012 | 47 | 45 | |||

7 | 5 |

The graph of the data for rG and Sum BPM/L:

### Brew 2: “RAW NEIPA”

Sound detection – OG 1052; FG 1010. 20L in 25L Plastic Speidel Tank.

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

1013 | 19 | 0 | 0 | 1052 | 0 | ||||

1009 | 22.5 | 1743 | 16 | 1035 | 13 | Y=0.0092x | 16 | ||

1017 | 20 | 4368 | 35 | 1017 | 32 | 40 | |||

1019 | 22 | 5178 | 40 | 1012 | 38 | 48 | |||

1014 | 22 | 5491 | 42 | 1010 | 41 | 50 | |||

1 | 8 |

The graph of the data for rG and Sum BPM/L:

### Brew 1: “SW Clone”

Sound detection – OG 1052; FG 1010. 18L in 25L Plastic Speidel Tank.

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

1010 | 21 | 0 | 0 | 1056 | 0 | ||||

1006 | 22 | 1300 | 8 | 1048 | 10 | Y=0.0062x | 8 | ||

1007 | 21 | 3095 | 23 | 1033 | 23 | 19 | |||

1010 | 21 | 4950 | 34 | 1022 | 37 | 31 | |||

1011 | 21 | 4984 | 34 | 1022 | 37 | 31 | |||

3 | 3 |

The graph of the data for rG and Sum BPM/L:

### Brew 0: “Hooded Kølsch”

Sound detection – OG 1049; FG 1013. 20L in 25L Plastic Speidel Tank.

hPa | Temp | Sum BPM/ L | rG | Gravity | Y=0.0074*x | Error | Correction “One hydrometer reading” | rG_corr | Error_corr |

1011 | 18 | 0 | 0 | 1049 | 0 | ||||

1013 | 18 | 1608 | 10 | 1039 | 12 | Y=0.0062x | 10 | ||

1013 | 18 | 1955 | 14 | 1035 | 14 | 12 | |||

1009 | 18 | 2294 | 17 | 1032 | 17 | 14 | |||

1008 | 18 | 3038 | 21 | 1028 | 22 | 19 | |||

1008 | 18 | 3589 | 25 | 1024 | 27 | 22 | |||

1008 | 18 | 4440 | 30 | 1019 | 33 | 28 | |||

1007 | 18 | 5032 | 33 | 1016 | 37 | 31 | |||

1007 | 18 | 5106 | 33 | 1016 | 38 | 32 | |||

1004 | 18 | 5321 | 34 | 1015 | 39 | 33 | |||

1010 | 18 | 5517 | 36 | 1013 | 41 | 34 | |||

5 | 2 |

The graph of the data for rG and Sum BPM/L: