Hacking a Nespresso Machine! | Brewno

I thought of your issue this morning - the best model for what you are trying to do is a garage door opener. Take a look at the screw drive type, that’s pretty much what you are trying to do in a smaller scale. Best of luck!

1 Like

Ok. So this is my next attempt before moving to something more radical like things suggested here…

The whitish model is the coffee machine… The rest is the rig I am working on… Will be printed tonight!

Il let you know how it goes!


awesome! excited to see how it goes.

Ok… So the design works! Thank God I didn’t have to go to the other complex designs to achieve more torque… As you know this big servos where needed to go beyond the clicking at the end of the travel of the mechanism… And I needed in both sides to get both sides to click, since if one doesn’t the water can leak from one side or both.

I still need to trim the servos position to eliminate the buzzing… (Both servos and then each in respect to the other side) I am also thinking on detaching the servos via software (Servo.Detach) once the servos move to the desired position to eliminate the constant applied force and thus the buzzing… Since the servos are not very precise they tend to buzz no matter how I calibrate them or trim the position… This can happen immediately or at random closings and openings…

I also need to fix the bottom part of the base (or servo support platform) into the machine itself with screws to eliminate the wobbling/flexing of the plastic base. This will make calibration of the servo positions a nightmare!

The design might be an overkill… But it works… I will continue tomorrow with the dispenser mechanism and post videos as I move forward.

Thanks everyone for your help! I learned a lot!

Here’s the video:


Definitely detach the servo control, just to get a feel for it. The pulse width range is 1-2ms, and it only takes a couple to send it the position. So 5-10ms is enough to tell it where to go, and it will hold there. Usually, you can even cut the signal while it’s still positioning. A constant signal can cause it to read slightly different timings due to noise or other things the Particle is doing that might delay a timer interrupt if it’s a soft PWM, so it’ll buzz because it thinks it’s getting slightly different position commands.

Thanks for the advice! Will do!

I will work on this tomorrow and post more videos.

Project update:

Almost… but not quite… Need refinements…



Great project, looks impressive. I’ve got one of those Nespresso units at home and want to hook it up to the internet. You came up first in the google search (also the only real hack that I could find, none of this optocoupler nonsense). I’m first looking to make it connected, after that I might consider doing the mechanical part as well. You built an entire print to control the unit. If you only want to do the connecting part, isn’t it easier to just hack into the existing electronics and use the original microprocessor so you don’t have to deal with the loads of the boiler, temperature PID, etc.? Reverse engineer the commands using a scope and then take over communications.

True love your project!

Thank you!

In reality the print and mechanics is what it is more difficult… the electronics are working great and the PID works very good too. It does not need to be very exact either.

In my experience the electronics have no issues at all. The mechanics are what needs a better design for repetitivity. I need to make a better job but I am a better electronic designer than mechanical maker :blush:

If someone cares for the task I can work with him :+1:t2:

As far as all the electronics and designs I can post them to whoever wants them.

I am also thinking on using the newer Nespresso machine that has the opening an closing mechanism embedded in the machine and just use an HBridge to control it.

I believe that the real freedom comes when you get full control of the electronic side.

Also in my latest design the PCB sits inside the Nespresso machine. But I haven’t made the board yet :stuck_out_tongue_winking_eye:

Hi @frlobo - I’ve started working on a similar project going on my end and I’m facing the same challenges you were facing in the mechanical side. I was wondering if any of your learning/findings have been captured on a github repo or blog as the links on this thread all seem to have expired?

Thanks! :slight_smile: