The folks at Q42 write code, lots of it, and this implies the copious consumption of coffee. In more primitive times, an actual human person would measure how many cups were consumed and update a counter on their website once a day. That had to be fixed, obviously, so they hacked their coffee machine so it publishes the amount of coffee being consumed by itself. Their Jura coffee machine makes good coffee, but it wasn’t hacker friendly at all. No API, no documentation, non-standard serial port and encrypted EEPROM contents. It seems the manufacturer tried every trick to keep the hackers away — challenge accepted.
The folks at Q42 found details of the Jura encryption protocol from the internet, and then hooked up a Raspberry-Pi via serial UART to the Jura. Encryption consisted of taking each byte and breaking it up in to 4 bytes, with the data being loaded in bit positions 2 and 5 of each of the 4 bytes, which got OR’ed into 0x5B. To figure out where the counter data was stored by the machine in the EEPROM, they took a data dump of the contents, poured a shot of coffee, took another memory dump, and then compared the two.
Once they had this all figured out, the Raspberry-Pi was no longer required, and was replaced with the more appropriate Particle Photon. The Photon is put on a bread board and stuck with Velcro to the back of the coffee machine, with three wires connected to the serial port on the machine.
If you’d like to dig in to their code, checkout their GitHub repository. Seems the guys at Q42 love playing games too – check out 0h h1 and 0h n0.
Thanks [Max] for letting us know about this.
19 thoughts on “Hacking A Coffee Machine”
Cute games. Perhaps minesweeper inspired?
solderless breadboard? not even a soldered .1 perfboard?
I find it weird to see breadboards glued or stuck to insides of projects that are actually in place, and not on a test bench. if its out in the real world, why not take the extra 2 hours or so and solder your stuff down? I just don’t get that level of laziness; if you have gone so far as to make something work why not at least transfer the idea to something that will hold up and be reliable. I wonder about temperature and humidity – and how those are not friends of protoboards.
I picked up a commercial temp controller box for a thermal chuck for semiconductor testing a couple years back. I picked it up just for the nice Watlow controls on the front panel. I opened it up to take it apart and found all the peltier drive circuity was on a breadboard. Really??? I guess that makes it easy to change the mosfets…
I prefer to select suitable MOSFETs (and protective circuits) that do not need to be changed throughout the product lifecycle. Therfore I use SMD MOSFETs. MOSFETs are not lightbulbs.
You would like to change the MOSFETs in the engine controller in your car? probably not. :-)
Normally I would agree with you but I have replaced countless mosfets in gecko stepper drives from bad things happening like shorted cables, cables to ground, shorter motors or some sort of ground loop. That’s about the only reason that I can think of that would make these guys build it like that. There are a lot of power electronics with end user replaceable mosfets or IGBTs.
OK, than we obviously overdo it with the protection (HW and SW) :-)
“Their Jura coffee machine makes good coffee” – For what one of those cost it damned well better
They really do make good coffee. The wife and I bought one a little while back and never regretted a second. They are a little more expensive than the most, but heck, we drink coffee every day. Why not make it a really good coffee?
To get back on topic, I wonder what machine did they do it on. Is it compatible with all JURA machines?
It’s definitely not compatible with consumer models, as they don’t have a serial interface. (Or at least they didn’t five years back when I examined one)
they have a diag port. or at least my Z series has it. it is even accessible from the outside w/o screwdriver.
Interesting :-) The one I looked at looks like the current F50 classic, I guess one of their more basic options…
The problem is, it DOESN’T! You’d get far, FAR better results of a cheaper good-quality semi auto machine. Most automatic machines also waste a lot of the coffee. The only thing automatic machines are for is that they’re easier to use. It’s more convenient to push a button than to grind, tamp, and control everything by hand. But that does cost as much as a much better grinder paired with a quality semi-auto, and the results are *nowhere near* as good.
It’s like keurig/tassimo and the like. Nobody buys that because they make better coffee (far from it!). It’s always because of the convenience.
I’m a French press guy myself so I wouldn’t know, but with coffee it’s often a case of what one person considers ambrosia another thinks is sewage. It doesn’t surprise me opinions are split on this machine. (And I still think it’s a Hell of a lot of money regardless)
It’s not all that split really. People who never drank espresso or lattés from an actual nice coffee shop (who freshly roast their own blends every few days) wouldn’t be happy with this. The crema is pretty much non-existant when you pull a shot on a machine like this. Sickly pale, thin, and vanishes almost instantly. You could easily get better results with a $150 baratza grinder and a $50 2nd hand breville semi-auto…
If you’re willing to spend $1000+ on an automatic machine, then you can get something like a brataza preciso and a pretty darn nice semi-auto machine instead, possibly with a PID control, or for not much more, a second hand dual boiler machine. The automatic machine is not even in the same league.
But the fully auto just requires a press of a button, whereas the other requires you to tweak your grind settings, your tampering pressure, the coffee dosage, understanding concepts like thermal cycling and so on. The results are totally worth it though! It just doesn’t compare.
French press makes some great coffee too. I still love my bodum chambord :)
Those are still a bit expensive without discernible improvement over a unit half the price, but with a French press it’s all about the bean and the grind, (and the water) not the apparatus.
hehe I read “so they hacked their coffee machine so it publishes the amount of coffee being consumed by itself” as in: the coffee consumes its own coffee!
I guess with the demands programmers make on coffee machines, it needs a little boost every now and then!
No, just bad english.
Oooh. Got a very similar machine at work.
Tempting to give this a go as it’s non destructive. (The machine is obviously not my property.)
Nice coffee but terrible UI and usability. I like cortados but couldn’t even see a way to add a new coffee to it. I had to edit and rename one that wasn’t used much.
How do you adjust coffee/water temperature in eeprom? Jura Z7 makes only lukewarm coffee on high temp setting
Please be kind and respectful to help make the comments section excellent. (Comment Policy)