This is something I have been wanting to put together for a while.
I have the Rancilio Silvia (2009) Espresso machine, which is a great coffee maker, but one of its (minor) problems is that there is no indicator when the water level is out, and it is somewhat inconvenient to always check before making a cup. Especially when it is positioned under kitchen cupboards and has to be slid out for re-fill.
I had a brief search for descriptions of similar mods online, but didn’t find anything. All I found were people complaining about the lack of water level indicators, or mods which added temperature PID mods (http://coffeegeek.com/forums/espresso/machinemods/139192), or Arduino based Wii-nunchuck mods that still didn’t tell you if the water was out (http://www.engadget.com/2008/04/21/rancilios-silvia-espresso-machine-gets-hacked-via-the-arduino-a/)…. so I went and solved the problem myself.
DISCLAIMER: I take no responsibility for anyone damaging their coffee machine, or any other electronics from trying to copy this. What you immerse in your coffee machine reservoir is your own responsibility. This documents what I did to my machine, and what has worked for me, I can’t guarantee you’ll have the same success if you try and replicate any of this…. so don’t try unless you have some idea of what you are doing, this is pretty simple compared to some of the things you could add or do to your coffee machine, but I’m sure there are plenty of ways it could go wrong…. Seriously, don’t break your Rancilio! That said, if you do try anything similar that works well, I’d be interested in knowing your approach too.
Investigation
I thought up a number of methods to meter the water level –
- Capacitive sensing — which would hopefully mean no parts actually in the water, the sensor could be placed on the outside of the water container and stay dry. I may look into this further, it would require quite a bit more research to see if it practical. I would expect to have to use an Arduino to read and calculate water level from capacitance.
- Pressure sensors — These can be placed at the bottom of a tank to measure the exact level of a water tank — see this project for details: (http://www.practicalarduino.com/projects/medium/water-tank-depth-sensor). I expect it would work for a coffee machine reservoir too, but may be overkill. I decided I didn’t really care how full it was, I just wanted to know when I should refill it.
- Optical sensors — using some sort of IR reflector on the water surface and measure the brightness to determine how close the water is to the top. This would also mean no parts are immersed, but would require calculation, and a lot of calibration. I don’t even know how well this would work, again, I never got around to pursuing it further.
- Physical (float) switch.
Using an Arduino just to control one LED to let me know I was out of water seemed excessive — I’d want it do pretty much _everything_ else — temperature monitoring, remote control, LCD displays, social networking, and whatever else anyone has got a coffee machine to do with an Arduino. I mention these other methods above in case someone else wants to run with them, or has any experience with constructing anything similar, I’d be interested in knowing whether they could work.
My Solution
The simple option I went with that does the job is to use a float switch that turns on an LED when the level drops below a certain point. The circuit is broken when the water level is sufficient, so no power is drained from the battery. The only concerns were that the battery does not get hot from the machine heating, or wet from the steam and water. Oh, and also that the float switch doesn’t leach carcinogens into my coffee….
I bought a small float-switch off ebay. These things can be configured by turning the float around so that the ‘up’ position changes between on and off. There is a little magnet moulded into the plastic float, and a reed switch inside the rod it floats on.
It came with a rubber washer and the wires sealed up with (presumably) water proof sealant. It is designed to be mounted through a hole and then screwed into place. The thread and washer diameter was 5mm. I bought a short length of 5mm plastic tubing and heated the end of the tube with hot water to expand it, and jammed it over the end. I then pushed the solid plastic washer back down on it to further jam it together. Once cool the seal seemed to hold. I tested it in a glass of water before dropping it into my coffee water supply.
Here is the basic circuit diagram,
and some photos of what it looked like, when it was all alligator clipped together to test the concept — which showed that it worked nicely, and once I soldered the parts together.
The extra button is for testing that the battery is good once it is in place, and because I thought that if anyone asked what the hell all those wires sticking out of my Rancilio were; me answering with “a water level alert for my Espresso Machine” isn’t as exciting as showing the spooky Violet light bar that lights up when the water is out. The push button lets me do this without running the tank dry each time. The whole point of this was to prevent me from opening the water reservoir unless absolutely necessary. It also lets me check taht the battery isn’t dead.
The LED is violet, with a 2.something voltage drop. I am using it quite bright with only a 330 ohm resistor. Something higher would make the battery last longer, but since I don’t expect it to be on much it shouldn’t matter. The ‘light channel’ is just the clear plastic body of a pen that was lying around when I slapped all this together. I made all the wires about 30cm long, and the tubing about 25cm. I’d actually make the wires longer as there was less room to manoeuvre the tank and the battery in place with the wires and extra tube, which surprised me. There isn’t much room to fit anything larger than another 5mm tube through the gap from the main body to the water tank as there are already the water intake and steam outlet hoses (which are also about 5mm diameter).
I put the battery and a little proto-board where all the wires are attached in a plastic bag with a moisture absorbing gel sachet (again, it was lying around and I thought it might do some good) and used a twist-tie to secure it a bit against moisture and contact with the metal case.
The whole thing works pretty well — I could probably do more with the presentation, but the basic concept seems sound. The float switch could trigger anything, so I could attach any number of lighting mods or other alert things to it if I feel like a MK2.
Design Considerations:
- 9v supply because I didn’t want to touch the coffee machine power supply as it is all mains level, I’d need a transformer to mount inside the machine, and again, too much work for what I was trying to achieve.
- No power consumption during normal coffee machine operation.
- Didn’t want to stick anything in the water supply. Oh well that didn’t happen… I’ll look at capacitive sensing some other time maybe.
- This sensor is super cheap. (the float-switch was a pound or two)
- Small parts — not too much room in the case and it does heat up, so having plenty of room left for air circulation is good. Also - doesn’t interfere with refilling.
- No unnecessary control logic for a really basic function.
- No permanent alteration to the machine. The whole float switch assembly just lifts out, and if it does fail at some point there is no harm done.
- Everyone loves adding LEDs to stuff, but blue has been done to death. These violet ones seem to have a red and a blue LED. If they are under-powered they shine red.















