Ada’s WaterBot

If you’ve stopped by our store recently, you may have noticed this new contraption behind our counter. In the pursuit of brewing the best coffee for our customers, we’ve built a system to improve the water we use for brewing. The water here in Seattle is amazing for drinking, but turns out to not be optimal for brewing coffee. Not all water is created equal and coffee requires water that’s well balanced in minerals, acidity, and hardness to bring out it’s full potential. Much of this has been outlined by the SCAA and there’s some outstanding research and a great (out of print) book on the subject, “Water for Coffee” by Maxwell Colonna-Dashwood and Christopher H. Hendon if you wish to fully venture down the rabbit hole.

The bottom line is that Seattle’s amazing water is too clean. Using the chart below as reference, we typically get somewhere between 30-50ppm in Seattle water, and your brew water should really be in the 70-150ppm range. So we set out to create a system to automatically add minerals to our cafe’s brew water in a precise and tuneable way. First, we start out by running our water through a basic off the shelf 3-stage carbon filtration system just to remove any sediment, chlorine, and other off tastes and odors in the city water.

From there we feed the water to a solenoid valve so that we can control the refill of our mixing tank. After that, we run it through an in-line TDS sensor so we can get a rough idea of how clean the water is coming into the system. 

For our mixing tank, we managed to get a really good deal from a surplus lab supply store on a Chemglass 15L spinner flask and accessories. The benefit of using a spinner flask is that they’re built with a flat bottom which allows use of a magnetic stirring setup, and with the proper attachments allows you to create a fully closed system to prevent external contaminants from getting into the water. In order to get our water piped into the mixing tank and pull it out with a wide enough dip tube, we modified a thermowell assembly to make use of the ⅜” thermowell tube port as our water outlet, the ¼” tube port as our water inlet, and the other shorter ¼” port as our air filter port to allow air pressure inside the chamber to stabilize as the water level changes.

On the other side, for injecting minerals, we used a standard 3-port assembly that connected to the ends of gravity feed bags that we use for holding our mineral solutions. The reason for using the gravity feed bags is that they’re inexpensive, disposable, safe for food use, and most importantly, can be fully sealed and not have air pressure issues as the solutions become depleted. To control how much of each solution is injected, we use peristaltic pumps in-line for each of the 3 solutions. We’ve experimented with various strengths for the mineral solutions and settled on 5% being a reasonable amount that works well with the pumps and so far hasn’t caused any issues and doesn’t have to be refilled too frequently.

Finally, the only remaining part is that we need to know is how much water is in the tank. To sense the water level in the tank, we use 2 non-contact liquid level sensors that are positioned currently between the 10L and 15L marks on the tank. When the water gets down to 10L, we open up the solenoid valve to add water to the tank and stop it when it reaches 15L, and then add the appropriate amount of minerals for the 5L that was added.

To connect up all of our coffee brewing equipment and espresso machine to the system we used a Shurflo 2088 Delivery Pump and 5.5 Gallon Bladder Tank to stabilize the pressure to our equipment and built in a bypass so we can switch back over to city water in case our system needs to be serviced or modified in the future. We also connected a TDS sensor on the output so we can see the approximate TDS of our brew water coming out of the system.

Finally, to actually control the whole system, we hooked everything up to an Arduino Uno with an AdaFruit MotorShield and Adafruit LCD Shield and wrote software to let us specify the exact ppm of each mineral we want in our brew water. We’ve posted the code up on github in case you want to try to build something similar at your cafe. This is definitely a work in progress and we’re constantly refining the system in our cafe. We hope to sometime in the near future release a product that makes it easy for other cafe’s to mineralize their water as well, so stay tuned for updates!