Hello for the last few weeks I found myself browsing brew pi repositories on GitHub to understand development progress.
And after reading forum, I understood that many other people need this information, so I decided to share it.
I’m not affiliated with brew pi. I’m SRE at my daily work. Last time when I was involved in production C++ project (brew pi uses C++ programming language to program controller) was 5 years ago. I was never involved in big JS projects (brew pi use JS programming language in UI part).
I plan to post updates on a weekly base, but I can’t grantee it.
@Elco if you have any problems with this, please message me and I will delete the post.
If you are ok with it, I like to send weekly summaries with questions to you, before I post them, to receive your comments.
Most of the efforts this week was to implement new ProcessValue class (classes is
building blocks in many programming languages).
ProcessValue is a new generic class used as PID controller input.
This change will allow using more generic PID logic, and this is one small step forward to allow not only fridge control but also use brew PI at mash.
In UI repo repository week:
But if you are wondering how new version looks here some screenshots:
Weekly software progress updates are a good idea. But I don’t know whether you interpreting our intentions is a good idea.
I have held off announcing that new UI because it is not ready yet and not complete. It is more like a prototype than the actual new UI. Parts of it will make it to the new UI.
This prototype is to investigate representing flows and steps in the mashing process, with a few demo setups.
The end goal is to have a drag and drop interface of parts that the user can drop into place. The flows are calculated in the browser based on the position, settings and status of the parts.
I use this prototype to control my 13 motorized valves when I brew (automated setup on the first tab).
It is not connected yet to any heating elements, sensors, pumps, etc. Just the valves.
All work on the firmware side is to make stuff more modular. We still need to integrate the new communications protocol to all objects so they can be created and managed remotely. This is to be able to migrate from ‘Fridge sensor’ and ‘Beer sensor’ to sensor ‘3.3’ and ‘4.5’, connected to PID ‘3.1’ and ‘4.1’ for example. But this is a very complex rewrite that has been going on for more than a year.
It’s not really a secret, I was just waiting until it was finished enough to do a blog post about it. If it was a secret, I wouldn’t have uploaded the code to GitHub.
Also, the only thing it does is yet control motorized valves, which is only used by very few BrewPi users, which I have helped to set it up personally. It looks like it can also be used to do temperature control, but it doesn’t yet. To avoid confusion, I didn’t post it yet to not raise expectations about an upcoming release which is still far away.
For what its worth, I really like this UI. I’ve only recently got into brewing and have jumped in at the deep end with the complexity of my setup. The examples in the demo have really helped to firm up my understanding of the different types of brew setups and how they’re used. If I had this UI for brew day, I’m certain things would go a lot smoother as I’d have all the info on hand for what I needed to connect to what and when. If I could add my recipes and notes for each step before hand, even if its just being able to associate specific notes in the right hand pane with specific steps, I’d feel extremely confident knowing I had the info I needed there when I needed it. Having a timer included, I’d find myself only having to refer to my usual app for the calculators. Really excited about this. I’ll just have to be patient while you work on turning the designs into a real usable thing
A salient point here is that by lack of communication from the developers, the BrewPi community may be moving on to other projects.
The fermentation algorithm also seems to be less accurate in new versions. Perhaps the older version auto tuned or adjusted to the environment. I do appreciate all the new systems added are for the new versions of the system, but when progress is this slow, it’s hard to consider the platform.
Personally I’m more interested in CraftBeerPi and SmartPID than BrewPi at this point, as both projects are delivering results, whereas BrewPi looks very static from the external point of view. I’ve been using an ArdBir for over 12 months to do brewday control, as again there’s no sign of this coming from BrewPi.
I’d still support a BrewPi implementation if it came along, but the question is when should we expect it.
If the latest algorithms are not as accurate as the old Arduino software, then you need to tweak your settings. They should perform much better. If you post a chart and your PID settings, I can give you some feedback.
I have given the CraftBeerPi code a quick look and what they do better than us is integration and interface. But their control algorithms are very simple.
The reason it looks slow from an external point of view is that we’re moving to a new platform and new communication protocol that will unlock all the features we have been working on.
A new version of the BrewPi Spark will come out in about 2 months and I will try really hard to release these new features with that release.