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.
Quick update - Things are progressing much faster than I originally anticipated with the redesign of the Tiltbridge. While I'm hoping to have an official announcement by the end of the year, if anyone is interested in ordering the hardware now, you'll want 3 parts:

Board - https://www.aliexpress.com/item/32883116057.html
TFT Screen - https://www.aliexpress.com/item/32919729730.html
Cable - https://www.aliexpress.com/item/32848833474.html

Here’s a teaser:
59AC25BA-F053-4419-A6A5-FF3910314FAC.jpeg
 
THORRAK,

Since boards purchased from AliExpress are not reliable and and there is a quite a bit frustration getting these boards to work, why not develop the software to be used on a Espressif Development Board such as the ESP32-DevKit3. This board uses the the official ESP32-WROOM-32 and is readily available from US Sources. Not some China stealing counterfeit junk.

https://www.espressif.com/en/products/hardware/esp32-devkitc/overview.

Regards,

DB
 
This board uses the the official ESP32-WROOM-32 and is readily available from US Sources. Not some China stealing counterfeit junk.

Adjustments.JPG


I’m trying to determine where to start...China, stealing, counterfeit, or junk.

AliExpress is just a means to an end....a really slow boat from China means, but one none the less. The fact is, I can buy all the same “junk” from Amazon and pay 4 times the money. I’ll be honest, all my experiences with AliExpress were really positive.

I got working results with Thorrak’s original Tilt Bridge build recommendation. Now with the LoLin parts, I think everybody that goes that route are going to have repeatable, successful results...and I’ll be sad as I see everyone with their shiny new Tilt Bridge 2.0 builds while I’m stuck with Tilt Bridge 1.0 (which will probably be disowned by the creator and swept under a rug)
 
THORRAK,

Since boards purchased from AliExpress are not reliable and and there is a quite a bit frustration getting these boards to work, why not develop the software to be used on a Espressif Development Board such as the ESP32-DevKit3. This board uses the the official ESP32-WROOM-32 and is readily available from US Sources. Not some China stealing counterfeit junk.

https://www.espressif.com/en/products/hardware/esp32-devkitc/overview.

Regards,

DB

Hey there!

When I originally was designing this project, I actually had that thought -- throw up a kickstarter, find a firm that does PCB assembly and try to turn this into a marketable product. The issue is that there's both very little margin in the product, and a relatively small market size.

While I suppose that is the definition of what kickstarter is for (niche projects that have moderate barriers to entry) I'd estimate the cost would need to be in the $40-$50 range to make everything work, and I'd need to sell at least ~200-300 to make the initial run profitable. Impossible? Certainly not - but it would take some marketing to make the kickstarter viable and that's not one of my strengths.

That said, the manufacturer that I linked above is LOLIN, which is the manufacturer I've been recommending for my ESP8266 BrewPi port, and I've had very few issues with their board. Most importantly, they are manufacturing their own designs - which means they aren't likely to suddenly have new pinouts just because their upstream supplier changed things without telling anyone.

Is that as good as having a single board design with exactly the hardware I'd like to see? Definitely not - but unless someone wants to subsidize getting this productionized, it's a pretty good alternative!
 
I’m trying to determine where to start...China, stealing, counterfeit, or junk.

AliExpress is just a means to an end....a really slow boat from China means, but one none the less. The fact is, I can buy all the same “junk” from Amazon and pay 4 times the money. I’ll be honest, all my experiences with AliExpress were really positive.

I got working results with Thorrak’s original Tilt Bridge build recommendation. Now with the LoLin parts, I think everybody that goes that route are going to have repeatable, successful results...and I’ll be sad as I see everyone with their shiny new Tilt Bridge 2.0 builds while I’m stuck with Tilt Bridge 1.0 (which will probably be disowned by the creator and swept under a rug)

While I'm only two drinks in at the moment, I'll bite on all of the above. ;)

China: You hit the nail on the head. Espressif is a Chinese manufacturer, so hey - no escaping that one!

Counterfeit Junk: This actually is a problem. I didn't realize it until @LBussy pointed out, but the "TTGO" boards I was previously recommending are actually knockoffs of a "Heltec" design. Normally I'm OK with this - multiple manufacturers of a design makes it more likely that the design survives into the future - but the thing that has frustrated this project is how inconsistent the designs are. If you read the code, I actually have provisions for four separate board configurations - including a "reference" PCB that I designed based on Espressif's recommendations.

Of course, in the case of LOLIN, I'd argue they're the progenitors of a lot of these designs - so I'll assume they're exempt from the "counterfeit" designation. ;)

AliExpress: You and I also agree on AliExpress, though I will actually say that I prefer AliExpress in some cases. For a different project I need some specialty LiPo batteries, and being able to shoot an email off to a manufacturer with the specs I need and then only order three batteries is incredibly convenient.

...and finally...

You are 100% correct that I was planning to disown this project the exact moment that TiltBridge 2.0 is released. Just for you, however, I'll try to backport as many features as possible. I can't promise they'll be tested and working, but the code will be there!


At the moment though, that's one feature: Brewfather support. Everything else is just to get the new hardware working.
 
View attachment 655252

I’m trying to determine where to start...China, stealing, counterfeit, or junk.

AliExpress is just a means to an end....a really slow boat from China means, but one none the less. The fact is, I can buy all the same “junk” from Amazon and pay 4 times the money. I’ll be honest, all my experiences with AliExpress were really positive.

I got working results with Thorrak’s original Tilt Bridge build recommendation. Now with the LoLin parts, I think everybody that goes that route are going to have repeatable, successful results...and I’ll be sad as I see everyone with their shiny new Tilt Bridge 2.0 builds while I’m stuck with Tilt Bridge 1.0 (which will probably be disowned by the creator and swept under a rug)

The point I was trying to make is you dont know what your getting. I think Thorrak even suggeated quality issues. If you buy an Espressif made board from a US supplier, digikey, mouser etc, quality is good and all documentation, schematics, design notes etc. are readily available. With all that said, thank you Thorrak for all your work developing tiltbridge!
 
Quick update - Things are progressing much faster than I originally anticipated with the redesign of the Tiltbridge. While I'm hoping to have an official announcement by the end of the year, if anyone is interested in ordering the hardware now, you'll want 3 parts:

Board - https://www.aliexpress.com/item/32883116057.html

Does it matter what flavor board we get? 16MB Flash? 16MB Flash (LED)? The 4MB Flash is not currently available.
 
Does it matter what flavor board we get? 16MB Flash? 16MB Flash (LED)? The 4MB Flash is not currently available.

I recommend against the LED one since you won’t be using a battery, but the flash size doesn’t matter. I haven’t ever seen the 4MB version in stock for what it’s worth - 16MB will work great.
 
Hello Thorrak,

Do you have any info for developers. I would like to compile your project for another board I have. But I don't know what compiler/libraries/setup is needed.

Thank you,

DB.
 
Hello Thorrak,

Do you have any info for developers. I would like to compile your project for another board I have. But I don't know what compiler/libraries/setup is needed.

Thank you,

DB.

What board are you trying to compile it for?


The short answer to your question is no, unfortunately. I've written some rudimentary instructions for developers for my ESP8266 port of BrewPi, but they aren't anywhere near complete, and are primarily designed to point developers in the right general direction rather than guide from 0 to a working compile. TiltBridge is written with Platformio for compilation targeting the ESP32 - if you read through the document I linked above and documentation associated with platformio that should get you moving towards the answers to the questions around compiler/libraries/setup. In the platformio universe, all libraries are either in platformio.ini or the lib folder. Platformio takes care of determining the right compiler/toolchain for the board, but I believe the toolchain in use is the xtensa toolchain.
 
What board are you trying to compile it for?


The short answer to your question is no, unfortunately. I've written some rudimentary instructions for developers for my ESP8266 port of BrewPi, but they aren't anywhere near complete, and are primarily designed to point developers in the right general direction rather than guide from 0 to a working compile. TiltBridge is written with Platformio for compilation targeting the ESP32 - if you read through the document I linked above and documentation associated with platformio that should get you moving towards the answers to the questions around compiler/libraries/setup. In the platformio universe, all libraries are either in platformio.ini or the lib folder. Platformio takes care of determining the right compiler/toolchain for the board, but I believe the toolchain in use is the xtensa toolchain.

Thanks for the info. I'm developing on the ESP32-DevKitC which houses the ESP32-WROOM-32D. Then I will build my own board, to integrate temperature control and tilt on one board using the ESP32-WROOM-32D. Your compiled .bins should load just fine on this board, but I want to add to the code to include temperature control. I have embedded systems development experience (hardware and software) but I have not yet worked with Arduino or Espressif based systems yet.
 
Thanks for the info. I'm developing on the ESP32-DevKitC which houses the ESP32-WROOM-32D. Then I will build my own board, to integrate temperature control and tilt on one board using the ESP32-WROOM-32D. Your compiled .bins should load just fine on this board, but I want to add to the code to include temperature control. I have embedded systems development experience (hardware and software) but I have not yet worked with Arduino or Espressif based systems yet.

Ahh - cool thought! Are you thinking two ESPs or one
 
Thanks for the info. I'm developing on the ESP32-DevKitC which houses the ESP32-WROOM-32D. Then I will build my own board, to integrate temperature control and tilt on one board using the ESP32-WROOM-32D. Your compiled .bins should load just fine on this board, but I want to add to the code to include temperature control. I have embedded systems development experience (hardware and software) but I have not yet worked with Arduino or Espressif based systems yet.

Hey Thorrak,

I was able to complile for ESP32-DevKitC with platformio IDE and I uploaded to the ESP32 from platformio IDE. It seems to work up to the point of accessing the ESP32 using http://tiltbridge.local.

I was able to set up initially with tiltbridgeAP. It appears that it cannot connect to my network. I am not seeing it on my routers list of connected devices. Is there a router setting that could be blocking this?

Any other thoughts/ideas to try?

Thanks,

DB.
 
Hey Thorrak,

I was able to complile for ESP32-DevKitC with platformio IDE and I uploaded to the ESP32 from platformio IDE. It seems to work up to the point of accessing the ESP32 using http://tiltbridge.local.

I was able to set up initially with tiltbridgeAP. It appears that it cannot connect to my network. I am not seeing it on my routers list of connected devices. Is there a router setting that could be blocking this?

Any other thoughts/ideas to try?

That's weird. There are a handful of routers that don't work with mDNS for some reason, but the device should still register on the network - you would just need to access it via its IP address rather than its mDNS name.

The only thing I can think is that potentially your router is blocking devices using the "older" wireless standards? The ESP32 supports 802.11b/g/n so I can see where some networks would block it as a result.
 
That's weird. There are a handful of routers that don't work with mDNS for some reason, but the device should still register on the network - you would just need to access it via its IP address rather than its mDNS name.

The only thing I can think is that potentially your router is blocking devices using the "older" wireless standards? The ESP32 supports 802.11b/g/n so I can see where some networks would block it as a result.

So, my device is connecting to my network. I can see the device in the routers list of connected devices. But I cannot access it by pointing my browser to http://tiltbridge.local or "10.0.0.146".
I disabled my firewall. Enabled the router DMZ for 10.0.0.146. But the browser still reports "ERR_CONNECTION_REFUSED". Is there a port I should forward? I am running out of ideas. Ughhh.

Thanks,

DB
 
I was having trouble with bluetooth working using Fermentrack on my Raspberry pi so I decided to go with a ESP32-based TiltBridge.

I got it flashed and connected to my network but Fermentrack said "Unable to automatically update Fermentrack URL on TiltBridge Tilt Bridge 1" so I manually set the URL Fermentrack said to update in the bridge, but it just won't seem to push the data to Fermentrack.

The TiltBridge correctly displays the info on the onboard screen and I even have it successfully pushing data to a google sheet, but still no luck getting it to push data to Fermentrack.

Any Suggestions? It's getting frustrating with this already being a kinda workaround to the original bluetooth problem.

Thanks in advance.
 
So, my device is connecting to my network. I can see the device in the routers list of connected devices. But I cannot access it by pointing my browser to http://tiltbridge.local or "10.0.0.146".
I disabled my firewall. Enabled the router DMZ for 10.0.0.146. But the browser still reports "ERR_CONNECTION_REFUSED". Is there a port I should forward? I am running out of ideas. Ughhh.

It should just be port 80. Are you using firmware you compiled, or the firmware that was posted?
 
I was having trouble with bluetooth working using Fermentrack on my Raspberry pi so I decided to go with a ESP32-based TiltBridge.

I got it flashed and connected to my network but Fermentrack said "Unable to automatically update Fermentrack URL on TiltBridge Tilt Bridge 1" so I manually set the URL Fermentrack said to update in the bridge, but it just won't seem to push the data to Fermentrack.

The TiltBridge correctly displays the info on the onboard screen and I even have it successfully pushing data to a google sheet, but still no luck getting it to push data to Fermentrack.

Any Suggestions? It's getting frustrating with this already being a kinda workaround to the original bluetooth problem.

Thanks in advance.

Was the URL you set an "xxxx.local" url, or an IP address?

For the issues with Fermentrack + Bluetooth - What raspberry pi are you using, and what version of Raspbian?
 
Was the URL you set an "xxxx.local" url, or an IP address?

For the issues with Fermentrack + Bluetooth - What raspberry pi are you using, and what version of Raspbian?

The URL was essentially " http://##.##.###.##/tiltbridge/ " but the IP address in place of the #'s was not the local IP address for my home network

I'm running Buster on a Raspberry Pi 3B+. I've tried following the instructions Fermentrack lists for getting bluetooth support back, but it doesn't seem to help. Possibly part of the problem is I can't seem to use sudo when in the fermentrack user since the password doesn't seem to be my pi user password or my Fermentrack password.
 
Last edited:
The one I compiled. I'll try the .bins. next.
I was actually going to recommend the opposite!
The URL was essentially " http://##.##.###.##/tiltbridge/ " but the IP address in place of the #'s was not the local IP address for my home network

I'm runny Buster on a Raspberry Pi 3B+. I've tried following the instructions Fermentrack lists for getting bluetooth support back, but it doesn't seem to help. Possibly part of the problem is I can't seem to use sudo when in the fermentrack user since the password doesn't seem to be my pi user password or my Fermentrack password.

Ahhh - Apologies for any confusion. Run those commands as sudo from the pi user.
 
I was actually going to recommend the opposite!


Ahhh - Apologies for any confusion. Run those commands as sudo from the pi user.


I actually already tried that. When I try to run " source ~/venv/bin/activate " from the pi user I get " -bash: /home/pi/venv/bin/activate: No such file or directory "
 
I was actually going to recommend the opposite!


Ahhh - Apologies for any confusion. Run those commands as sudo from the pi user.

Also it actually looks like it is failing when doing it under fermentrack (Still can't do it as sudo but can run it without adding sudo) and getting this error:


arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I./port3 -I/home/fermentrack/venv/include -I/usr/include/python3.7m -c bluez/btmodule.c -o build/temp.linux-armv7l-3.7/bluez/btmodule.o
In file included from bluez/btmodule.c:20:
bluez/btmodule.h:5:10: fatal error: bluetooth/bluetooth.h: No such file or directory
#include <bluetooth/bluetooth.h>
 
Also it actually looks like it is failing when doing it under fermentrack (Still can't do it as sudo but can run it without adding sudo) and getting this error:


arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I./port3 -I/home/fermentrack/venv/include -I/usr/include/python3.7m -c bluez/btmodule.c -o build/temp.linux-armv7l-3.7/bluez/btmodule.o
In file included from bluez/btmodule.c:20:
bluez/btmodule.h:5:10: fatal error: bluetooth/bluetooth.h: No such file or directory
#include <bluetooth/bluetooth.h>


That sounds right - The missing library is because the Bluetooth libraries are not included by default in the latest version of raspbian. The instructions to fix this to an already installed Fermentrack build are as you noted:

  1. Log into your Raspberry Pi via ssh as the pi user (or another user that can run things as `sudo`)
  2. Run “sudo apt-get install libbluetooth-dev” as the pi user
  3. Run “sudo su fermentrack” as the pi user (this will change you to be the fermentrack user)
  4. Run “source ~/venv/bin/activate” as the fermentrack user
  5. Run “cd ~/fermentrack” as the fermentrack user after running the source command
  6. Run “pip install -r requirements.txt” as the fermentrack user after changing directories as noted above
I've added the notes in red to hopefully clarify things.
 
That sounds right - The missing library is because the Bluetooth libraries are not included by default in the latest version of raspbian. The instructions to fix this to an already installed Fermentrack build are as you noted:

  1. Log into your Raspberry Pi via ssh as the pi user (or another user that can run things as `sudo`)
  2. Run “sudo apt-get install libbluetooth-dev” as the pi user
  3. Run “sudo su fermentrack” as the pi user (this will change you to be the fermentrack user)
  4. Run “source ~/venv/bin/activate” as the fermentrack user
  5. Run “cd ~/fermentrack” as the fermentrack user after running the source command
  6. Run “pip install -r requirements.txt” as the fermentrack user after changing directories as noted above
I've added the notes in red to hopefully clarify things.


Thank you SO much!

Your instructions worked perfectly. Perhaps the instructions within Fermentrack should be changed to match that as well since those were the directions I was following to fix the problem, but wasn't working.

Below are the instructions Fermentrack gives:

Captureddfdfd.JPG
 
While I'm only two drinks in at the moment, I'll bite on all of the above. ;)
You are 100% correct that I was planning to disown this project the exact moment that TiltBridge 2.0 is released. Just for you, however, I'll try to backport as many features as possible. I can't promise they'll be tested and working, but the code will be there!

So in that case would the newest hardware you recc. be "future proof" for 2.0?
 
What board are you trying to compile it for?


The short answer to your question is no, unfortunately. I've written some rudimentary instructions for developers for my ESP8266 port of BrewPi, but they aren't anywhere near complete, and are primarily designed to point developers in the right general direction rather than guide from 0 to a working compile. TiltBridge is written with Platformio for compilation targeting the ESP32 - if you read through the document I linked above and documentation associated with platformio that should get you moving towards the answers to the questions around compiler/libraries/setup. In the platformio universe, all libraries are either in platformio.ini or the lib folder. Platformio takes care of determining the right compiler/toolchain for the board, but I believe the toolchain in use is the xtensa toolchain.

Hello Thorrak,

You have the binaries firmware.bin, spiffs.bin, and partitions.bin. When I compile with PlatformIO it loads into my device, but it doesn't seem to create the .bins. Is there another process to create the bins separately?

Thanks for your help.
DB.
 
Hello Thorrak,

You have the binaries firmware.bin, spiffs.bin, and partitions.bin. When I compile with PlatformIO it loads into my device, but it doesn't seem to create the .bins. Is there another process to create the bins separately?

Thanks for your help.
DB.
I'm not near a PC with anything compiled in PIO to be able to check, but I believe that it's in a directory under .pioenvs (at least on my mac). There are three files you're referring to - Only two will be created by default (the firmware & partitions files). I'd recommend digging through the platformio documentation for your platform/IDE - in CLion I can hit a button that reads something like "Upload FS" to generate the third (spiffs).
 
So in that case would the newest hardware you recc. be "future proof" for 2.0?

Yes.

The OLED code will be built as well, but given the issues in the past with sourcing hardware that works, I’m expecting the TFT + D32 Pro combination will be the most reliable choice for most builds.
 
Quick update - Things are progressing much faster than I originally anticipated with the redesign of the Tiltbridge. While I'm hoping to have an official announcement by the end of the year, if anyone is interested in ordering the hardware now, you'll want 3 parts:

I've got my parts ordered and they're on the way. Looking forward to this project!
 

Nice!!!

I’ll post some unofficial firmware here later, so long as everyone promises to act surprised when the official release happens later (and also promises to upgrade to the latest firmware when that happens, as I’m thinking of making some additional tweaks, if the flash size allows)
 
I’ve chatted with Thorrak a little about this, but figured I would make this public, in case someone else wants to do this...

I would like to power the Lolin D32 Pro with my 5V DC Power Supply, but I would also like to hook up a USB, when needed, and not fry the board.

I’m hoping someone can confirm.

I think if I tie the EN pin to a Ground pin, and then run my 5V DC through a level shifter to 3.3V. I can then run my Power to the 3V pin on the D32.

Does this sound right?

I’ve attached the D32 Pro schematic for reference, and the YouTube video about the EN pin.

Adjustments.JPG

Adjustments.JPG




Thanks in advance.
 
Back
Top