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.
Is there any downside to doing this across the board for new installations? Wondering if it would make sense to just add it to the installer for BrewPi-www (since we're already using a customized version).
I do it as a matter of course with no ill effects.
 
I'm not sure whether it's because I only have beer and Fridge probes attached, but I use safari on iOS and OS X and haven't noticed any issues with the LCD display, I'd just assumed you'd repaired the unable to connect issue.
 
How do I adjust the brightness of the black type on the LCD?.I can barely read the type and it got better by turning the pot to the right but I ran out of adjustment. I just hooked up the display today for the first time.2004a with the 4 pin control board factory installed on the back of the LCD.Do I need more power?I'm only using a 3v wall wart to power the D1 mini board and separate power for the RPI Zero.
EDIT: I swapped out the power supply to 5v and alls good.
 
I'm not sure whether it's because I only have beer and Fridge probes attached, but I use safari on iOS and OS X and haven't noticed any issues with the LCD display, I'd just assumed you'd repaired the unable to connect issue.

I did - under Fermentrack. Under brewpi-www there was (at least) one bug remaining before last night.

Of course now that I've said that there will be a new one that pops up. Feel free to ping me if that turns out to be the case!


How do I adjust the brightness of the black type on the LCD?.I can barely read the type and it got better by turning the pot to the right but I ran out of adjustment. I just hooked up the display today for the first time.2004a with the 4 pin control board factory installed on the back of the LCD.Do I need more power?I'm only using a 3v wall wart to power the D1 mini board and separate power for the RPI Zero.


You do - I'm actually surprised that everything is running at the moment. Most of the LCD screens require 5V to run at all. When I did some back-of-the-envelope math I was estimating that you need 5V 750ma to run everything. 5V 2A power supplies are dirt cheap on AliExpress, so that's what I went with just to have more headroom.
 
You do - I'm actually surprised that everything is running at the moment. Most of the LCD screens require 5V to run at all. When I did some back-of-the-envelope math I was estimating that you need 5V 750ma to run everything. 5V 2A power supplies are dirt cheap on AliExpress, so that's what I went with just to have more headroom.

Just some additional data for posterity's sake...on the BrewPi builds, the resistors and transistors knock the voltage down from 5V to the sweet spot of about 3.4V getting to the anode for the backlight on the LCD. It would make sense that if you're not starting with 5V going to the 10k trimmer that connects to the Vo (contrast) pin on the LCD, you're not going to get the contrast you're looking for because you're starting with 3V instead of the full 5V.
 
A few quick updates from my side --

I just pushed out a new update to Fermentrack which focuses on improving Fermentation Profile support. There are three main changes that came with this update:

  • Fermentation profiles can now be copied
  • You can now start midway-through a fermentation profile
  • Fermentation profiles can be easily exported/imported

Of the three features mentioned above, the biggest one is probably the ability to export/import Fermentation profiles. Basically, what this means is that you can now paste your favorite fermentation profiles into, say, a forum like HBT and other Fermentrack users can easily use them for their own beers. As an example, here's a lager profile I'm currently trying out:

Code:
=====================================================
| Brulosopher Fast Lager (Low-Mid SG, Liquid Yeast) |
| Standard Profile                                  |
=====================================================
| 6d               | 52.00 F                        |
| 7d 12h           | 67.00 F                        |
| 11d              | 67.00 F                        |
| 15d              | 33.00 F                        |
| 20d              | 33.00 F                        |
=====================================================

If you go to Ferm Profiles and click the "Import Profile" button on the bottom, you can paste that whole thing in to import my fermentation profile. Neat, huh?

The other big feature is the ability to start midway through a fermentation profile. If, let's say, you just happened to brew a lager, set the beer constant correctly, but forgot to apply a profile for 6 days, previously you would have had to recreate the entire profile a second time, subtracting 6 days from each TTL. Now, you can simply specify that you want to start "6d" in, and Fermentrack will take care of the rest.

Separate from these, I've been working on designing the interface for users to directly flash new BrewPi controllers directly from Fermentrack. Once complete, the goal is that Fermentrack will identify newly connected controllers, download the appropriate firmware to flash them, and then flash them in the background - providing status updates as things proceed. This will work with both ESP8266-based controllers (of course!) as well as Arduino-based controllers. Work on this is progressing, but it's still a long ways off.
 
Thanks for the updates Thorrak. I've been visiting every day like some kind of OCD!
Fermentrack is soooo good. I'm yet to box everything up, I've got an IPA fermenting at the moment with the STC then it will be retired.

When I undertake updates is it just a case of clicking the Git Update button in Fermentrack and then do a restart?
 
Thanks for the updates Thorrak. I've been visiting every day like some kind of OCD!
Fermentrack is soooo good. I'm yet to box everything up, I've got an IPA fermenting at the moment with the STC then it will be retired.

When I undertake updates is it just a case of clicking the Git Update button in Fermentrack and then do a restart?

Just click update, everything else is automatic, no need for reboot.
 
A few quick updates from my side --

I just pushed out a new update to Fermentrack which focuses on improving Fermentation Profile support. There are three main changes that came with this update:

  • Fermentation profiles can now be copied
  • You can now start midway-through a fermentation profile
  • Fermentation profiles can be easily exported/imported

Of the three features mentioned above, the biggest one is probably the ability to export/import Fermentation profiles. Basically, what this means is that you can now paste your favorite fermentation profiles into, say, a forum like HBT and other Fermentrack users can easily use them for their own beers. As an example, here's a lager profile I'm currently trying out:

Code:
=====================================================
| Brulosopher Fast Lager (Low-Mid SG, Liquid Yeast) |
| Standard Profile                                  |
=====================================================
| 6d               | 52.00 F                        |
| 7d 12h           | 67.00 F                        |
| 11d              | 67.00 F                        |
| 15d              | 33.00 F                        |
| 20d              | 33.00 F                        |
=====================================================

If you go to Ferm Profiles and click the "Import Profile" button on the bottom, you can paste that whole thing in to import my fermentation profile. Neat, huh?

The other big feature is the ability to start midway through a fermentation profile. If, let's say, you just happened to brew a lager, set the beer constant correctly, but forgot to apply a profile for 6 days, previously you would have had to recreate the entire profile a second time, subtracting 6 days from each TTL. Now, you can simply specify that you want to start "6d" in, and Fermentrack will take care of the rest.

Separate from these, I've been working on designing the interface for users to directly flash new BrewPi controllers directly from Fermentrack. Once complete, the goal is that Fermentrack will identify newly connected controllers, download the appropriate firmware to flash them, and then flash them in the background - providing status updates as things proceed. This will work with both ESP8266-based controllers (of course!) as well as Arduino-based controllers. Work on this is progressing, but it's still a long ways off.

This looks awesome, but quick question, how does it work between ˚f and ˚c
 
@Thorrak update went well on both "chambers" this time, when udev is off. (Serial connected esp8266)
 
This looks awesome, but quick question, how does it work between ˚f and ˚c

The profile will be stored in the native units (as it appears in the export), displayed in the units you chose when you set up Fermentrack (the "Temperature Format" chosen when you click the gear in the upper right corner), and will be applied to the controller in the controller's native units.

In short - It should be converted to exactly what you/your controller expect -- except potentially in the export itself.
 
yep works, I'm not entirely sure on the accuracy, think we're a few decimal points out but hey it'll do ;-)

6 days, 0:00:0011.11111111111111111111111111Sun, 21 May 2017 17:26:41 +0000
11 days, 0:00:0019.44444444444444444444444444Fri, 26 May 2017 17:26:41 +0000
15 days, 0:00:000.5555555555555555555555555556Tue, 30 May 2017 17:26:41 +0000
20 days, 0:00:000.5555555555555555555555555556Sun, 4 Jun 2017 17:26:41 +0000
 
@Thorrak I`m not able to create a fermentation profile after the last upgrade.

ValueError at /fermentation_profile/2/edit/
max() arg is an empty sequence
Request Method: GET
Request URL: http://192.168.8.179/fermentation_profile/2/edit/
Django Version: 1.10.7
Exception Type: ValueError
Exception Value:
max() arg is an empty sequence
Exception Location: /home/fermentrack/fermentrack/app/models.py in to_export, line 1444
Python Executable: /home/fermentrack/venv/bin/python2
Python Version: 2.7.9
Python Path:
['/home/fermentrack/venv/lib/python2.7/site-packages/git/ext/gitdb',
'/home/fermentrack/venv/bin',
'/home/fermentrack/fermentrack',
'/home/fermentrack/venv/lib/python2.7/site-packages',
'/home/fermentrack/venv/lib/python2.7',
'/home/fermentrack/venv/lib/python2.7/plat-arm-linux-gnueabihf',
'/home/fermentrack/venv/lib/python2.7/lib-tk',
'/home/fermentrack/venv/lib/python2.7/lib-old',
'/home/fermentrack/venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-arm-linux-gnueabihf',
'/usr/lib/python2.7/lib-tk',
'.',
'/home/fermentrack/fermentrack',
'/home/fermentrack/venv/lib/python2.7/site-packages/gitdb/ext/smmap']
Server time: Wed, 17 May 2017 01:04:36 +0000
 
@Thorrak I`m not able to create a fermentation profile after the last upgrade.

ValueError at /fermentation_profile/2/edit/
max() arg is an empty sequence
Request Method: GET
Request URL: http://192.168.8.179/fermentation_profile/2/edit/
Django Version: 1.10.7
Exception Type: ValueError
Exception Value:
max() arg is an empty sequence
Exception Location: /home/fermentrack/fermentrack/app/models.py in to_export, line 1444
Python Executable: /home/fermentrack/venv/bin/python2
Python Version: 2.7.9
Python Path:
['/home/fermentrack/venv/lib/python2.7/site-packages/git/ext/gitdb',
'/home/fermentrack/venv/bin',
'/home/fermentrack/fermentrack',
'/home/fermentrack/venv/lib/python2.7/site-packages',
'/home/fermentrack/venv/lib/python2.7',
'/home/fermentrack/venv/lib/python2.7/plat-arm-linux-gnueabihf',
'/home/fermentrack/venv/lib/python2.7/lib-tk',
'/home/fermentrack/venv/lib/python2.7/lib-old',
'/home/fermentrack/venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-arm-linux-gnueabihf',
'/usr/lib/python2.7/lib-tk',
'.',
'/home/fermentrack/fermentrack',
'/home/fermentrack/venv/lib/python2.7/site-packages/gitdb/ext/smmap']
Server time: Wed, 17 May 2017 01:04:36 +0000


This was just fixed by a commit pushed by @rocket4x4 . I also just fixed an issue with importing that was identified by @Mikmonken to clean up everything with this feature.
 
This was just fixed by a commit pushed by @rocket4x4 . I also just fixed an issue with importing that was identified by @Mikmonken to clean up everything with this feature.

Not getting prompted to upgrade has it been pushed yet??
 
Quiet on here lately lol. Thorrak, been up to much? I still have my Fermentrack box to assemble, just need to plan a nice afternoon of soldering.

Quiet indeed! My company requires that people in my group take a 2-week contiguous block of vacation every year, and so this year we decided to take a 9 day trip to Spain. The food was amazing (as was the wine!) but the craft beer certainly wasn't quite the same as I'm used to in the US. We just got back, so things should start to pick up again shortly.

As far as the development pipeline is concerned, the next big feature that I'm working on is firmware flashing. I had most of the code for it done prior to leaving on the trip - the last bit I'm working on now is the actual "flashing" part. You know - the least important element of firmware management. ;)
 
A mandatory 2 week break! Now that's what I call a company. I think the Spanish craft beer scene could do with a boost, at least the cold lager flows nicely in the warm climate. Nice to hear you had a good break and looking forward to what you have in store for Fermentrack.
 
I used to work in a company that mandated such vacation. Was more of a PIA really (for me anyway). I'd have much rather spaced three and four-day weekends all year around (or at least had that choice).

You're making excellent progress, I need to get back into the project and play a bit.
 
I used to work in a company that mandated such vacation. Was more of a PIA really (for me anyway). I'd have much rather spaced three and four-day weekends all year around (or at least had that choice).

I completely agree. It ends up using a massive chunk of the overall vacation days we receive, and makes it harder to take days off either when work is light or when I just can't stand to stare at Excel any longer.

I think the Spanish craft beer scene could do with a boost, at least the cold lager flows nicely in the warm climate.

Absolutely. The fact that it flows for EUR 0.65/glass also helps!

Any plans for tilt and ispindel integration?

Yep. Tilt is ~100% (due to both the fact that I have one sitting on my desk at the moment and the author of the Tilt/BrewPi-www integration graciously offered to allow his code to be leveraged in building the integration). iSpindel integration I would peg at a 90-95% probability, with the uncertainty mostly coming from my own unfamiliarity with the platform/codebase.
 
Trying to add wifi to my RPI 0 . Not sure what's missing.

Capture.JPG
 
Here's mine with two access points...

Code:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=US

network={
	ssid="WIRELESS_N"
	psk="<>"
	key_mgmt=WPA-PSK
}

network={
	ssid="Wireless_G"
	psk="<>"
	key_mgmt=WPA-PSK
}

btw, this is from a Jessie system, which places this file at /etc/wpa_supplicant/wpa_supplicant.conf

Cheers!
 
[quote key_mgmt=WPA-PSK]

I have WPA2 as security type is just as simple as adding a 2 to the code?[/QUOTE]

It looks like it is still WPA-PSK but there are a few additional options. Try the instructions here - specifically the recommended wpa_supplicant configuration:

Code:
network={
ssid="replace_with_your_ssid"
psk="replace_with_your_password"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
auth_alg=OPEN
}

I don't have WPA2 set up at home, unfortunately, or I would try to test it on my end, but that looks reasonable at a glance.
 
Right, so I'm getting my 2 channel relay board connected and I'm a little confused. I've soldered wires as per the pinout on thread 1:

Board Pinout:
D1 - I2C SCL
D2 - I2C SDA
D3 - Cool
D4 - Heat
D5 - Door Sensor
D6 - OneWire Data

But the Fermentrack page: Configure sensors, lists:

Pin 16 ( D0 (Heat))
Pin 14 ( D5 (Cool))
Pin 13 ( D7 (Door))

Does Fermentrack use a different pinout?

Thanks
 
Right, so I'm getting my 2 channel relay board connected and I'm a little confused. I've soldered wires as per the pinout on thread 1:

Board Pinout:
D1 - I2C SCL
D2 - I2C SDA
D3 - Cool
D4 - Heat
D5 - Door Sensor
D6 - OneWire Data

But the Fermentrack page: Configure sensors, lists:

Pin 16 ( D0 (Heat))
Pin 14 ( D5 (Cool))
Pin 13 ( D7 (Door))

Does Fermentrack use a different pinout?

Thanks
Unfortunately, the pinout changed after the first post was made. The up-to-date pinout is here:

https://github.com/thorrak/brewpi-esp8266

HBT doesn't allow editing posts after a certain time has passed. If anyone is friends with a forum admin that would be able to help fix that, please let me know - I'd love to get this corrected (or better yet - removed and replaced with a link to GitHub)
 
Got the sensors temporarily hooked up and all working. I'm surprised I managed it all without any magic blue smoke! Ha ha. Final install tomorrow.

Big thanks Thorrak, I just love the setup wizards in Fermentrack, so intuitive.
 
Got the sensors temporarily hooked up and all working. I'm surprised I managed it all without any magic blue smoke! Ha ha. Final install tomorrow.

Big thanks Thorrak, I just love the setup wizards in Fermentrack, so intuitive.

That magic blue smoke, man... It only works when it stays inside the chip!

Glad to hear it -- that's a big part of why I started working on Fermentrack in the first place. I kept getting stuck getting brewpi-www updated/configured, and wanted a better way of configuring it. Originally Fermentrack was just going to handle brewpi-www configuration - but that didn't last long.

That said - if anything isn't intuitive, let me know or raise an issue on GitHub. Just because things seem straightforward to me doesn't mean they translate to anyone else!
 
This is a great project, Thorrak. You're taking it in a slightly different direction than Elko (sp?) and that's what open source and forking is all about. It's nice to see the brewpi concept getting this much attention.

I don't think I have much to offer in terms of contribution, my geek level is about the minimum level required to get something like this installed and functioning. But I do have other skills, graphics, technical writing, usability/beta testing. Let me know if you need anything.

--100amps
 
Finally got everything installed and running. I'll get some photos of my build up later, quite proud of it!

I'm running in fridge constant at the moment (8c) as I have a keg of APA that needs chilling. Can I just have a second opinion on the chart, the fridge probe appears to measure more 'jagged' than the beer probe. The fridge probe is attached to the side of the fridge, 5in from the top. The beer probe is just laying on the shelf, 12in from the bottom. I know it will be warmer at the top but my question is just in relation to the smoothness of the lines.

Capture.jpg
 
This is a great project, Thorrak. You're taking it in a slightly different direction than Elko (sp?) and that's what open source and forking is all about. It's nice to see the brewpi concept getting this much attention.

I don't think I have much to offer in terms of contribution, my geek level is about the minimum level required to get something like this installed and functioning. But I do have other skills, graphics, technical writing, usability/beta testing. Let me know if you need anything.

Thanks! The project isn't a fork, per se, as much as an attempt to reimagine the functionality BrewPi-www implemented. That's a big part of why there is some functionality that doesn't exist yet in Fermentrack (state tracking) and some that may never exist if I can't find a compelling reason to add it. This is also why it makes sense for the app to have features that wouldn't make sense at all in BrewPi-www like standalone Tilt or iSpindel support.

As far as contributing goes, there are a lot of ways to contribute if you are interested. If you have web design skills, the interface could use quite a bit of work - and that's not a skill I claim any aptitude with. Bug testing and reporting is also incredibly helpful - both reporting here in this thread as well as using the GitHub issue tracker if you prefer. As I mentioned earlier, it's even helpful to just point out where in the documentation things are confusing or where the installation process didn't make sense.

Pull requests are always welcome, of course, but they're hardly the only way to contribute!


Finally got everything installed and running. I'll get some photos of my build up later, quite proud of it!

I'm running in fridge constant at the moment (8c) as I have a keg of APA that needs chilling. Can I just have a second opinion on the chart, the fridge probe appears to measure more 'jagged' than the beer probe. The fridge probe is attached to the side of the fridge, 5in from the top. The beer probe is just laying on the shelf, 12in from the bottom. I know it will be warmer at the top but my question is just in relation to the smoothness of the lines.

That looks about right to me, but admittedly my fermentation fridge isn't well sealed (nor does it have a heater). I also don't have a thermowell for my fermenter as I'm fermenting 2.5 gallons at a time in corny kegs. If anyone wants to invent a corny keg lid with a long, cleanable thermowell and a hole for an airlock, hit me up - and then head over to the PicoBrew Zymatic thread. Guarantee I'm not the only one that would want one. ;)
 
Back
Top