MakerBot Print is our newest print-prepration software, which supports native CAD files and STL assemblies,
allows you to interact with all your printers via the Cloud, and many other exciting new features.

Download Now

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

Folding DNA model kit.

by mkuiper Mar 30, 2015
Download All Files

Thing Apps Enabled

Please Login to Comment

I work at Illumina, the genotype giant with 90% marketshare of this emerging technology. I'm sure I could sell 1000 of these for desk ornaments to peeps lol. I've been printing hard to print single wall flyable airplanes for a few years. https://3dlabprint.com/ I don't have a lot of experience with rafts or support structures which are critical to printing these. As many have noted the bottoms are ratty and the tops are clean, the walls on these are thick enough to resolve small errors to make perfect parts. In my high stress prints I've found only 2 outer layers can make nearly perfect parts with temperature and flow settings set right. So my situation is so far, I printed 2 A T, and 4 backbone parts with Cura 15.04.6 (a common preferred version for many people for many reasons:) ) that came out pretty good with stock raft and support, Bottoms are a little ratty, tops look good. I used 0.1 resolution, so I thought these would come out really clean. Using Hatchbox PLA Red and Blue for AT, Silver for the backbone. Different colors print differently I don't care what anyone says, I've burned 2 rolls of red fails to print a silver perfectly the first time. The DNA backbone is tough to print, the bottoms break off, I tried to print 4 at a time and thought I might get a couple good ones despite the obvious breakoffs of many bottom cups. All the pins and cups are higher up, so despite the scraggly bottoms it recovered and I can still connect them. Outside edge is messy, just depends on your camera angle. I'll post my first 8 pieces in the makes section. My questions are 1) what are you using to slice?. I used Cura, but I also have S3D (untried for these parts), and that is required for 3dlabprint airplanes, Cura works good for less complicated things, which apparently these are not. 2) What Filament. I use PLA mostly but have some ABS, That shouldn't matter for a fairly dense item like this. Critical item. 3) Raft and suppport settings? I used the default Cura setting which wastes a lot of filament but works well for the limited times I've tried to print things like that. 4) What printer? I'm using a (typically finicky) Robo3d R2 (much experience with an Robo3D R1, didn't learn my lesson to buy a Prusa)

Hi Freeschwag,

Ah, I know Illumina, I work in bioinformatics and biomolecular modelling. Must be very cool to be working there; the technology has come such a long way in the last decade. Ha!, what a perfect place for the model. ;)

So to answer your questions, I have a Zortrax M200, so use the Z-suite software for slicing. It is nice, but unfortunately closed source.
I typically use ABS, though I have heard people have reasonable success with PLA.
As for the raft and support settings I typically use the z-suite 20% overhang setting. It does a raft be default. I get away with 0.19 mm layer height, but sometimes go down to 0.14 if I want it a little smoother.

I also get some crappy results on the underside, especially on the rounded spheres for the atoms. It also seems to depend on the plastic itself. I've also found sometimes scaling up slightly can help, but you certainly use more material.

I am toying with another design which prints the atoms more as flat disks rather than spheres, to help with the printing but I won't have too much time for that for a few months.

Good luck with the printing, I hope they like the model at work. :) Love the planes by the way.


I've been planning on printing this and arranging the nucleotides to spell out a sequence of proteins where the 1-letter protein code spells out my friends name and giving it to her as a gift, but I want to know how big the completed model will be first.

If I plan on doing an 18 nucleotide sequence and print at the default dimensions, how long will the DNA be?

Thanks for making this, it's an amazing design

Hi Mooshlovely,

What a nice idea! I've recently printed out a 17 base model, (which took about 3 days of on and off printing). I've attached a picture of it. It stands about 28 cm tall. An 18 nucleotide model should be just just under 30 cm tall.

You could scale it down, but do some test pieces first as the joints don't seem to be so reliable.

Good luck! I hope your friend likes the model.



I love the idea. However, I tried several times to print the parts, but the bottom half of the spheres are very often malformed (as is written a couple of times below here). I have not found a solution to the problem yet. If anybody would have a suggestion ..

Hi Diedhert,

yes, I've also had some troubles with that as well with my Zortrax M200. I seem to get some improvement scaling up the parts.
Perhaps you could try a test with one part, - scale to say 120%, 150% and whatever size you might like and see if that helps. It will of course take much longer to print the larger you go!.

Good luck!

Sorry to disturb you again. Can you tell me how you 'started' from scratch.
I can make all models (nucleotides) fairly easy (using some software), but how do you make the bondings between bases and between the nucleotides in one strand (and how do you make the 'attachements') ?
I would like to be able to do that as well...
So if you have the four nucleotides in 3d, how do you adjust the molecules such that you can attach them in the right angle to each other ?


Hi there,

So as I understand, you would like to create the pieces already joined together?

Originally the pieces are designed to be printed individually and slotted together. So the bases pair slot into the ribose ring on the backbone, while the backbone pieces slot together via the end phosphate groups. (Look carefully at the images). It can be a little confusing if you try to add a base pair to the wrong backbone hole! The 'pegs' of the base pairs have a split in them to help them lock into place.

If you want the pieces 'pre-joined' you could play with the Openscad file and rebuild some of the models, but the system was designed to pull apart.

I hope this helps!


No, the other way round. If I have a program that can design/print the (deoxy)ribose, the base and the phosphate group separately.
How, or in which program is it best to add 'pegs' and 'holes', and how do you place the pegs and holes such that, when fitting the different pieces together, all parts are in the right distance/angle to each other ?


Ah! Now I think I get it. For this model I used OpenScad. It is a little tricky, but the process I used was taking a pdb file of the DNA, and copying the coordinates as points of spheres to represent the atoms. You can then define a 'Peg' and 'hole' module to point in the appropriate directions for the model, for which I used the coordinates of the atoms. If you get your head around OpenScad, you can probably make out how I did it in the code. If you still have trouble, please feel free to send me a sketch of what you had in mind and I'll try to help out. You can reach me at kuiper.mike at gmail.

Best regards,

Does anyone know what the diameter of the helix turn is?

This is awesome. I just came across this project because I've been searching for a way to be able to visualize the results from my DNA testing. Do you know of any program that would be able to take my raw data and make a model to my results? BTW, pardon my ignorance on this subject :)

Hi Nathan,
glad you liked the project. Depends what your raw data is and what you want as a final result. If it is a DNA sequence, and not too long in length, you could use a program like Avogadro (free) to build a DNA model directly (perhaps try double stranded B form). You can even export this as a pdb file which you can open with VMD (free) and then generate an .stl file for printing. I'd probably try a surface representation in VMD for printing as other views I think might be too complicated to print easily. ;)


Good luck!

What an amazing project mkuiper! Just wondering, how many of each of the bases do you suppose is needed? I'm aiming to acquire some of the correct colour filament :)

Thanks Ben,
It is up to you how many you print. You need about 12 of either A/T or G/C pairs to get a complete helix turn.
Quite a lot of printing, but hopefully worth the effect. :) I'd start with a small batch, say 4 backbone plus one each of
Ade,Thy, Gua, and Cyt base pairs to check how the tolerances on your printer go and how well the pieces fit together.
If all goes well, then you can scale up.
Good luck!

Best regards,

I'm printing this out and giving it to my science teacher for teacher appreciation week

Hi Brenden,
That is very thoughtful of you.
I think your science teacher will like that very much!
Good luck with the printing, it can take awhile. ☺

All the best,

Thanks very much for sharing. I'm making some now in PLA and will post the results.

Q: I'm thinking the 4th picture in the series has an error: Is G and C reversed by chance? The others seem correct.

Hi Kenneth,
greetings from down-under.
Indeed you are correct, - well spotted! I'll make the corrections and re-post that image.
Good luck with the PLA version, I'm curious to how it comes out. I never quite get a smooth underside
of the spheres in ABS, well at least with the Zortrax.

Thanks again,

Hi, Mike. The results are at http://www.thingiverse.com/make:258826
Thanks again!

Folding DNA model kit.
by kfj

Hi, I really like your design. However, with my Fabricator mini it is really difficult to make nice prints. The bottom half is never nice. I was wondering if it would be possible to make two parts for the bases? An upper and lower half? In this case, the sphere shape of the atoms would be nicer. Upper and bottom half could be connected by for example mortise and tenon joint or by a small rod (like the elbow pin in the stand).


Hi Tom,

Good to hear from you.
-yes, with my old flash forge printer I had similar experiences; the bottom looked terrible and was hard to remove from the support. It seems to work much better for me now with the Zortrax which has a much better support and base that seems easy to remove.

I really like your suggestion; I could try make it but it will take me a few weeks to get around to it. One thing we could try in the meantime is perhaps try another slicer, - maybe Cura would work to get better, easier to remove support. (I'm not sure how well that works with the miniFab.)

Another thing we could try is printing a couple of bases vertically, to minimize the deformed bits. The only problem I have with that in the past is the H-bonds pins can be quite weak and liable to snap. Might depend on the plastic; I use mainly abs. Worth a try though! I'd be interested to hear how you go.

Best regards,


It would be really great if you could make it in two halfs.
In the meanwhile, I'll also try another slicer. I tried to print vertically, but that wasn't a success... I'll let you know if I succeed.

Kind regards,

I have looked on line and there seems to be no standard color code for the C,G,T,A so I can print them in the correct colors.

What is the standard code?

The reference here seems pretty good:
And here:
Where T-yellow, C-red, A-blue and G-green with a bit of a mnemonic.
Unfortunately, there doesn't seem to be any consistency, as there are all kinds of variations on the web.

Hi Guy,

I looked around too, - there doesn't seem to be a standard colour code for base pairs. I did find something on this page:
They were using A - red, T - yellow, C - blue, G - green
That sounds all right to me. What do you think? - Still need to choose a colour for the backbone too!
Jasu did a nice coloured model, though I'm not quite sure of the colour scheme he used. We could ask him.


I can see where the white would be good for the backbone most all of the models I've looked at are white.

Comments deleted.

Really cool, thanks for creating this. Gonna give one of these to my sister who's a PhD in Molecular Science. Think she's gonna love it.
Any plans for more creations, or even taking special orders?

Hi Stefan,
-that is great to hear, I hope she likes it!
I'm always up for suggestions on what to build next, - I do have some idea and preliminary models for sugars and polysaccharides, (they can be quite complicated in structure!) and also some ideas about polypeptides. It takes a bit of time to get them robust enough, - When I do I'll put them up here as well as the NIH 3D print website.

Let me know if you can think of some other models to try build,

All the best,

I might just print a handful of these in green and make a bonsai tree. lol

Amazing!! Thank you for sharing with us this masterpiece :)

Hi Cosimo,

I'm glad you liked it! It has been really fun to design.:)

All the best,

Where did you get the stand shown in the photo with the white unzipped DNA model?

Hi AbuMaia,

ah yes, - that was another model I designed and printed specifically for this model.
The DNA is really hard to get to stand upright, especially if it gets too long.

I have now included the files to the DNA stand in a zip file along with a new diagram of the pieces. Hopefully
it is fairly straightforward to assemble. It is designed so that the curved DNA grip slots into the minor grove of
the DNA while the 'tongue' slots between two base pairs as you saw in the first picture.

I'm still working on a better DNA grip, - it is a little tricky to get right. I am doing that piece in Freecad.

Good luck!

Hello, I have a question. What's the program that you have used to make it?

Hi Antonio,

It was a little bit of a tricky process; a few programs were used. - First I made a molecular model of the pieces based on a Z matrix format. (.gzmat) by just using a text editor. In a z matrix you define the bonds angles and dihedrals between atoms as an internal coordinate set. https://en.wikipedia.org/wiki/Z-matrix_(chemistry)

Next I used a molecular viewing program called avogadro to convert the gzmat format into a pdb file which has Cartesian coordinates.

After that I use a small python script I wrote to pull the Cartesian coordinates into OpenSCAD coordinates. In the OpenSCAD file, - (which is included in the downloads) I added pins and holes to peg all the pieces together. - Actually -you can also generate new pieces from the OpenSCAD file by tweaking some parameters so you can stick the base pairs through magnets rather pins.

Hope this helps!

Best regards,

great work!
is there an RNA variant in the making?
only minor variations required :)

Thanks Luca,

That is a good suggestion- you are right just a small change to the backbone, -plus a uracil basepair. I'll see what i can do this weekend.

Best regards,

Update 5/3/2016 : Just added a Uracil base pair for RNA model, - however still need a bit of work for building the RNA backbone.
Adding the extra hydroxyl group causes problems with how the backbone pieces fir together.

Did you change the sugar pucker? Needs to be C3' endo instead of C2' endo.

Hi Paul,

Ah! thanks for that, - very good eagle eyes! I had not considered the subtle conformational changes of the sugars when making the model. Reading up on this I see it might help explain why I had some clashes when rotating the bases. I see you know your DNA! Hopefully I'll get around to making the correction soon.

Much appreciated.

Hi mkuiper,

I love the model and can't wait to print it out! For this model or for future scientific models you male post it on the NIH 3D Print Exchange where we have a Scientific 3D model repository.


Thanks Jacob,

There already an older version already there, - but I hope to include some more models soon!
I have plans to include a sugar and amino acid models to make polysaccharides and polypeptides, I'll be sure to include
the NIH 3D print exchange when I do!

Best regards,

Great model, Have you considered doing methylated cytosine?

Hi Iain,
Glad you like it, Great suggestion. I'll see what I can put together!


<> update 18/2/2016 added a methylated cytosine and updated the openSCAD file. Thanks Iain!

Hi Mike,

I just printed a small test run of your new model version (2 backbone units and adenine). Worked like a charm. I had to use a thick brim so the small undersides of the spheres don't get carried away and some support for the overhang.

iframe src="https://onedrive.live.com/embed?cid=3755F9E254781F37&resid=3755F9E254781F37%21136&authkey=APasBlcfGQu5bpU" width="320" height="154" frameborder="0" scrolling="no"

My first impression is that the connectors work better. I could push the units together with less force than before and didn't get any splitting (n=2). The model without size adjustments is much smaller than before. The red adenine was from your old STLs also w/o size adjustments in Cura. Despite that reduced size, parts fit together well.

iframe src="https://onedrive.live.com/embed?cid=3755F9E254781F37&resid=3755F9E254781F37%21137&authkey=AAL_lFUwPZdcPiI" width="320" height="296" frameborder="0" scrolling="no"

Definitely an improvement.

As before I'm printing with PLA on an UM2.

All the best

Hi Jasu,
Nice work!
-glad to hear you find the new model an improvement. It is basically a reworked model from the ground up.
I used more idealized geometry which I thought might help the strength of the model and rejigged the connectors
to have better dimensions which seems to have alleviated the problem of splitting.

One thing I've been thinking of is getting one of those jeweler tumblers to polish up the pieces a bit.
I'll let you know how it goes if I get my hands on one.

Thanks so much for your work on this! Your detailed feedback has really helped develop the model.

Best regards,

I've been testing and printing pieces of this great model. For others here are a few mistakes to avoid.

As Michael indicated, it's important to orient the backbone to avoid splitting between layers. This happened to me several times. I find it very hard to push the pins into the connecting cavity on the backbone especially. While squeezing hard, several backbone pieces broke (see an example below).

iframe src="https://onedrive.live.com/embed?cid=3755F9E254781F37&resid=3755F9E254781F37%21125&authkey=AO-RFzVjxCo5tPk" width="320" height="224" frameborder="0" scrolling="no"

I will print the next backbone pieces with the backbone connector cavity pointing up because the the prints are stronger in the plane of the printed layer (see below).

iframe src="https://onedrive.live.com/embed?cid=3755F9E254781F37&resid=3755F9E254781F37%21126&authkey=AKWepn4MWsutfGQ" width="320" height="293" frameborder="0" scrolling="no"

I also found that after loading the STL files into Cura, the models were not flat on the print surface (see below). This leads to unnecessary scaffolding. Best to flatten them.

iframe src="https://onedrive.live.com/embed?cid=3755F9E254781F37&resid=3755F9E254781F37%21127&authkey=AIpD9RK74Uz6gVc" width="320" height="144" frameborder="0" scrolling="no"

I'm still struggling with the connectors. The backbone is are very hard to click together (the H bonds on the other hand are very easy and the base to backbone connections are hard but ok). I'm printing with PLA at the default size after loading the STL files into Cura. This turns out to be about 5cm / 2'' for the DNA backbone. I'm wondering whether it's easier with other materials and/or bigger models. Does anybody experience similar problems? How did you solve it?

If it's tight do a little post processing, never assume 3D parts fit together perfectly unless a team of PHD engineers with 10 years of 3D printing experience designed it. Sand the pins smooth. Find the right size drill bit and clean out the holes. It's real easy to get tight parts to slide in easy, no WD-40 or KY jelly needed.

Hi Jasu,
nicely explained. I think that should help some people out.- At least highlight some of the pitfalls.
I see there is a new makerEd challenge. I think I will try revamp this design to use strong Neo-magnets instead
to bind the backbone and base pairs together. Your comments and feedback are very helpful!

  • as for the connectors, perhaps try another rotation. - say your middle image above about 90 degrees clockwise.
    Also sanding the peg down a little may with the joining and make it less likely to split. It it is a good fit it should make a gentle 'snap'

Best regards,

Hi Michael,

A great model. I love it.

The 1st file I downloaded to test (Adenosine_base_l.stl) failed because the atomic spheres were swept off the surface ruining the print.

iframe src="https://onedrive.live.com/embed?cid=3755F9E254781F37&resid=3755F9E254781F37%21119&authkey=APtV4jBpdgJ03pU" width="320" height="200" frameborder="0" scrolling="no"

I had to add support structures with Cura to make this printable. It's still not ideal since even now the first spots of the atomic spheres occasionally get displaced. If you print this on an Ultimaker some structures also require a brim (see https://ultimaker.com/en/support/16525-platform-adhesion).

Also, the lower halves of the spheres are irregular and not as round as the upper halves. Is this not a problem for you, Michael? Maybe because you are printing with ABS on your Zortex while I print with PLA on my Ultimaker2?

In any case, a great model. Thumbs up. Hopefully, more to come?

All the best

Hi Jasu,

good to hear from you, -Glad you like the model!

  • Yes, I have had problems in the past with the lower halves of the sphere not as clean as the upper half. - This was worse with my older flashforge printer, though not as bad now with the Zortrax. I've not used PLA for awhile, I usually use ABS but have found HIPES works quite well too, though perhaps slightly more brittle.

When I print with Zortrax, I use the Z-suite software to slice, which adds support structure (using the default 20 degree support). This give a good result with minimal trouble removing support structure. If this keeps being a problem, I might try make a flatter version, so the base pairs are easier to print.

Do you use openscad? I could send you the original files I made so you can have a play adjusting the atom sizes to see if that helps. I'm at kuiper.mike at gmail.

Still trying to find some more time to build up a peptide modeller set!

Best regards,

Hi Mike,

I will order some ABS and give it a try. So, far I have only been printing with PLA.

A peptide modeller set? That would be great!

Best regards

Ok I have printed some of the pieces out how does the Phosphate attach. Am I missing something with backbone or does it already have a phosphate built in it?

Hi Morris,

yes, the backbone piece already has the phosphate incorporated. - There are two backbone models, one with hydrogen and one without. ( I find the one without is a little cleaner to assemble myself).

So the tricky thing is that the backbone is orientated in different ways depending on the strand. Take a close look at the assembly pictures, -hopefully that will make it clearer. One backbone piece for every DNA base piece. The DNA base piece should insert into the hole on the ribose ring, There is another hole on the backbone, but that is for the peg on the joining backbone piece to fit into. Hopefully that is made clear in the 3rd assembly picture with the red and green arrows.

Good luck! Let me know if you still have troubles.

Best regards,

I am having issues with getting the pieces to stick together and stay together as I connect another piece

Hi Morris,

mmm, not sure here, - what printer are you using? One solution may be to scale up the pieces a fraction. Perhaps the resolution of the printer is not quite getting the slight bumps just right?

If you look at the pegs, you'll notice a small split. - This is designed to give the connection a little 'spring' and snap when you fit the pieces together. With a thin blade, -perhaps a table knife, try gentle wedge that apart a little before inserting the pieces together. - gently though! - you don't want to de-laminate the layers. :)

Also one might try printing the backbone in a different orientation.

Best regards,

I am using a M3D printer which I know is not a top of the line printer but I have been extremely impressed with its capabilities. The issue is actually get the backbone pieces to stay together. I might try sanding a the "plug" down just a bit to get them to fit inside the opening.

Of course right after I typed that I got one of them to pop into place. I am going to try to clean them up a little better. Now need to get bases to fit better in backbone.

Good to hear!
Yes extra support material can really get in the way.
Good luck with the model!

Comments deleted.

Great work! I don't have an exact contact, but researchers at WestEd in California are doing similar modeling using 3D printed amino acids, virus capsid fragments, and DNA components with magnets and elastic bands. https://www.youtube.com/watch?v=X-8MP7g8XOE

Thanks Joel, - I really like the link, - I love what they did with the magnets! regards, Mike

This is an AMAZING design. I'm a student at Brandeis Univeristy, where I've printed several models for a biochemistry class in the spring semester. We're now planning a molecular biology course focused on DNA for high school kids during the summer. I printed these and showed to the professor responsible, and he was really excited. This is going to be a tremendous aid for our course, it printed flawlessly on the first try!

I'm interested in the design process you used to create these, we think it would be great to make something similar with amino acids. Let me know if I can reach you.



Greetings from downunder.
I am glad to hear the model is so useful for you! It is a nice way to get a cheap DNA model to school kids.

The process I used was to first build and optimize a pdb molecular model of B-DNA (using NAMD and VMD). Next I used a little script to pull out the coordinates of the atoms from the model to make spheres in Openscad. Then it was a matter of manually making the bonds between atoms and splitting the bases pairs from the backbone. The backbone was sectioned in such a way that you still have flexibility to separate the strands when you illustrate base pairing. The basepair to backbone and backbone to backbone pins have incorporated little nodules and splits so the pieces should snap together.
Please let me know if you have any suggestions for the design!

As for the amino acids, I am hoping to make a similar peptide set once I find a little more time!
Good luck with the high school course! It is interesting to point out the scale of the model; I calculated that on that scale the human genome would stretch around the equator one and a half times. Check my numbers, but it is always fun to watch kids minds boggle when they picture how much DNA that is. You can find me at kuiper(dot)mike(at) gmail.


Thank you for making this. I've just finished printing 12 base pairs and will be posting my model once it's painted. Would it be possible to make a version of the backbone that includes all of the H atoms on the deoxyribose, and the C, H, and O at the same VDW scale as the base pairs? Also, is the plane connecting the furanose ring necessary for stability?

Hi Charles,
I'm glad you find the model useful. I've just uploaded a version of the backbone with hydrogen atoms though the carbon and oxygen scale is a little larger than the base pairs. Hopefully it will still print without too much excess support. Originally I found I had trouble with the backbone supporting its own weight, hence the slightly larger size and furanose ring plane. ( I used to make the DNA strand stand upright).
I'm just cleaning up the openscad file for the various components and upload soon. -it might be easier to scale up the base pairs instead?
Best regards,

  • update: I've just replaced the bases with a consistent VDW scale to the backbone. -let me know if you think it is better.

Thanks! I really appreciate it and yes I think it is better for teaching. The new version looks great, and I can't wait to print it. I printed the original model at 1.0x scale and found it a bit small and fragile, so I reprinted at 1.5x, and rotated the backbone piece so the peg is horizontally printed. That works well and is very sturdy, so I'll try that scale and rotation for the new version as well.

Thanks for the feedback. -I've just recompiled the models and scaled up the default size to 1.5x what they were. Just working on cleaning up the DNA stand. - regards, Mike