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.
But does it implement RFC 2324?
RFC 2324 is trivial.. I wouldn’t be at all impressed by that unless he implements it on top of RFC 2549.
My previous liquid measurement methods (for my saltwater tank) have involved float switches… (capacitive sensors aren’t really an option as the saltwater would destroy the contacts)
My current project involves one of these sensor strips:
http://www.sparkfun.com/products/10221
This should be better than sticking a PCB in drinking water, I would think. And it only involves having one ADC to read the value.
Yeah, PCB + drinking water sounds like a bad idea.
So no PCB’s, ok. How about a ribbon cable? For instance, take a 4 ribbon cable, RGYB.
R=5V and longest
G=1cup length
Y=4cup length
B=8cup length
Solder 10K resistors between G-Y-B, connect B to Analog input. Value should change as the water ‘disconnects’ the hanging wire.
Just a thought
Float switches are typically bulky.
Exposed wires are typically a no-no.
Freescale has a pressure sensor (model MPX 5010) that everyone uses for level measurements. It’s got $5 samples (not free unfortunately, but better than $15 one-off) and it uses a single ADC.
I have personally used one myself and they’re great.
The source is posted, and it doesn’t appear to support RFC 2324. Yet. Any good Samaritans out there?
FINALLY all those wasted hours pushing the button and reading a news paper gone!
If you’re using the PIC to overcome the Arduino’s shortcomings, wouldn’t it be easier to just use the PIC as the main uController instead?
I was thinking the same thing.
it was a class project so he probably didn’t work alone and someone on the team was arduinotard
Or just add an analog mux instead of a whole uC…
Why don’t you use a some kind of weight/pressure sensor inside the reservoir and catch the values, and use those values to determine 1 cup, 2 cups…etc. You would of course use some kind of silicon bag (or something) inside the reservoir to keep the weight/pressure sensor from getting wet.
Finally, a good use for RFC 2324.
I tried to get a cup of coffee, but I got an error 418…
I have that coffee maker sans the circuitry
To load the grounds you could use a hopper with an Archimedes screw(Auger) attached to a stepper motor that drives the grounds down through a tube to a chute cut into the top of the basket assembly. More rotations equal more grounds and stronger coffee. To keep the grounds fresh the auger would run in reverse and push the grounds back into the reservoir safe from steam.
I have a setup like this except i just have my plug server with a usb serial adapter and the cm17a firecracker module controlling my x10 system.
means i don’t need the extra power of setup like this and i get my lights controlled too