Home - larry-athey/rpi-smart-still GitHub Wiki

Welcome to the RPi Smart Still wiki!

In order to utilize the code in this repository, you will first need to know how to install Raspbian OS (or Debian for ARM) on a micro SD card for a Raspberry Pi computer (or clone). (Raspbian 11 is actually more efficient and dependable than Raspbian 12) If you are using a Model 3 B+, you should use a 32 bit version of Raspbian. A 64 bit version won't gain you anything here unless you have a Model 4 (or later) with more than 4GB of RAM. Nothing in the code here uses huge integers where a 64 bit OS would be warranted, a Model 4 or Model 5 would actually be complete overkill for this system. A Model 3 B+ is more than powerful enough for this.

NOTE: Since they totally borked pre Model 5 serial/UART support on GPIO pins 14/15 in Raspbian 12, this system is only fully guaranteed to work with their "Legacy" distribution (Raspbian 11, Bullseye). Asking for help in their support forums is of no use because I swear that the majority of people in there have absolutely no clue what a UART is. Or, you end up with complete douchebag users like "thagrol" accusing you of trying to scam support for a commercial product, all because he clearly has no idea what a UART or serial ports are. (Yes, only commercial entities use serial communications [FaCePaLm])

A "lite" OS version is preferred since this system uses its own built-in web server and web based user interface. If you want to build a system with a built-in display, I would recommend a Model 4 or greater. A Model 3B+ will work, but it will have laggy performance. You will want at least a 1024x600 screen in this case. Personally, I just used an old iPad Air stuck to the wall next to it during the prototype phase which connected to this system's web server over WiFi.

You must be using a raw unaltered Raspbian OS or Debian for ARM installation beyond any pre-configuration of your network connection. SD cards are cheap, get a new one that you can dedicate for this if you still want to use your Raspberry Pi for other purposes. The code in this system isn't all that big, so you don't need a large SD card. You could get by with an 8GB card just fine, just use a high speed card.

If you have a device with built-in eMMC storage (such as a Banana Pi M4/M5 Berry) or you have the ability to add an eMMC to it, this would be far better than running on an SD card. eMMC is by far faster than an SD card and won't wear out anywhere near as fast as an SD card. Granted, it may take up to 3 or 4 years for an SD card to wear out.

While I can't guarantee compatibility with every Raspberry Pi clone out there, I can't see why it wouldn't work with a little manual setup effort. I've even tested this on an old quad core Banana Pi BPI-M2-Zero running Armbian 24.8.4 Bullseye OS and there were no problems. Well, other than a small amount of lag caused by the little clone only having 512MB of RAM. I have also tested it on a Banana Pi M4 Berry and an Orange Pi 3B. The Banana Pi is by far the better performing clone even though it only has 2GB of RAM, while the Orange Pi has 8GB and costs more.

So, with that said, you should be using a Raspberry Pi (or clone) with no less than 1GB of RAM and at least a quad core processor. This will not work well on a Raspberry Pi Zero W due to its single core processor and 512MB of RAM. This system relies on 4 undercarriage daemons that read the inputs, write to the outputs, perform the logic processing, and play voice prompts locally all at the same time. Single core processors will have a severe negative impact on the reliability and accuracy.


As for the most common question I get about this, I will answer it here one last time and will just refer people to this page in the future...No, this system does not do automatic cuts, this is a still controller, not a gas chromatagraph...And no, Genio and iStill also do not perform automatic cuts. Yes, they will separate the heads from the run, but this isn't done in any real high tech way. With both brands, you have to tell each of their stills how much wash you put in it and what the ABV of the wash is. The run is paused after making a simple estimate, you dump your collection vessel, resume the run, and that's the full extent of it. Anything else would require a commercial continuous column still.