We have a big update ready for you guys: firmware version 0.2.8 is out!
New user interface
The biggest change in this release is that it that the display now shows:
- Beer, fridge and room temperature
- Beer and fridge setpoint
Please see the photo below (sorry for the bad lighting conditions).
We added a nice big font for numbers which is used for temperatures and set points. Some of you might recognize the font from German traffic signs. Big bright blocks was what we had in mind. The UI will be refined with time: the layout and colors can probably use some tweaking, but that was no excuse to hold back the release. Your feedback will be very welcome! Some of the text might be a bit small, but space on the screen is limited.
This new UI is almost entirely Matthew’s work (@mdma), so show him some love!
At startup, the controller now shows the BrewPi logo for 5 seconds. During these 5 seconds, you can tap the screen if the touch screen needs to be re-calibrated.
The test screen, which will be very helpful when building your fermentation fridge, is still available.
When you set the mode to Test Mode under advanced settings, your controller will automatically switch to this screen. It will show you all connected temperature sensors and with the 3 buttons on the bottom row you can toggle the outputs.
We split off the firmware repository from the brewpi-avr repository a few months ago to port it to the Spark Core. We have now refactored all our code so we can build again for the Arduino, so we only have a single repository for all platforms.
From now on, our Arduino users will get the latest update if the hardware supports it. The Arduino is still not recommended for new users. We are running into the limits of the platform and not all new features will be available in the future.
We changed how temperature sensors are initialized. We detect when a sensor has just been connected by writing a value into the volatile memory of the sensor. We can check this value to see whether the sensor has been disconnected and do a proper slow initialization in that case. This should fix any issues that people had with not getting the right temperatures on their screen.
We also refactored OneWire to be faster and more reliable. For a full list of changes, please refer to the Changelog on GitHub.
Updating your BrewPi
I have worked the entire weekend to improve and simplify the update process. We wanted to release the firmware on Friday, but reasoned that it would be smarter to revamp the update process first to make the release as smooth as possible.
Our update script now fetches the latest firmware from the GitHub Releases using their API, flashes it to your controller and then restores all your settings.
You can run the updater (which is part of the brewpi-tools repo) with the following command:
cd ~/brewpi-tools sudo python updater.py
We removed most of the prompts from the update script, because most users just want to update to the latest stable release. If you still want to be asked which remote and which branch to update from, you can run the updater with and extra argument:
sudo python updater.py --ask
We switched to using regular GitHub issues to manage our tasks and planning. This makes the development process transparent towards our users and lowers the barrier to contributing. For our next sprint, @mdma started with making the user interface interactive (touch) and I will start looking at PWM support.
If you would like to help out, please just drop us a line. We use Slack for communication between developers and if you want to help out, we’ll send you and invite to discuss what you can do.
I will also start with better documentation of the whole setup process. I know the available info is very minimal, but prioritized this release.