I am getting a lot of requests for the older Arduino version of BrewPi. I assume most people want the Arduino version because it was cheaper, because I cannot think of another good reason. However, if you bought it from our store with a case and display, the total would have been about 80 euros. Not as much as the BrewPi Spark, but not a huge difference.
Yes, if you buy knockoffs from China, omit the display and breadboard it together, you can build it a lot cheaper. But I want to sell something reliable and plug and play.
Here is why I stopped selling it:
The standard Arduino (Uno) is 8 bit, 16 Mhz, with 32kb memory. These are ancient specs. Since 2008, the hardware barely changed. There are many alternatives now that are 32 bits, over 100Mhz and with a lot more memory that cost about the same. Arduino’s recent hardware releases with (Yun, Due) are not so good and overpriced compared to competitors.
We ran out of program space on the Arduino and spent a lot of time optimizing for space, instead of coding for functionality. The Arduino Leonardo was 100% full with our code.
The connectors used on the shield (pluggable screw terminals) required users to wire their sensors themselves. This lead to a lot of problems with OneWire. I helped users troubleshoot, but in 99.9% of the cases, the cause was bad wiring. This is why I switched to RJ11 plugs on the BrewPi Spark and the OneWire issues just went away.
The laser cut case had to be assembled by the end user. This too resulted in a lot of support questions and was simply not maintainable.
Arduino as a software platform is not very good, in my opinion. It is a bunch of libraries, without any central management for code quality control. It is fine if you just have a simple project of up to 500 lines of code. but our Arduino code was 5000 lines of code. This is why we used Atmel Studio instead of the glorified notepad that is the Arduino IDE.
Compare this with the Particle Photon:
- Modern, fast hardware.
- A very active development community, with a lot of paid developers continuously improving the software framework.
- A hardware abstraction layer, that made the switch to newer hardware (Core to Photon) almost effortless.
- Room to grow and expand the software functionality.
Why is the BrewPi Spark more expensive?
- Much better connectors (from Wurth Electronics). The Arduino version used cheaper Chinese knock-offs.
- Better display
- Much nicer enclosure
- A OneWire bus master, for more reliability
- DC-DC converter on board, so it can power expansion boards.
- RS-485 on board (not used yet, but for future expansion boards)
- CE tested
- A bit more margin to support development
I could have developed a cheap version, without the DC-DC converter, the display or RS-485, a bare-bones BrewPi. I might still do that some day, but right now I do not have the time to develop and support 2 platforms. So I created a controller that is future proof and can be easily expanded.
So to summarize:
The move from Arduino to Spark/Particle gave us room to grow, while also making BrewPi much more plug and play.
There are much better alternatives to Arduino now and we made the switch.
We will soon stop supporting Arduino, because the software will simply not fit.
And I don’t want to sell a product that I cannot support in the near future.
whilst i respect your need to update your code, i would guess 80% of your user base is still Arduino - do you really want to alienate that much of your user base - especially many of your early adopters?
It is not about alienating users, it is about new functionality that simply cannot be achieved on the Arduino.
As long as the Arduino can still run the latest code, we can release for it. I just don’t want to encourage anyone to use Arduino for a new setup, because new updates will not be released for it.
The Arduino firmware will be considered feature complete, will still be supported and will still work. But updates will be Spark/Particle only.
I completely understand, and don’t fault you at all for the decision, but just wanted to provide another reason why some of us like the continued support for Arduino. For me to get a Spark (which I desperately want), in the United States, would cost me 129 Euros for the device and almost another 30 Euros just to have it shipped (20% of the devices cost). Where with the Arduino I can source all the materials and build it for cheaper here.
I love where the Spark is going, but want you to distribute on this side of the ocean.
Just curious what the actual timeline is to EOL and do the final branch push for the Arduino?
I assume the code base will just branch and the update script will reference the old final production code moving forward and the Spark/Photon repo will exist outside the Arduino code.
I’m not as much concerned about the arduino (sorry guys!) but what I am concerned about it having bought the spark core, and seeing the v2 (photon) being released soon afterward.
Whilst I appreciate that it makes sense to start selling the photon, I am concerned that the core, like the arduino, will become phased out in terms of support / updates. Will this happen?
After all, I bought the spark v1 with the intent on using it for HERMS as advertised. I don’t mind waiting for PWM support to be implemented, but I don’t want to find out it will only work on the photon…
Just to chime in here there are no hardware vendors out there that will support things forever everything has an EOL for support as you can’t continue to write code forever just to support a subset of users. Granted companies like Oracle, HP, and Dell (as examples) do offer extended support for some hardware/software, but that extended support comes with a high price tag in the form of support fees. We are paying nothing for the work the group does to provide us with the software that runs on these amazing devices and few are even doing a lot to contribute to the project (me included) so I think asking for an older device to be forever supported is a bit much.
For the Spark/Photon issue I too am in the same boat I have the Spark model and we should be fine from everything I have read. There were some improvements on the hardware but none of those would prevent Spark from performing the same control functions as the Photon (anyone correct me if I am wrong). The other nice bit is if you really want to you can just grab a Photon and plug it into you existing board and go about your day (Spark Photon vs Spark Core).
I guess the whole point I am making here is that there has to be a life cycle attached to all hardware. It will get to the point where the code advances beyond the ability of the hardware. Think about trying to run some new software on an ancient PC it either suffers from massive performance issues or simply doesn’t work, same applies here. The more advanced the code the more hardware you need to throw at it in most cases. With all that said the only true way to handle this is to have hard stops for further dev on the platform no more new features and no more bug fixes/patches once a final stable tested release is done.
Stephen - I agree.
No hardware should be supported forever. If the Arduino has reached that point, fine.
But, the core is still very new. It is reasonable for people who have spent money on it to expect support / updates so that it can function as advertised (for example, mash control).
I realise that mash control is in the works - but I don’t want to find out is that it will not be supported by the core.
@Elco perhaps you could clarify what your plans are for core support?
I understand where you are coming from @Cxp073 and am on board with you. I in no way feel that @Elco and team would make a fatal mistake and leave us all out in the cold as that just makes them look bad. I am sure at some point our Spark Core models will become obsolete however I feel that day is far far away.
Oh yes, the core will be supported. I have never said anything about not supporting it in the near future.
It does have a bit less RAM than the Photon, so maybe there is a limit on the number of PIDs, but I do intend to release for both Core and Photon for quite a while.
@Elco thanks for clearing that up! Cheers!
The ideal solution that we hope to deliver (but cannot promise) is that we continue to release on all supported hardware platforms. Some features may be missing on the smaller platforms or there may be lower specs (e.g.fewer sensors supported). We aim to support the older platforms (Arduino) so long as the support burden is manageable.
However, doing this will require help from the community in the form of testing - having to test 3 platforms with each release is a huge drain given the development resources we have available.
So, to make this workable, I propose that, before each release, a release candidate is made available for all platforms so that you, our wonderful community, can help us test. This will help us focus our efforts on moving software forward while also ensuring the quality and stability of each release.
Quick question: I was trying to build the recent firmware code for the Arduino target, in order to see if I could “strip it down” to make it fit (as you mentioned that primarily it is a code size issue).
By any chance, do you have a functional build script or similar?
The Atmel Studio file seems to be outdated.
I am not sure it is just a code size issue. I have not checked the memory requirements for the new code.
A makefile was included for Arduino, but it has not been updated since version 0.2.11. The build for Arduino is probably broken too.
Wow, looks like I chose the wrong time to join this board… HEHEHEH and I was going to ask about what I need to build a Raspberry PI / Arduino BrewPI system… one is outdated… and it seems like Spark is too expensive for us rebels in the USA…
Now I am not sure what to do…
There are options google DIY brewpi
Depends if you are planing on going the traditional route (Mod Fridge for cooling and use heat source like Hair Dryer) or using newer equipment (Glycol and heating Pad). I tested the stability of the traditinal route on a few brews and Wine kits with favorable results. I decided I wanted to go larger batches so I needed the newer code base and hardware. Just be aware that if you go the traditional route I used the Arduino Uno R3, 2 Channel DC 5V Relay Module, Breadboard Jumper Wires Ribbon Cables Kit. The Kicker was I had to manually write the Arduno hex code file to the device with the XLoader, when using the install script on the Raspberi Pi, you have to select the legacy branch. Please keep in mind this was done a year ago and not sure if it still applies. I keep this configuration going as I still do 5 Gal Wine kits for the wife but I do not check for any updates since the Arduino code branch is considered Legacy/Obsolete.
Can we assume that the current iteration of hardware, BrewPi Spark v2 will work with the new platform currently in development? I don’t mind springing for the v2 as long as it will be supported with the new code.
From all the reading I have done, they are shooting for the new code base for the Spark v2 to increase it’s capabilities.
From my understanding it will be able to use on 2 fermentation chambers/vessels and/or setup for using as Electric Brewing (Hot side). They are revamping not only the code base, but also the web interface. Depending on how long it takes, I just might get off my bum and reprogram the webpage side using bootstrap (auto resizes the page based on screen dimensions and detected platform) and might just go the extra step and incorporate DUO 2FA security into it for external viewing.