Some think that grinding the beans and filling the coffee maker is part of the coffee-drinking ritual, but [Jamie] isn’t one of them. Instead, he’s been working to make this coffeemaker a web-enabled device. He built it as part of a class project, and has implemented most of what you need to make a cup of Joe automatically.
You can see a small pump attached to the back of the coffee maker. It sucks water from a pitcher (slightly visible to the left of the coffee maker) to fill the reservoir. He experimented with a couple of different water level sensing solutions. His most recent is a PCB with several traces of different length. As those traces are covered by water, a voltage can be read via ADC to establish water level.
He’s using an Arduino and Ethernet shield to add connectivity for the device. The problem is that there aren’t enough ADC pins left on the Arduino to read the water level sensor. Because of this, he added a self-build shield that uses a PIC to do the ADC measurements and push digital data across to the Arduino. A bit complicated, and it doesn’t load the grounds automatically (yet?). But that’s not to say we don’t appreciate complicated coffee hacks.