Dollo 3D: Self Replicating 3D Printer


Introduction: Dollo 3D: Self Replicating 3D Printer

UPDATE: not everything is up to date on this project.

If you are new to 3D printing this is not yet a good place to start. I am still working on the documentation and will be making assumably videos in the future. If you already have an idea of how 3D printing works then just know to use the most up to date files on the github repo and do you best. Use the pictures to guide you! yes it is a cube shape.

UPDATE 2: this printer does not come in different sizes, kinda

This printer does not come in different sizes, its not like a small medium large thing. This printer can print its self larger with the SAME files. you just print more of them. I also have the .scad files included if you want to (super easy) render out your own super long/custom length extension parts. I have a few videos on how to do this on my youtube account (same handle) and you should not be intimidated by using openScad it's super simple.

TIP: Don't over complicate things

This printer is stupid simple. If you are thinking its hard, or something isn't working right then you are probably just doing it wrong. This entire printer, and all of its variants in size, shape, and function, all use the same exact stl files I think only 12ish files can make you any type of printer/cnc you want to make with this framework.


a fully printed 3D printer

make sure you grab all of the files from it includes all of the .scad and .stl files along with custom firmware for your electronics board. If you need the files in any other format just let me know and I will export them in whatever way you need.


1) Make a 3D printer that can make as many of its own parts as possible

2) Have it so the machine can scale with little to no throwing away of old parts

3) Make it easy to assemble

4) Use no more than a single 1KG spool of plastic to make.

5) Make it as low cost as possible.

6) use parts that are each to find.

7) make it durable (since it can print its own parts this isn't super high priority)

8) hope people stop asking "what if you could 3D print a 3D printer" because of course you can and its not that unique of an idea


9 x rack.scad

13 x extension.scad

8 x corner.scad

156 x bow_tie.scad but extra never hurts

2 x x_spacer.scad

6 x motor_mount.scad

6 x twist_corner.scad

2 x large_gear from gears.scad

2x middle_gear from gears.scad

1 x gear_one from gears.scad

1 x hot_end_mount

3 x gear.scad

Metal parts we hope to get rid of in the future

11 x M3x40 for the motor mounts and bed gears

5 x M3x10 for the motor mounts and bed gears

4 x M3x20 for the z motor

4 x M3 lock nuts for the bed gears Electronics and other

1 x main controller board (we use RAMBo and also like the idea of printing the PCB and mounting the components your self)

3 x end stop switches we are trying to come up with a clever way of doing with with printed conductive parts

5 x motors

1 x hot-end or whatever tool tip you want really

1 x hobbed thing, gear or bolt

1 x bearing for extruder (might be able to print)

1 x heated bed

1 x glass/aluminum that fits on the bed

4 x springs and screw for leveling your bed.

Step 1: Build a Cube

start with the basic frame, take a single corner and butt joint all 3 extension pieces to it with all 4 bow_tie slots. then on the end of each of those add corner pieces then extension pieces again until you have built out a full cube shape.

Step 2: Flat Gears

Put on the racks. first you need to decide what side you want to be up, this really doesn't matter since it should be the same on all sides. Once you have figured that out, you can start putting your racks on the top of your printer with more bow ties add rack.stl on parallel sides and to the top of your remaining extension piece. each should have 3 racks on it.

Step 3: Mount the Motors

mounting your motors. first you will need to put a gear.scad on your motor shaft, then you can take a motor and put the motor_mount_small on it and screw in the single counter sunk screw on the bottom using a M3x10 and then put it on your printer rack and make sure the gear aligned with the rack teeth. once it does you can keep it on the rack and screw in your other motor_mount_small to the other side. (make sure to do this on the printer because if you don't it wont go on after) do this for all 3 racks and make sure the motor faces out.

Step 4: The X Axis

mounting the x axis. grab your x_spacer and put them on the end of what you already have assembled on the left over extension piece and then slide that into the motor mount on each side of the printer

Step 5: Get the Frame Ready for the Bed

Get the frame ready for the bed. First you need to prep you printer by taking the crazy looking twist_corner pieces and bow tie them to the inside of the printers frame mirroring each other but keep the bottom one out on each side

Step 6: The Bed

Now take a motor and mount put the gear_one on it and mount that to your bed, then take your middle_gear and put those next to the motor and then put your large_gear and large_twist together, and put those next in line.

Step 7: Putting in the Heated Bed

Putting the bed in. This can be kind of tricky, but you have to twist your bed so it goes inside the frame sideways and the you should be-able to twist it to make it fit in the frame with the corners sticking out. and this is why we didn't put in the bottom corner_twists, because now your bed sits just under them and once you have the electronics set up it will be able to twist into those and once its in the teeth you will be able to add your last parts under it. The bed sits in the printer at a 45 degree angle so that you can use the full bed size if you scale the printer up.

Step 8: Electricity

Electricity is fun. take all of your motor and put them into the correct stepper controllers making sure that your Y motors are plugged in opposite of each other. Plug in your electronics and make sure to upload the correct Dollo version of marlin. Once you have done this you should be able to move your motors and this is where you move your z motor in the negative direction (negative because that make the hot-end and the bed closer) and once it is up at the top, you can put your last twist_corners on your printer

Step 9: Hot Ends and End Stops

Hot ends and end stops. The Hot-end should be put in your hot-end mount and should just slide and clip into your x motor mount. The end-stops are up to you, they are made to slide into the frame anywhere you want, the x end stop has a custom mount so that it can mount into the moving x axis.

Step 10: The Extuder

Setting up the extruder. Not sure what extruder you are using so I left this a little bit open ended. You can use whatever bowden style extruder that you want, (if you want you can even model up a direct feed) as for mounting, the entire frame has slots on it, so just slide it in wherever works best for your application



  • Woodworking Contest

    Woodworking Contest
  • Clocks Contest

    Clocks Contest
  • Make it Move Contest

    Make it Move Contest

We have a be nice policy.
Please be positive and constructive.




I would like to print this printer, but I don't know what parts to print. Could you tell me exactly what and how many parts I need to print to assemble a Dollo with 20x20x20 print size?


I was wondering... has anyone tried to make this with 28byj-48 motors? I feel like it might be possible to get the vitamin's list for this printer down to about $30 since it does away with expensive chrome plated linear rods, or threaded rods or linear bearings!!! Too bad it uses so much filament... I guess that's the trade off!

hi there, which stepper motor are you using.?.? Would it be possible to use a sanguinoluboard?


some thoughts about the X and Y gears, that fit on the stepper motor axis. Shouldn't they have a bearing on the side opposite to the motor?

I printed some planetary gear bearings, and they work ok, so I was thinking about integrating one into the motor mount.

Maybe we could then also save one motor, but I'm not sure about that now.

A printed axis between the two Y gears may have a too high twist.

But I'll definitely try it.



1 reply

it doesn't work like that. I don't do bearings because its not needed. and you can't get rid of the other y motor because it flexes way to much since it has no metal parts in the joint.

Is it better to print them in PLA (more rigid), or ABS (easier fitting parts together?).

I started printing this a couple of weeks back. Got most of the parts printed for small Dollo, but still need to print some of the bow ties and long ties. Also need to design something to hold the bed.

Some of the other parts needed haven't arrived yet, like RAMPS board and hot bed.

I've had some minor problems with prints being too tight fit, but that's just problem with my print settings, been tuning them as i go and now the parts seem to be fine. Also the new long ties models have some mismatches that i fixed after forking the github project.

I did start assembling the frame today and it does seem quite rigid. My plan is to make the smallest first and then increase the size, starting with the Z-axis.

4 replies

what parts were mismatches in the git repo? (might just need to re render and export the .stl's)

In the NEW ties folder, the twist corner vertical grooves didn't fit the extention part and top ties where too tight of a match to get them fit on the next part.

Also the motor mount was bit too tight for the rack to fit in the groove.

I forked the github project, my modifications are here: If the changes are viable, i can create pull request to merge them. I think i did some kind of fix for the include-warning, too...

I'm waiting for my summer vacation so i can continue with this project. Currently all parts are printed (i think, haven't kept that close count :) ), but haven't had time to assemble. I also need a plate for the bed, i was thinking about designing and printing somekind of frame, but don't know what it'll be yet.

Nice project, the tinkerer in me is pleased :)

yeah, I know I had not yet made the new z corners, I have been using metal rods to get rid of variables while its still all being tested. The issues with the parts fitting isn't necessarily the models issues, what I have seen a lot of is different slicers, or different machines, tip sizes, all those kinds of things can change how well parts fit together, you will see in a lot of the .scad file I have a thing asking for tip size, that is there so that I can compensate for the top diameter and make parts that fit better.

yeah I do need to make fix that include warning. As for a frame, you can use the long slots to make short "long ties" and slide them into the slots with a small hole for a magnet and then just press fit magnets into it and do the same on some plexiglass to make "walls" but that only works when you scale it up and the bed is straight and not 45deg (at 45deg the corners poke out so you can't put a plane there)

I'll go and check out the fork right now

True, some of the problems can be caused by differences between printers, but i had to change the motor mount part about 1mm and i think that's quite much for varinace, especially when other parts generally fit. Then again i haven't measured what the actual prints are compared to the models... i'm using Slic3r and recently purchased Simplify3D.

The Z-axis is an interesting idea, i think i'll play around with the current version just to see how well it works. Looking forward to the finished version.

And i wish you luck with the kickstarter campaign, i'll pobably get me a kit even though i'm printing one :)

I don't fully understand what to print.

In the folder NEW_long_ties, there are the long, straight elements named extension.scad.

Are they meant to replace the old extension elements with holes?

If so, it seems that you mount the racks to them using the long bow ties.

But how do I mount the twist_corner? It seems that they still need the short bow ties. Do I have to use the old extensions for the vertical beams?

4 replies

yes the long ties is the current version that I am working on, I don't have the twisted corners in there yet, because it was just a lot of variables to calculate in for print quality. I have just been using metal rods (I know its not with the methodology of the project) so yes its still a work in project, if you want you can model up the z parts in openscad, just take the old .scad file and change out the difference with the new long ties (look at the rails for inspiration on how to pull this off)

I am working on the final details for the official dollo kickstarter, so if you want to wait a little bit you could get a kit of printed parts, and required hardware from there, and you will know that its all of the parts and the right versions. Go and sign up for the reminder email on out site

Thanks for the quick answer.

And thanks for the offer, but I already have all the electronics parts. This isn't my first printer, and I like to tinker around, so I have lots of heatbeds, extruders, hotends, Ramps boards, etc.

But if the design works, I'll send you a donation.

I'm not even sure whether I'll build a complete Dollo. I was just curious whether a fully printed frame would be rigid enough. I think it is, if I add some glue.

Also, I was curious about how well the X and Y gears would work. We'll see.

The Z axis I don't really like. It's interesting to have a a fully printed solution here, but I'm not convinced that it'll work. The plate is only guided at two points, so I think it'll tilt. Especially in the full sized version. Also, I don't think that the PMMA plate that holds the gears will be rigid enough. I'd rather use an aluminium or Dibond plate here.

I think I'll try your Z axis just for fun, but I'm rather convinced that I'll end up with a classic version, using either one threaded rod and two guiding rods, or two threaded rods and two motors.

But I'd be very pleased if the plastic version should work.

Oh, and btw: I encountered a problem in your OpenScad code when using a new version of OpenScad.

You're using an include file named "include.scad".

Openscad refuses to load this, because "include" is a reserved keyword. I had to rename it to include2.scad.

Also, it isn't possible to include the same file twice. So if you include file 1 in the main file, and you include file 2, that also includes file 1, you'll get an error. This is a normal behavior that most programming languages show. Before including a file, you should test whether it is already included, which is common practice.

Thanks for the interesting design, and keep up the good work

you for sure won't need glue, the frame is crazy strong when you have all 8 (4 corners and 4 long ties) in the joints.

I can get the x and y to move at about .25mm accuracy with no lashing (as it has no belts)

I agree with you on the Z axis, the idea is fun and it was just to say yes you can do it, but its not supper accurate as it tends to rotate about 1 degree between layers I have been trying to work on it but eh, the only thing its good for it being able to scale with out getting new metal parts. If the parts were injection molded it would work file, but they aren't sooo..... yeah.

it says that include isn't being pulled in but really it is, it gives a warning but it does still work.

I have tested all of the include files, they are used everywhere in the printer files and I rendered all of the stl files my self so I don't see how that isn't working.

So what are you then planning to use for the Z axis?

I was thinking about a printed toothed rack also for Z, but then we'd need two of them, and also two motors.

Talking of motors, I've seen people using smaller, geared steppers for 3D printed printers, for cost reasons. They're slow, but cheap, and small. I could imagine using two, or even three small geared steppers for the z axis, as you don't need much speed here.

It would be even possible to do an automatic levelling then.

There aren't any cheap 3D printer boards, that have enough stepper drivers for that, but a set of such a motor + driver board is super cheap, so it'd be possible to just drive them with some of the spare IOs of the Arduino board. That'd require a special firmware version, but it'd be fun designing it.

Just some thoughts...

thank you for doing my job and replying to the questions :) I must have missed this notification a while back

Hello there! I am actually looking to download and 3d print a Dollo 3d printer. I've been looking at this build and I just have a couple of questions for you.

It seems as if you have several different sized dollo printers. In the Dollo-Master zip, does it contain all of the files for the largest sized printer? (I am looking to print a printer with the largest print bed possible)

My next question would be the following. You have a list of parts and pieces that cannot be printed. Do you have a suggested place to purchase all of these parts? I wouldn't have any idea where to buy them. Or do you have links to where I can buy each piece?

I will be 3d printing this with a Connex 500 Objet printer at my place of work, and I am excited to get started. I am looking forward to hearing back from you. Thank you very much!

This is so awesome! Could you please specify (even I know, I can use any), which motors have you used and (because english isn't my native language), what do you mean with "hobbed thing, gear or bolt"? Thanks a lot! ;)

2 replies

The motors are standard nema 17 motors and the hobbed thing you can do a Google search for its a bolt or gear that has teeth in the side so you can grab the plastic with it