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.
Are you sure those are Lolin D32 Pros? Some of the off-brands are not capable of entering boot mode.

There are two buttons on those boards, one is reset and one is boot. After you click "go" (or whatever it says) to flash the board, click the boot button and release it. See if that gets it going.

I mean, reasonably sure. It is the 16MB LED model from this link from the documentation

The board itself looks like this (front and back), it only has the one button:

chugC2f.jpeg


SL3PcNq.jpeg


Holding the button while attempting to flash the board results in a "failure to initialize" error. Not messing with it allows it to complete the flash process as before but, again, nothing seems to happen afterwards.
 
Last edited:
I didn't say hold, I said "click the boot button and release it." I think you missed a step

OK, I clicked Install Tiltbridge on the Device Dashboard dialog using the TiltBridge - v1.1.1 - TFT firmware, then pressed the boot button and released it while Preparing Installation was shown on the dialog.

It ran through the Installation process, apparently successfully, then gave me the familiar Timed out waiting for packet header message as shown in the screenshot above.

Unplugging and reconnecting the board then inspecting the serial port output with RealTerm shows the same behaviour as above, that one block of output repeated ad infinitum.

Also, thank you for continuing to reply and attempting to troubleshoot this with me, it's a weird (and weirdly annoying) situation for sure, and I appreciate the help!
 
I didn't say hold, I said "click the boot button and release it." I think you missed a step :)
Just to make sure the board wasn't busted I uploaded the Wi-Fi AP Example sketch from here and it worked without a problem. I can connect to the AP and navigate to the URLs to control the LED with that code in place. So the board seems to be OK.

In case it helps, here are the settings when flashing with the Arduino IDE, I cannot tell what settings BrewFlasher is using. The desktop BrewFlasher app seems to be using 40MHz for the frequency with a size of 16MB.

220722150237-791.png


I have done some Google searches about this continuous boot loop and the threads I've found so far seem to have people pointing to using 80MHz when it is unsupported by the board or loading a binary that is too large. Since the Arduino IDE is also using 80MHz and the sketches from there load correctly I don't think that's it and since the board was sourced directly from a link in the TiltBridge docs I don't think it's a problem with space either 😕

Another edit: I found where the desktop BrewFlasher saves the firmware files (these do not appear to be available on github any longer?), installed esptool.py and flashed everything manually. Unfortunately I am still getting the same result. Interestingly when trying to set the flash frequency to 80MHz I got a warning about bootloader.bin needing to be hash verified and specifying both the flash frequency and size so those were not modified.

One thing that stands out is that looking at the AliExpress page for the 16MB boards it does state only 4MB can be used directly by software: Arduino, MicroPython

I am not familiar with these boards, but the spiffs.bin file is 7MB in size, could this be the issue?

Yet another edit: Oh, it looks like it gets compressed to 111541 bytes as part of the flashing process so, that answers that question...
 
Last edited:
I uploaded the Wi-Fi AP Example sketch from here and it worked without a problem.
Well that's good - and after uploading that you still were not able to use BrewFlasher?

seem to have people pointing to using 80MHz when it is unsupported by the board or loading a binary that is too large.
That's a red herring.

I found where the desktop BrewFlasher saves the firmware files (these do not appear to be available on github any longer?), installed esptool.py and flashed everything manually.
So maybe I'm confused. You say you used the desktop BrewFlasher and it works for you? Maybe I'm missing something. If it doesn;t work, please share the log from that.

One thing that stands out is that looking at the AliExpress page for the 16MB boards it does state only 4MB can be used directly by software: Arduino, MicroPython
Another red herring. The boards have 16 Mb (megaBIT) which is 4 MB (megaBYTE.) Confusing, I know.
 
Sounds like I am not explaining myself well, apologies. Will try again.
Well that's good - and after uploading that you still were not able to use BrewFlasher?
I can upload these simple sketches using the Arduino IDE with the LOLIN D32 PRO as the target board. When I do that, the board behaves as expected after the sketch is uploaded (blinking LED or simple AP point is created that allows control of the LED via a browser).
So maybe I'm confused. You say you used the desktop BrewFlasher and it works for you? Maybe I'm missing something. If it doesn;t work, please share the log from that.
When using BrewFlasher to flash the firmware the process appears to complete successfully. All writes of the binaries complete to 100%, all the data is verified, and the last action is the hard reset, see complete log from the desktop app attached.

The problem is that after the flashing process is complete the board is just appears to enter a continuous boot loop and do nothing else.
Another red herring. The boards have 16 Mb (megaBIT) which is 4 MB (megaBYTE.) Confusing, I know.
Got it, thanks.
 

Attachments

  • BrewFlashLog.txt
    4.4 KB
@Thorrak the only error I see in that is:

Code:
Warning: Image file at 0x1000 is protected with a hash checksum, so not changing the flash size setting. Use the --flash_size=keep option instead of --flash_size=16MB in order to remove this warning, or use the --dont-append-digest option for the elf2image command in order to generate an image file without a hash checksum

Recent change?
 
@Thorrak the only error I see in that is:

Code:
Warning: Image file at 0x1000 is protected with a hash checksum, so not changing the flash size setting. Use the --flash_size=keep option instead of --flash_size=16MB in order to remove this warning, or use the --dont-append-digest option for the elf2image command in order to generate an image file without a hash checksum

Recent change?
Just to note that the warning does go away when flashing directly with epstool.py and using -fs keep rather than -fs detect. Outcome is ultimately the same though.
 
I have done some Google searches about this continuous boot loop and the threads I've found so far seem to have people pointing to using 80MHz when it is unsupported by the board or loading a binary that is too large. Since the Arduino IDE is also using 80MHz and the sketches from there load correctly I don't think that's it and since the board was sourced directly from a link in the TiltBridge docs I don't think it's a problem with space either 😕

Another edit: I found where the desktop BrewFlasher saves the firmware files (these do not appear to be available on github any longer?), installed esptool.py and flashed everything manually. Unfortunately I am still getting the same result. Interestingly when trying to set the flash frequency to 80MHz I got a warning about bootloader.bin needing to be hash verified and specifying both the flash frequency and size so those were not modified.

Which version of BrewFlasher are you using? It should say in the lower left corner of the window.

The firmware is available on GitHub here, and the bootloaders are available here (as taken from the platformio platform distribution). Tiltbridge is compiled using platformio using the default settings for the d32_pro which uses 40MHz as the flash frequency.

I just tried changing BrewFlasher to use the previous bootloader (part of the TiltBridge repo) for the ESP32 instead -- try restarting BrewFlasher and flashing now to see if that fixes anything. If it does fix it... well, that's weird.
 
Which version of BrewFlasher are you using? It should say in the lower left corner of the window.

The firmware is available on GitHub here, and the bootloaders are available here (as taken from the platformio platform distribution). Tiltbridge is compiled using platformio using the default settings for the d32_pro which uses 40MHz as the flash frequency.

I just tried changing BrewFlasher to use the previous bootloader (part of the TiltBridge repo) for the ESP32 instead -- try restarting BrewFlasher and flashing now to see if that fixes anything. If it does fix it... well, that's weird.
Using BrewFlasher version 1.3.

Just re-flashed with it, can confirm that it re-downloaded all the files rather than using the previously downloaded ones. Unfortunately the outcome is the same as before.

Thank you for the link to the hardware specific firmware, I had looked through the repo and found the bootloader binaries but not the specific hardware binaries, might be worth updating the link in the epstool.py part of the doco to point to the releases for the hardware specific firmware too (currently it just points at the repo itself).

I am off to the airport in 30 minutes and will be out of town for a few weeks... will need to pick this up again after I come back. Thanks for all the help thus far.

Edit: uploaded the log again, virtually identical.
 

Attachments

  • BrewFlashLog2.txt
    4.4 KB
Last edited:
Greetings: I don't know if this has been asked in this forum post or not, With 21 pages, I guess I am being lazy or just old.
Question: I am using the Tilt devise with just my IPhone to gather the data. I looked at the Tilt Bridge and at that time, I was unable to purchase the components. What I am asking, Is there anyone that just sells a completed one that would work out of the box? Reason, I am a ,some to be, senior citizen and really don't to expend any more brain cells than a really have to. I'd rather just drink beer and brew. fish, walk, mow my lawn, drink beer, golf, oh did I say drink beer .
Thanks
Cheers
 
Greetings: I don't know if this has been asked in this forum post or not, With 21 pages, I guess I am being lazy or just old.
Question: I am using the Tilt devise with just my IPhone to gather the data. I looked at the Tilt Bridge and at that time, I was unable to purchase the components. What I am asking, Is there anyone that just sells a completed one that would work out of the box? Reason, I am a ,some to be, senior citizen and really don't to expend any more brain cells than a really have to. I'd rather just drink beer and brew. fish, walk, mow my lawn, drink beer, golf, oh did I say drink beer .
Thanks
Cheers
Yeah, let me ping you.
 
Greetings: I don't know if this has been asked in this forum post or not, With 21 pages, I guess I am being lazy or just old.
Question: I am using the Tilt devise with just my IPhone to gather the data. I looked at the Tilt Bridge and at that time, I was unable to purchase the components. What I am asking, Is there anyone that just sells a completed one that would work out of the box? Reason, I am a ,some to be, senior citizen and really don't to expend any more brain cells than a really have to. I'd rather just drink beer and brew. fish, walk, mow my lawn, drink beer, golf, oh did I say drink beer .
Thanks
Cheers
I am sort of in the same boat. I am a pcb designer but by the time I log off of working on a customer design I am not up for learning something new. Soldering and assembly is not a big deal, it is the programming and printing cases and such. 40 years ago I was programming in machine language, basic and in Pascal using 8" disks. That tells you my age. Got out of that nightmare. My brain learning a new way to code...
 
I am sort of in the same boat. I am a pcb designer but by the time I log off of working on a customer design I am not up for learning something new. Soldering and assembly is not a big deal, it is the programming and printing cases and such. 40 years ago I was programming in machine language, basic and in Pascal using 8" disks. That tells you my age. Got out of that nightmare. My brain learning a new way to code...

The programming bit is easy — you can just use BrewFlasher (or, you will be able to later tonight — @Stov54 found a bug that I have almost squished ;) ), but I agree that getting a case 3D printed is a pain. I typically offer to sell people cases if they need them, but my 3D printer has been down for the past few weeks, so I need to finish getting it back up and running before I can offer that service again.

The problem with selling a complete TiltBridge is the fact that it’s defining use case involves the radios on the chip, and therefore would require FCC testing/registration if sold as a completed device. There’s a fair bit of nuance here, but my reading of the law is that since changes a few years back any form of hardware modification (such as attaching a screen) makes the entire module subject to retesting even if the base module is FCC registered. The loophole here is that one can legally sell TiltBridge kits which can then be assembled by the end user and are acceptable under the law, but there are pretty severe fines if the kits somehow magically come assembled.

The nice thing is that assembling a TiltBridge kit - if you have the D32 Pro hardware and 3D printed case which @gromitdj designed - consists of 5 screws, 1 cable, and no soldering, so it’s pretty straightforward — but it’s not a 0 work, off-the-shelf solution.

I have been working on a “FCC-approved” solution using a different platform with a much smaller screen, but it’s not something I’ve prioritized as I worry about it’s commercial viability. Up until this point I’ve sold hardware to people that reach out and need it as a way to help people who want to build one of my projects, but that adds up to maybe one “sale” every few months at relatively low profit. Paying for the infrastructure to sell/support TiltBridge is expensive (especially since the software is free and open source, so an alternative will always be people building their own).
 
Last edited:
I'll just add that I have zero computer programing skills and this was super easy.

There was a moment when I thought it didn't work and had to turn here for help. I was using the wrong usb cable. So that gives you an idea of my skill level.
 
The programming bit is easy — you can just use BrewFlasher (or, you will be able to later tonight — @Stov54 found a bug that I have almost squished ;) ), but I agree that getting a case 3D printed is a pain. I typically offer to sell people cases if they need them, but my 3D printer has been down for the past few weeks, so I need to finish getting it back up and running before I can offer that service again.

The problem with selling a complete TiltBridge is the fact that it’s defining use case involves the radios on the chip, and therefore would require FCC testing/registration if sold as a completed device. There’s a fair bit of nuance here, but my reading of the law is that since changes a few years back any form of hardware modification (such as attaching a screen) makes the entire module subject to retesting even if the base module is FCC registered. The loophole here is that one can legally sell TiltBridge kits which can then be assembled by the end user and are acceptable under the law, but there are pretty severe fines if the kits somehow magically come assembled.

The nice thing is that assembling a TiltBridge kit - if you have the D32 Pro hardware and 3D printed case which @gromitdj designed - consists of 5 screws, 1 cable, and no soldering, so it’s pretty straightforward — but it’s not a 0 work, off-the-shelf solution.

I have been working on a “FCC-approved” solution using a different platform with a much smaller screen, but it’s not something I’ve prioritized as I worry about it’s commercial viability. Up until this point I’ve sold hardware to people that reach out and need it as a way to help people who want to build one of my projects, but that adds up to maybe one “sale” every few months at relatively low profit. Paying for the infrastructure to sell/support TiltBridge is expensive (especially since the software is free and open source, so an alternative will always be people building their own).
Yeah whenever we add a blue tooth module and wifi capability to a design we have to review all the paperwork to see if it needs to be submitted again. Tricky thing that agency. And that's all on top of supply chain issues and parts going end of life.
If you can point me in the direction to put together a kit I would appreciate it. The local small town high school has a 3d printer, maybe they would make me a case for a small donation..
 
Hi, seems that my D32 Pro (brand new from Thorrak Aliexpress URL, same as on the pic's from Stov54) shows symptoms like Stov54's D32. After flashing with BrewFlasher-1.3 x64.exe (works like a charm!) the access point does not show up stable. It's not possible to connect (maybe for a second) in the next second the ap disappeared.
Right now no TFT screen is connencted (still awaiting delivery) hence choose the OLED firmware version (tried the TFT also, ap does not show up at all - no serial log captured).
Verified that hardware is ok by downloading some example sketches (Wifi an AP) and all worked as expected.
Serial output reports that serious things are going on. Maybe anybody has a clue?
This message block repeats every second or so. Blue Led flashes.

Thanks, Franz


ELF file SHA256: 0000000000000000

Rebooting...
ets Jul 29 2019 12:21:46

rst:0xc (SW_CPU_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1044
load:0x40078000,len:10044
load:0x40080400,len:5872
entry 0x400806ac

Guru Meditation Error: Core 0 panic'ed (LoadStoreError). Exception was unhandled.

Core 0 register dump:
PC : 0x4017ee6d PS : 0x00060f30 A0 : 0x8017c8bb A1 : 0x3ffd9800
A2 : 0x00000000 A3 : 0x3f404724 A4 : 0x3ffcc8d0 A5 : 0x3ffc0ccc
A6 : 0x3ffcc4d0 A7 : 0x00000001 A8 : 0x8017ee6b A9 : 0x3ffd97e0
A10 : 0x00000014 A11 : 0x3f404724 A12 : 0x00000003 A13 : 0x3f446d35
A14 : 0x00000001 A15 : 0x0000000b SAR : 0x00000018 EXCCAUSE: 0x00000003
EXCVADDR: 0x3f404729 LBEG : 0x40183b34 LEND : 0x40183b4c LCOUNT : 0x00000000


Backtrace:0x4017ee6a:0x3ffd98000x4017c8b8:0x3ffd9830 0x401e16d9:0x3ffd9850
 
Last edited:
Give me a bit to see if I can get a temporary fix out there. I’ve been playing with this for the past week, but had to go out of town this weekend and haven’t found a permanent fix yet.
 
I just fixed one bug with the v1.1.2 firmware, but I'm not at home to be able to test it. If you want to give that a shot, it might work now. If not, try the v1.1.0 which I just reenabled as well.
 
Of course I'd like to give it a try. Just not sure how to fetch the ricght firmware. Deleted *.bin in D:\Users\Franz\AppData\Local\Temp and tried again with BrewFlasher "v1.1.2 - OLED" and Beta v1.1.0 TFT (and beta v.1.1.1 OLED). No success so far.
On Releases · thorrak/tiltbridge I can't find the new version either.
 
Hi, seems that my D32 Pro (brand new from Thorrak Aliexpress URL, same as on the pic's from Stov54) shows symptoms like Stov54's D32. After flashing with BrewFlasher-1.3 x64.exe (works like a charm!) the access point does not show up stable. It's not possible to connect (maybe for a second) in the next second the ap disappeared.
Right now no TFT screen is connencted (still awaiting delivery) hence choose the OLED firmware version (tried the TFT also, ap does not show up at all - no serial log captured).
Verified that hardware is ok by downloading some example sketches (Wifi an AP) and all worked as expected.
Serial output reports that serious things are going on. Maybe anybody has a clue?
This message block repeats every second or so. Blue Led flashes.
I'm also experiencing the same issues as Franz and Stov.

D32 Pro with the Lolin TFT.

I've used both the web loader and the desktop 1.3. I get "Firmware successfully flashed. Unplug/replug or reset device to switch back to normal boot mode." The screen turns white but no text and I can't see the AP from another device (it did show up once but I couldn't connect).

I've tried both v1.1.2 - TFT and Beta D32_Pro - v1.1.0 - TFT with same results.
 
Here's an alpha version to test with the changes I was working on this morning:
https://web.brewflasher.com/fw/23
I'm calling this an alpha because of the fact that there are a number of known bugs with the text on the display following the work I did this morning to swap display libraries. It should work, but the text on the display will be veeeery tiny. I'll work to get this corrected shortly and will post here once the next (updated) version is available.

I linked BrewFlasher Web Edition above which should work, but if you want to use BrewFlasher Desktop, you'll want to use v1.2 for now. One of the changes I made in v1.3 means that BrewFlasher's performance is inconsistent when flashing devices like the D32 Pro that have more than 4MB of flash. A new version of BrewFlasher is coming soon which will fix this.
 
Here's an alpha version to test with the changes I was working on this morning:
https://web.brewflasher.com/fw/23
I'm calling this an alpha because of the fact that there are a number of known bugs with the text on the display following the work I did this morning to swap display libraries. It should work, but the text on the display will be veeeery tiny. I'll work to get this corrected shortly and will post here once the next (updated) version is available.
I was able to load the alpha version via the web flasher and access the AP / configure the device.

Went out to the garage to connect to the tilt and it seems its battery died. Now I need to wait another week to retrieve my tilt from the fermenter.
 

Attachments

  • AF35DA17-ECAC-474A-9543-FF165FBE306A.jpeg
    AF35DA17-ECAC-474A-9543-FF165FBE306A.jpeg
    3.2 MB
Hi,

I´ve been successfully using tiltbridge together with brewfather for a couple of years and I love it. I got two ESP32 OLED boards and all is good. Recently, I bought a couple of new boards from another supplier (from ebay) and after installing the OLED firmware and resetting it, it is dead. Nothing comes up on the screen. No idea why, but just to be sure I´ve also tried installing the TTF and TTGO versions with no luck. Maybe someone here knows why? I´ve attached info regarding the board in question.

BTW: I´m trying the latest brewflasher 1.3 and tiltbridge 1.1.2 software.

Cheers,
Bard A

053FEC90-1E33-4F03-A4F9-BEB29B5A157A_1_201_a.jpeg
E322941D-6344-400A-93EF-00B06CC17E5C_1_201_a.jpeg
96472251-C723-4EA9-9106-25748F23FE11_1_201_a.jpeg
 

Attachments

  • 053FEC90-1E33-4F03-A4F9-BEB29B5A157A_1_201_a.jpeg
    053FEC90-1E33-4F03-A4F9-BEB29B5A157A_1_201_a.jpeg
    295.9 KB
  • E322941D-6344-400A-93EF-00B06CC17E5C_1_201_a.jpeg
    E322941D-6344-400A-93EF-00B06CC17E5C_1_201_a.jpeg
    623.6 KB
  • 96472251-C723-4EA9-9106-25748F23FE11_1_201_a.jpeg
    96472251-C723-4EA9-9106-25748F23FE11_1_201_a.jpeg
    515.3 KB
Here's an alpha version to test with the changes I was working on this morning:
https://web.brewflasher.com/fw/23
I'm calling this an alpha because of the fact that there are a number of known bugs with the text on the display following the work I did this morning to swap display libraries. It should work, but the text on the display will be veeeery tiny. I'll work to get this corrected shortly and will post here once the next (updated) version is available.

I linked BrewFlasher Web Edition above which should work, but if you want to use BrewFlasher Desktop, you'll want to use v1.2 for now. One of the changes I made in v1.3 means that BrewFlasher's performance is inconsistent when flashing devices like the D32 Pro that have more than 4MB of flash. A new version of BrewFlasher is coming soon which will fix this.

I just updated the alpha again. Preeeeetttty sure I found the bug in an upstream library that was causing most of the "white screen" issues, and was able to backport it to the earlier version of the code with the old TFT library. Still doing some testing on my end, but I expect that this will quickly go from "alpha" to "released".
 
I released the updated BrewFlasher earlier today as well to v1.4.0.

The main change this version incorporates is a fix to one of the issues I expect users may have encountered when flashing TiltBridge firmware to the D32 pro. Unfortunately, there has been a report of BrewFlasher 1.4.0 not working on Windows -- I think that I have managed to get things sorted with Microsoft in order to resolve the issue, but if any Windows user can confirm that it works for them I'd appreciate it!
 
Heads up... was just refreshing one of my TFTP models that was on an older 1.0.x and kept getting a white screen after flash succeeded using BrewFlasher to 1.1.3; I tried erase flash and various flash speeds to see if that was the issue... using the "beta d32_pro_tft v1.1.3-alpha" worked.

I tried flashing again after 1.1.3 alpha, toward the normal 1.1.3 TFT, tried the oled too to see if it was an issue. I scanned for WIFI to see if it was just not displaying correct.

I think the firmware that brewtools is grabbing for 1.1.13 may actually have a whitescreen bootloop issue
 
Heads up... was just refreshing one of my TFTP models that was on an older 1.0.x and kept getting a white screen after flash succeeded using BrewFlasher to 1.1.3; I tried erase flash and various flash speeds to see if that was the issue... using the "beta d32_pro_tft v1.1.3-alpha" worked.

I tried flashing again after 1.1.3 alpha, toward the normal 1.1.3 TFT, tried the oled too to see if it was an issue. I scanned for WIFI to see if it was just not displaying correct.

I think the firmware that brewtools is grabbing for 1.1.13 may actually have a whitescreen bootloop issue
Brewtools? What’s that? What version of BrewFlasher are you using?
 
FYI, i think there is a bootloop on the firmware that BrewFlashser is issuing for 1.1.3; when i download/install it i get white screen after successful programming.

If I pick the "alpha" 1.1.3 for TFT it works fine. not sure if i'm having a personal issue, but flashing any of the normal 1.1.3 versions (oled, usb-c) all seem to stay on white screen even after hard reset. Setting the TFT 1.1.3 alpha as the firmware works (as o
Brewtools? What’s that? What version of BrewFlasher are you using?

Sorry, meant to say i think the firmware BrewFlasher is grabbing is not correct... using BrewFlasher-1.4.0.Windows.x64 (just re-downloaded today when trying to reflash/update my bridges)
 
Back
Top