Here are the videos of my automatic printing production system! Lots of videos and

Here are the videos of my automatic printing production system! Lots of videos and GCODE implementation below. I can produce runs of parts with the machine self clearing the bed and starting the next print in an endless cycle. Prints are ejected down a paper chute into a tray for collection.

So when visiting the huge CNC shop where they build my hotends I saw an awesome auto-feed lathe that you load up with bar stock, it turns a workpiece, parts it off whereupon it falls into a little chute, and it then pops out the back of the lathe into a little basket for collection. The guy running the machine shop says he just fills the machine, presses “go” and goes home for the night! Well, I had massive engineering jealously right there. If he could do it, then why not me on my little RepRap?!

Another motivation was that as well as running E3D with David I am also a full time teacher of Engineering at a high school. I want to teach the kids about gearing and so on, so I want to print literally hundreds of these gears: But unloading and resetting prints is a real chore.

In simple summary here is how I did it:

Use PLA on hot glass - the parts come completely loose from the bed once it cools.

Print an item
Cool the bed (parts come loose once cool)
Use a little ram attached to the X-Carriage to push the part off the bed into a chute
Print next item
Repeat forever.

Here are some video detailing the process:

(Warning - I talk a lot…)

Hardware overview

End of print procedure

Ejection of print and starting of next print

Another print ejection

I have left the GCODE files used and the associated slicer config on my work PC and can’t retrieve them. However it really is very simple - using slic3r I have a normal start GCODE that homes the machine and sets the machine to printing temps and waits for those temps to be reached before printing an object with no skirt.

I set my custom end gcode to something like:

M104 S0 ; Set extruder temp to 0C
M140 S0 ; Set bed temp to 0C
G1 Y195 ; Bring the bed all the way forward - so the ram is behind the part
G1 Z0 ; Home Z axis, which touches nozzle to glass bed stopping any leaking and brings the ram down behind the part
G4 P360000 ;Do nothing for 360,000milliseconds (6 minutes) in order to allow the bed to cool so the parts come loose
G1 Z0.2 ; Lift the nozzle slightly so it doesn’t scrape along the bed during the ramming movement
G1 Y0 F6000 ; Sends the bed moving backwards, print impacts ram and is pushed off front of bed onto paper chute

You then just copypaste as many GCODEs as you want items into one file, you can obviously combine different objects so you can produce a varied run of parts.

I have a test run of 10 or so parts printing right now, which hopefully will be waiting for me in that little tray on Monday. No way to know till then… ::o

This kind of approach combined with octoprint with webcam monitoring is a absolute winner in my eyes. I really would love to get this set up at my school in a sort of vending machine that kids can feed STLS and recieve parts out. The little rotters are always bugging me to print me stuff and I never have time. They are so enthusiastic about 3D printing that it’s a shame they can’t use it directly.


great stuff! now share your springs / printed parts for that bed leveling system - I’m not a big fan of @nop_head 's implementation, but haven’t worked up the motivation to redesign it myself. Looking forward to the ejection video… I think you could also print ABS on hairspray/glass and eject the same way, albeit after a longer cool-down period

Dude, @Sanjay_Mortimer great job buddy! This is called advancing the technology. Although simple in the overall solution brilliant in the implementation!!! +your accent is awesome and you totally sound like an engineering teacher!!! NICE!!!

OMG… Plus the code??? Awesome! This is what #reprap is all about… Oder?

Very nice Sanjay.
I think later versions of Marlin added another M code to wait for the bed to cool.

Nice @OctoPrint drop also.

@nop_head I am a little unsure in this… Was that last post about the gcode for the blob before printing correct on you blog? I’ve been spending time on this, but I just can’t get it…

Normally, for printing PLA, Mendel90 has a fan duct surrounding the nozzle so that would preclude having a baffle at the front of the carriage, or close to the nozzle. One could be added towards the back of the carriage and eject the parts backwards.

@Jason_Ray I don’t remember posting any Gcode on my blog. I wasn’t using gcode at the time I blogged ooze free start, but other people added some gcode in the comments section.

The code I ship with my kits does auto start with a blob, but @Sanjay_Mortimer has shown it isn’t required if you block the nozzle completely with the bed. I left a small gap as I feared the nozzle tip would be cooled by the bed.

@Anthony_White I don’t use springs to level the bed as they allow it to wobble. What don’t you like about my solution with solid pillars?

Any you also need to block the nozzle at the end if you don’t start with a blob, which is only possible with small objects.

your parents from india ?

The nozzle sits on the glass between prints? Has this not caused any problems in creating a hotspot?

@Sanjay_Mortimer yes if you are doing auto eject then you can’t use the whole bed anyway, so starting without a priming blob is possible. I was just pointing out a priming blob is needed in the general case to correct my reply to @Jason_Ray .

Hi Sanjay
Well done, great idea. Nice to see your machine working too.
One comment on the videos - I kept getting some weird distortion effects whilst watching and couldn’t work out what was going on. Then I remembered that I had previously allowed YouTube to do automatic anti-shake processing on some of my own videos but eventually reverted to the raw footage because the distortion was so bad. I’m guessing that you may have done the same thing.

Time to bring back

great job there!

@ThantiK best reference ever

Very cool. Can’t wait to check out the eject vid.

@Chuck_Stewart the eject video is posted in this very post.

Great stuff. I’m using a skirt around everything to help sticking. I use a skirt with no gap so it touches each piece. After cooling the skirt comes away easily with the pieces. So maybe auto printing with skirts is possible. I want to try it. And I want software that manages it all.