Misadventures in Cold Brew Coffee
For some coffee fanatics, myself included, summer is synonymous with an ice cold variety of the caffeinated beverage: cold brew. Differing from “iced coffee” in that it is produced in the absence of hot water, cold brew trades acidity for a smooth, often chocolatey flavor. To compensate for slower extraction of the delectable compounds that give coffee its identity, the process of cold brewing lasts hours to overnight. I became hooked on the beverage years ago and here I recount some early mishaps attempting to brew my own.
My adventures in homemade cold brew began after purchasing an inexpensive Primula starter kit containing a glass carafe and submersible reusable filter for holding the coffee grounds, shown below. After some use, I began considering ways to improve the extraction process.
I didn’t wade into the physics or chemistry of coffee extraction, but I was suspicious of the extraction rates achievable with a static solvent and packed porous coffee bed. I wanted a well mixed system for faster extraction kinetics.1
I quickly settled on the idea of a stir plate and stir bar, but I wanted to challenge myself and see if I could build a stir plate from some random pieces and parts I had lying around. My first attempt was straightforward: a magnet from an old hard dive glued to a computer fan.
First, the fan spun too fast at 12V, throwing the stir bar haphazardly about the carafe. I ran the fan at 5V, but the stir bar spun too slowly, resulting in insufficient convection to keep the grounds from settling onto the stir bar and stalling the fan. OK, 9V power supply. Unfortunately, 9V was not like Goldilocks’ porridge, “just right,” but rather like an immiscible mixture of scalding hot and frigid porridge: the stir bar would stall sometimes and get thrown others. As the cold brewing process lasts hours, the system needed to be stable.
Things got out of hand.
Enter a homemade tachometer that measured fan speed based on the fan blades’ cyclic obstruction of fan LED light reaching a photodiode. Then came MOSFETs, cement power resistors, and an Arduino-based feedback control system for maintaining optimal fan speed using pulse-width modulation (PWM). The code would even attempt to restart the system in the case of a stalled fan state or thrown stir bar (complete code here for posterity).
While feedback control appeared promising, I eventually realized that using PWM to control the fan speed would flicker the LEDs that the tachometer was using to measure speed. Whoops. I could have fixed this or perhaps somehow incorporated gearing onto the fan to provide greater torque and thus prevent stalling. Instead of either, and no doubt mumbling something about the sunk cost fallacy, I wrote the following in my notes at the time:
… bought a $37 Corning PC-353 magnetic stirrer on eBay
Yes, I caved and bought an actual chemistry stir plate. The cold brew coffee had waited long enough. My last modification was the addition of a thermoelectric cooler to counteract the heat produced by the stir plate motor.
Finally, on to the cold brew coffee itself. There are an enormous number of variables at play here, including the bean varietal, country of origin, roast, grind size, coffee to water ratio, and brew time. While Design of Experiments techniques could have lent statistical rigor to the evaluation of input variability, my global optimization approach better resembled explore and exploit,2 where the former took precedence initially as I sampled somewhat randomly (finely ground light roast not advised!) and the latter takes precedence today now that I’ve reached somewhere near a local optimum. I suggest medium to dark roast Arabica beans, 12 hours of brewing, a coarse grind with a burr grinder, and a ratio of 15:1 water to beans. Filter and enjoy on ice!
Footnotes
- Moroney, K. M., Lee, W. T., Suijver, F., & Marra, J. (2015). Modelling of coffee extraction during brewing using multiscale methods: An experimentally validated model. Chemical Engineering Science, 137, 216-234. doi: 10.1016/j.ces.2015.06.003
- Explore / exploit is highlighted in the fascinating read Algorithms to Live By, which, amusingly, also provides 'caching' as justification for not throwing laundry in the laundry basket.
This work by Derek Croote is licensed under CC BY-NC 4.0