Ada’s KyotoBot

We love to experiment with coffee brewing and roasting methods and we’re constantly looking to the scientific method to ask ourselves “What makes a certain parameter or method better than another?” The only way to fully test these hypotheses is to setup controlled experiments where we keep certain parameters constant and vary a parameter to determine its effect on the end product. To this end, we’ve realized that certain parameters in some brewing methods are very imprecise and often times we don’t have clear visibility of what’s actually happening throughout the brew and, therefore, we don’t have an accurate method for controlling it.

If you’ve been in Ada’s Technical Books and Cafe or Ada’s Discovery, you’ll most likely have noticed the OJI WD-300 cold drip towers that we have on display. These towers are popular in cafes in Japan and specifically the Kyoto/Kansai region (thus the term Kyoto-style cold brew was coined) for making cold brewed coffee. This style of brewing coffee has become more popular in the US and is often seen as having a cleaner taste compared to the more common Toddy method which involves steeping the grounds in water instead of having water slowly drip through.

The basic idea behind the cold drip tower is that you have cold water on the top which slowly drips through the grounds creating cold brewed coffee at the bottom. The main variables that you can adjust to effect the brew are:

  1. Grind Size
  2. Brew Ratio (Water to Coffee)
  3. Temperature of Water
  4. Water over time (Total duration, flow rate, etc)

Typical parameters are a coarser grind size, a concentrated brew ratio, room temp or colder water (with ice), and around 1-2 seconds per drop. The first 3 parameters we could easily control, but the 4th was a bit of a mystery. Many cold drip systems are gravity fed and have a small knob that you adjust to dial in the specific amount of seconds between drops but often times, we would return to the tower hours later to find it dripping at an entirely different speed. Also, the total brew time would not be consistent because the drip speed wasn’t reliable without constantly checking and adjusting the tower. Even if you could get the tower to drip reliably, it’s time consuming and tedious to dial in the exact drip rate that you want. Visiting other cafe’s, David noticed many times that their cold drip towers would be setup properly but dripping well slower than 2 seconds per drop because the baristas were busy attending to other things. Something obviously needed to happen to address this issue and make it something that could be measured and easily adjusted.

To solve this problem, David custom designed some solenoid valves so that they were super quiet while operating. Solenoid valves are typically used for high speed photography of water droplets, but they also widely used in the food and medical industries for regulating flow of liquids. We specifically designed 12V valves so that we could easily control it from an Adafruit Motor Shield connected to an Arduino Uno with a 12V wall wart power supply. For display and control purposes we also hooked up an Adafruit RGB LCD shield. We then wrote code to control the size of the droplets (amount of time the solenoid is open) and the amount of time in-between each of the drops. After a little while it became apparent that all solenoids aren’t created equal, and that each had a slightly different flow rate based on imperfections with their construction. Additionally, based on gravity, if both were open at the same time, water would flow more out of one than the other if it wasn’t completely level. To solve these issues we had the code alternate between dripping on the left side and right side so there would be only one flow path and we added code to calibrate the size of the droplets so they were the same on both side by measuring the weight of 100 drops and then adjusting the size of the drops until both sides were equal and producing drops of a certain weight. Needless to say, the 4th parameter is under control now. All code for this project and future posts can be found on Github.


  • #8 Grind on the Mahlkonig EK-43 Grinder
  • 100g dose on each side
  • 1500g room temp brew water per side (3000g total) in top
  • Bloom with 200g boiling water on each side
  • Paper filter on top of rounded grounds to disperse water
  • 2 seconds per drop, total brew time ~12 hours
  • Result should be ~1.3% TDS and ~20-21% extraction

The overall philosophy with our coffee program is that there is a meaningful amount of finesse and art that can and should be expressed by a skilled and experienced barista, but any way we can use technology and science to help them provide the best quality result is something we should do. Especially with the recent resurgence of hand brewing methods being favored over automatic brewing — this is particularly where we hope to find improvements. That being said, we believe there is an extent to which technology can help. Ultimately, the barista’s job is to interpret and adjust the parameters into something that tastes great, and a robot or algorithm can help us get close but will never be able to fully interpret and enjoy the results like a human can. Until next time, happy coffee hacking!

Ada’s SiphonBot

Ada’s Coffee Hacking: Siphon Brewing

Siphon style brewers have been around since the mid-1800’s and, although they were more complex than other methods, they gained popularity in the Victorian era in Europe and more recently a following in Japan. Different variants were invented, but they all primarily worked by heating water in one vessel (the vacuum flask, with a heat source underneath) which then moved to the brewing chamber to mix with the coffee grounds once it was heated above boiling (or when the vapor pressure exceeded the atmospheric pressure). Once you were done brewing the coffee, you would then cool the vacuum flask to create negative pressure which would suck the coffee back through the filter and could then be served. With balance siphon brewers like the one pictured in fig.1, this whole process was mechanically automated since once the water moved to the brewing flask, it would automatically put out the lamp and begin the cooling process. With tower siphons on the other hand (as seen in fig.2), you would have to manually remove from the heat to begin the drawdown process.


Both of these methods result in a brew similar to other immersion methods (french press, aeropress, clever, etc), but because vacuum pressure is involved, you’re able to more heavily filter and dry the grounds than with other immersion methods.

Our co-owner, David, has been personally fascinated with this brewing method for a while and he’s thinking of how we could make use of it in our store. However, the main issue cafes run into with siphon brewing is with brewing consistency. The amount of time for water to boil into the brewing flask can vary wildly. And the brew water temperature can vary drastically as well. David built a few different prototypes for automating this process with a infrared thermocouple and PID controlled heat-lamp, but he wasn’t satisfied with any of the results. We could definitely brew coffee that tasted fine, but not consistently and fool-proof enough for us to be able to precisely dial-in our recipes and reproduce them in a way consistent with our cafe’s service standards.

After months of tinkering, David decided to scrap everything and go back to the drawing board. The primary benefit of the siphon was to do immersion brewing with vacuum pressure based filtration, so looking at this from a modern lab perspective, the equipment you would use would be something like a filter flask, which pretty closely resembles the vacuum siphons of yesteryear. From this idea, he found a vacuum flask that we could attach a standard siphon top-piece to and built a base that integrates with the Acaia bluetooth scale and contains a vacuum pump that can initiate the drawdown process.

David also built out software that allows us to consistently reproduce recipes by automatically starting timers when water is poured, visualize pour speeds in a way we can easily reproduce, and engage the vacuum pump at a specific time during the process to begin filtration. One side effect of using a vacuum pump is that we can now do things like add additional filters if we want more clarity and vary the vacuum pressure to precisely control the speed of the draw down. Also, by introducing the water to the grounds in the top piece, we’re able to precisely control the temperature of the water since it’s coming from a kettle. Through all of these improvements, we’re able to provide our own take on siphon brewed coffee and go a bit further to experiment with many other types of liquids, temperatures, ingredients, filtration levels, and vacuum pressures.

Here’s our recipe we’ve been using as a baseline. We’ve found that this works great for Ethiopian Natural and Kenyan coffees:

#12 Grind on the Mahlkonig EK-43 Grinder
25g dose
Filter with 2 unbleached paper filters
Heat 425g+ water to ~202F in kettle
75g (3x) bloom for 5 sec, gently and quickly stir grounds
350g pour at 15 sec, pour down the side of top piece
Break crust at top of siphon
Draw down at 45 sec at 20% vacuum setting
Stir at just below half way, stir again just before drawdown finishes
Decant coffee and serve

Total drawdown should take less than 1:30

Result should be ~1.1% TDS and ~20% extraction

We hope that you’ll come by the store to take a look at the siphonbot in action and give us your feedback! We’ve had many people ask about how they can get one, so over the next couple months we’ll be working on refining the software and figuring out how to manufacture more than just the few prototypes we’ve built so far. The hope is to open up pre-orders in early 2019 for a small size run of early access customers to try these out and hopefully a larger run toward the middle of 2019.