Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

Modular castle kit - Lego compatible

by danielkschneider, published

Modular castle kit - Lego compatible by danielkschneider Sep 27, 2012

Featured Thing!


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

Thing Statistics

63971Views 28761Downloads Found in Construction Toys


UPDATE (feb 2017) This version is deprecated. If you start new, please take http://www.thingiverse.com/thing:2141175

"Blocks" that can be assembled into a large medieval castle, Lego size

Your choice:

  • Print bricks with base platform attached
  • Print stackable objects that you can put on top of a base plate
  • Combine the two

I had the following in mind:

  • Reduce print time.
  • Provide incentives to be creative: kids can adapt and expand with their own bricks
  • Should be easy to print
  • Should be sturdy
  • Should be expandable by people with minimal openscad skills (create your own blocks)

You don't need all the pieces. Look at them and decide. A single castle-tower.stl can do for starters. By XMas you should be done printing a reasonably impressive set :)

File names:

  • By default, bricks have a flat bottom and are not stackable (easier to print).
  • All files called *_legobase are stackable, i.e. can be put on top of a base plate or other pieces.
  • File names including _16 use a larger 16x16 base plate.


Status and versions

This is version 1.x. Certainly, each and every block could be improved. I printed all designs. So far I only had two print aborts at later stages Both explained by bad filament, i.e. ">2mm knots in 1.75mm" filament. I usually finish prints over night and then come back to my office to discover the wonders.

In version 1, each block (aka castle module) had the same 8x8 (6.4cm) footprint. As of version 1.2 I added stackable objects that you can put on a base plate. Added bigger base plates and a 8x8 tower on a 16x16 plate. But the idea that the whole design is based on a 8x8 grid pattern remains true. Versions 1.2 to 1.6 add more objects and also 16x16 base plates with wall and corner. Version 1.6 also allows to generate nano legos (more or less...). Each version may include a new brick.

I will replace objects without special notice after adding smaller improvements. I printed most objects so far and when I encounter a problem I try to fix it. This also includes usability, e.g. I made some pieces a bit taller and may do it for others.

Objects with integrated base plate are easier to print, however they may slightly warp when your print bed is dirty or uneven or too far from the nozzle.

The http://youtu.be/RqC9cUzia8k video shows a print in progress (2 towers and a (warped) base plate.

For a subset of DUPLO sized STLs, see http://www.thingiverse.com/thing:31408


Any PLA 3D printer should be able to print this. To get Lego compatibility, you need a printer that can do 0.25 layers for real (also x/y precision), i.e. probably any good 2012 model.

Print times:

Depend a lot on your settings and your printer. E.g. with my Felixprinter (see my mid-quality settings below), printing a tower takes about 6-8 hours. Printing 4 pieces together, i.e. a corner tower, 2 fat corners and a wall with stairs took 22 hours. The controller software, Repetier Host, predicted print time as 15:32 minutes, i.e. way off the mark.

Slicing parameters

I use the following:

Layer size:

  • 0.25mm, but 0.2mm should be better


  • 12-20mm/s for the first layer and nozzle really close
  • 40 mm/s for perimeters
  • 80 mm/s for fills


  • 0.25 can do (or even less)
  • 0.35 is much safer with respect to the base plate floors. However, this may increase warping. Your choice.


  • Use three fully filled layers (bottom and top) for floors
  • 2 extra shells on base


  • Bumps in the bottom layers (top of base plate): Use more fill

  • Base layer won't stick: Reduce speed and put the nozzle closer to the print bed (1 sheet of paper). You also can increase temperature, e.g. 210 for PLA.

  • Ugly bridges (underneath horizontal overhangs): Ignore these or print colder or create a better design.

  • Warping: I did experience warping when printing more than one piece at a time. Since I later managed to print a 16x16 base plate, I figured that (a) the platform wasn't totally even and/or that it had greasy spots (fingerprints) and (b) there could be the fact that after long hours of printing, an object will very very slowly, but gradually dimish adherence with the platform.

  • Printing several pieces at the same time: In theory, most printers could print 6 blocks. For overnight prints I suggest to print 4 at the time, but monitor until the platforms are done ! However, when I do 15-20h prints, I do encounter some warping in some pieces in the morning after. In addition, I noticed quite a decrease in print quality (see some of the walls in the pictures), maybe because the pieces move a bit or because the nozzle can slightly stuck. That being said, at some point I also noticed that the z-axis-motor connection on my printer became loose, i.e. distances became a bit wrong after retraction (reverse turns). Prints now look better again...

  • A little base-plate square (1st few layers) can detach from the platform (I made these to prevent filament bonding sideways and then warping): If you can, put your printer on hold, then take it away, heat it with torch then put it back using tweezers. Else use tape that has glue on both sides or whatever else that will make it stick. Next time, print closer and more slowly.

Some bricks are harder, i.e. the ones that are stackable. Slow down speed and maybe reduce layer size if they don't come out as you like. Also, I strongly suggest to print one stackable (baseplate-less) wall at the time. If the nozzle gets caught a bit it may move the print and you will have to restart.

Post processing

Depending on your slicer settings and your printer, there may be some stringing. Blow these away with a little Dremel blowtorch (or similar). Warming: PLA can turn very quickly from solid to liquid. Keep the flame away and use the protection.

Warped plates can be easily mended using a heat gun. Heat at about 120 degrees C for a while, then gently bend. An riskier alternative is to take the piece of a heated print bed while its still warm. At 60 degrees you can bend.

Hanging filament (underneath horizontal or diagonal 45 deg. overhangs). Cut off with a little swiss knife, then use the blowtorch to give its look back.

For best fit, you could make sure that the squares are really square. You may have to file corners a bit or parts of walls that touch. Again, use a gas torch to give the piece its look bad. In addition, you could use real Lego plates to take irregular bits from the nibbles away if needed. You can use a soft hammer for that.

OpenScad code

The whole thing is based on:

All the castle kit stuff is in file castle-kit-x-y.scad. Each castle block is an OpenScad module that basically just calls ugly modules I wrote. Therefore, you also need my Duplo/lego library called doblo-factory-x-y.scad. See the beginning of the latter if you need to change parameters.

I will leave some old versions, since I may make changes in height or introduce bugs and people may not like that. Take the highest version number if you start new.


(1) After 2 weeks, I now feel that that the sort of minimal serious castle could be assembled like this:

  • 4 16x16 corner base plates
  • 1 16x16 base plate
  • 2 16x8 walls with stairs
  • a few stackable towers for connecting the plates and for providing a space to live in

That would give a 48x32 sized castle (copy/paste to a text editor, ascii art is hard here):


Of course, that is just a suggestion. You can go for smaller or bigger (bigger is better). Also, if you already got big lego base plates, then you only may want to print stackable elements.

You also could netfabb or a similar tool for planning your prints, i.e. just use it to position various bricks before printing one by one. See one of the uploaded pictures.

(2) File "castle-large_example" shows how you could imagine a horizontal assembly with OpenScad. It's actually printable if you got a really large print bed. However, 2-3 day prints are fairly risky. Anyhow, normally, assembly of blocks is done with Lego pieces...

(3) Print aborts: Assemble and then burn with a mini gas torch. It makes lovely destroyed castles as you can see in three of the pictures. Note: These aborts were due to either bad filament, Win 7 shutting down or a nut that got loose on the printer.

More from Construction Toys

view more

File Name



All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

This is by far our most favorite design on thingiverse. I have printed several of these with my son in glow in the dark PLA. We are using them to store our numerous lego dimensions characters. Even at the lowest of resolutions it prints perfect. Our oldest print is a tower and its almost 2 years old now and my 5 year old has not managed to break it. Very strong designs, I recommend these files to people regularly!

Thanx for your kind words ! I think they should encourage other total amateurs (I got no engineering/CAD training) to continue contributing relatively simple but somewhat purposeful objects :)

I made a new version that includes more standardized modules and that has better usability for assembly and inserting Lego persona.
The design remains simple. I cannot do much better :)

Modular Castle Kit - Lego compatible V2

I printed the wizard tower on my stock davinci 1.0 in ABS and it came out fantastic, the best thing my printer has done. I used .2 layer height with low infill and normal shells and it looks awesome. The print lines are almost nonexistent. Great job on the models, what program did you use? Keep up the great work.

I have recently designed a Lego Modular Castle system. While demonstrating it at Brckcon. A few people suggested printing the modules instead of making them out of Legos. You might want to check out what my modules look like to give you more ideas on how to print more castle like models. You can find pictures of the modules


Let me know if you are interested in working together on something.

THAT IS SOOOOOO COOL!!!!!!!!!!!!!!!!!!:)

Hey! I would really like to print this, could someone tell me how tall it is? I'm new to this...

Thank you Daniel for your great work. While bringing up my new Chaucer printer (see http://www.thingiverse.com/thing:33636)http://www.thingiverse.com/thi..., I was able to successfully print the 2x4 test block. I've not yet applied your recommended settings, as I'm still calibrating the basics, all at 30 mm/s.

I was able to fit the printed part to a factory part on both the pin and socket side. After a few snap in tests, I broke one of the socket cylinders on the printed part. I will switch to your recommended configuration settings, but in the meantime, have you broken parts before? Wondering if my parts are slightly undersized.

Also, has anyone heard anything from official from Lego about the 3d print community making Lego compatible parts?

Chaucer - A Vertical 3D Printer

Since the cylinders are just attached to the bottom they can indeed break off more easily. However, they shouldn't come off that easily. So far, it rarely happened to me but then I didn't test the bricks with real kids. I didn't want to embed the cylinders into the roof since the roof already is difficult to print. However, one might think adding some lateral stabilizers like Lego does for Duplos. Actually there already is something like this, but it only will show up on DUPLOS or Legos printed with 0.1 resolution. Certainly could be improved.

No idea what Lego thinks. However, I carefully avoid calling the bricks "Lego", since it's a trademark. The bricks are called "Lugo" and "Doblo" or "lego/duplo-compatible". Since Lego is loosing every court case against products that are Lego-compatible, there is nothing to be afraid of. Finally, so far, printing a piece is more expensive than buying one. In addition people who print a few weird Lego pieces may buy other pieces, i.e. 3D printing may be good for their business.

This being said, despite loosing court cases, they always can try to threaten places like sulpteo or shapeways since the word lego could appear in product descriptions a bit too prominently. http://www.shapeways.com/search?q=legohttp://www.shapeways.com/searc...

Please complain if you believe that I should revise a model. Some may be a bit difficult to print. Though so far, I managed to print most....- oct 10 2012
Oh, this also implies that I would like to know if anyone did print something and how it turned out ...a short post would be fine enough :)

I've printed the tower yesterday. Now I'm printing 3x thin walls, all legobase versions. Using white ABS, 0.4mm nozzle, Slic3r, 0.25 layer 15% honeycomb infill. Turned out great and my kids love it. I will post some picture when I have more parts. My son asked if you could make a gate with opening doors :-)

Cool, thanx for the good news. I suspected that ABS would warp a lot, even with a heated printbed and using the "legobase" version.

Also, so far I didn't get the chance to test with kids. Mine are too big now ;)

Mine is a FelixPrinter. Some description I made: http://edutechwiki.unige.ch/en/Felix_3D_printerhttp://edutechwiki.unige.ch/en...

Heated Printbed, 0.35mm nozzle, 0.1mm layer resolution, optimized for PLA printing. (but I don't print that precisely, it would take too long)

But I believe that any recent PLA printer could do these, i.e. a somewhat bigger nozzle can do too if the machine can more or less accurately print 0.25mm layers. Older ones (like my RapMan V3.1) can only print DUPLO size, but do that well.

Printing with ABS won't work I think, unless you got a heated chamber. The models with large walls could warp at upper levels. I didn't try.

This is very cool. However, I printed out  2x2 canonical and they don't eem to quite fit together (very loose) and they don't really fit to duplo / lego.

Are they a bit large? I appreciate it is WIP :)

1) Trouble is that sizes are very printer and slicing dependent. If you print with 0.1mm layers they certainly will not fit. 0.25 PLA layers (what I use) probably print too wide (0.38mm) and this is why mine fit. Same can be true if you print with large layers but also the opposite. If your slicer believes that a layer has 0.6 width, it will only generate two walls for a thickness of 1.5

The only solution are either

  • to edit the OpenScad file and adapt the parameters to your settings and then generated the STLs again.
  • Change width settings in the slicer (i.e. tell it to narow wall distances in one way or another)

2) Second trouble is that the 2x2 canonical was a DUPLO piece (uploaded by mistake) that was indeed a bit wider. I killed that and replaced by a better Lego piece (2-calibration.stl).... sorry for that. Btw. a Lego is 1/8 of a Duplo, but the walls, insets, etc. do not have the same proportions. In other words, printing a Duplo half size won't do.

 Ah ok that makes more sense. I just started with the first STL and worked my way down and then when it didnt fit.. i did wonder!

Got any other duplo pieces?

Thanks for a great kit - I'm now printing the 2-calibration.stl piece to see how that goes.

I am honored that this was featured :)

Though it may have been a bit premature. On the other hand, the whole OpenScad crowd now can pick up the idea and do better than me ....

I'd love to see these on 1-3 printable plates/sheets.

[Edited] Added more stackable objects. So you got a choice: either use these and put them on top of a base plate or use bricks that have an attached base plate.

I also added bigger 16x16 and 24x24 base plates, though I'd rather buy one ;)