• Please visit and share your knowledge at our sister communities:
  • If you have not, please join our official Homebrewing Facebook Group!

    Homebrewing Facebook Group

TiltBridge - Tilt-to-WiFi Device for Tilt Hydrometer

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Thanks for this response. I'm an ME, and most of us are notoriously dangerous in dealing with electrons...! Having said this, I did make a Kal controller (from a kit) and survived, so I can sometimes follow simple instructions, and your video is great. I just know that from this string of posts it could get into "deep, dark technical discussions" that are waters into which I dare not wade! But I could give this a try, and risk a few dollars and time.

As for the radio regs, it seems I recall from my days as a late teen dabbling with radios and walky-talkies, that different regs dealt with and sometimes exempted low powered devices. Of course that was maybe 50 years ago (YIKES!!) and the world has changed several times since then. Thanks again!
 
Hey @Thorrak, good morning!

I've been testing v2-alpha for a while and noticed a couple of minor bugs in the web UI:
  • Even though the JSON is providing the correct values for each Tilt reading, the web UI isn't rendering them.
View attachment 874735
  • I configured a couple of Target integrations and pressed Save. The values disappeared until I did a full page reload (F5), after which they reappeared. (Kind of hard to explain — let me know if I wasn’t clear enough.)
By the way, the new UI looks amazing and seems Dark Mode ready! 😎 Both my integrations (MQTT and Brewfather) are working perfectly as usual. Awesome job, man!

I'm still trying to find some spare time to start working on the LVG library. I was able to build, compile, and run the “next” version on the round display based on the S3 chip.

That's on me -- the UI doesn't automatically rebuild from the user interface repo, so if I don't manually update it then it gets an old version. I've just updated it, and deleted/re-released alpha 1 -- this version should work.

(I also noticed that I hadn't made the UI repo public - that's now fixed as well)
 
@Thorrak, this is terrific work and I'm very impressed by your innovation and diligence in pursuing this over many years. I have been following TiltBridge over all of this time because I have the need for such a product. I'm curious as to whether the ultimate goal of this project is to have a "black box" that is more or less plug 'n play, essentially a "commercial" product for the masses? Many/most of us do not have the technical experience and expertise to build boards, wire up/test, debug, and go through everything that is currently needed to create one of these. In the meantime, I will continue to watch "from the outside" with interest!
If a 65 year old Plumber can get the Fermentrack and Tiltbridge with Brewflasher, to work after a few stabs, then it can't be too complicated.
Just follow the "Read Me" directions, and after a few beers later - You got a working brewery automation with graphs!
It is wonderful, that we non-programmers have a few people out there that are nice enough to share their hard work with us all ! Agree!
 
There is a Session section for each recipe sheet that one can input time-stamped SG data and produce a plot, but I do not know if the input can be pushed via beerxml or other means...

Cheers!
 
Welp. As @day_trippr noted, it looks like there isn't an API that I could tap into in order to push data, but if anyone who knows Brad wants to reach out and see if he's interested in making something work I'd be happy to try to get an integration built
 
Looks like newest version has csv import and google sheet. Would one be better than the other?
 

Attachments

  • IMG_9112.jpeg
    IMG_9112.jpeg
    1.2 MB
Last edited:
@Bago-0 , I also use all 3 for years now and wondering why you would find the need to use a beer recipe software to plot graphs?
Fermetrack and BrewPi remix, does that very well on their own. It's been a while since I sent my Tilt data to a Google Sheets, but it does also work. Sheets did have a few problems for me... probably just my lack of understanding how to incorporate Tiltbridge with Sheets.
But back to "Why do you want to do that?" question??
 
@bloombrews I'm with you, and yet the ability to push Fermentrack data to other, third party services is the most requested "missing" feature people want in Fermentrack 2:

Screenshot 2025-05-15 at 9.11.06 AM.png

For TiltBridge I'm even less shocked -- the whole point of a TiltBridge is to send data to wherever you want it to go - the unfortunate bit is that there isn't a way to actually get that data to Beer Smith.

Looks like newest version has csv import and google sheet. Would one be better than the other?

Until I get Fermentrack 2 integration for gravity finished, I don't think there's an easy way to get TiltBridge data into a CSV that wouldn't require sending it to Google Sheets first anyways, so CSV would just end up being Google Sheets with extra steps. I'd start there and see where it leads.
 
@bloombrews , I don't really use beersmith to follow the active fermentation but like to log the final data in my recipe when the brew is done. Then I store the brewed recipe in my beersmith brew log and can go back and reference it later if needed.
 
@bloombrews , I don't really use beersmith to follow the active fermentation but like to log the final data in my recipe when the brew is done. Then I store the brewed recipe in my beersmith brew log and can go back and reference it later if needed.
I see your point there, to put everything in one place. I do often need to go back to previous brews to see the temperature profile I used and it is not "quick enough" for me to have beersmith open and then go open up Fermentrack and find the logs....
I just got in the habit since 1994, to log manually in my Brew-log records book, the important points - like what temp I started at, then how many days I used a beer-profile, beer-constant, and finally when I racked out and shutdown the Fermentrack logging.
I never used beersmith to look at any graphs, so maybe I can welcome myself to 2025 and have the profiles I ran, next to the recipe.. Briliant ! :cool:
 
@Thorrak,
I've updated my Tiltbridge to V2.0 and wondering if I have everything set up right. I got it connected to wifi fine, configured time zone offset etc., configured my google sheets targets, and started a test using my green tilt. The google sheet started fine and emailed me a link, but the tiltbridge doesn't display the name I assigned the "Beer". Also, the old version used to have a link to the google sheet that had been broken for a while. I was hoping that was going to be fixed on this version, but I can't tell if it's even got a link now. When I click on the Tilt link, it just reloads the same page. Am I missing something? Here is a screen shot of what I'm seeing after starting the green Tilt "Test1" log.
tiltbridge1.jpg
 
@Thorrak,
I've updated my Tiltbridge to V2.0 and wondering if I have everything set up right. I got it connected to wifi fine, configured time zone offset etc., configured my google sheets targets, and started a test using my green tilt. The google sheet started fine and emailed me a link, but the tiltbridge doesn't display the name I assigned the "Beer". Also, the old version used to have a link to the google sheet that had been broken for a while. I was hoping that was going to be fixed on this version, but I can't tell if it's even got a link now. When I click on the Tilt link, it just reloads the same page. Am I missing something? Here is a screen shot of what I'm seeing after starting the green Tilt "Test1" log.
View attachment 875576

Apologies for the delay in responding to this -- I got a chance to dig in, and there appears to be three issues here:


Data doesn't get logged to Google Sheets with TiltBridge 2

This appears to be timeout-related, likely an unintended change resulting from updates to the upstream framework used to build TiltBridge. Google Scripts takes awhile to process the data being sent, which results in the firmware timing out and closing the connection. This is a simple fix (increase the timeouts) - I've got that fix built and tested, and have released it as v2.0.0-alpha2.


Google Scripts doesn't respond as expected to data pushes

The Google Script is supposed to respond with a JSON object when data is pushed, but isn't - even when it successfully logs data. It's responding with an error message - both to an actual TiltBridge device as well as when I try to manually test from my laptop. This issue appears to be related to something in Google Scripts/Google Sheets itself, which is admittedly not my area of expertise. I'm going to continue working to debug it, but cannot promise a fix. If I do manage to fix it, it will require redeploying the central "TiltBridge Spreadsheet" (or, at a minimum, updating the Google Scripts code to match the update). I'll post here once I have an answer.


Incorrect/Broken "Sheets" Link in the TiltBridge UI

Unfortunately, fixing this link is predecated on resolving the "response" issue above, as the primary purpose of the JSON object is to capture the link to the Google sheet. This is why the link stopped working for the old version of TiltBridge as well -- the problem is with Google Scripts, not with TiltBridge. Assuming I can fix the Scripts issue I should be able to fix this one - if I can't, then I'll probably just remove the link.
 
No worries about the delay, thanks for the response.
Data doesn't get logged to Google Sheets with TiltBridge 2

This appears to be timeout-related, likely an unintended change resulting from updates to the upstream framework used to build TiltBridge. Google Scripts takes awhile to process the data being sent, which results in the firmware timing out and closing the connection. This is a simple fix (increase the timeouts) - I've got that fix built and tested, and have released it as v2.0.0-alpha2.
After upgrading to TiltBridge 2 and configuring everything, it did start Google Sheets OK and continue to update it (sorry if that wasn't clear before). The only issues I was having with the TiltBridge 2 was....

1) It no longer displays the name of the beer after starting the Google Sheets logging, it still only displays the Tilt color.

2) The link from the Tilt display on TiltBridge 2 no longer goes to the Google Sheet, It just reloads the Tiltbridge main page. The link has been broken on TiltBridge 1 for a while too, but after clicking the link, it would display an error message about something not being configured right with Google Sheets. Both versions would start the google sheet and log to it, just the links have been broken. Not a big deal, just a nice feature when it works.

Thanks again!
 
No worries about the delay, thanks for the response.

After upgrading to TiltBridge 2 and configuring everything, it did start Google Sheets OK and continue to update it (sorry if that wasn't clear before). The only issues I was having with the TiltBridge 2 was....

1) It no longer displays the name of the beer after starting the Google Sheets logging, it still only displays the Tilt color.

2) The link from the Tilt display on TiltBridge 2 no longer goes to the Google Sheet, It just reloads the Tiltbridge main page. The link has been broken on TiltBridge 1 for a while too, but after clicking the link, it would display an error message about something not being configured right with Google Sheets. Both versions would start the google sheet and log to it, just the links have been broken. Not a big deal, just a nice feature when it works.

Thanks again!
Both of these are due to the issues with the Google Scripts response I noted, unfortunately. If I can figure out what they changed and fix it, then I should be able to get this working again for both TiltBridge 1 and TiltBridge 2.
 
I just pushed out Alpha 3 of TiltBridge 2.0, which brings with it a new implementation of the calibration workflow.

Calibrate your TiltBridge's gravity readings by either entering a known calibration equation, or by measuring the gravity at specific Tilt readings and letting TiltBridge calculate your calibration equation for you. The new workflow now saves your data points to flash, making it easier to come back later and adjust.

Note - Data points will NOT persist between reflashes of the TiltBridge firmware. Please make note of them (or your calibration equation!) before reflashing.

Alpha 3 is now available on GitHub or via BrewFlasher.
 
Hi everyone. I'm looking to build a tiltbridge but many of the parts listed on the website are either no longer available or have long lead times. I was looking for some board and oled display suggestions available from Amazon. Thanks.
 
Hi everyone. I'm looking to build a tiltbridge but many of the parts listed on the website are either no longer available or have long lead times. I was looking for some board and oled display suggestions available from Amazon. Thanks.
Although I've not used either of these personally, I think they should work:

ESPI screen: https://www.amazon.com/HiLetgo-Display-Bluetooth-Internet-Development/dp/B07X1W16QS

OLED screen: https://www.amazon.com/HiLetgo-Display-Bluetooth-Internet-Development/dp/B07DKD79Y9
 
Last edited:
Thanks for the items. Will the display on either of these, show the temp and the Gravity just like the original hardware?
So apparently I lied - I actually do own the OLED one I sent across and just happened to have found it this morning while cleaning.

The ESPI one should work, and has a color screen rather than the monochromatic OLED.

The OLED screen will soon work -- after I release the next beta firmware (which will probably be this weekend). This is actually an ESP32-S3 chip (I misread the description!) which means that it only had support added recently. Included with it was a bug, apparently, which I've now since squished. ;)
 
So apparently I lied - I actually do own the OLED one I sent across and just happened to have found it this morning while cleaning.

The ESPI one should work, and has a color screen rather than the monochromatic OLED.

The OLED screen will soon work -- after I release the next beta firmware (which will probably be this weekend). This is actually an ESP32-S3 chip (I misread the description!) which means that it only had support added recently. Included with it was a bug, apparently, which I've now since squished. ;)
Do think there is a reason to chose one board over another?
 
Do think there is a reason to chose one board over another?
Mostly the screen and personal preference.

My preferred hardware is the Lolin ESP32 Pro + TFT, but I recognize that those are expensive/not the easiest to source post-tariffs. I'm not a huge fan of the OLED screens myself, but at the time that I designed the project they were the best option for a single device you could purchase off Amazon and have working out of the box. The other screen I linked is a good alternative (if it works as I think it will), but has its own drawbacks (the screen resolution is very limited).
 
For DIYmall board, these are the pins the LCD connects to per the schematic:
Screenshot 2025-06-21 at 9.17.37 AM.png

For the TiltBridge firmware, these are the pins that it expects (set in platformio.ini) for the "D32 Pro Firmware" (which is what you would want for the large TFT):

-DTFT_MISO=19
-DTFT_MOSI=23
-DTFT_SCLK=18
-DTFT_CS=14
-DTFT_DC=27
-DTFT_RST=33
-DTFT_BL=32

If we ignore the differences in naming conventions (MISO=SDO in this case if I'm interpreting their schematic correctly), unfortunately none of the pins match. With this understood the changes you would need to make should all be in platformio.ini if you wanted to download VSCode/Platformio and recompile custom firmware for yourself - but it won't work out of the box/with the firmware available on BrewFlasher.



For the ideaspark, it's the same thing -- I won't paste the screenshot for the board here in the interest of post length, but MOSI is on GPIO23, CS is on GPIO15, etc, when the firmware expects MOSI to be on 19 and CS on 5. The full expected pinout from the "espi" firmware is here. The screen resolution is also different - 170x320 on this board rather than 135x240.

Again: You can recompile the firmware if you wish to support this board, but if you're going to do that, I'd go with the DIYmall option (that one is a neat looking board!)
 
I understand now, it's about the pin out and the screen resolution. I'll pick up the ESPI version and try it out. Is the ESPI version the S3 or the regular ESP32? Thanks.
 
I understand now, it's about the pin out and the screen resolution. I'll pick up the ESPI version and try it out. Is the ESPI version the S3 or the regular ESP32? Thanks.
The pinout far more than the resolution. The risk you run with the resolution is that you only use part of the screen. With the pinout it just won’t work.

The ESPI one I linked is the regular ESP32. I have not checked the pinout on it, but it looks like one that I’ve used in the past.
 
Hey @Thorrak,
I just flashed an S3 with Tiltbridge V2 beta and am trying to get it linked to Fermentrack.net but it keeps failing with this error.
TiltBridge is unable to reach Fermentrack. Please check that Fermentrack is accessible at the specified hostname/port.
Is this something to troubleshoot on my end?
 
Hey @Thorrak,
I just flashed an S3 with Tiltbridge V2 beta and am trying to get it linked to Fermentrack.net but it keeps failing with this error.

Is this something to troubleshoot on my end?
On your end? Nope. On my end? Apparently a few things! I didn't realize I left that option enabled in the latest release.

Neither the firmware or the server support for Fermentrack 2 are quite finished, but they're coming along nicely:

Screenshot 2025-06-23 at 11.34.54 PM.png

(Ignore the garbage data, it's random/not device generated)

I'm not promising a release date just yet, other than to say "soon". I took a brief detour this week to focus on a new, non-brewing project -- but thankfully that one has a finite feature list, and is now almost complete (at least until I can get the PCBs in).

Anyways. More coming soon!
 
Ha, I'm unnaturally drawn to poke the unfinished stuff. In a past life I was nicknamed the development reaper...

The v2 versions are looking awesome! Can't wait for the polished releases.
I'll spin up a v1 Fermentrack to use with Tilt until then.
Cheers!
 
Thanks again for helping me get up and running. I picked up the ESPI board you suggested but the screen does not display the gravity. I'm using version 2.0.0-beta1 firmware. Do you know if there are any issues with the firmware or might it be a defective board?
 
Thanks again for helping me get up and running. I picked up the ESPI board you suggested but the screen does not display the gravity. I'm using version 2.0.0-beta1 firmware. Do you know if there are any issues with the firmware or might it be a defective board?
Can you access the web interface?

Does the screen display anything at all (including during setup) or is it completely blank?

Which firmware variant (screen type) did you flash?
 
Thanks for the quick reply.
  1. Can you access the web interface?
    1. Yes, no issues with that.
  2. Does the screen display anything at all (including during setup) or is it completely blank?
    1. Do you mean during flashing? If so, then no. I don't think I've seen the screen show anything
  3. Which firmware variant (screen type) did you flash?
    1. I thought I did "v2.0.0-alpha3 - TTGO USB-C" but now I'm wondering if I accidentally used "v2.0.0-alpha3 - TFT"
 
Thanks for the quick reply.
  1. Can you access the web interface?
    1. Yes, no issues with that.
  2. Does the screen display anything at all (including during setup) or is it completely blank?
    1. Do you mean during flashing? If so, then no. I don't think I've seen the screen show anything
  3. Which firmware variant (screen type) did you flash?
    1. I thought I did "v2.0.0-alpha3 - TTGO USB-C" but now I'm wondering if I accidentally used "v2.0.0-alpha3 - TFT"
In the web interface I think the firmware version you flashed is on the “about” page. You need the TTGO (espi) version for it to work, so if you didn’t flash that one, you would need to re-flash.
 
I just reflashed using the v2.0.0-alpha3 TTGO USB-C version and no screen output. For testing purposes, I flashed v1.2.4 TTGO USB-C and the screen seems to work ok. When using v2.0.0 it seams like the screen backlight isn't on where as on v.1.2.4 I can that the screen backlight is on even at times when there is no screen output.

All versions as those listed above are those as stated in BrewFlasher.

Any thoughts? Thanks.
 
I just reflashed using the v2.0.0-alpha3 TTGO USB-C version and no screen output. For testing purposes, I flashed v1.2.4 TTGO USB-C and the screen seems to work ok. When using v2.0.0 it seams like the screen backlight isn't on where as on v.1.2.4 I can that the screen backlight is on even at times when there is no screen output.

All versions as those listed above are those as stated in BrewFlasher.

Any thoughts? Thanks.
Several. Mostly four letter words referencing technology.

Sounds like there's a bug of some sort in the latest beta, but looking purely at the code I can't see what might have caused it. I had thought I had tested the alpha against this hardware, but clearly I missed something. We're traveling at the moment but are headed home this afternoon -- I'll see if I can figure out what's going on and will let you know.
 
No problem and thanks. Also as an FYI, it seems to be detecting the Tilt and sending data to Brewfather with no issues.
 
No problem and thanks. Also as an FYI, it seems to be detecting the Tilt and sending data to Brewfather with no issues.
Unfortunately, this may take a few days to properly fix, but I think that I have a working version now on BrewFlasher.

In order to use the latest version of the ESP32 Arduino framework, I have to use the latest (unreleased) version of the graphics library I used for TiltBridge. There appears to be a bug in that version for ST7789-based chips which is causing it to fail -- and the latest update to the library is from over a year ago, which makes me think it's time to switch to a new graphics library.

The espi version ("beta1") is a quick attempt to convert to a new graphics library - and while it seems to be working as expected, it's only barely tested. Still: Might be worth it if you want something up and running now!
 
So was the only change to graphics library? If so, I'll give it a whirl. I'm fermenting right now I don't want to mess up the bridging functionality.
 

Latest posts

Back
Top