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.
When I say forcing an update, I mean, I go into the tiltbridge.local setting under target settings and click update. The tiltbridge then sends data to google sheets.

I attached a screen shot of the about tab for the tilt bridge.
Update to the latest firmware (v1.0.2). There was a bug in v1.0.0 that caused the Google Sheets poll to take quite a bit longer than intended.
 
Just ordered from Amazon: LOLIN D32 Pro V2.0.0 as my jumping off point into the TiltBridge world. Wish me luck! (This is a step-up in tech for me!)
 
Last edited:
The screen's link says "No longer available". Any suggestions/replacements from Amazon? Thanks in advance!

The (main) benefit to the D32 Pro, in this case, is the LCD connector. If you aren't getting Lolin's specific screen/cable then you'd be better off getting a different ESP32, unfortunately. The OLED ones work great, as do the full color "TTGO" USB-C ones.

If you want to go the TFT/D32 Pro route, shoot me a PM. I have a small number of the screens/cables on hand.
 
Thank you @Thorrak for the help getting me started. So far, only a blank screen on TFT, no wifi showing up, and this message on Brewflasher:
Downloading firmware...
Downloaded successfully!

Command: esptool.py --chip esp32 --baud 115200 --before default_reset --after hard_reset write_flash 0x10000 C:\Users\johnc\AppData\Local\Temp\firmware.bin 0x8000 C:\Users\johnc\AppData\Local\Temp\partitions.bin 0x1000 C:\Users\johnc\AppData\Local\Temp\bootloader.bin 0x910000 C:\Users\johnc\AppData\Local\Temp\spiffs.bin 0xe000 C:\Users\johnc\AppData\Local\Temp\otadata.bin

esptool.py v2.8
Found 1 serial ports
Serial port COM5
Connecting........_____....._____....._____....._____....._____....._____....._____
COM5 failed to connect: Failed to connect to ESP32: Timed out waiting for packet header

Any suggestions? Thanks.
 
Whelp, the log you showed indicates that it's not able to communicate with the device. Do you have another one to try? Are you flashing the correct firmware?
 
I don't have another; and the firmware is v1.0.2-TFT. I tried the others, and same result. Full disclosure, I am a total noob here (as far as the tech). I may have jumped into the deep end of the pool as a non-swimmer! lol
 
Thank you @Thorrak for the help getting me started. So far, only a blank screen on TFT, no wifi showing up, and this message on Brewflasher:
Downloading firmware...
Downloaded successfully!

Command: esptool.py --chip esp32 --baud 115200 --before default_reset --after hard_reset write_flash 0x10000 C:\Users\johnc\AppData\Local\Temp\firmware.bin 0x8000 C:\Users\johnc\AppData\Local\Temp\partitions.bin 0x1000 C:\Users\johnc\AppData\Local\Temp\bootloader.bin 0x910000 C:\Users\johnc\AppData\Local\Temp\spiffs.bin 0xe000 C:\Users\johnc\AppData\Local\Temp\otadata.bin

esptool.py v2.8
Found 1 serial ports
Serial port COM5
Connecting........_____....._____....._____....._____....._____....._____....._____
COM5 failed to connect: Failed to connect to ESP32: Timed out waiting for packet header

Any suggestions? Thanks.

Not that I’m an expert in any way...
But when Connecting.... is showing I had to hit and hold a boot button a second on the card and then the installation started.
 
If you hold the board so that the connector is on the left, the bottom button should be the "BOOT." If you hold that and then reset the board, after a second you should be able to release the boot button. Then try to flash.
 
Still seems to be stuck at "connecting" I have a red blinking light, and a lit but blank TFT screen. Maybe a bad board. (from Amazon) Well, I'll keep playing with it and report back if I have any success. Thanks to all and Cheers!
 
Well, here's what I would do. Follow this tutorial to set up the ESP32 in the Arduino IDE. If you can get that to work, then the board works and we need to check something else.

Also, you can sort of strut around the house with your chest puffed out after "programming" it yourself. :)

ETA: This website is also very good at beginner tutorials. I think for the LED where it says "const int ledPin = 23;" you want to replace the "23" with "LED_BUILTIN".
 
Well, here's what I would do. Follow this tutorial to set up the ESP32 in the Arduino IDE. If you can get that to work, then the board works and we need to check something else.

Also, you can sort of strut around the house with your chest puffed out after "programming" it yourself.

No strutting tonight! :( keep getting a fatal message when uploading a sketch. (my terminology may be off ). Didn't work holding the button down either. Thanks again, time for a beer! Cheers!
 
You have earned it after all that. Here's hoping it's something simple like the cable.

When I find a power-only cable in my house I cut the ends off right away before I forget.
 
For what it's worth, @BQ&W is using a D32 pro, so I doubt it's an issue with the boot button.

My guess is that it's the cable. I really need to add a note about that somewhere...
 
Thank you @Thorrak for the help getting me started. So far, only a blank screen on TFT, no wifi showing up, and this message on Brewflasher:
Downloading firmware...
Downloaded successfully!

Command: esptool.py --chip esp32 --baud 115200 --before default_reset --after hard_reset write_flash 0x10000 C:\Users\johnc\AppData\Local\Temp\firmware.bin 0x8000 C:\Users\johnc\AppData\Local\Temp\partitions.bin 0x1000 C:\Users\johnc\AppData\Local\Temp\bootloader.bin 0x910000 C:\Users\johnc\AppData\Local\Temp\spiffs.bin 0xe000 C:\Users\johnc\AppData\Local\Temp\otadata.bin

esptool.py v2.8
Found 1 serial ports
Serial port COM5
Connecting........_____....._____....._____....._____....._____....._____....._____
COM5 failed to connect: Failed to connect to ESP32: Timed out waiting for packet header

Any suggestions? Thanks.
FYI there is info online suggesting connecting a 10uF electrolytic cap between gnd and EN pins on the ESP32 to resolve the waiting for packet header issue.
 
After updating tiltbridge, I no longer log to google sheets. I pasted the sheets URL into the settings field 4-5 times, tried renaming the current beer and nothing. The new name didn't create a sheet. the old sheet stopped the day I updated. Any one else having sheets issues or is it just my luck?
 
After updating tiltbridge, I no longer log to google sheets. I pasted the sheets URL into the settings field 4-5 times, tried renaming the current beer and nothing. The new name didn't create a sheet. the old sheet stopped the day I updated. Any one else having sheets issues or is it just my luck?
Uh, just lucky? Does your URL have the "/exec" at the end? If you manually go to that URL, you should see something like this:
Code:
Enter the following link into the Cloud URL settings (under the gear icon in iOS/Android app):https://script.google.com/macros/s/xxxxxxxxxxxxxxxxxxxxxxxBigLineofTextxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/exec
If not, the URL is wrong or the sheet itself is broken.
 
TiltBridge is awesome! I just got my very first Tilt, and of course, wasn't going to be happy just using the app - need that continuous data. After looking at a few alternatives I settled on giving TiltBridge a try. Got everything up and running in about an hour.

I'm using an M5Stack-C device, which I happened to have lying around. It has a built-in display, but it will need some work to support, so I ended up disabling it. Aside from one or two preprocessor guards that were needed, the firmware works great in "no LCD" mode.

I also ended up using platformio-cli to build/flash/test, which worked find. I'd be happy to PR both the m5stack board definition (platformio.ini) and some (very light) developer notes back to docs back the project if you'd like.

Thorrak, LBussy, this is a great open source project. Thank you!
 
Never not submit a PR as John told me once. I have an M5 here. As you can imagine, supporting additional LCDs would get challenging very quickly, but additional no LCD support should be easy enough.
 
Awesome! That's a good rule. Shall do!

For supporting additional LCDs, I was thinking that a more adventurous refactor is possible: We could make device-specific `bridge_lcd.cpp` implementations, one (and only one) of which is conditionally #included depending on the #define'd LCD definition; with a no-op implementation for cases like mine.

Don't plan to pursue this right now - just something I was thinking.. I'll follow-up in github as this is definitely in the weeds.

Thanks again!
 
TiltBridge is awesome! I just got my very first Tilt, and of course, wasn't going to be happy just using the app - need that continuous data. After looking at a few alternatives I settled on giving TiltBridge a try. Got everything up and running in about an hour.

I'm using an M5Stack-C device, which I happened to have lying around. It has a built-in display, but it will need some work to support, so I ended up disabling it. Aside from one or two preprocessor guards that were needed, the firmware works great in "no LCD" mode.

I also ended up using platformio-cli to build/flash/test, which worked find. I'd be happy to PR both the m5stack board definition (platformio.ini) and some (very light) developer notes back to docs back the project if you'd like.

Thorrak, LBussy, this is a great open source project. Thank you!

Thanks - I'm glad you like the project & find it useful!

In searching for the M5Stack-C I found this which makes it sound like the display uses an ST7789 driver. Interestingly enough, it sounds like the resolution/chipset is the same as the "TTGO USB-C" board which is already supported - but with a different pinout. It might be worth trying to change the pin definitions (linked here) and seeing if that can get the display up and running.

If you manage to make it work, then I'd absolutely appreciate a PR if you're willing to send one through!
 
Ooh, you did the research I was too lazy to. That sounds tantalizing possible! I'll give it a shot tonight.
 
You were right - there were actually a couple of bugs with the calibration workflow in the new version. I went through and refactored the code a bit, fixing the bugs and adding a panel to display the calibration functions in the process. The calibration points still aren't saved to the TiltBridge (project for later?) but everything else should persist as one would expect.

The updates are available through Fermentrack or BrewFlasher as v1.0.2 - Let me know if you run into any issues!
Had the OLED unit powered off for a night and this morning when power up the calibration equation is still there. So everything is fine. Thanks!
 
A couple things I learned yesterday when updating Tiltbridge that might help others.

1.) Do not assume Windows 10 automatically installs the driver when you see the notification that the USB to UART bridge is installed when you plug your ESP device in. you actually have to search for and install the silicon labs CP210x universal windows driver.
If your having issues with brewflasher not connecting, look in device manager. If you see that the USB to UART controller driver is not installed This is your issue.
Funny how quickly brewflasher works when the driver is installed.
2.) Under V 1.0.1 Google sheets reporting was broken (on mine at least) This was fixed under V1.0.2

Now if an update button was added so Tiltbridge could go out and get its updates without having to remove it from the chamber to connect to another computer that would be awesome.
 
Now if an update button was added so Tiltbridge could go out and get its updates without having to remove it from the chamber to connect to another computer that would be awesome.

This has been added and removed a couple of times, and really just comes down to how much flash space is available. With some of the latest library enhancements, I think there is the flash space for it again, but I'm reticent to add it in the fear that we'll bump up against the limits in the future (and thereby cause OTA updates to start failing - potentially catastrophically)
 
This has been added and removed a couple of times, and really just comes down to how much flash space is available. With some of the latest library enhancements, I think there is the flash space for it again, but I'm reticent to add it in the fear that we'll bump up against the limits in the future (and thereby cause OTA updates to start failing - potentially catastrophically)
I was afraid space was an issue, but it would be nice.
Now I don't suppose Lee has the same excuse for his . Not like there is an entire page in the maint panel just crying out for an update button or anything. ;-)
 
Back
Top