Moineau Soap Dispenser

by emmett, published

Moineau Soap Dispenser by emmett Jan 31, 2012

Featured Thing!


My girlfriend challenged me to make a hand soap dispenser that is cooler than anything we could buy at Crate & Barrel (or similar stores). The result, after a number of design iterations, is this bottle which now inhabits our bathroom.

This dispenser is designed to reduce waste in a number of ways. First, it is easily refillable, and so can be used for many years. Second, as the pump is turned, liquid soap spills from the spout back into a hole in the bottle, thus recycling any drips. Third, this design makes it easy to get as much or as little soap as you want, while commercial soap pumps often dispense more soap than necessary with a single squeeze.

Recent Comments

view all

You can probably just scale down all the components by the same percentage. If that doesn't work you'll have to dive into the OpenSCAD file. This is a pretty old design, so I can't promise very clean code...

hello ,nice design wanna print biut need to scale down litle be. How to proper scale?

printed nicely but rotor was supertight and got stuck, om UP min btw with crystal ABS

More from Bathroom

view more

Liked By

view all

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag. Print Thing Tag


Print one of each part. Twist the crank onto the rotor (it's designed to be a tight fit, but if it doesn't work with your printer's calibration, you can adjust the crank tolerance parameter in the OpenSCAD file). Slide the rotor all the way down into the pump body.

To fill, simply remove the rotor, pour liquid soap into the top of the bottle, and slide the rotor back down into place. Be careful not to fill it too full, or when the rotor is inserted the soap may overflow from the vent hole.

To use, turn the crank clockwise until enough soap is pumped up that it begins to spill from the spout. Wipe your finger up the spout to get the desired amount of soap. The crank should turn easily; soap is viscous enough that a tight seal is unnecessary. This tolerance can also be adjusted in the OpenSCAD file.

The crank drives a progressing cavity*, or Moineau, pump which was invented by René Moineau in 1930 and first described in his doctoral dissertation. His idea helped him found a company that is still around today, selling these very pumps: pcm-pump.com/pump-manufacturer/history.html

* Gaymard, B, et al, "The Progressing Cavity Pump in Europe: Results and New Developments", Offshore South East Asia Show, 2-5 February 1988, Singapore, onepetro.org/mslib/servlet/onepetropreview?id=00017676&soc=SPE.


You must be logged in to post a comment.

premek on Oct 4, 2013 said:

hello ,nice design wanna print biut need to scale down litle be. How to proper scale?

emmett on Oct 5, 2013 said:

You can probably just scale down all the components by the same percentage. If that doesn't work you'll have to dive into the OpenSCAD file. This is a pretty old design, so I can't promise very clean code...

alofus on Sep 20, 2013 said:

printed nicely but rotor was supertight and got stuck, om UP min btw with crystal ABS

thecrazy on Nov 21, 2012 said:

A high res version of this would print nicer. Still got the source?

emmett on Nov 21, 2012 said:

 Sure, the source is soapPump.scad. Just fiddle with $fn, $fa or $fs to change the resolution. But beware, it'll take a lot longer to render at higher res.

Fastrack on Nov 21, 2012 said:

Printed on a Replicator 1 (ABS), .27 layer height, 10% infill, 0 extra shells @ 80mm/s.  I've spent a ton of time calibrating my machine.  But the outcome is AMAZING.  It even pumps water!!!  The rotor fit perfectly!  Soap I'm using is a little thick, so if I turn it quickly it actually misses the drain back hole - or maybe because the pump in mine is so good :)

dsnettleton on Apr 19, 2013 said:

I always have trouble printing thin-walled structures in ABS; they always want to delaminate on me. Any tips?

Anonymous on Mar 12, 2012 said:

Excellent application.

Something that is useful, not another idiotic i-widget that is something useless to snap onto an iphone.

Good to take and adapt for so many different applications around the house

sirmakesalot on Mar 11, 2012 said:

Nice one!

These "everyday application things" are my favourite to see. real world and true to the ideals of the 3D maker revolution!

I can't wait to make this! I made your original Moineau pump and while it is a bit tough to turn, once primed it works quite well!

My hats off to you my good man!

LT1Pat on Mar 7, 2012 said:

I printed this part on a commercial 3D printer and it looks beautiful.

Too bad the rotor doesn't fit in the base because there is not enough clearance.

emmett on Mar 7, 2012 said:

What machine did you use? I'm surprised a commercial printer would have less dimensional tolerance than a Makerbot. Anyway, you can change the tolerance in the OpenSCAD file. You should only need to reprint the rotor.

Anonymous on Feb 7, 2012 said:

Have you considered adding a ratcheting mechanism to make sure that it is only turned in the proper direction?

emmett on Feb 7, 2012 said:

I suppose you could do that, though I like to turn it the opposite way to push out the liquid in order to remove the rotor and refill it.

tyleryoungblood on Feb 5, 2012 said:

Two questions, first - shells?

Second, has anyone tried to scale this? I'm thinking about a 75% size for the bathroom. See how long it takes the wife to notice ... :-D

I assume it'l scale just fine, but just thought I'd ask.

emmett on Feb 5, 2012 said:

I used zero extra shells and 10% fill; the zig-zagging fill pattern made the walls completely solid. If you want to print it smaller, don't just scale it; re-render it from OpenSCAD. The reason is that the internal pump stator is designed to be exactly two threads thick so that the tolerances are correct. Make sure the "wall" parameter is 2 times your calibrated thread width, then divide it by 0.75, and then throw a scale(0.75) in front of each part.

Anonymous on Feb 3, 2012 said:

seems a bit unhygienic.

emmett on Feb 3, 2012 said:

Really? It's pretty much the same as any other soap dispenser: you touch it before you wash your hands, but then you wash them. If the idea is that the soap itself somehow gets dirty, I think that would imply that soap isn't really a cleaning agent.

bld on Feb 2, 2012 said:

I love that it's a completely printable device, without the need for extra hardware.

laird on Feb 1, 2012 said:

I love this. It's perfect for 3D printing - it's unique and useful! I can't wait to print it.

wes on Feb 1, 2012 said:

Super impressive once again, emmett!

This is the kind of stuff that makes people realize what consumer 3D printing is all about.

watsdesign on Feb 1, 2012 said:

I love it and maybe even more how this came out (a cool and bold challenge ^^)...

It's one of the many things here that just show how fabulous objects people can invent... and share, thanks for that :)

br3ttb on Feb 1, 2012 said:

love it. have you noticed any evaporation issues?

emmett on Feb 1, 2012 said:

No, though I imagine only the water portion of the soap would evaporate anyway. If it gets too viscous, you can always pour a little water back in.

MangoT21 on Jan 31, 2012 said:

Hope it gets featured! This is cool!

jianhuashao on Feb 16, 2012 said:

yes, it is cool

emmett on Jan 31, 2012 said:

For those of you curious about the internal workings of this design, here is a cut-away animation (click for full size). I think this design helps showcase the power of 3D printers because this bottle would be nearly impossible to fabricate any other way (at least as a single piece).

JohnA on Feb 4, 2012 said:

Does the bottom (internal) plane have some dish to it, so that soap tends to move toward the center?

jakepoz on Feb 3, 2012 said:

Awesome design!