TiltBridge - Tilt-to-WiFi Device for Tilt Hydrometer

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.
Hello, I have manually installed tiltbridge onto a Lolin D32. I can access it through my web browser and see correct readings. I have followed the cloud service setup guide to configure the fermentrack URL. I can add it as a tiltbridge in Fermentrack (it sees the mDNS, I get a message saying the tiltebridge url is configured) and can use that to add a tilt (connection type = tiltbridge). Once I have added it Fermentrack does not show any values. If I go to manage sensor the connection type is Bluetooth. If I try and add another tiltbridge it shows no unbound tiltbridges are available until I delete the current sensor.

Please let me know what other infomation I can provide.

Thanks

Capture.PNG Capture2.PNG
 
Hello, I have manually installed tiltbridge onto a Lolin D32. I can access it through my web browser and see correct readings. I have followed the cloud service setup guide to configure the fermentrack URL. I can add it as a tiltbridge in Fermentrack (it sees the mDNS, I get a message saying the tiltebridge url is configured) and can use that to add a tilt (connection type = tiltbridge). Once I have added it Fermentrack does not show any values. If I go to manage sensor the connection type is Bluetooth. If I try and add another tiltbridge it shows no unbound tiltbridges are available until I delete the current sensor.

Please let me know what other infomation I can provide.

Thanks

View attachment 662132 View attachment 662133

Are you on master or dev?
 
In my case, it appears to have flashed correctly but while the display is lit, there's no text. I did see it broadcasting on WiFi and started the setup to connect to my router, but seemed to lose the connection before I finished. Now it's no longer broadcasting it's SSID. Any help is appreciated!
 
I recently bought a Tilt and stumbled upon Thorrak's excellent Tiltbridge documentation. I happened to have a Lolin D32 laying around and so I had a flashed and running Tiltbridge of my own in very short order. I can open its web server and see it connected to my Tilt and reading out coherent values. What is not happening is no data is being sent to my Google Sheet. I went through the initial setup instructions twice but the data never makes it to the Google sheet. I know that there are so many potential places that could be the problem but I cannot figure out a way to even test it. Any suggestion on how to debug? If there was a simple python script where I could paste in the Google Sheet URL and get back error messages (or perhaps it works), that would be very helpful. Also, a tab on the tiltbridge web server with an error log would be useful so you could get some feedback on what is or is not happening.

I am really amazed that you could get a single ESP32 to be a bluetooth-to-WiFi bridge.
 
Of course, my hardware shows up 12 hours before I leave town for a week! I'm be attempting this soon though!
 
Got mine flashed and up and running. Initial setup was pretty easy. But I have an issue accessing the web page of the device once it is on my wireless network. The d32 has an IP that it shows on startup. It sees the TILT no problem. I can see the device from my router device list, and I can ping the IP so it is on my network. But when I connect to the tiltbridge IP with http:// there is just a blank screen in my browser.
 
Got mine flashed and up and running. Initial setup was pretty easy. But I have an issue accessing the web page of the device once it is on my wireless network. The d32 has an IP that it shows on startup. It sees the TILT no problem. I can see the device from my router device list, and I can ping the IP so it is on my network. But when I connect to the tiltbridge IP with http:// there is just a blank screen in my browser.

That actually sounds like the SPIFFS didn’t flash properly.
 
That actually sounds like the SPIFFS didn’t flash properly.

Forgot to mention that I did try flashing again. After that I cleared the IP using the touchscreen and I could get into the the web interface to connect back to the wireless network. But once on the network again -- nothing.
 
Seems like this *might* be that bug I keep hitting (and none of the lib devs believe it) where the AP doesn't seem to completely go into STA mode. Try to erase the flash, then re-flash the firmware and reconnect.
 
Oh how I wish that this was advanced to plug and play status! I'm mechanically savvy, but not electrically or systems-wise. I see great potential applications like this one and Raspberry Pi tools, but which have taken those who are very competent in these areas countless months and many hundreds of posts to try and get the bugs worked out, and they are still trying. Good on you, I appreciate these are still in development mode. Sadly, it is not practical for me to educate myself to the point of participating in these issues, so I must watch from the sidelines. I guess my question out of ignorance is (and it is NOT a criticism): since the general technology and tools are available, why does it take so long to sort through these matters and develop the applications? I know it's not through a lack of capability, effort and good collaboration.
 
Try to erase the flash, then re-flash the firmware and reconnect.
Lee- For those of us that are still challenged to get this working, can you tell us how to erase the flash? Sorry if this sounds like a fundamental question but this is very new to me! I've tried re-flashing, believing it would overwrite everything but maybe it's not that simple?
 
Oh how I wish that this was advanced to plug and play status! I'm mechanically savvy, but not electrically or systems-wise. I see great potential applications like this one and Raspberry Pi tools, but which have taken those who are very competent in these areas countless months and many hundreds of posts to try and get the bugs worked out, and they are still trying. Good on you, I appreciate these are still in development mode. Sadly, it is not practical for me to educate myself to the point of participating in these issues, so I must watch from the sidelines. I guess my question out of ignorance is (and it is NOT a criticism): since the general technology and tools are available, why does it take so long to sort through these matters and develop the applications? I know it's not through a lack of capability, effort and good collaboration.

When people volunteer their time and knowledge with no expectation of financial gain, they tend to do it at their own pace... I'm sure @Thorrak and @LBussy have dedicated more of their own time (without compensation) than we can imagine.

When I first learned of all things BrewPi (and brewing in general) I had to take the time to teach myself a few things. And I've benefited from all of them.
 
Lee- For those of us that are still challenged to get this working, can you tell us how to erase the flash? Sorry if this sounds like a fundamental question but this is very new to me! I've tried re-flashing, believing it would overwrite everything but maybe it's not that simple?
Some configuration information, including WiFi credentials and access point information, is stored in an area of memory that is not overwritten when you re-flash. This causes confusion as you can imagine but also that area can get corrupt and will stay that way until a specific action is taken.

How to do it depends on your OS and the tool you are using to do the flashing.
 
When people volunteer their time and knowledge with no expectation of financial gain, they tend to do it at their own pace... I'm sure @Thorrak and @LBussy have dedicated more of their own time (without compensation) than we can imagine.
We won't talk about the time it takes or the money we spend. My wife's divorce lawyer would find it sometime in the future and it would come back to haunt me.

Not specific to Tiltbridge, but these projects in general, we have these investments ($ being monetary and T being time) in the following:
  • Hosting fees ($)
  • PCB design (T)
  • PCB prototypes ($)
  • Coding in:
    • C++ (T)
    • HTML (T)
    • CSS (T)
    • Python (T)
    • Javascript (T)
    • SQL(T)
  • 3D designs (T)
  • 3D prints ($)
  • Logo design ($)
  • Writing documentation (T)
  • End-user support (T)
On top of that, just about the time where we think we have something solid, some jackstick in China will change a design and we're back to the drawing board (as happened with Tiltbridge.) Remember that a lot of you look for the cheapest way to accomplish a given task, so you are constantly out there looking to save $0.11 on a 100-unit purchase on Aliexpress. That means we have no idea what you will buy next.

Then there are the libraries we use for a lot of these. This is Open-Source so we're not coding our own libraries and we're sure not paying for support on the libs. We consume other people's works just like you do. So when random person in India makes a mistake deep in their library in an area that is only touched by a very specific set of circumstances, we end up with a bug that takes hours or days to find and squash. All the while we're thinking "this person depended on me and now their batch of beer is at risk."

Finally, we do this after (or at the expense of) our own jobs, families, and hobbies.

That represents a small part of a day in the life of an Open-Source developer.

How can you help? Glad you asked. When you find a bug, Google it, find the solution as we will, and create a pull request with the solution. Not a coder? Help improve the documentation. Don't know what a pull request is? Learn that then come back and do one of the other things. That's not to say we expect help, we don't. We do this because we enjoy it for the most part. But if you want things to go faster, there are only two ways: Pay for it or do it yourself.

And here's a :) because I love you guys, really. I'm not complaining but since you asked ...
 
Last edited:
Lee- For those of us that are still challenged to get this working, can you tell us how to erase the flash? Sorry if this sounds like a fundamental question but this is very new to me! I've tried re-flashing, believing it would overwrite everything but maybe it's not that simple?

It’s not that simple - there are flags that have to be added to the flash command to force it to erase everything that was previously there. WiFi settings, for example, get preserved through a typical flash.

Oh how I wish that this was advanced to plug and play status! I'm mechanically savvy, but not electrically or systems-wise. I see great potential applications like this one and Raspberry Pi tools, but which have taken those who are very competent in these areas countless months and many hundreds of posts to try and get the bugs worked out, and they are still trying. Good on you, I appreciate these are still in development mode. Sadly, it is not practical for me to educate myself to the point of participating in these issues, so I must watch from the sidelines. I guess my question out of ignorance is (and it is NOT a criticism): since the general technology and tools are available, why does it take so long to sort through these matters and develop the applications? I know it's not through a lack of capability, effort and good collaboration.

While there are a million answers to this question, there are three key factors I’ll cite:

First, none of these projects are made from whole cloth. Fermentrack, for example, incorporates the work of 32 other projects, each of which might incorporate the work of dozens of projects more. For Fermentrack to function requires that each of these projects in turn work in a very specific way - when many of those projects are actively being developed and improved. I think that a lot of the “bugs” you cite arise from changes that come from that development. Someone else changes something, and it’s up to us/users to adapt to that change. This is the unfortunate nature of software development - but it is (typically) indicative of some kind of process, so I’ll take it.

Second, all of these projects are DIY by design. Users of these projects range from highly skilled engineers to people without any electrical background whatsoever. Things that seem self evident to me as the author of a project may not be understood by anyone else - even an experienced user might miss a solder joint and end up with unexpected results. If this was a commercial project with centralized assembly and testing it might not be a problem, but lacking that infrastructure we pay in support requests.

To this point many of my projects are designed to minimize the potential for error - either in the software or in assembly. I’ve got another project I’m putting the finishing touches on now that will hopefully make things like TiltBridge even more accessible to users who don’t live on a command line.

Finally, many of these projects are ultimately hobbies for those of us who are working on them. I have a full time job outside the Tech/Brewing industries that eat up most of my week, and as a result I have fairly limited time to work on projects like this one. Even though a change may seem trivial, if the time doesn’t exist to implement it, it may sit unimplemented for awhile. Even if I have the time to implement it, those changes may happen outside the public eye - which is what has been happening with the latest revision to TiltBridge. It’s moving, I just haven’t been speaking about it. ;)

Regardless, I understand the sentiment - and I take it as a compliment! If these projects are working as intended, they should almost appear to be magic. The fact that they sometimes don’t is what I strive to correct!
 
Seems like this *might* be that bug I keep hitting (and none of the lib devs believe it) where the AP doesn't seem to completely go into STA mode. Try to erase the flash, then re-flash the firmware and reconnect.

Have tried reflashing multiple times using the command line and also the utility that Thorrak sent me. I also completely wiped and reloaded MicroPython per the Wemos site instructions. No such luck. Same result.

The good news is I can walk past my fermenting fridge and see gravity without pulling out my phone :) Just can't send the data anywhere.
 
Like @popquizkid I get a blank browser screen from http://tiltbridge.local/, but if I use the IP address, its connected and reading my Tilt. I still can't connect to my Google sheets, but I've always had problems with that, even from the Tilt itself so I'm probably misunderstanding something in it's setup. My TFT display still doesn't work though. It's lit, but no text?
 
Well, it is running now, but I am not sure why. I sent a bit of Arduino code to the board with Arduino IDE, then reflashed the board and it came up and is working fine. Below is the code I sent, but I would think that after reflashing with the firmware (via: esptool.py --chip esp32 --before default_reset --after hard_reset write_flash 0x10000 firmware.bin 0x8000 partitions.bin 0x3D1000 spiffs.bin) that it would overwrite anything I sent to the board previously:

Here is the code:

#define SCK 15;
#define SDA 4;


void setup() {
digitalWrite(16, HIGH);

// put your setup code here, to run once:

}

void loop() {
// put your main code here, to run repeatedly:

}

After this it is working just fine.

Klaus


Klaus thank you very match. According your procedure is now working. I had same issue as how you described: "After flashing tiltbridge i had black screen without wifi AP. I flashed by Arduino IDE your code, then reflashed tiltbridge and vuala, screen is going and i can connect to AP."

ROBOL
 
Quick status update from my end —

As part of rolling out a different project, I noticed that my primary web server was having some issues which makes me think the drive might be on its way out. Given that the hardware is ~8 years old at this point that’s not too shocking, but it is something I decided I’d rather address before the inevitable occurs rather than after. As a result, the past week and a half has been dedicated to getting a new web server ordered and set up. I decided to try slightly different technology which resulted in a bunch of wasted time on Sunday so it’s not done yet, but it’s getting there. ;)

Once the new server is done then I’m working to finish/release the new project that I have which is TiltBridge-related, then looking to release the new TiltBridge firmware officially immediately thereafter. At this point I’m guessing that will be 2 weeks + however long it takes me to ultimately get this server up and running.

Presidents Day release, possibly? There are worse ways to time it!
 
I'm trying to build this branch https://github.com/omgitsads/tiltbridge/tree/brewfather in platformio but I get the following error

"
Retrieving maximum program size .pio\build\lolin32_lcd_ssd1306\firmware.elf
Checking size .pio\build\lolin32_lcd_ssd1306\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
DATA: [== ] 21.6% (used 70636 bytes from 327680 bytes)
PROGRAM: [==========] 100.0% (used 1966427 bytes from 1966080 bytes)Error: The program size (1966427 bytes) is greater than maximum allowed (1966080 bytes)

*** [checkprogsize] Explicit exit, status 1
esptool.py v2.6
========================= [FAILED] Took 131.42 seconds ========================="

I also get the same error if I try to build this master https://github.com/thorrak/tiltbridge , could anyone suggest where I'm going wrong ?
 
Last edited:
Hi everyone. I flashed tiltbridge firmware to an esp32 board and it's working properly. I know the tiltbridge is working properly because I can connect directly to it via the tiltbridge's ip address and under 'available tilts' I see the gravity and temperature readout from my tilt. I can also see the gravity reading on the esp32's screen.

upload_2020-2-2_14-56-37.png


I've added the tilt via tiltbridge to my fermentrack installation.

Any help would be appreciated with the issues below:

Issue 1: Fermentrack says the tilt is currently 'unbound' and I'm not getting any readout from the device.

upload_2020-2-2_14-57-33.png


Issue 2: I'm getting the following error: "Bluetooth packages for python have not been installed. Tilt support will not work. Click here to learn how to resolve this issue." I've clicked and followed the instructions to install the additional packages, restarted linux, and I'm still receiving the error. Any suggestions? I'm running on debian and I don't recall having any issues with fermentrack installation that would have forced me into any manual or non-standard installation.

upload_2020-2-2_15-1-47.png
 
54A0D170-950D-46AE-85F8-83251AC903DC.jpeg


For anyone who might be interested, I just released my latest project. BrewFlasher is a standalone desktop utility for flashing brewing related firmware to ESP32s and ESP8266s. It’s perfect for people who want to build a TiltBridge but aren’t comfortable messing with the command line.

BrewFlasher is available on GitHub as well as (soon) at BrewFlasher.com. If you have any questions about it, I've posted a thread dedicated to the application here.
 
I'm trying to build this branch https://github.com/omgitsads/tiltbridge/tree/brewfather in platformio but I get the following error

"
Retrieving maximum program size .pio\build\lolin32_lcd_ssd1306\firmware.elf
Checking size .pio\build\lolin32_lcd_ssd1306\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
DATA: [== ] 21.6% (used 70636 bytes from 327680 bytes)
PROGRAM: [==========] 100.0% (used 1966427 bytes from 1966080 bytes)Error: The program size (1966427 bytes) is greater than maximum allowed (1966080 bytes)

*** [checkprogsize] Explicit exit, status 1
esptool.py v2.6
========================= [FAILED] Took 131.42 seconds ========================="

I also get the same error if I try to build this master https://github.com/thorrak/tiltbridge , could anyone suggest where I'm going wrong ?

You aren't necessarily doing anything wrong - it's possible that the ESP32 framework just got slightly bigger. If you notice, you're only ~350 bytes over the limit. Not ideal, but it can happen as the framework gets tweaked. You can try to change the framework version or you can see about ripping out some features/code to get it to shrink.

Unfortunately, this is one of the frustrations with the project. Including the libraries for both WiFi and Bluetooth while leaving enough room to flash OTA ends up leaving you almost at the limit for what the device can take.


Hi everyone. I flashed tiltbridge firmware to an esp32 board and it's working properly. I know the tiltbridge is working properly because I can connect directly to it via the tiltbridge's ip address and under 'available tilts' I see the gravity and temperature readout from my tilt. I can also see the gravity reading on the esp32's screen.

View attachment 664863

I've added the tilt via tiltbridge to my fermentrack installation.

Any help would be appreciated with the issues below:

Issue 1: Fermentrack says the tilt is currently 'unbound' and I'm not getting any readout from the device.

View attachment 664864

Issue 2: I'm getting the following error: "Bluetooth packages for python have not been installed. Tilt support will not work. Click here to learn how to resolve this issue." I've clicked and followed the instructions to install the additional packages, restarted linux, and I'm still receiving the error. Any suggestions? I'm running on debian and I don't recall having any issues with fermentrack installation that would have forced me into any manual or non-standard installation.

View attachment 664868


To the TiltBridge question: Can you check what connection type you have listed on the Tilt (bluetooth vs. tiltbridge)?

To the Bluetooth error question: When did you first install Fermentrack? You mentioned running on Debian - Is Debian running in a VM or on bare metal?
 
To the TiltBridge question: Can you check what connection type you have listed on the Tilt (bluetooth vs. tiltbridge)?

Hmm. When I go into the 'manage sensor' page for the Tilt it says my connection type is bluetooth. I am sure that I selected tiltbridge connection type when I initially added it because I just uninstalled the device from fermentrack and went through the process of adding it again to double check.
To the Bluetooth error question: When did you first install Fermentrack? You mentioned running on Debian - Is Debian running in a VM or on bare metal?

Debian is running in a virtual machine.
 
Hmm. When I go into the 'manage sensor' page for the Tilt it says my connection type is bluetooth. I am sure that I selected tiltbridge connection type when I initially added it because I just uninstalled the device from fermentrack and went through the process of adding it again to double check.

That's your problem - If you cant get it to set/stick for some reason, let me know and I'll dive into the code


Debian is running in a virtual machine.

Out of curiosity, when did you first install Fermentrack? It might be worthwhile to try running the following - if you don't have the proper libraries installed that can cause the issue you're seeing:

sudo apt-get install -y bluez libcap2-bin libbluetooth3 libbluetooth-dev

(The reason I keep asking about when you installed is because of that line - the latest install script installs those packages, but they were missing up until a few months ago)

That said, you can safely ignore the bluetooth warning, as I have NO idea how/if it will work in a VM. I'd imagine it depends on the hypervisor you're using.
 
Out of curiosity, when did you first install Fermentrack? It might be worthwhile to try running the following - if you don't have the proper libraries installed that can cause the issue you're seeing:

sudo apt-get install -y bluez libcap2-bin libbluetooth3 libbluetooth-dev

(The reason I keep asking about when you installed is because of that line - the latest install script installs those packages, but they were missing up until a few months ago)
I installed fermentrack last Sept/Oct. I'm currently using the version that has commit date: June 16, 2019, 10:09 p.m.

Yeah I did have to install those packages manually. Then after I installed pybluez in the python virtual environment for fermentrack per the link in the bluetooth error message. (also a note for others, pybluez won't install unless you install the libbluetooth-dev package which is not suggested by the help link in fermentrack)

That's your problem - If you cant get it to set/stick for some reason, let me know and I'll dive into the code
I think I'm at that point now. I don't know what to do besides maybe updating fermentrack itself. I generally go by the 'if it ain't broke don't fix it' mantra for stuff like this, so I'm hesitant to update unless you think it might help resolve the error. Otherwise maybe there's a way for me to simply adjust the 'bluetooth' option to 'tiltbridge' manually?

That said, you can safely ignore the bluetooth warning, as I have NO idea how/if it will work in a VM. I'd imagine it depends on the hypervisor you're using.
That's fine, I kind of figured as much. I'm not interested in running via bluetooth through the virtual machine. It's on a server opposite side of my house so I planned to do it with tiltbridge via wifi.
 
I installed fermentrack last Sept/Oct. I'm currently using the version that has commit date: June 16, 2019, 10:09 p.m.

Yeah I did have to install those packages manually. Then after I installed pybluez in the python virtual environment for fermentrack per the link in the bluetooth error message. (also a note for others, pybluez won't install unless you install the libbluetooth-dev package which is not suggested by the help link in fermentrack)

Good point - the instructions were a bug that originally occurred a few years back when I first migrated Fermentrack to Python 3. I've updated the instructions in the fermentrack.com repo - they'll be updated on the actual website when I next pull code to that server.

I think I'm at that point now. I don't know what to do besides maybe updating fermentrack itself. I generally go by the 'if it ain't broke don't fix it' mantra for stuff like this, so I'm hesitant to update unless you think it might help resolve the error. Otherwise maybe there's a way for me to simply adjust the 'bluetooth' option to 'tiltbridge' manually?

WELL. About that. Updating Fermentrack will fix the bug you reported -- but only as of 30 seconds ago. There's a lot of other bugfixes in there as well, of course, but the one that you specifically noted just now (the connection type not getting saved & therefore defaulting to 'Bluetooth') was only fixed just now. Thanks for reporting this!

Although I recommend updating, if you would prefer not to update you can set the connection type manually using the Django admin. Just click the "gear" icon in the upper right, choose "Django Admin", then "Tilt Configuration" down near the bottom, and click the Tilt configuration you want to edit. You can change the connection type there.
 
WELL. About that. Updating Fermentrack will fix the bug you reported -- but only as of 30 seconds ago. There's a lot of other bugfixes in there as well, of course, but the one that you specifically noted just now (the connection type not getting saved & therefore defaulting to 'Bluetooth') was only fixed just now. Thanks for reporting this!

Although I recommend updating, if you would prefer not to update you can set the connection type manually using the Django admin. Just click the "gear" icon in the upper right, choose "Django Admin", then "Tilt Configuration" down near the bottom, and click the Tilt configuration you want to edit. You can change the connection type there.

I was brave and updated to the version you released last night....everything is working as expected now. :)

Thanks for your help!
 
I tried flashing my ESP32 OLED V2.0 TTGO with brewflasher, fermentrack, and esptool without success.. It supposedly completes the flash successfully each time, but I do not see the tiltbridge SSID to connect to. After the flash completes, I turn unplug and then plug it back in. The red light on the ESP32 board is on, but the OLED screen is blank. help?
 
Klaus thank you very match. According your procedure is now working. I had same issue as how you described: "After flashing tiltbridge i had black screen without wifi AP. I ,flashed by Arduino IDE your code, then reflashed tiltbridge and vuala screen is going and i can connect to AP."

ROBOL

i think this is the same problem that I’m having. Can you please give a few more specifics about how you “flashed by Arduino IDE your code, then reflashed tiltbridge” ? thanks
 
I tried flashing my ESP32 OLED V2.0 TTGO with brewflasher, fermentrack, and esptool without success.. It supposedly completes the flash successfully each time, but I do not see the tiltbridge SSID to connect to. After the flash completes, I turn unplug and then plug it back in. The red light on the ESP32 board is on, but the OLED screen is blank. help?

I think I see the issue, but the fix is going to take a bit to get added to BrewFlasher/Fermentrack. In the mean time, you can try running:

esptool.py erase_region 0xe000 0x2000


...and let me know if everything starts working. You MIGHT have to flash again after running that command, but you shouldn't need to
 
Back
Top