Smart coffee is highly customizable software that runs on an Arduino or similar microcontroller, to control the various functions of an espresso machine.
The software can be configured to replace the factory controller functions such as:
Control the boiler pressure using programable PID or PWM logic
Check the boiler water level through the factory-fitted probe
Refill the boiler by activating the pump and refill valve
If a water reservoir tank is present, it can check the water level using a probe OR via a switch. If the reservoir is empty, the element and pump will be disabled until the reservoir is refilled
In addition, the software can add extra features such as
OLED display that can show pressure, temperature, water tank level, mode, pump & element icons, and more in both metric or imperial units
Pre-infusion cycle what can be customized to pre-infuse the coffee grounds at low pressure before extracting the shot (activated when Espresso mode is ON)
Espresso Mode which can be customized to stop the pump after a programable amount of water is dispensed.
Flow meter which can keep track of how much water has been dispensed
Espresso timer which automatically stops the pump after a programmed amount of time
Water reservoir level can be measured using an ultrasonic sensor and printed on the display. No more manually checking to see if you need to refill the reservoir tank!
Pause a boiler refill from happening when an espresso shot is being made
Temp sensor which can be used to measure any temperature on the machine
Safe mode which can be programmed to shut down in the event the pressure and/or temperature exceed the programmed limits
Buy smart coffee here
Download a preview version of Smart Coffee software here
(The preview version allows you to view the Setup and Guide pages before purchasing)
Watch the video to learn more about smart coffee here
Video Playlist for configuring Smart Coffee here
Espresso Machine Compatibility:
Smart Coffee should be compatible with most single boiler (aka heat exchange) machines that have the following hardware:
Water Pump
Solenoid valve (to refill boiler)
Heating element
Boiler water level probe
Brewing switch
If your espresso machine uses a currently unsupported hardware configuration, you can submit a request below to have your hardware configuration supported with a future update.
UPDATES to Smart Coffee:
V2.0
First Released Version
V2.1
Added the option to use temperature as the target for the boiler element control.
Added the option to disable pressure safety limits.
Added the option to disable the pressure transducer.
Renamed "TEMPERATURE_SAFETY_FEATURE_ENABLE" to "TEMPERATURE_SAFETY_LIMITS_ENABLE"
v2.2
Refined and optimized logic
Updated pressure reading units to display 0.0 resolution
Changed printed display value "Kpa" to "kPa"
Added multiple attempts to connect to max31865 temp sensor
Updated serial printing logic
Removed obsolete serial printing commands inside the brewing logic
DOWNLOADS:
Download STL files to print the SH1107 display mount here
Download the wiring diagram here
Download a preview version of Smart Coffee software here
(The preview version allows you to view the Setup and Guide pages before purchasing)
WIRING DIAGRAM:
Adafruit MAX31865 board configuration: https://learn.adafruit.com/adafruit-max31865-rtd-pt100-amplifier/rtd-wiring-config
FAQs:
Will there be updates for Smart Coffee? Yes, we’re brainstorming several ideas and features to add to smart coffee.
My machine has a different hardware configuration, will Smart Coffee support it in the future? One of our goals is to have Smart Coffee be highly compatible with most espresso machines. If your espresso machine uses an unsupported hardware configuration, you can submit a request to have your hardware configuration supported with a future update.
Do you offer technical support? No, we do not offer individuals technical support for installing Smart Coffee. Our videos, guides, information, and software are supplied for educational purposes only.
Are there any warranties given or implied? No. Smart Coffee software is supplied for educational purposes only.
Are future updates free to download if I purchase Smart Coffee? Yes, once you buy Smart Coffee software, future updates will be free to download. As the project evolves over time, there may be variants of Smart Coffee, for example, ‘Smart Coffee – Dual Boiler edition’ which may require a separate purchase.
Hardware list:
(affiliated links, thanks for your support)
Pressure transducer: https://s.click.aliexpress.com/e/_DD26P6x
Input: 5V
Sensor output: 0.5 ~ 4.5V
Pressure range: 0 ~ 0.4Mpa (400Kpa)
Thread: G1/4 (aka ¼” BSPP)
(thread adapter may be required to fit different machines)
¼” BSP to G1/4 adapter: https://s.click.aliexpress.com/e/_DmjM9T5
Right angle adapter: https://s.click.aliexpress.com/e/_DCGZhH5
Arduino MEGA 2560 PRO: https://s.click.aliexpress.com/e/_DEqZP9t
OLED display: https://s.click.aliexpress.com/e/_DlNwzh1
OLED SH1107 display
Interface: I2C
Pixels: 128x128
Input: 5V
Ultrasonic Ranging Sensor: https://s.click.aliexpress.com/e/_DdEwlEb
Model: A02YY
Output signal: PWM
Input: 5V
(Solid state relays with appropriate current and voltage ratings for the pump, refill valve, and element)
2 Channel SSR: https://s.click.aliexpress.com/e/_DEuadS3
Control: 5V Low-level logic (aka GND pin to turn relay ON)
Load current: 2A
Load voltage: 250VAC
40A Solid state relay: https://s.click.aliexpress.com/e/_DkRF9Ij
Control: 3 ~ 32VDC
Load current: 40A
Load voltage: 24~480VAC
MAX31865 temp sensor with probe: https://s.click.aliexpress.com/e/_DefQQLp
Adafruit MAX31865 board configuration: https://learn.adafruit.com/adafruit-max31865-rtd-pt100-amplifier/rtd-wiring-config
Small size flow meter: https://s.click.aliexpress.com/e/_DFDQ3vv
Model: USN-HS06P
5 ~ 12V
6mm OD
30 ~ 150ml/min
Medium size flow meter: https://s.click.aliexpress.com/e/_Dl8u7QT
Model: USN-HS06PS
5V
6mm OD
0.1 ~ 1.5L/min
(For a high-pressure flow meter, google search for “GICAR flowmeter” or similar)
Chrome on/off Switch: https://s.click.aliexpress.com/e/_DdqG6h9
Micro USB panel mount: https://s.click.aliexpress.com/e/_DBQWf5h
5V PSU: https://s.click.aliexpress.com/e/_DBJgyX1
Model: MeanWell - RS-15-5
Output: 5VDC, 3A
Miscellaneous:
2mm Clear acrylic sheet (for OLED display mount): https://s.click.aliexpress.com/e/_DDmUUlh
(Display mount acrylic screen size: 2x38x50mm)
Connectors: https://s.click.aliexpress.com/e/_DdGNokf
(I used 2x 4pin connectors in my build, however this assorted pack comes in handy)
Plastic enclosure: https://s.click.aliexpress.com/e/_DD9Nslv
(Purchase an enclose that has sufficient space for the electronics you're using and fits inside your machine)
Shielded multi-core cable: https://s.click.aliexpress.com/e/_DDXYKMf
(I used 1meter of 28AWG, 10core shielded cable)
Dupont crimping tool: https://s.click.aliexpress.com/e/_DkR40YX
Rivet nut tool: https://s.click.aliexpress.com/e/_DE05vaf
Bug report - overall, things are working very well. However, on 2 instances, the boiler over pressurized, causing the over pressure valve to open. I didn't get a look at the kPa on the display, but it must have been below the threshold which is set to 120. After shutting it off, then shutting it on, it went into safe mode. The machine had been on for for maybe 45 minutes or so and I had pulled a couple of shots. Another much less significant bug is that sometimes I have to restart the machine to get the brew lever to engage the pump. This is no big deal. I'm not sure if there is a way to get a log from those instances?
Hi, this is great! I’m ordering parts now but I’m in USA, do I need to order anything differently from your list above?
G'day Schematix - firstly great project! It's been a pleasure to watch your YouTube videos to understand how to adapt and install on a E61 HX type espresso machine.
I will be looking to implement your Smart Coffee project on my Rocket Giotto (ECM under the hood). Reading through some of the comments, you are looking to update the project to esp32, do you have a rough timeline on release? Happy to assist in beta testing.
The other question I have, instead of mounting a new screen and drilling a hole for the espresso mode button. I was thinking of removing the pressure gauge and mounting a 1.3" round screen. Its 50mm wide and has a built in button. This is an example - https://aliexpi.com/W8SV. Then use the hole on the boiler with a temperature probe to measure the boiler temp. Should look pretty neat.
I have been using the timed shot option because I found it hard to get accurate results with the flow meters I installed. My machine has a flow control on the grouphead and when i try to do any flow adjustment during a shot, the water volume in the shot is effected. I am wondering if using a high pressure flow meter would help at all. Any suggestions for flow meters?
been running Smart Coffee for a week and its great. there are a couple if things i would like to see:
instead of just the graphic when the brew lever is pulled in Espresso mode, i would like to see some of the brewing information. I am running it in volumetric mode, but i would like there to be a shot timer to aid in grind adjustment. i would actually prefer maybe just the screen you get when not in espresso mode that shows all of the machine data.
I have gotten the whole system wired up and I have run into a problem with the SSR turning on the Ulka pump. when i hard wire the pump, it works, so that is not the issue, if i connect the neutral with the 3 way valve it turns on, but not when its connected to its own relay. i purchased the 4 channel relay in the parts list and i have tried multiple channels and also switching the hot as well as the neutral. I did some searching and it seems like vibritory pumps can have issues when running on this sort of relay. I read that adding a RC snubber can fix the issue? Check out this link(disregarding his comment about the humm coming from his 3 way valve) https://electronics.stackexchange.com/questions/278144/controlling-ulka-pump-using-relay
I have a Vibiemme Domobar single boiler with NO heat exhange. In order to make steam I turn on the steam switch which brings the boiler water temp up to 100 celsius. How would this work or how can I achieve this with Smart Coffee?
Is it posible to add this switch?
Thanks in advance!
Any idea why the temp sensor would give read outs of -242 then 988? The connection is per instruction and I soldered for 3 wire probe.
Trying to set up the boiler probe and the serial monitor is not reading. I got 2 reads when I first tried, then it stopped working. Checked the connections and everything is good from that end.
Hi - where does the power from the main switch go? In your wiring diagram, there is not mention of the AC load. Are the element, pump and valve relays getting power from the switch? Because they are all labeled as neutral in the wiring diagram.
Hi,
Are you aware that the Decent espresso machine's controller app is open source? The founder/CEO of Decent was a director for EFF and is committed to keeping the app open. Here is a video of him speaking about the history and future directions for the app: https://youtu.be/_hYLYHWavAI?si=ib7kF3g1jBjw4Jcj
I am in the process of trying to get a Lavazza machine (an E61 machine built by WEGA originally built for pods) working. The heater controller board is fried. The machine has a rotary pump, but I've acquired a DC gear pump to retrofit it and enable pressure profiling. Originally I was thinking of trying to use Gaggiuino to get the machine running and on an open platform. Now, I'm wondering if Smart Coffee might be a better plan. A bridge between Smart Coffee and the Decent app would be cool as hell!
I think I read somewhere that you had plans for new hardware (but can't find it now). Is this something you might be interested in? My background is software development, so I might be able to help.
Mark
Hello,
great work! Would it be possible to integrate gear pumps like the fluid o tech pumps,fg series? https://www.fluidotech.it/en/products/technologies/external-gear-pumps/fg200-300-series/ Would be good for flow/pressur control. The motor controller needs 0.3-5V for controlling. Greets from Germany, Dennis
This is such and exciting project you have come up with..
I've got a rocket r58 dual boiler, will this controller work, as my plug in controller powers down the machine when I plug in..
Hope I can give this a go
First, amazing work! Love this. I take it that it would be easy enough to progamme in via the ardiuno a solid state 230v switch and timer so that my, incredibly slow, Lelit PL52 can come on 30 mins before i get up?
Could you please give a more specific details for the Miscellaneous items? Maybe I am missing something. i.e. the dimension of Clear acrylic sheet, number of pins for the mini molex connectors or the dimemsion of the enclosure. Do the link reflect the correct selection for the part? The reason I am asking is that what I follow in the link for the transducer, it select the 0-0.6Mpa while the your description is 0 ~ 0.4Mpa range. I think this still works, but just want to make sure. Also, for the connector, I belive we need 1/4" F (to the transducer) to 1/4" M (to the espresso machine's connector), which should be a Type 2 from the part website, but the link selects Type 25. So I am a bit confused.
I'm not ready to drill through the metal panels on my machine - can you still get pretty much all of the functionality without the screen and button (of course without the espresso mode and refill message)? Also, any ideas on how to incorporate the oled screen and button without drilling through the rocket? Thanks.
Exploring the feasablity of doing this mod with a breville 870xl. I was initially planning on using an ardinio in parallel with the exisiting breville mainboard, just to remote start power with a dry relay and monitor temps & status to a mini-display or HomeAssistant instance. Now I'm thinking through replacing the whole board. has anyone else reached out to you with a similar breville device?
Will it work with the original pressure transducer?
I wasnt expecting to see another type of controller board other than made by factory. I have a semi automatic machine with broken board and i was going to modify it into manual switch.
Will this support hx machines with several buttons like 1 espresso 2 espresso and continuous one?
2+ group heads maybe?
Hi, I am trying to gathering the parts for the projects. I wonder if these are the links for the exact parts? I found couple of the links that I have to choose the correct parts according to the part specs descriptions. Any comments?