This page provides details on the settings and functionality in version 1.0 of the EspressI/O Espresso PID Controller.
EspressI/O Overview Video
EspressI/O Warm Up Video
This warm up video is pretty dry; therefore it’s run at x2 speed to keep it bearable. I include it here to demonstrate how the controller gets the boiler up to temperature quickly with minimal overshoot. In 4 minutes the machine is within 0.5°C of the brew set temperature, and the overshoot is limited to about 0.5°C over the set temperature. About 10 minutes from startup, the machine is within 0.1°C of the set temperature and will control within 0.1°C.
All User Settings can be modified by using the rotary dial. The rotary dial has a push button action that is used to select settings and to save settings. See the Overview videos for a demonstration. Note that all settings are saved in memory once set and will be recalled automatically even after the machine has been powered down whether by the main power switch or unplugged (ie. if an external timer is being used).
EspressI/O Version 1.0 User Settings
Description: This is the temperature that will be maintained normally when the machine is on and the Steam switch is not active. You can read what the current Set Temperature is on the LCD; it will indicate whether or not the controller is maintaining Brew or Steam Temperature currently.
Default Value: 95.0°C
Description: This is the temperature that will be maintained when the Steam switch is active. You can read what the current Set Temperature is on the LCD; it will indicate whether or not the controller is maintaining Brew or Steam Temperature currently.
Default Value: 120.0°C
Brew Tmr Toggle
Description: Toggles if the Auto Off Brew Timer will be used. If the user has their shot dialed in, and they want the controller to stop brewing automatically – without the user deactivating the brew switch – after a set amount of time, they would set this to ON. Note that the Timer on the LCD screen will run regardless of this Toggle setting.
Default Value: OFF
Description: If the Auto Off Brew Timer is being used, this setting determines how long after the Brew starts that it is shut off automatically by the controller. Note that the Brew Tmr Toggle setting must be set to ON for this setting to take effect.
Default Value: 25.0 seconds
Description: Toggles whether or not pre-infusion of the espresso is done automatically by the controller when brewing a shot. If toggled ON, the controller will briefly run the pump to infuse the portafilter with hot water, and then wait a set amount of time before starting to brew the shot. Note that the Timer will not start running during the pre-infusion stage.
Default Value: OFF
PreInf On Timer
Description: Determines how long the pump is run to infuse the portafilter with hot water. The PreInf Toggle must be ON for this setting to take effect.
Default Value: 1.5 seconds
Description: Specifies how long of a delay the user wants between infusing the portafilter with hot water and starting to brew the espresso shot. You should note that after the pump is run to infuse the portafilter with water, the 3-way valve opens during the delay so any pressure built up will be relieved. Note that PreInf Toggle must be ON for this setting to take effect.
Default Value: 5.0 seconds
Description: Allows user to compensate for any system variance and achieve the most accurate temperature readings. There is always some variability in the RTD circuit, including variance in components in the RTD circuit on the PCB, conductor lengths and resistances, and some variance within the RTD sensors themselves.
To calibrate the RTD, it’s recommended the user make an ice water bath. Make sure to use lots of ice, cold water, and allow the ice bath to sit for 10 minutes to ensure the water cools down to the ice temperature. Once the ice bath is ready, submerge the RTD probe (to be safe, keep the top of the standoff above water). Keep it there for a few minutes and observe the temperature on the controller. If the temperature does not go to 0°C, then apply offset accordingly. For example, if the reading stops at 0.2°C, apply an RTD Offset of -0.2°C. If the reading is -0.3°C, apply an RTD Offset of 0.3°C. After applying the offset, the temperature reading on the LCD should read 0°C for the ice bath.
Default Value: 0.0 °C
Auto Off Timer
Description: This feature is useful for powering down the machine automatically if you forget to shut it off. Auto Off times can be set from 0.5hrs to 4hrs in 0.5hr increments. It can be disabled as well if the user does not want to use it.
An internal timer starts counting when the machine is first powered up. Once the internal timer reaches the user Auto Off setting, it will power down the controller and put it into a sleep mode. While in sleep mode, the boiler element, pump and 3-way valve are all powered down. As with many appliances, the espresso machine will still be live and consume a small amount of electricity. The controller can be woken up by turning the dial (this will restart the internal timer) or you can simply use the main power switch to power down and restart the machine.
Default Value: 1 Hour
PID – Kp
Description: Proportional PID Parameter. See PID Controller Details for the Brewno controller for more information.
Default Value: 140
PID – Ki
Description: Integral PID Parameter. See PID Controller Details for the Brewno controller for more information.
Default Value: 1
PID – Kd
Description: Derivative PID Parameter. This parameter is quite a bit higher than most people expect. You’re free to play with all of these settings, but first read the PID Controller Details for the Brewno controller for the logic behind this high Kd Parameter. Having this high Kd helps keep the boiler temperature from dropping too low while brewing a shot; there are other ways to do this, but I’m happy with the current controller performance and relying on Kd to maintain temperature during brewing keeps the coding cleaner.
Default Value: 3000