Automation · Espresso · Espresso, BZ13 · Gravimetric · Hack · pre-infusion · pressure profiling · pressure-profile · soft-infusion · Technique · Zhng

Espresso Pressure control hack

Continuing from the previous post on flow-rate hack and gravimetric espresso project, I have been able to control the pre-extraction flow-rate, extraction flow-rate and extraction pressure of the espresso using a low-cost hack.

Disclaimer: I am not liable for any damage, death or injury caused through the use of this hack.

170902-133426-09 copyThe AC voltage controller which is hooked up to the Ulka vibration pump.

In this video, the AC voltage controller (pump controller) was gradually tuned to allow soft and slow infusion. During the extraction phase, the controller was tuned further to alter the extraction pressure.

The following parameters were used:

  • 20-g dosage in portafilter
  • 50-ml target yield
  • IMS 20-g basket
  • machine set to 9-bar max


Gravimetric dosing was enabled to cut-off the pump automatically when the target yield is reached so I can focus on toying with the pressure.

And the result? The coffee was obviously tastier than another coffee made with the same parameters except with a flat extraction profile.


3 thoughts on “Espresso Pressure control hack

  1. I was looking to do something quite similar in my Sylvia mod (the CREMA project – I was toying with the idea of using a Crydom LPCV Series SSR (Specifically the 5LPCV2415) and a cheap 10 bit I2C DAC to wire up to the Arduino. Obviously the price precluded me from actually using the 5LPCV series and instead ended up using AC phase modulation with the solid state relay to time the vibratory pump with the same net effect. It requires a zero-crossing solid state relay however (most are these days) so that you don’t run into PWM pulse timing and sync issues.


    1. Hey wow! I’m sure you can get better control with your mod! I did not go as far as to design a PWM circuit for the vibratory pump. I’ve only brought someone off-the-shelf for AC motor control rated for 20Amp. Thank you very much for sharing your hack! Btw, did you have issue with maintaining low-pressure with your mode when the ground is too fine/restricted?


      1. I should say that I didn’t implement anything beyond what I think you already have? Most PID mods will have a Solid State Relay (SSR) that allows for control and switching of the power to your pump and heating element. If it’s technical, you might even allow for control of the Three-Way Solenoid valve separate from your pump. You can take advantage of the PWM circuitry inherent to an Arduino. In my CREMA mod, it uses the Leonardo which has two 16 bit timers (suitable for PID features) and a smaller 12 bit timer (with the right sort of scaling, this can be dialed down to a tick once every second or so). With the 12 bit timer, you can set it so it falls just about in phase with the 50 or 60Hz mains frequency. What that means is that you can have the Arduino outputting a signal that turns the SSR on or off in sync with the mains (this is why a zero-crossing relay is essential – the relay only engages when the waveform on the mains passes through zero, and the control line is active). With the right sort of fractions (ie once every second sine wave, once every third, fourth fifth etc.) you can reduce the effective flow rate out of the pump per second at approximate 10% increments (this is just the realistic divisions you can obtain with fractions / timing on the Leonardo Timer). The pressure of each stroke (when it does occur) from the vibe pump is maintained regardless of the flow rate, allowing the valves to operate correctly. I never ran into low flow issues with even the finest grinds as the stroke pressure was maintained on the pump. In fact, I could fit the backflush insert into the basket and engage at 10% and observe the OPV draining. I took a hint from biology on this one – we change our heart rate more readily than the contractility of the heart as a means to cope with changes in blood flow and pressure.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s