Native ESP8266 BrewPi Firmware - WiFi BrewPi, no Arduino needed!

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.
The temp doesn’t factor into the calculation at all. The chip on the iSpindel outputs an angle directly - that’s all that matters.
I collected 10 calibration points for 3 ispindels, then let fermentrack calculate. I get gravity's of .994 to 4.3 within a range that should be 1.0 to 1.08.
 
Finally got all (almost) working. Used the ispindel online calculator for coefficients, worked perfect. My guess fermentrack calculator has a bug. As for my 170f temps, I believe fermentrack is just adding an extra 1 to the temps and the rest of the #s are correct.
20180804_205625.jpeg
 
Finally got all (almost) working. Used the ispindel online calculator for coefficients, worked perfect. My guess fermentrack calculator has a bug. As for my 170f temps, I believe fermentrack is just adding an extra 1 to the temps and the rest of the #s are correct.

I'll have to play with the calculator here later when I can create some new test calibration points. It's possible that something isn't working right - I had to go through and refactor large chunks of the calibration code when working on the same for Tilts.

As far as the temperature goes, you're right in that there is a bug -- but the bug is (arguably) iSpindel's. If you look at the iSpindel code that added the ability to output in Fahrenheit/Kelvin, you'll see that the code made it so all temps sent out from iSpindel are in the converted units - but the units themselves aren't actually sent. As a result, we have no way of knowing if what we were sent was Celsius, Fahrenheit, or Kelvin.

This was a change from previous behavior - Previously, all temps were output in Celsius, which meant that we needed to universally apply scaling. Now, the scaling is applied on the iSpindel, so we no longer need to worry about it.

I've opened a new issue with iSpindel on GitHub, and will probably code up/submit a pull request here in a bit that would resolve the same. Until then, the only recommendation I can make is to use Celsius on the iSpindel itself, and set to Fahrenheit from within Fermentrack.
 
I just submitted a pull request that fixes this bug. If accepted by universam, you'll need to update to the (then created) new build of the iSpindel firmware.
Many thanks for working on this! Yet, another question. With the new ispindel firmware, at the bottom of the setup page it ask for username and password. This is different than the last version, any idea what its looking for?
 
Hi team,

I have tried searching, but is there a 3d print file for a case for this to house the project?
 
Many thanks for working on this! Yet, another question. With the new ispindel firmware, at the bottom of the setup page it ask for username and password. This is different than the last version, any idea what its looking for?

I’m guessing you have an option other than http selected for where the iSpindel is supposed to push its readings. Double check the options — there shouldn’t be a new username/password requirement.

Hi team,

I have tried searching, but is there a 3d print file for a case for this to house the project?

Try this one: https://www.thingiverse.com/thing:2874176
 
Hi Guys,

I have a Tilt Hydrometer and wants to build a PID to allow me to view the Tilt reads and control the temperature fermentation remotely when I found this project. I think it will do the job.

I have to questions:
1) Is it able to read natively the Tilt Hydrometer by Bluetooth?
2) Which parts do I need to buy to make that happens?

Thanks, everyone.
 
Hi Guys,

I have a Tilt Hydrometer and wants to build a PID to allow me to view the Tilt reads and control the temperature fermentation remotely when I found this project. I think it will do the job.

I have to questions:
1) Is it able to read natively the Tilt Hydrometer by Bluetooth?
2) Which parts do I need to buy to make that happens?

Thanks, everyone.

Unfortunately, this thread has discussions of two different projects in it - which matters in the case of this question.

The BrewPi-ESP8266 firmware does not have any provision for specific gravity control/management. It is a replacement for Legacy BrewPi controllers, and provides PID temperature control.

Fermentrack is a web interface designed to be run on a Raspberry Pi which both controls BrewPi controllers and handles incoming Tilt Hydrometer gravity data. In this sense, it can manage fermentation temps (using a BrewPi controller) as well as log Tilt data (using an attached Bluetooth radio or the one built in to newer Pis).

What were you thinking in terms of what you were looking to do?
 
Let me take a look at the iSpindel code when I get home.
I messed with it again during lunch today and got it taking to fermentrack. I left the user/ password blank and it finally started talking. Tho nothing has changed with fermentrack temp readings (still 170s)
 
I messed with it again during lunch today and got it taking to fermentrack. I left the user/ password blank and it finally started talking. Tho nothing has changed with fermentrack temp readings (still 170s)

Cheers to the fact that you got it working, but boo to the fact that it's still reading temps in the 170s. I'll have to take a look this weekend and see if I can discern why.
 
Unfortunately, this thread has discussions of two different projects in it - which matters in the case of this question.

The BrewPi-ESP8266 firmware does not have any provision for specific gravity control/management. It is a replacement for Legacy BrewPi controllers, and provides PID temperature control.

Fermentrack is a web interface designed to be run on a Raspberry Pi which both controls BrewPi controllers and handles incoming Tilt Hydrometer gravity data. In this sense, it can manage fermentation temps (using a BrewPi controller) as well as log Tilt data (using an attached Bluetooth radio or the one built in to newer Pis).

What were you thinking in terms of what you were looking to do?

Should I need both? Or with fermtrack only I will be able to control the fermentation?

Does the two runs on the same board at the same time?
 
Unfortunately, this thread has discussions of two different projects in it - which matters in the case of this question.

The BrewPi-ESP8266 firmware does not have any provision for specific gravity control/management. It is a replacement for Legacy BrewPi controllers, and provides PID temperature control.

Fermentrack is a web interface designed to be run on a Raspberry Pi which both controls BrewPi controllers and handles incoming Tilt Hydrometer gravity data. In this sense, it can manage fermentation temps (using a BrewPi controller) as well as log Tilt data (using an attached Bluetooth radio or the one built in to newer Pis).

What were you thinking in terms of what you were looking to do?

Should I need both? Or with fermtrack only I will be able to control the fermentation?

Does the two runs on the same board at the same time?
 
Should I need both? Or with fermtrack only I will be able to control the fermentation?

Does the two runs on the same board at the same time?

The BrewPi controller is the hardware that actually controls your fermentation temperature by switching on and off your fridge/heater/etc. Fermentrack is a software package that runs on a Raspberry Pi and controls the BrewPi controller.

To control fermentation temps you would need both. They do not run on the same board at the same time.

If you’re interested in a lighter weight solution where a single board controls both, take a look at @pocketmon’s BrewPiLess project. That said, one feature it does not have which Fermentrack supports is Tilt support. The board that BrewPiLess runs on doesn’t support Bluetooth.
 
This is great, I have my fridge all sorted and running like a charm.

Question - is there a way to make a button / switch or some more function for the chamber fan? Has anyone played with this?
 
@Thorrak

I am a newbie to the forum, but have been using Brewpi for a while now. I just have to commend you for a really well documented build process and I have to say it was by far the easiest set up I have see to get the RPi stuff going. I just built a controller with a WemosD1 on Serial (since I could not get things worked out quickly on Wifi - more on that later) and got up and running for my brew that I did today. Again - I LOVE the interface, LOVE the interconnection with Tilt, and I am looking forward to more updates as they happen.

I also love the PCB that you did - I ordered some and eager to get them all soldered up . Have to wait for all the other parts after the long shipping from Aliexpress order....

Again - I can't say enough that it is so nice to use the UI and see everything fermenting along!

@alexlark - I love what you did on your display! I want to go down the same path as you so keep the updates coming and I'd like to know more on your setup....

Cheers and thanks

Michael
 
Has anyone had any issues with the new Tilts?

I can get the values on the Tilt andriod app, but cant for the life of me get it to connect to Fermentrack.
 
Has anyone had any issues with the new Tilts?

I can get the values on the Tilt andriod app, but cant for the life of me get it to connect to Fermentrack.


Mine worked just fine. It does look like it does not log that often which i an fine with to preserve the battery life. I'll try seeing if I get similar success on my new fermentrack I just put together to see if I experience any issues with it. But so far it connected fine.
 
Has anyone had any issues with the new Tilts?

I can get the values on the Tilt andriod app, but cant for the life of me get it to connect to Fermentrack.

How new, and what color? How close is your Raspberry Pi to your Tilt?

This is great, I have my fridge all sorted and running like a charm.

Question - is there a way to make a button / switch or some more function for the chamber fan? Has anyone played with this?

Currently, no, but the code is open source if you wanted to take a stab at it. There are a few free pins on the ESP8266 -- but not many. Worth a try if it's something you're interested in!


@Thorrak

I am a newbie to the forum, but have been using Brewpi for a while now. I just have to commend you for a really well documented build process and I have to say it was by far the easiest set up I have see to get the RPi stuff going. I just built a controller with a WemosD1 on Serial (since I could not get things worked out quickly on Wifi - more on that later) and got up and running for my brew that I did today. Again - I LOVE the interface, LOVE the interconnection with Tilt, and I am looking forward to more updates as they happen.

I also love the PCB that you did - I ordered some and eager to get them all soldered up . Have to wait for all the other parts after the long shipping from Aliexpress order....

Again - I can't say enough that it is so nice to use the UI and see everything fermenting along!

@alexlark - I love what you did on your display! I want to go down the same path as you so keep the updates coming and I'd like to know more on your setup....

Cheers and thanks

Michael

Thanks! Best of luck with the build - if you have any issues/questions, let me know.
 
@alexlark - I love what you did on your display! I want to go down the same path as you so keep the updates coming and I'd like to know more on your setup....

Michael

Cheers, I must say after getting the LCD reset code in the right place I haven't had any more LCD screen scramble issues. This has lessened my haste to install the fancy screen (and I've got to make a bezel for it!). I've got a brew fermenting right now but my plan is to take Thorrak's latest firmware and get the code for the Nextion screen added to it, I will then do the hardware side of things and get the screen installed into my enclosure. I'll be back with photos :) Happy brewing!
 
Cheers, I must say after getting the LCD reset code in the right place I haven't had any more LCD screen scramble issues. This has lessened my haste to install the fancy screen (and I've got to make a bezel for it!). I've got a brew fermenting right now but my plan is to take Thorrak's latest firmware and get the code for the Nextion screen added to it, I will then do the hardware side of things and get the screen installed into my enclosure. I'll be back with photos :) Happy brewing!
Thanks and good to hear that things are progressing nicely. I've got a brew fermenting as well but I will be working on a second unit once everything arrives. One of the things that I want to incorporate is the SG coming from the Tilt into the display as that is one the things that I monitor more closely. I will put my order in for one of the displays here and play a bit of catch up after it all arrives. Thanks again.
 
Mine worked just fine. It does look like it does not log that often which i an fine with to preserve the battery life. I'll try seeing if I get similar success on my new fermentrack I just put together to see if I experience any issues with it. But so far it connected fine.
I tried this with my second unit - and sure enough - it is not finding the same Tilt that my other RPi is. Strange.
 
I'm in the process of getting my setup built, and had a few questions looking forward. I have a Raspberry Pi 3 B+ running Raspberry Pints (digital tap list, eventually with flow meters to track kegs), which lives with my keezer. My fermentation fridges are across the room (currently controlled with Itc-308s), so too far to have a serial connection - wifi is definitely preferable. I'm building a couple iSpindels as well, and will integrate those when they're ready.

Forgive me if these questions have been answered - I have tried searching and scanning through various threads, but I haven't seen these answered.

Since I need wifi, the Uno is out - unless Fermentrack supports using an ESP8266 wifi module to add wifi to the Uno? Or when the Uno Wifi Rev 2 comes out, would that built-in wifi work?

With the ESP8266 build, since there's no rotary encoder, how do you cold crash? Change the temperature wirelessly from the RPi as a new "fermentation"?

I'm hoping at some point there's a way to connect wirelessly and also use a rotary encoder to set temperature...

Edit: solved my other problem.
 
Last edited:
You can cold crash by altering the beer setting through the web interface. Which is the only way to control Fermentrack (I believe)

And yes it is all wireless if that’s the way you want to go, the instruction thread/link and. Videos explain how to set this up in the first few posts.

Re the rotary encoder, I seem to remember this wasn’t possible due to the state that some of the spare pins were set in when the ESP booted up which caused the system to crash, I think that was documented else where though.
 
@Mikmonken nailed it on all counts.

Whenever the “wifi” Uno is released, I can take a look at seeing if it can be supported, but my guess is that it will depend on the flash size available. BrewPi was already pushing the limits on firmware size so unless they bump it up I don’t see the addition of WiFi helping.

Fermentrack supports anything that looks like a serial port, so with some custom hacks, I’m pretty sure the WiFi hacks for the Uno discussed in other threads would work as well, though in my opinion you’d likely be better off just going the ESP8266 route.


For the rotary encoder, the ESP8266 is one (usable) pin short. If someone wanted to try, you could probably make it so three momentary push button switches could be used to control the menu (up, down, select) but it isn’t something I’m actively working on, as the easier thing to do is just control the device from within Fermentrack.

I am going to add a “smart crash” feature to Fermentrack at some point though that will generate a temporary “fermentation profile” lowering the temperature of your beer from whatever it is at that moment to cold crash temps, over the course of a number of hours to prevent suckback. Beats manually setting the beer temp any day. ;)
 
Ah ok, thanks! I appreciate the reply. For some reason part of me just doesn't like not being able to change the temperature at the fridge itself, instead relying on Fermentrack only. If for some reason my RPi dies, I still want to be able to ferment! I might look into the momentary button solution, once I get everything else working the way I'd like.

From what I can see on the Arduino site, it looks like the upcoming Uno Wifi Rev 2 will have a brand new 8-bit chip, so it won't surprise me at all if it has more flash/SRAM. I'm on the list to find out when it's released, so hopefully we'll know something before too long.

Oh, and @Thorrak I had a question for you about the enclosure you designed. Is there any particular reason why you chose to put the LCD on the lid instead of on one of the sides? It strikes me that there wouldn't be a good way to view this without walking right up to it. I was hoping to have my enclosures on top of the fridges, with the LCD facing front (and power cords in back, ideally), similar to how @LBussy had his BrewPi enclosure set up.
 
Last edited:
Ah ok, thanks! I appreciate the reply. For some reason part of me just doesn't like not being able to change the temperature at the fridge itself, instead relying on Fermentrack only. If for some reason my RPi dies, I still want to be able to ferment! I might look into the momentary button solution, once I get everything else working the way I'd like.

Perfectly fair point! I've just got so many RPis at this point that there's not much chance of not having one to use. ;)

From what I can see on the Arduino site, it looks like the upcoming Uno Wifi Rev 2 will have a brand new 8-bit chip, so it won't surprise me at all if it has more flash/SRAM. I'm on the list to find out when it's released, so hopefully we'll know something before too long.

Oh, and @Thorrak I had a question for you about the enclosure you designed. Is there any particular reason why you chose to put the LCD on the lid instead of on one of the sides? It strikes me that there wouldn't be a good way to view this without walking right up to it. I was hoping to have my enclosures on top of the fridges, with the LCD facing front (and power cords in back, ideally), similar to how @LBussy had his BrewPi enclosure set up.

There is, actually - but it's a bad one: Originally the case design didn't have an LCD at all. I created the first design for another project, which had the relay, power in, and power out - and nothing else. That design became the design I used as an enclosure for @ame 's Fuscus project, which then subsequently became the design for the ESP8266 port. Rather than redesign the base case to add an LCD port, I decided to instead put it in the lid.

The only good reason to leave it there is that it eliminates the need for either incredibly long bridges or printed supports. Of course, if you don't care about either of those, then by all means -- the source for the design is on the same Thingiverse page. Just edit the lid to remove the LCD hole, and add the LCD hole into the base case. Problem solved!
 
Hi, I'm new to Fermentrack and in the middle of building a fridge. Fermentrack looks brilliant, can't wait to get it up and running a brew.

I'm having trouble setting up the pins on a nodeMCU (AI Thinker). Fermentrack appeared to have contact with the MCU, as it showed the 'Idling for...' lcd screen in the portal.

When I try to set my pins, I get an error: "Failed to write the configuration to the controller. If this continues, try resetting the EEPROM on the controller", and sometimes "BrewPi-script wasn't able to load sensors from the controller. Try restarting brewpi-script. If that fails, try restarting the controller"

I'm not sure how to reset EEPROM or restart brewpi-script.

I have power-cycled the controller a few times, and pressed the 'reset' button, to no avail.

What can I try please?

Screenshot_20180911-084435.png Screenshot_20180911-084427.png Screenshot_20180911-084236.png
 
Anyone able to help me with this? I'd like to try and get it up and running so i can get a brew on this weekend.
 
Click on the "Chamber" on the top menu, then click the "Configure control constants" - scroll down to the bottom - and hit the reset EEPROM button.
 
Click on the "Chamber" on the top menu, then click the "Configure control constants" - scroll down to the bottom - and hit the reset EEPROM button.

Thanks, I stumbled across that while rummaging through the fermentrack interface last night. Unfortunately it didn't have any affect, and I still was getting the EEPROM error message when setting pins.

I did manage to get things working however. I decided just to focus on my nodeMCU board, and give up on the 2 Wemos boards for now.

What I tried was this:

Flash from Windows instead of from Fermentrack directly on the Raspberry Pi. I used Windows 10 running in Parallels on my Mac.
  1. Download ESP8266 Flasher from https://github.com/nodemcu/nodemcu-flasher/blob/master/Win64/Release/ESP8266Flasher.exe
  2. Download ESP8266 bin file from: https://github.com/thorrak/brewpi-esp8266/blob/master/bin/brewpi-esp8266.v0.11.wifi.bin
  3. Install cp2102 usb to uart bridge controller driver from
    https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
  4. First flash the ESP8266 module blank using:
    Code:
    INTERNAL://BLANK
    from https://github.com/nodemcu/nodemcu-flasher
  5. Then flash the brewpi bin file brewpi-esp8266.v0.11.wifi.bin
  6. Reboot the nodeMCU
  7. Set up the wifi as normal... then selecting the pins worked as expected.
A point to note was after flashing this time the WIFI AP was ESP_xxxxxx where as previously it was AI_THINKER_xxxx

I set up my temperature sensors and relay board on breadboard and have left it to run to test things before I hook it up to the fridge. Heating and cooling seem to be working fine with the relays clicking on and off :D

@Thorrak can I make some suggestions to the UI and docs for newbies (like me)...
  1. This message could do with a hyperlink to the part of Fermentrack where you can reset the EEPROM:
    "Failed to write the configuration to the controller. If this continues, try resetting the EEPROM on the controller"
  2. The docs need something about eeprom reset in them, when I was googling https://www.google.co.uk/search?q=fermentrack+reset+eeprom I couldn't find anything.
  3. The Wifi reset BIN should be flagged up in the docs as a good first step if you are using an ESP8266 which is not brand new, or need to reset your wifi settings. I only stumbled across that later on.
  4. Any idea why my controller did not work until I flashed it through windows? Is there an issue flashing from Fermentrack on Raspberry Pi? All the flash logs in Fermentrack show successful flashing for me (I can provide these if it helps)
  5. A way to blank-flash the module could be useful in setting up too, if that would be possible from Fermentrack.
Thanks, looking forward to getting the fridge wired in soon now.
 
@Thorrak Thank you for your hard work on this! A friend of mine has been running the original BrewPi now for about 4 years and now I'm keen to build your BrewPi-ESP8266. I downloaded the main "Eagle" board files. Would it be possible to get the .brd of the RJ-11 Sensor Breakout Board :) Thanks.
 
Sorry for the silence the past few weeks from my end. In planning for the trip to GABF this year, we decided to extend things on both sides resulting in me being out of town for the past few weeks. Combine that with the fact that my job tends to have much longer hours during the first 8 business days of each month, and, well... :) Anyways, a few responses to some stuff that came up over the past few weeks:

@Thorrak can I make some suggestions to the UI and docs for newbies (like me)...
  1. This message could do with a hyperlink to the part of Fermentrack where you can reset the EEPROM:
    "Failed to write the configuration to the controller. If this continues, try resetting the EEPROM on the controller"
  2. The docs need something about eeprom reset in them, when I was googling https://www.google.co.uk/search?q=fermentrack+reset+eeprom I couldn't find anything.
  3. The Wifi reset BIN should be flagged up in the docs as a good first step if you are using an ESP8266 which is not brand new, or need to reset your wifi settings. I only stumbled across that later on.
  4. Any idea why my controller did not work until I flashed it through windows? Is there an issue flashing from Fermentrack on Raspberry Pi? All the flash logs in Fermentrack show successful flashing for me (I can provide these if it helps)
  5. A way to blank-flash the module could be useful in setting up too, if that would be possible from Fermentrack.

Yes, thanks for the suggestions! I've added the following issue to GitHub to track the above, and will try to get them implemented shortly: https://github.com/thorrak/fermentrack/issues/306

With regards to your question as to why the controller didn't work until flashed through Windows, I can only imagine it has something to do with the controller being zeroed out (or otherwise more thoroughly "reset") by the Windows flasher you used in comparison to the one used by Fermentrack. I'll have to dig through the docs for esptool to see if maybe there's a flag or something I can add.


@Thorrak Thank you for your hard work on this! A friend of mine has been running the original BrewPi now for about 4 years and now I'm keen to build your BrewPi-ESP8266. I downloaded the main "Eagle" board files. Would it be possible to get the .brd of the RJ-11 Sensor Breakout Board :) Thanks.

Nice - Hopefully it works for you! I thought I had the Eagle .brd uploaded for the RJ-11 Sensor Breakout Board - if I didn't, I'd be happy to provide it (assuming I can find it). That said - I would strongly recommend using the RJ-45 boards (both the PCB & breakout board) as it's a lot more forgiving in terms of cable selection. Apparently there's a mix of both straight-through & crossover RJ-11 cables out there, and only one kind works with the board.
 
Back
Top