Brew Bubbles: Web-Enabled Airlock

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

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

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Downloading is a different issue. Open Windows Explorer and type %temp% into the path bar and hit enter. Then look for firmware.bin and littlefs.bin. Delete those files. Then make sure you close BrewFlasher and try again.
I found and deleted those files, restarted brewflasher, and it still stalls at the 'downloading firmware' stage. There isn't an option for ver 2.2, still the same two choices v2 rev 1-1 and v2 rev 2-1
 
v2 rev 2-1 is 2.2.1, so that's correct. I mean I hate to say it but have you tried rebooting? It makes me grind my teeth when someone suggests that as a troubleshooting step, but that would absolutely make sure no connections/processes are hanging.
 
@LBussy For the sake of it, I just flashed, onto the same device, iSpindel and then flased BrewBubbles, erasing flash as well. Only observation I can make is that it took a push of the reset button before I could connect with a web browser. I was monitoring the serial port on the first boot and it did report the correct IP address etc but no sign of anything attempting to connect. After a reset everything was fine. I think this is what I normally see though.

Chris
 
v2 rev 2-1 is 2.2.1, so that's correct. I mean I hate to say it but have you tried rebooting? It makes me grind my teeth when someone suggests that as a troubleshooting step, but that would absolutely make sure no connections/processes are hanging.
No, that is a pretty legitimate thing to suggest, I should have thought of it. Just tried it and no difference. I can try another computer.

Same on another computer, downloaded a fresh copy of brewflasher and had to install the driver for the com port to show up, and it still stalls at the 'downloading firmware' stage (2.1.1 still downloads and flashes, but 2.2.1 doesn't download)
 
Last edited:
it took a push of the reset button before I could connect with a web browser. I was monitoring the serial port on the first boot and it did report the correct IP address etc but no sign of anything attempting to connect. After a reset everything was fine.
Hm, I'll look into that. Not sure why that would be since BrewFlasher (esptool) takes care of that.
 
@LBussy I just reread my post, let me try again... After flashing, connecting to the AP, setting WiFi details and hitting SAVE, I need to do a reset/power cycle to be able to connect via web browser. If that's all I need to do then it's a small, no tiny, no minute price to pay!


Chris
 
still having the issue of the firmware not downloading on a couple computers after many reboots of brewflasher and at least one reboot of each computer.

Would the latest version make a difference for me since I am using an amazon module instead of the custom PCB.
 
I meant will the newer version work any better for my situation than the older version I am able to download? I can look for the brewflasher log when I get home. Any hints on where to look? I remember it was only the executable in the folder I am running it from.

--> I spent some time searching the computer and didn't find any brewflasher logs. If you are just talking about the console part of the GUI, then the entire contents when it stalls at the downloading firmware stage is ... "Downloading firmware..." . I have left it as long as 2 hours and tried various settings such as the speed or autodetect vs specific com port.
 
Last edited:
I would not release a version if I did not think it was better. The release notes are listed here in the thread.

The log would be the text inside the BrewFlasher window. You can just copy that out.
 
all it says is:

"Downloading firmware..."

Sorry if I wasn't clear.

I get a whole page of stuff with ver 2.1.1, but with 2.2.1 that's it
 
Last edited:
Hi Lee,
I thought I had ruled out my home network being the problem by downloading and flashing the older version, but I brought it in to work this morning and had no trouble with the new version so unless it is just a coincidence, it seems like a was something at my house. I will see if I can get it counting some bubbles tonight. Sorry for the wild goose chase.
James
 
After all that I still have the same issue. It is currently showing 48.8 bubbles per minute, but the yeast are getting tired and that actual rate is getting close to 1 bubble per minute ~45 seconds between bubbles.

It's too bad, it really looks like it is working. The light goes on reliably as each bubble passes, but that isn't reflected in the interface. @jangevaa agreed to send me one of the official PCBs and the bits so I might just give up until those arrive.
 
Last edited:
I have to say I'm not able to reproduce your issues. Try to telnet to it and watch the "bubbles" in the serial log and see if there's any correlation.
 
first, I mentioned this before, but I think the output of the module is backward from what the software is expecting:
1 the voltage is high, 3.3v when the sensor is blocked-water-nobubble, --> module light off - D1 mini light on
2 the voltage is low, 0v when the sensor is not blocked-air-bubble --> module light on - D1 mini light off

so the bubbling is quite slow now, a bubble taking several seconds to pass the sensor. Watching telnet, when a bubble starts to pass the sensor, there is a flurry of about a dozen lines, usually with the same time stamp, and then if seems to quit before the bubble passes and nothing hapens except for some what look like routine lines like 'saved last bpm' ' current bpmm is...' etc. It kind of looks like it is treating each bubble like a flurry of fast bubbles and then quickly giving up.
 
The reversal is not a big deal. It's semantics really. I can reverse it in the code but most folks use the shield and with that configuration, the "light on=not blocked" makes sense. It would not impact the counts.

What I think may be happening is the meniscus is creating a rapidly changing picture for the receptor. What setup are you using for the collimator?

If when you manually block the sensor it gives you one and only one pulse, then the answer lies in the way the light is passing through the bubbler.
 
oops, my bad again. The collimator is the hole thing right? I started with a piece of paper and tape, but couldn't get it working or lined up until I discarded it and saw the light going on and off with the bubbles. I thought maybe I got lucky and got one that worked well out of the box. I will fiddle with it again tonight. So I want the hole on the receiver side which is the side opposite the one with the diode symbol right?
 
Last edited:
The collimator goes on the receptor side, yes.

Mine works without it as well, so who knows. But since you are having issues, you might as well try that.
 
I have fiddled with various collimator and sensor placements and the best I seem to be able to get is two counts per bubble, maybe the leading and trailing edges of the bubble, at least that is what I think I see in the telenet log (sample below) paired lines about every 32 seconds which corresponds to what I see, a bubble every 32 seconds. Except instead of the actual ~2BPM or doubled to 4BPM I get 8BPM. Not sure if that is a real problem since the relative number is more important than the absolute number.

1610147539983.png

2021-01-08T21:49:11Z V: Current BPM is 10.00. Averages: BPM (15) = 8.80, Ambient (1) = -196.60, Vessel (1) = -196.60.
2021-01-08T21:49:11Z V: Triggered URL Target push.
2021-01-08T21:49:11Z V: URL Target not enabled, skipping.
2021-01-08T21:49:11Z V: Triggered Thingspeak push.
2021-01-08T21:49:11Z N: Thingspeak channel update successful.
2021-01-08T21:49:41Z V: .
2021-01-08T21:49:41Z V: .
2021-01-08T21:50:11Z V: Saved lastBpm.
2021-01-08T21:50:11Z V: Current BPM is 4.00. Averages: BPM (15) = 8.13, Ambient (1) = -196.60, Vessel (1) = -196.60.
2021-01-08T21:50:11Z V: Triggered Thingspeak push.
2021-01-08T21:50:12Z N: Thingspeak channel update successful.
2021-01-08T21:50:13Z V: .
2021-01-08T21:50:13Z V: .
2021-01-08T21:50:45Z V: .
2021-01-08T21:50:45Z V: .
2021-01-08T21:51:11Z V: Saved lastBpm.
2021-01-08T21:51:11Z V: Current BPM is 10.00. Averages: BPM (15) = 8.47, Ambient (1) = -196.60, Vessel (1) = -196.60.
2021-01-08T21:51:11Z V: Triggered URL Target push.
2021-01-08T21:51:11Z V: URL Target not enabled, skipping.
2021-01-08T21:51:11Z V: Triggered Thingspeak push.
2021-01-08T21:51:11Z N: Thingspeak channel update successful.
2021-01-08T21:51:18Z V: .
2021-01-08T21:51:18Z V: .
2021-01-08T21:51:50Z V: .
2021-01-08T21:51:50Z V: .
2021-01-08T21:52:11Z V: Saved lastBpm.
2021-01-08T21:52:11Z V: Current BPM is 7.00. Averages: BPM (15) = 8.33, Ambient (1) = -196.60, Vessel (1) = -196.60.
2021-01-08T21:52:11Z V: Triggered Thingspeak push.
2021-01-08T21:52:11Z N: Thingspeak channel update successful.
2021-01-08T21:52:21Z V: .
2021-01-08T21:52:22Z V: .
2021-01-08T21:52:54Z V: .
2021-01-08T21:52:54Z V: .
2021-01-08T21:53:11Z V: Saved lastBpm.
2021-01-08T21:53:11Z V: Current BPM is 10.00. Averages: BPM (15) = 8.47, Ambient (1) = -196.60, Vessel (1) = -196.60.
2021-01-08T21:53:11Z V: Triggered URL Target push.
2021-01-08T21:53:11Z V: URL Target not enabled, skipping.
2021-01-08T21:53:11Z V: Triggered Thingspeak push.
2021-01-08T21:53:11Z N: Thingspeak channel update successful.
 

Attachments

  • 1610147495865.png
    1610147495865.png
    7.6 KB · Views: 11
  • 1610147517088.png
    1610147517088.png
    7.6 KB · Views: 11
I don't know if that sensor is what's giving you a pulse for each change in state, or if it's the meniscus as you say. When you pass something solid in and out does it register correctly?
 
I don't know if that sensor is what's giving you a pulse for each change in state, or if it's the meniscus as you say. When you pass something solid in and out does it register correctly?
Yes, when I pass something solid I just get a single record
 
Yes, when I pass something solid I just get a single record
There's a joke there ... I'm just not child enough to make it. :)

On the one hand I'm open to modifications, on the other, this feels like one I could chase forever. This device counts "ticks" however they come in. You could have a paddle-wheel in a blowoff bucket, make your own Plaato-like device, count "burps" out of a spunding valve, whatever. Putting the intelligence in the device is always possible, but my idea here was to see what the crowd came up with. If you are sending data to the cloud somewhere, you can apply shaping there. And, as you say, it's all about the relative speed, not the actual speed.

So we can brainstorm here, but this doesn't feel like a bug per se.
 
Hi Lee,
No, not a bug. Overall I'm very happy. I would suggest you only make modifications if they would be useful for others. One thing that you could consider is a calibration or scaling factor for the counting like I think you have for temperature. Then if people, for whatever reason, cant get their setup to one count per bubble they can tweak it, but as you say that could be done in post processing. I would imagine that for most people's purposes the relative counts will tell them enough though.

I did a test run last night with my yeast and sugar in a growler test setup. Added sugar and yeast nutrient just before 18:00. I didn't expect all the spikes. Is that normal?

BB2.PNG
 
The spikes are not what I would expect, but anything is possible. There is some internal smoothing, but if the ferment is really wild, who knows.

What version are you on? When you go to the about page, does the uptime make it seem like it’s running without crashing?
 
Got a friend to print some of the newer brackets with colimeter. I've found the new divider needs to be trimmed up to accommodate the boards I put together. I've filed a couple down a couple dividers to make them fit, but they also have the tendency to snap off when doing this. I may suggest bulking the dividers up a bit, I know there's not much space to work, but maybe filling in/concaving the inside corner would work well. I'd probably play around with this myself but don't own a 3D printer myself to iterate.
https://ibb.co/qJgSSkRhttps://ibb.co/sP1tRH5
Also tried to do a couple boards with screw terminals. It works, but barely. Moving the terminals out to the full board width would allow for them to be used more easily by avoiding the usb port. The screw terminals fit perfectly next to the header.
https://ibb.co/g4q46h4https://ibb.co/44YDzGL
Set up has been really easy, haven't tested any on fermentations yet, getting there.
 
Last edited:
The spikes are not what I would expect, but anything is possible. There is some internal smoothing, but if the ferment is really wild, who knows.

What version are you on? When you go to the about page, does the uptime make it seem like it’s running without crashing?

yes, looks like it might be crashing. I haven't touched it in 12 hours, but uptime is just over an hour:


About Brew Bubbles: v2.2.1 [master] (269dc6c)
Brew Bubbles is a project developed by Lee Bussy and is licensed under The MIT License. Inquiries may be directed to LBussy on the HomeBrewTalk Forums (free registration required).
  • Uptime:Days: 0, Hours: 1, Minutes: 19, Seconds: 13
  • Reset Reason:Reason: REASON_SOFT_WDT_RST, Description: Software watch dog reset, GPIO status won’t change
  • Heap Information:Free Heap: 21976, Max: 21904, Frags: 1
 
Also tried to do a couple boards with screw terminals. It works, but barely. Moving the terminals out to the full board width would allow for them to be used more easily by avoiding the usb port. The screw terminals fit perfectly next to the header.

Ooooo, I like the screw terminals. I was just ordering some temperature sensors and the site also has screw terminals that look the same, except there are two options 5.08-3P and 5.00-3P which I assume are sizes. Do you know which size you have?
 
WDT is most likely something related to the multiple "clicks" you are getting per bubble.

I had been thinking about running these in separate threads but there's really not that much going on. I'm going to go out on a limb and assume it only happens when it's detecting bubbles?

Does disconnecting the temp sensors have any bearing on it?
 
Also tried to do a couple boards with screw terminals. It works, but barely. Moving the terminals out to the full board width would allow for them to be used more easily by avoiding the usb port. The screw terminals fit perfectly next to the header.
I'd be happy to swizzle the board design (which doesn't help you but will help the next person.) Are those 2.54mm pitch terminals?
 
WDT is most likely something related to the multiple "clicks" you are getting per bubble.

I had been thinking about running these in separate threads but there's really not that much going on. I'm going to go out on a limb and assume it only happens when it's detecting bubbles?

Does disconnecting the temp sensors have any bearing on it?
I don't have any temperature sensors yet. I have some in a 'cart' but keep thinking of other things to add like iSpindel parts and screw terminals :)

I haven't been watching for crashes or restarts so not sure what they are correlating with yet. I left it undisturbed overnight and there doesn't seem to have been another reset since I started watching again.

I just thought of something else that might be messing things up. My module can be powered by 3-5v and since I wasn't sure I picked 3.3v from the D1 mini to power it. Is the D1 mini maybe expecting a 5v signal?
 
Definitely not - all signals should be 3V.

If you notice any trends, let me know. I've been dinking with some things I'm helping with in TiltBridge that have kept me away from my projects - I need to get back and have a look.
 
Got a friend to print some of the newer brackets with colimeter. I've found the new divider needs to be trimmed up to accommodate the boards I put together. I've filed a couple down a couple dividers to make them fit, but they also have the tendency to snap off when doing this. I may suggest bulking the dividers up a bit, I know there's not much space to work, but maybe filling in/concaving the inside corner would work well. I'd probably play around with this myself but don't own a 3D printer myself to iterate.
I might fool around with the STL now that I have a 3D printer.
I agree that it's definitely hard to get a smooth sliding in place.
Also, I sometimes completely lose bubbles counting, as soon as I slightly move the BB in place, it comes back.

Tinkering with my iSpindHUB Wifi Repetiter (basically a TiltBridge for iSpindel, similar to the nautilis.eu project) so I need to do some CAD, will have a look at the enclosure for BrewBubbles as well (it's getting some tractions in France, I made a Youtube interview talking about it, people got interested :) )
 
I missed a reset by a few minutes when I woke this morning and the last time I checked the uptime had been >11 hours. I also didn't see any big spike around the reset so I'm not sure the resets are a big issue.

1610380114652.png


I finally got the sensor aligned so it is registering one count per bubble, but it seems to be multiplying by 3 for some reason - not sure what I am missing. The relative count will be fine for me if I can get them to be consistent, but this does seem like a bit of a bug.

2021-01-11T15:38:34Z V: Saved lastBpm.
2021-01-11T15:38:34Z V: Current BPM is 23.00. Averages: BPM (15) = 23.67, Ambient (1) = -127.00, Vessel (1) = -127.00.
2021-01-11T15:38:34Z V: Triggered Thingspeak push.
2021-01-11T15:38:34Z N: Thingspeak channel update successful.
2021-01-11T15:38:37Z V: .॰ₒ๐°৹ [1]
2021-01-11T15:38:45Z V: .॰ₒ๐°৹ [2]
2021-01-11T15:38:53Z V: .॰ₒ๐°৹ [3]
2021-01-11T15:39:01Z V: .॰ₒ๐°৹ [4]
2021-01-11T15:39:06Z V: Sending /bubble/.
2021-01-11T15:39:09Z V: . [5]
2021-01-11T15:39:17Z V: . [6]
2021-01-11T15:39:26Z V: . [7]
2021-01-11T15:39:34Z V: Saved lastBpm.
2021-01-11T15:39:34Z V: Current BPM is 21.00. Averages: BPM (15) = 23.60, Ambient (1) = -127.00, Vessel (1) = -127.00.
2021-01-11T15:39:34Z V: Triggered URL Target push.
2021-01-11T15:39:34Z V: URL Target not enabled, skipping.
2021-01-11T15:39:34Z V: Triggered Thingspeak push.
2021-01-11T15:39:34Z N: Thingspeak channel update successful.
 
If you are counting the bubbles registered in the serial log, those can be off. The reason is the bubble trigger is in an interrupt (very fast) and it sets a flag. The loop (much slower) then comes around and if the flag is set, it shows a bubble and turns the flag off. There's the potential for multiple bubbles to hit and only show one in the serial log since it's just a rough display.

I can possibly add a scaling factor, but I'd love to figure out why this is happening. Is that on a ferment right now? I'm wondering if some fiddling would be possible, maybe add food coloring to the liquid and see if it has any effect?
 
Yes, it is on a fermenter right now. Is there a substitute for food colouring? The only place I know where I can get it for sure is the 70's, but I will look at the grocery store just in case. I vaguely remember somebody else mentioning Starsan.
 
Back
Top