BrewBlox Tilt Service

Really? I think it worked by luck more than anything else tbh. But if it worked before, I see no reason why it shouldn’t now. Did you perhaps unplug and plug it back in? It could have been assigned a new ID if you did. But as I say, dongles aren’t “officially” supported. I don’t have any bluetooth dongles to make it work properly either.

I mean it worked for a good 24 hours or so. This is the only photo I have.

Yeah I unplugged it because I was having a wifi issue (different thread).

It’s very clear that the Tilt hydrometer will not send a strong enough Bluetooth signal to be heard through the stainless conical and freezer. So, best solution I could think of was a usb extension cord and honestly when first installed worked fine. The power cycle messed it up somehow.

I also ferment in a stainless conical inside an upright freezer. What I’ve done successfully in the past is to “move the mountain to Mohammed”, in other words I run the Raspberry Pi inside the freezer so that the Tilt’s Bluetooth signal only has to span some fermenting liquid + the thickness of the fermenter wall. The WiFi signal emanating from the cold RPi is sufficient to link up with the rest of the home network. Admittedly it doesn’t hurt that one of my WiFi access points is just above the freezer.

Caveat: my past experience has been with BrewPi, and I haven’t yet done attempted this setup since getting my Spark3 and changing to BrewBlox.

Yeah thanks for that. It’s a bit of a conundrum. I didn’t want my rPi to be in there if I was going to run the freezer for very long to cold crash or what have you. I may try this but all of my actuators are in a project box mounted outside the freezer so would be a total changing up of how things are wired/organized. I wish the Brewblox/Tilt service could work with bluetooth dongle and not the onboard BT. If that changes in the future I may come back to Brewblox (wink wink, @j616s). As it stands, I am trying to get what I need from my $20 inkbird controller and logging gravity/temps with Brewer’s Friend/Tilt Pi and the BT dongle/USB extension cord.

I have my relays & such in a project box too. But with my new BrewBlox setup I rarely have the Pi and the Spark physically connected via USB. So my controller / switching logic sits outside (on top of) the freezer. The RPi and the various temp / SG sensors are inside the freezer. I have cold-crashed with the RPi in there, with no apparent long-term harm. Once the beer is fully crashed I sometimes move the RPi outside the freezer since by that point there are no longer relevant SG changes to track. Hopefully you’ll get the BT dongle working soon and can experiment similarly.

Thanks. That’s a great idea. I have a spark v2 but I guess I could upgrade to rPi 4 and mount inside freezer. Then, connect to the spark/project box with a long USB cord.

A new rPi and a $60 BT repeater from TILT are sounding pretty good about now.

I am using the tilt service now for the first time and it looked promising at first. But two days ago it stopped logging. I thought maybe the battery was empty but after doing a brewblox-ctl down and up it worked again. What can cause this? And is there a way to reboot only the Tilt service instead of the whole brewblox?

‘docker-compose restart tilt’ assuming tilt is the name of the service.

As of why the restart us needed, @j616s can hopefully help with that.

docker restart brewblox_tilt_1 is the command you want, Ithink

As for the issue, when did you last update? I pushed a fix for needing restarts about 2 weeks ago that seems to have sorted things on my end

I think I am using the last version, I installed it 1,5 week ago I think.
Updating is done with brewblox-ctl update right?

That is how you update, yes.

Is there anything useful in the logs?
docker logs brewblox_tilt_1

I’ll check this evening. I didn’t get SSH working over VPN so I can’t check at work :slight_smile:

What is stopping this from being used for more than just graphing?

I’m looking into creating a spark style controller using something like the particle argon to interface with one wire sensors, relays and the tilt.

Thanks

I can’t speak for what @j616s is or isn’t planning, but last I heard, the biggest issue was finding some free time for development.

We have tooling for both backend services and UI plugins. The latter is still experimental.

Feel free to PM me if you have any questions, or would like an invite to the Slack channel.

Yeh. Anything beyond the current graphing/metrics is waiting for me to have time/drive to do it as the integration is just a spare time project for me.

If you’re talking about driving the fermentation process using the tilt, that goes against the design ethos of keeping everything that does that on the micro-controller for reliability. In theory, the tilt service could poke the APIs that change setpoints etc. But I’m not certain the tilt & its bluetooth connection is reliable enough to trust with that. The older models at least struggle to get through a single brew in a stainless fermenter. The new ones may be better in that regard. And there may be fallback schemes you could use so the unreliability of the sensor isn’t a problem. But, as I say, that needs development time.

Thanks for the info. I tried to PM you about slack but it said I’m not allowed to message you.

I fully understand. I had originally considers using the tilt for temperature but decided the drop outs in signal will be too problematic.

My plan is just to make a single simple controller that will work with a temp sensor and tilt together.

The Spark does not have Bluetooth, so it is better to let a pi handle that. We will probably include Bluetooth on a future hardware revision, but this will not be on the particle platform.

I’d be interested in working on this - I’d really like to have my Tilt output temperature and gravity measurements. Then, the temperature can be used in place of the 1-wire sensor for the beer temperature (in the slower PID loop, keeping a hardwired sensor for the fridge temp in the faster loop), and the gravity can be used to drive a fermentation schedule.

Do you have any guidance on writing plugins, or pointers to where I can find existing code to start from? The plugin and boilerplate repos are very barebones, leaving me wondering at least:

  • How do I create a plugin with output ports that can be connected to other plugins’ input ports?
  • Can plugins produce and consume data on the RPi (eg, could you have an output port and an input port that don’t correspond to blocks sent to the Spark)? If so, what’s the API for generating and consuming this data? And example would be the Tilt having an output port that reports the SG measurement, and a modified fermentation schedule plugin having an input port for that.
  • How can a plugin specify a dummy temperature sensor that will be loaded onto the spark, and how can the value for that sensor be updated when new readings are available?