Flite - Keg Level, Temperature, and Pressure Sensor

Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum

Help Support Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum:

Merkur

BJCP #B1441
HBT Supporter
Joined
Aug 5, 2012
Messages
140
Reaction score
50
Location
Doylestown, PA, USA
I have just discovered this Flite solution and love it. I had thought about a ToF based solution using a modified lid many years ago, but while I have experience building Arduino & RPi solutions, my software skills are lacking. Good to see you guys have something proven & available for download.

I have six kegs in Komos kegerators with very limited headroom. I would like to build my own lids with only the ToF sensors wired to one ESP8266 (or RPi Zero) per kegerator. Do I have to buy the lids from the Flite website or can I build my own?

Thanks
 

Merkur

BJCP #B1441
HBT Supporter
Joined
Aug 5, 2012
Messages
140
Reaction score
50
Location
Doylestown, PA, USA
I am looking deeper into this and ordering some parts to give it a try. The most expensive part of the system, as somebody already noted here, is the Honeywell temperature/pressure sensor at ~$65. If I forgo the ability to monitor Temperature and pressure, and just put the ToF sensor in the lid for volume measurement, will the software still run or will it throw an error?
 
OP
OP
UncleD

UncleD

Supporting Member
HBT Supporter
Joined
Dec 1, 2018
Messages
184
Reaction score
186
Thanks @LBussy for sending the DIY documentation!

I am looking deeper into this and ordering some parts to give it a try. The most expensive part of the system, as somebody already noted here, is the Honeywell temperature/pressure sensor at ~$65. If I forgo the ability to monitor Temperature and pressure, and just put the ToF sensor in the lid for volume measurement, will the software still run or will it throw an error?

@Merkur I'm glad to hear you're interested in this project. If you just want to measure level, you dont NEED to wire in a pressure/temp sensor. The ToF sensor by itself on the I2C bus will still work. I even created an enclosure that omits the hole for the pressure nipple. You can download that here:

Another thing to take into consideration is that the ToF sensor communicates I2C bus, so you can't have more than 1 sensor per controller with the same I2C address. If you dig into my Flite arduino library here (ARDUINO INTEGRATION | Flite), you will see that when a Flite object is constructed, you pass a color, which ultimately initializes the VL530X with a pre-defined I2C address. I began building this color based model out with the future mindset of more than 1 sensor per controller. At this time I only developed with 4 colors in mind, so you would have to tweak my library if you wanted to try and do 6. You should also review the VL530X documentation to determine how to configure I2C addresses and if you can ultimately have a 6:1 ratio. I don't recall why I left off at 4, there was a limiting factor, I just don't remember what it was. At this time, the firmware that is developed for the entire controller only supports a 1:1 ratio.

Keep us posted on your progress and let me know if you have any other questions!

Cheers!
 

Merkur

BJCP #B1441
HBT Supporter
Joined
Aug 5, 2012
Messages
140
Reaction score
50
Location
Doylestown, PA, USA
Thanks. I saw that and concluded that it was safer for me to use one controller per sensor. I bought Five of them for $17 so it’s not going to break the bank and I’ll have some redundancy. I assume that the front end iOS/Android app doesn’t have any problem communicating with six controllers and displaying the status of all six kegs?

I notice that it works with the Taplist.io using an API key and token. I tried using Taplist but found that TapItGood was cheaper and offered more flexibility to display the six beers I have on one screen. It too has Plaato integration. Has anyone integrated Flite with TapItGood?

Paul
 
OP
OP
UncleD

UncleD

Supporting Member
HBT Supporter
Joined
Dec 1, 2018
Messages
184
Reaction score
186
They are really cheap enough, so a 1:1 model seems to work out for most, and it adds unlimited scalability without dependency on yours truly. You can download the firmware with Brewflasher (thanks @Thorrak!) and you are ready to configure.

No limit on the number of Flite controllers you want to view on mobile app. If you want to view the data on a mobile app, reach out to me privately and i'll give you an API key that you will configure in both your Flite controller and mobile app. See user's manual here for configuration of the API keys as well as general configuration info:

As of now, we don't support TapItGood integration. I can certainly put it on the list to look into, but I've been pretty busy with my day job and just had a baby last year, so my free time is not what it used to be!
 

Jopher

Member
Joined
Oct 24, 2019
Messages
5
Reaction score
8
I just discovered this project through my local HBC (thanks @Merkur!) and will absolutely be building a few for myself, most likely w/ headless controllers. Very impressed with the approach, the implementation, and the support!

It's good to know I can forgo the temp/pressure sensor, which seems to have nearly doubled in price since Flite first got off the ground. UncleD, what are your thoughts on providing support for one of the many inexpensive i2c temperature sensors on the market? While an extra $50 for temp+pressure isn't really worth it for many of us, I wouldn't think twice about spending <$10 to have temperature data alone.

I found the controller and library code and I might see if I can build my own controller using a different temperature sensor. On first glance, it looks like it might be possible to support a small variety of sensors without even requiring user configuration, just based on what I2C addresses are being used. I'm even toying with aiming an infrared temp sensor through the original pressure-sensor hole to measure the beer surface temp.

I imagine you may have already have already thought about this stuff, so if you have any suggestions or are interested in any code I come up with, let me know.

Again, thanks for all your work on this. I'm really excited about building a few of these for myself.
 
OP
OP
UncleD

UncleD

Supporting Member
HBT Supporter
Joined
Dec 1, 2018
Messages
184
Reaction score
186
Glad to hear you are interested in this solution @Jopher! Unfortunately, I don't really have the time right now to offer different libraries for different combinations of available sensors.

That being said, you can implement an alternative I2C temp sensor with no changes to wiring, just modifications to the library. Good luck and post your feedback here for others, I'm sure there are others that would be interested in a cheaper solution and code that has already been written!

Cheers!
 

Jopher

Member
Joined
Oct 24, 2019
Messages
5
Reaction score
8
Oh, absolutely, you can't be expected to maintain multiple libraries.

I've ordered a couple different cheap sensors (LM75A and HTU21D) and will see if (a) they work at all when encased in epoxy and (b) whether I can add support for them in the library while still supporting the Honeywell sensor.
Will post updates here once I have them, and thanks again!
 

Merkur

BJCP #B1441
HBT Supporter
Joined
Aug 5, 2012
Messages
140
Reaction score
50
Location
Doylestown, PA, USA
I am breadboarding the Flite sensor, drilled the hole in the lid and mounted the connector and wired it up. The Wemos controller is flashed and the App set up on the iPhone. I went through the set-up instructions and entered the API keys.

I changed the update interval to 10 secs just for trouble-shooting and expected to see the keg level change when I move the sensor or put a piece of card in front of it. So far I have not seen any change in the level on the App. Note that I currently only have the ToF sensor, so I am not expecting the Temperature and Pressure readings to change. Presumeably 302F and 168.7PSI is the default or garbage data in the RAM!

1649516850773.png

When I log into the controller using the IP address, it looks to me that the sensor data is out of range or the sensor isn't working since the volume is 'nan' Not a Number. I just tried another sensor and get the same thing.

1649517019029.png


To those people that have been through troubleshooting with this, what troubleshooting steps should I take to get this working? Under 'WiFi Configuration', I see the cloud update timer count down but the data doesn't update in the app. If I click 'Test Cloud Update', it comes back with 'Sent Update to Cloud Services' which seems ok but the instructions say a WiFi icon should appear in the upper right and the disappear after 30-40secs. I do not see that. Does the controller only write to the cloud every 60 minutes?

Thanks.
 
Last edited:

Merkur

BJCP #B1441
HBT Supporter
Joined
Aug 5, 2012
Messages
140
Reaction score
50
Location
Doylestown, PA, USA
Update.

I put this in an empty keg overnight with the sensor just hanging down from the lid. I do not have the 3D printed housing yet. This morning I have data! It appears that the data is updated every hour or so. Is this normal?

I am not sure how the sensor works, but I am guessing that when I had the sensor just laying on the bench, the sensor never ’saw’ reflected light and hence didn’t come up with a ToF solution. In the keg it is dark and more reflective so I get data.

I will try it with some water in the keg. Is there a way of seeing the level directly? A near real-time ranging solution?

Paul
 
OP
OP
UncleD

UncleD

Supporting Member
HBT Supporter
Joined
Dec 1, 2018
Messages
184
Reaction score
186
Paul, Regarding the cloud update interval, this is hard coded at 1 hour in the firmware to avoid storing too much data or updating too often and running cloud service costs through the roof.

Looking at your screenshot of the configuration, there is an issue with your calibration. The high distance cal and low distance call should not be the same number. These fields represent the distance (in mm) corresponding to the level cal values. If you fill your keg with 4 gallons of water, and enter 4.0 in the high level cal, and clicking "CALIBRATE HIGH LEVEL", you should see the high distance cal change to the measured distance at the time that you clicked "CALIBRATE HIGH LEVEL". If it's reading 0 mm, that means that there is something wrong with the sensor reading. Double check the wiring, specifically to the I2C pins. You can also download the sensor library and load it into Arduino IDE and test with the example program. This will allow you to check the raw output in mm.


Be aware that the controller firmware uses the serial pins (Rx/Tx) for I2C comms, if you want to run a test program, you can use the default pins.
 
OP
OP
UncleD

UncleD

Supporting Member
HBT Supporter
Joined
Dec 1, 2018
Messages
184
Reaction score
186
Is there a way of seeing the level directly? A near real-time ranging solution?

The display only updates as often as the sensor update interval. It averages the readings between that interval for better stability. You can shorten it, but I don't think you can go any faster than every 10 seconds.
 

TaplistIO

mikey
Joined
Dec 16, 2013
Messages
45
Reaction score
19
Location
Worldwide
I notice that it works with the Taplist.io using an API key and token. I tried using Taplist but found that TapItGood was cheaper and offered more flexibility to display the six beers I have on one screen.

Hey Paul! What sort of flexibility/layout are you looking for? I'm... certain we can do it; and we're always happy to respond to feature requests.. Shoot me a note and we'll dig into it! ~mike
 

Merkur

BJCP #B1441
HBT Supporter
Joined
Aug 5, 2012
Messages
140
Reaction score
50
Location
Doylestown, PA, USA
Hey Paul! What sort of flexibility/layout are you looking for? I'm... certain we can do it; and we're always happy to respond to feature requests.. Shoot me a note and we'll dig into it! ~mike
Hi - this is a home brewery/bar and I wanted six taps that showed quite a bit of information on each beer to educate friends & family. I set up a Taplist account to try it out but it didn’t offer the flexibility I needed. In addition, the TapItGood solution was half the price ($20/year vs $39/year.)

I may take another look at it, but it works for me now.
A400F67C-0279-46AD-A724-6A11715B36F0.jpeg
 

Merkur

BJCP #B1441
HBT Supporter
Joined
Aug 5, 2012
Messages
140
Reaction score
50
Location
Doylestown, PA, USA
An update on my project. I have two controllers running, one with the Honeywell Temperature/pressure sensor. While expensive ($55), I like the integration and it offers some safety features like the ability to see signs of impending kegerator failure or a CO2 leak. At this point I plan to build six lids with one controller per lid.

I decided to build the display outlined in the DIY instructions and have the ‘ThingPulse’ breakout board. The Wemos D1 fits nicely on the board, however I believe the display has been updated since the instructions were written. The display I bought was the one called out (ILI9341 240x320 TFT LCD Display with Touch Panel) but the pin layout is different and the pin/signal names are not the same as on the breakout board. See photo.

it there a way of making this work by hardwiring the necessary signals between the display and the breakout board?
59F20951-3D46-4F8F-B407-EDB8ECE1587B.jpeg
 
OP
OP
UncleD

UncleD

Supporting Member
HBT Supporter
Joined
Dec 1, 2018
Messages
184
Reaction score
186
It's definitely the wrong display. If you do a search for it using the description, there may be multiple types of displays that fit that criteria. Make sure the dimensions and header pins match the breakout board. I have updated the DIY to reflect this note. I apologize if the DIY was not more clear.

It looks like you have this one:

And you want something like this one:

With enough research you could probably "make" yours work, but I would just get the correct display and you know everything will mount up and work from the start.

Save the other display for another project down the road :cool:
 

Merkur

BJCP #B1441
HBT Supporter
Joined
Aug 5, 2012
Messages
140
Reaction score
50
Location
Doylestown, PA, USA
Thanks to your link (and Amazon!) I got the correct part, wired it up and flashed the firmware. After a couple of false starts it works wonderfully and the instructions are excellent.

Just to be clear I haven’t printed the enclosures or potted the sensors yet but they have been working well in my test keg of water for the past week or so. This has given me the confidence to spring for more of the temperature/pressure sensors and investigate the food safe epoxy options.

Thanks.
EA588DEA-A8BC-47EB-9E77-75A6EA318A4C.jpeg
D09890FD-F427-4D42-BC0A-EB278D1804FD.jpeg
64144865-B56B-4658-8371-CCAE36E6A507.jpeg
6B42E8DC-4867-4A7F-9856-E116C4EB6C9D.jpeg
 
OP
OP
UncleD

UncleD

Supporting Member
HBT Supporter
Joined
Dec 1, 2018
Messages
184
Reaction score
186
@Merkur glad it's working, and thanks for providing feedback!

Let me know if you have any questions regarding assembling the sensors, that is the trickiest part. I've tried to make the DIY as clear as possible.

Cheers!
 

pers

Well-Known Member
Joined
Jun 25, 2014
Messages
64
Reaction score
32
Location
NY
Have a question about calibration.

Built 1 headless setup with only the TOF sensor. Want to see if I'm doing something wrong, possibly have a faulty sensor or everything is fine.

With the headless setup there appears to be no way to see the current reading from the sensor while calibrating. In order to see a reading you need to hit the calibrate low/high button and then look at what value it recorded in the current calibration settings area.

I've hit the calibrate buttons 10-20 times over a 1-3 minute span in order to get an idea of an average reading. On both low and high readings there appears to be an 8-10mm range of possible values.

Does this 8-10mm range seem normal? Or is my sensor possibly bad?

If I've read the documentation correctly it will take a reading every 1 second and then take the average over the update interval time. That would seem to be fine if you set the calibration points in the middle of the range.

But without knowing the realtime readings you might be setting the calibration points on the edge of the average range. I'm thinking this might cause some inaccuracies.
 

Merkur

BJCP #B1441
HBT Supporter
Joined
Aug 5, 2012
Messages
140
Reaction score
50
Location
Doylestown, PA, USA
Have a question about calibration.

Built 1 headless setup with only the TOF sensor. Want to see if I'm doing something wrong, possibly have a faulty sensor or everything is fine.

With the headless setup there appears to be no way to see the current reading from the sensor while calibrating. In order to see a reading you need to hit the calibrate low/high button and then look at what value it recorded in the current calibration settings area.

I've hit the calibrate buttons 10-20 times over a 1-3 minute span in order to get an idea of an average reading. On both low and high readings there appears to be an 8-10mm range of possible values.

Does this 8-10mm range seem normal? Or is my sensor possibly bad?

If I've read the documentation correctly it will take a reading every 1 second and then take the average over the update interval time. That would seem to be fine if you set the calibration points in the middle of the range.

But without knowing the realtime readings you might be setting the calibration points on the edge of the average range. I'm thinking this might cause some inaccuracies.
I’m not sure if this is your problem, but I noticed more variation when testing with plain water. I believe this was because the light pulses reflected off the water surface and also the bottom of the new, clean shiny keg. I got less variation when I threw in some old hibiscus dried flowers to color the water so it was more like beer.

Paul
 

pers

Well-Known Member
Joined
Jun 25, 2014
Messages
64
Reaction score
32
Location
NY
I’m not sure if this is your problem, but I noticed more variation when testing with plain water. I believe this was because the light pulses reflected off the water surface and also the bottom of the new, clean shiny keg. I got less variation when I threw in some old hibiscus dried flowers to color the water so it was more like beer.

Paul
Thanks for the info. Definitely a possibility since I'm using water and the keg is brand new, very shiny. Won't be brewing for a couple weeks but am making some hop seltzer soon. Maybe the green tint in the seltzer will yield better results.
 
OP
OP
UncleD

UncleD

Supporting Member
HBT Supporter
Joined
Dec 1, 2018
Messages
184
Reaction score
186
10mm seems a bit higher than normal. I usually see only a couple mm. That being said, it just depends on how accurate you want it to be. At the end of the day, even an error of 10mm distance is probably less than a pint. Need to do some pi r squared to determine the exact volume error that would be...
 

pers

Well-Known Member
Joined
Jun 25, 2014
Messages
64
Reaction score
32
Location
NY
10mm seems a bit higher than normal. I usually see only a couple mm. That being said, it just depends on how accurate you want it to be. At the end of the day, even an error of 10mm distance is probably less than a pint. Need to do some pi r squared to determine the exact volume error that would be...
Honestly I don't need it to be super accurate. Just looking for a general its around 1 gallon, time to brew again type thing.

Gonna try to calibrate with hop water soon. Will see if the green tint makes a difference.
 

pers

Well-Known Member
Joined
Jun 25, 2014
Messages
64
Reaction score
32
Location
NY
Just to update, the hop water is producing much more consistent results. The range in now about 6-8mm but the majority of the readings are 1-4mm.

Thanks
 
Top