BeerBoi - Set up

Once you've assembled a BeerBoi, you'll need to configure and calibrate it before you can use it.

Configuration

Once you have the code up and running, you'll need to configure the wifi, set some configuration parameters, and calibrate it. You'll want to do this before you get it all assembled in the box.

  1. After you've uploaded the code and data directory, hit the reset button on the ESP-12 to kick it into wifi AP mode.
  2. Go to the wifi settings on your phone and look for 'BeerBoi'. Select that, then choose your local wifi and enter the password.
  3. Wait for a few seconds, as the BeerBoi connects to your local network, then 'BeerBoi' should disappear from your wifi choices.
  4. Open a browser and go to http://beerboi.local. You should see the home page and some bad data, it's bad because it hasn't been configured or calibrated yet. (Note: mDNS is supported well by all operating systems except Android. For Android, you can install a nice app called "Service Browser" that will find all .local names on your network and let you click through. Look for _beer._tcp. in the app, that will lead you to the IP address of beerboi.local. Google added mDNS support to Android in an update in November 2021.)
  5. Click the "Configuration" link from the top menu bar.



  6. Fill in how often to read the gravity, it's in minutes. There are 2 ways to use BeerBoi:
    1. Mounted on your fermenter and recording data on a regular basis. 60 minutes is a good choice, this gives a good indication of the trend of the fermentation.
    2. Handheld and taking a reading on the spot. Use 0 for this mode. The BeerBoi will read the gravity every second and show it on the display, but it won't record any readings. This is for when you just want to check gravity right now. For example, you can check pre-boil gravity, post-boil gravity (OG, or original gravity), and at any time you feel like it during fermentation.
  7. Select your time zone so the chart can show correct times.
  8. Enter the IP address of your network router. BeerBoi will get timestamps from the router rather than connecting to the internet. This can be any computer on your local network that runs a webserver on port 80, which your router is most likely doing. If you leave this setting blank, or if the specified IP address is unreachable for any reason, BeerBoi will default to connecting to the internet to use regional NTP server pool.

There is also an "Update firmware" button on the configuration page. "Update firmware" allows updating BeerBoi over the air. You'll need a new firmware file first. Firmware updates, if any, are available at the SourceForge project, https://sourceforge.net/projects/beerboi/ in the "Files" section. You can also upload your own binaries, see details on the "Code" page.

Calibration

Calibration is quite easy. Open a browser, go to http://beerboi.local/calibration.html and follow the instructions. There are just 3 steps.

How the Calibration Works




The gravity is calculated by using a calibration factor for the scale and a little math to find the formula for the line of gravity versus weight. In the picture above, my boi weights 200 gm dry and 86 gm wet.

The calibration factor is found in the "Dry Calibration" step. The code increments or decrements the calibration factor for the scale until the scale reads the same as the known weight of the boi.

Once the dry calibration is complete, the boi is weighed in water in the "Wet Calibration" step. This gives enough information to complete the calibration for specific gravity.

The equation is linear, and the formula is

y = mx + b

right out of high school math class. The slope is calculated in the "Wet Calibration" step. After some playing around with this, I'm putting weight on the y-axis and gravity on the x-axis. This means that the dry weight of the boi is also the y-intercept, which is b, and the math becomes dead simple.

We have 2 points:

(x0, y0) = (0.000, dry weight), x0 = 0.000 by definition of specific gravity, and y0 = the dry weight of the boi
(x1, y1) = (1.000, wet weight), x1 = 1.000 is specific gravity of plain water, and y1 is wet weight of the boi

m = (y1 - y0) / (x1 - x0), slope is rise over run

Since x1 is always 1.000 and x0 is always 0, this reduces to

m = y1 - y0 = wet weight - dry weight


That's all there is to calibration. To calculate the gravity, the formula needs to solved for x since the scale reading will give us the weight, y, so:

x = (y - b) / m

But b is the boi weight, so it all boils down to

gravity = (scale reading - dry weight) / m

Using the BeerBoi

There is a process for starting the BeerBoi and putting it in your fermenter:
  1. Sanitize the boi by dipping it in a container of Starsan (or your favorite sanitizer).
  2. Ensure the boi is attached to the scale.
  3. While holding the boi so there is no weight on the scale, plug in the BeerBoi to an electrical outlet. BeerBoi tares the scale on start up, which is why there shouldn't be any weight on the scale when turning it on. Alternatively, you can tare the scale on the Calibration page.
  4. Lower the boi into your fermenter, ensuring the boi is completely submerged and is not touching the sides or bottom of your fermenter.
  5. Seal the fermenter lid.
  6. Point a browser at http://beerboi.local, check it as often as you'd like. The gravity shown on the page when it loads is the current reading.