Started designing a "Brew Home" distributed brewing system. This is one component of the over all system the data-logging hydrometer. It tracks both "approximate" gravity and temperature of your wort during fermentation.
I was struggling with the idea of a digital hydrometer for years. The projects I liked most recently were:
Tilt Capacitance sensor and Time of flight
They all have there +/-. but after cursory reading, I was ready to buy the Tilt. Digging deeper I found that it was not easily integrated into the system I was designing. I have some PunchThough LBBeen's (from kickstarter!! ), that the Tilt uses. Not wanting to go down the Bluetooth path I decided to use wifi via the ESP8266-01.
This system uses a MPU-6050 which has an I2C interface, so it only uses two inputs on the ESP to acquire both angle and temp. I printed a battery holder based off this design with some modifications to make if fit in the preform. Centering the battery was crucial to getting to float straight in pure water. I printed a stand to go on top of the battery to keep the ESP's antenna above the water level. There is a small void at the bottom tip of the preform under the battery that can be used for ballast. I have BB's, but have not needed them yet. I Printed the two pink parts separately to allow for balancing the 6050 allowing the x axis to be inline with the rotation of the preform.
This is an add on project to the Brew Home. I will only cover how to add this to the existing project.
Arduino:I plan on having multiple Hydrometers running, so I colored them via printer filament changes and in the code. This one is Pink. Do a find and replace in the Arduino API to change the colors.
Node-REd:Copy the provided code and "Hamburger Menu" ->Import->from Clipboard. Choose "New Flow", and paste the code. The UI portion should look like this.
and when viewed through http://your.ip.address/1880/ui
You can see the raw data at the bottom of the window. This info can be used to tune the Node-RED data for your situation. The Temp in and Tilt both have a "range node" this is analogous to Arduino "map" function. Once you assemble the hydrometer in the preform you can use these to items to "calibrate' your system.
For temp:Put the hydrometer in a glass of ice water allow the raw temp data to settle down. Use a thermometer to measure the temp and write down the raw value. Put the probe in scalding hot water with the hydrometer. Note the values. Open Node-RED. Find the purple TempIn follow it to the "range node" double click it. Now add your raw values to the top ( mind you +/-) and the thermometer values to the bottom. The 6050 has a linear thermometer so this should be close enough.
Same idea. Put the hydrometer in pure water at 60 degrees F, note the value measure with actual hydrometer (should be 1.000) mix up some table sugar in water to make a high gravity solution. You know what you brewing limits are, mix for the highest you can imagine doing. Once again at 60 degrees F the Hydrometer should be at an angle in this solution. Note the raw data and real hydrometer reading. Add that to the Approximate Gravity "Range Node"
Battery saver- (Still a work in progress.)
Arduino ESP8266's deepSleep function requires a connection to a pin that is not available on the ESP8266-01. So I am experimenting with delaying the transmissions to increase the battery performance. I figure 1 reading per day is about all I really need.I would like to see more temp data, but I am truly only looking for stuck fermentation, or finished FG levels. One option that I am considering is to switch to one of the other ESP models that allow for the PIN that is needed such as the ESP8266-12.
Comments