|
|
|
|
|
by mikegreco
638 days ago
|
|
Thank you so much for breaking this situation down with such clarity. I've had the Gagguino mod on my personal project list for a while, and when I saw that they went closed source I was flabbergasted. Your writeup is the first I've seen that puts the situation in context. And honestly... it's tremendously disappointing. I may end up selling my old Gaggia classic rather than keeping it around just for this. |
|
For the previous version (what runs on PCB v3), the code is there. The new version adds a wifi, a web server, a higher quality HMI, and a bunch of additional profiling features. You can get the same profiling features in the original firmware if you just write your own code, although that's a bit janky.
The old code is written in some pretty ugly arduino C++ and you will need to use platformio to build it (which has telemetry enabled by default, which you should disable[0]) and the architecture as a whole is very "EE grade" (anyone who has seen any quantity of embedded code written by EEs will know what I mean). But it's workable as a basis for your own experimentation.
I've been meaning on just wholesale replacing the firmware, the existing firmware is very simple since the concept behind the machine is nothing new as far as control systems are concerned (Kalman filters, PID, and a curve to map between the current pressure and what flow rate to expect from the pump per pulse so you can do flow control). Most of the hard part is tuning the (somewhat custom but not exactly revolutionary) PID which was done before the project was relicensed, as well as calculating the pressure/flow curves for an the vibratory pump (again, mostly done before the relicense, but not hard to replicate if you take a blind basket and modify it to be a controllable flow restrictor).
The main thing stopping me is the choice of the original mod to use a Nextion HMI which uses some awful proprietary GUI designer and a proprietary file format. I don't really like the idea of having to use a proprietary GUI designer in a project, and the Nextion is very limited (which was certainly a motivating factor in the Gagguino authors working on the new display).
[0]: https://docs.platformio.org/en/stable/core/userguide/cmd_set...