Making a Plunger for a Chocolate Syringe

My latest project is a 3D printer that will produce chocolate objects.  Like many other chocolate printers, it will include a syringe to dispense the chocolate.  Unlike those other printers, the syringe in my printer will have 3.5 liter capacity to enable printing large objects.

The syringe is made from PVC pipe using mostly standard fittings.  One piece that wasn’t standard was the plunger that fits inside the syringe tube and pushes on the chocolate contained therein.  I had to design and fabricate the plunger.  PVC pipe isn’t perfectly smooth or perfectly round inside, so I needed something compliant enough to ride out the pipe’s bumps and constrictions while maintaining a seal.  The seal needed to be tough, yet safe for use with food because it will be in contact with the chocolate inside the syringe.  I found some food-grade silicone casting material and ordered it.

While waiting for the silicone to arrive, I designed a 3D printable core for the plunger and a mold and jig.  The core fits on the end of a linear actuator that will provide the push.  The jig centered the core a few mm above the bottom of the mold.  The mold was tapered and the widest part -the bottom- was a few mm larger diameter than the pipe, and several mm larger diameter than the core.  The silicone envelops the core and is locked in place by holes that connect top and bottom side of the core.  The plunger squeeze-fits into the pipe to maintain the seal against the uneven inner surface of the pipe.

Mold, jig, and core for syringe plunger

Mold, jig, and core for syringe plunger

Mold, jig, and core for syringe showing core inserted into jig.

Mold, jig, and core for syringe showing core inserted into jig.










Mold, jig, and core assembled for silicone over-molding.

Mold, jig, and core assembled for silicone over-molding.

I measured and mixed the silicone, coated the core with it and then set the core and jig in/on the mold and let it cure for 24 hours.  Then I removed the jig and broke the now silicone covered core out of the mold.  Result: a perfect, tight fit inside the syringe tube.

Core in mold with silicone.

Core in mold with silicone.











Finished plunger removed from the mold.

Finished plunger removed from the mold.  The mold had to be broken off by design.












Plunger mounted on linear actuator.

Plunger mounted on linear actuator.













The assembled syringe.

The assembled syringe.

Further Adventures in 3D Printer Upgrades (upgrades?)

As previously promised, MegaMax’s Y-axis has been converted to screw drive along with the addition of a larger motor, DSP based driver, and 32V power supply.  The SmoothieBoard arrived and was quickly swapped in to replace the ATMega2560/RAMPS combo.  After studying and configuring the Smoothieboard I attempted a few test prints.  That’s when the problems started.

32V Power supply for Y axis motor.  No regulation necessary!

32V Power supply for Y axis motor. No regulation necessary!

















Smoothieboard is supposed to read the config.txt file from its uSD card (conveniently accessible via USB) every time it boots.  That makes changing configuration very easy and fast – all you do is edit the config.txt file, save it , and reboot the board.  Firmware is updated the same way.  With the ATMega2560 you have to find the configuration variables by searching through multiple configuration files, make the necessary changes, recompile the firmware, then flash the controller.  I said the SmoothieBoard is supposed to read the file every time it boots, but it wasn’t doing it.  I’d make changes and they would not appear in the behavior of the printer.  Hmmmm.

Layers kept shifting in the X-axis- I expected Y-axis problems, but not X!

Layers kept shifting in the X-axis- I expected Y-axis problems, but not X!












I attempted some prints and managed to get two decent ones in about a week of screwing around with it.  I tried dozens of combinations of speed, acceleration, junction deviation (smoothie-speak for jerk) and even tried different slicers.  The machine went completely nuts on two occasions and ignored the Z-axis limit switch and slammed the extruder into the print bed, gouging through the Kapton tape and into the aluminum!  I decided I needed some professional help so I got on the #smoothieware IRC channel and discovered that the developers of the board/firmware hang out there quite a lot.  After a lot of back and forth Q and A and testing someone suggested it might be the uSD card causing the problem.  I picked up a new card at Walmart, put the firmware and config files on it , booted the machine, and attempted a print.  PERFECT!

The new uSD card worked!  The small round post is 4mm diameter.

The new uSD card worked! The small round post is 4mm diameter.











I have made several prints since last night and they have all come out fine.  I still have a little tweaking to do and to test the limits of the machine’s performance, but I think the problems are behind me.

Next up:  X-axis redesign/build.  I’m replacing the two guide rails with a single linear guide.  I have also ordered and received a BullDog XL extruder to replace the hacked up QUBD unit I’ve been using.  I’ll be adding a DSP driver and 32V power supply for the X-axis motor, too.

After that, I have some ideas for a filament respooling machine and ways to fix the retraction problem in the SnakeBite extruder.

It never ends!


The never-ending 3D printer project

MegaMax has been and continues to be my main project for the last 2+ years.  I am currently working on some upgrades that will make him more Mega and even more Max.  The Y axis is being converted from belt drive to screw drive and the round guide rails are being replaced with linear guides and bearing blocks.  The X-axis will also get converted to linear guide and bearing block and change from 5mm pitch belt to 2 mm pitch belt drive.  I feel confident saying that once these modifications are complete the flaws/errors in prints will be due primarily to the nature of liquid plastic squirting through a nozzle, not positioning system errors.

I recently updated my web site with a sort of historical look at the project, including all the mistakes I’ve made along the way and the often failed attempts at correcting them.  Here is the page that shows how it all started, how it has ended up, and where it is going.

Don’t ask me why I do this-  I have no choice.

MegaMax beginning

From this…






















MegaMax present state...

To this…

Snakebite Extruder Testing

rev7 extruder with hot-end













One of the biggest problems with FDM 3D printing is hot-end jamming.  There seem to be a lot of causes, most of which are not readily identifiable when a jam occurs.  One thing I have found is that after a hot-end jam I can usually grab the filament and manually push it and get it flowing through the hot-end again, though it is too late to save the failed print.  The most common means of driving the filament into the hot-end is to pinch the filament between a gear and a bearing and have a motor drive the gear, either directly (with 1.75mm filament) or via a gear reduction/torque multiplier arrangement (3mm filament).  When the hot end jams, the large force applied by the gear over the small area of the filament that is pinched between the gear and bearing usually chews a divot in the filament thus destroying the grip.

A couple weeks ago I started designing a 3mm filament extruder for 3D printing.  My hope is that this extruder will provide sufficient force on the filament to prevent hot-end jamming from ruining prints.  My design uses two counter-rotating 6-32 nuts twisting on the filament (like the way your hands twist in opposite directions when you give a “snakebite” to your friend) to drive it into the hot-end.  One is a normal, right-hand threaded nut, the other is left-hand threaded.  When the nuts turn in opposite directions, the torque that would try to twist the filament is cancelled while moving the filament forward and reverse without twisting.

The motor has to turn about 1.26 times to move 1mm of filament so there is a huge torque to axial force conversion.   The gear diameter is about 30mm.  That 1.26 rev moves the gear about 119mm at its perimeter.  That means there is about a 119:1 increase (ignoring losses in the gears, bearings, and nuts) in the force at the filament compared to the force at the gear.  That force is applied over a larger area of the filament than the usual pinch arrangement, so it is less likely (I hope!) to carve the filament and lose grip.  I tried stopping the filament by grabbing it with my fingers and holding as tightly as I could but it didn’t even slow down.

The firmware in the printer has to be tweaked so that it knows exactly how many steps of the motor are required to drive 1mm of filament.  The formula is:

32 rev/ 1 inch  X     1 inch /25.4 mm   X    200 steps/1 rev    X  16 microsteps/1 step   =  4031.496 microsteps/mm

For initial tests I just input 4031.5 using the rotary encoder on the LCD interface to the RAMPS board in MegaMax.

Here are the parts that I used:

Left hand threaded tap:

5mm brass tubing:

5x16x5mm (625Z) bearings:

Plastic gears:

I also used a NEMA-17 motor from a QU-BD extruder.

You can DL the STL files for the printed parts here:

Test printing will start in the next day or so and I will post another video showing success or failure.

Fingers crossed!

Robbie is safely enclosed!

Finished room!

Whew.  This project was a D-O-O-O-ZY!  We needed to enclose our giant industrial arm so he can’t run away and join the robot circus…

Well…maybe not for THAT reason, but when we start cutting stuff with this robot, we need to keep spectators out of his reach and make sure that if a cutting bit does break, it doesn’t go flying out into the shop and maim someone.

This entire project was the work of several people and really shows why the Milwaukee Makerspace is a great place to build stuff/hang out with friends/play with power tools, etc…


Step 1: Design it!  I used Solidworks and modeled each and every piece of wood that went into this project.

SW screen capture

Step 2: get the wood!  We made multiple trips to Home Depot, which thankfully is only 5 minutes away and we had great weather during the whole building process.  I love having a truck!  Fortune also shined upon me, as we had a new member join up right before I started this project, Jake R., and his help in building the wall was immeasurable.

Get the wood!

Step 3: Bolt the wood to the floor so we know where to put the wall, and then build some framing!

  4 - put in windows

Step 4: Put in the windows, drywall paneling and metal wainscoting.  We were very lucky to get seven pieces of slightly-smoked Lexan from one of our members, Jason H.  We also cut small holes in the ceiling tiles and ran 4 braces up to the metal ceiling trusses above.  This enclosure is ROCK-solid stable!  Thanks to Tony W. and Jim R. for helping with that!

When I went to Home Depot, I thought my truck could handle a 48″x 120″ sheet of drywall.  Not so much… one of their employees helped me split 10 sheets of drywall in half, in the parking lot…so I would later find out that I did not have drywall tall enough for the wall corner.  Hence the need for more “framing” so I could use smaller pieces.

10 - outer framing

The large cabinet that powers the robot arm is right next to the enclosure; I placed it outside to keep it away from foam & wood shavings.  However, we will need to have the programming pendant next to the machine every now and then….hence the need for 2 small pass-thru doors next to the cabinet.

6 - hole for mini-door

11 - outer door installed











I used doweling to help hold the door frame components together…..probably not needed, but it ensures a STRONG door!

16 - drilling door frames  15 - door framing 1

Again, hooooray for the Makerspace and all its tools! We have several LONG pipe clamps that came in VERY handy for gluing the door frame pieces together.

17 - frame glued up - 1

Here’s the outside of the enclosure.  The big metal control cabinet will go right here, hence the framed “mouse hole” in the lower right corner so we can pass the cables through from the cabinet to the robot arm.

13 - outer door and mouse hole

The same area viewed from inside the enclosure.

14 - inner door and mouse hole

Here’s the ginormous sliding door.  It’s mounted on a barn-door track-rail and supported on the bottom by two custom-made wheel brackets.

23 - finished door on track

Here’s how I made the wheel brackets.  I got two lawnmower-style wheels and bearings from Tom G., then Tom K. enlarged the center holes on the wheels on his Bridgeport mill so I could use bearings for smoother action.

18 - wheels in slot - 1

I figured on four carriage bolts for a super-strong connection to the door frame.

19 - wheel assembly done

This is the track and wheel bogies that hold the sliding door to the wall.

22 - wheels and track

Bolting the brackets onto the door was “fun”…I forgot that the very bottom of the door framing is two horizontal pieces, so the very bottom bolt had to go.  ‘DOH!

21 - inside door frame 1

Here’s the final, assembled view.  You can see the robot’s control cabinet in the lower right corner.

Now that the fabrication is complete, we’re working on decorative ideas for all that blank-looking drywall.

24 - finished room!

Whenever I look at this finished project it feels like to took several months to get it up, even though construction only lasted about 2-1/2 weeks.

Thanks to Jake R., Tom G., Tom K., Tony W., Jim R., and Bill W. for their assistance with this project!