Introduction: 3D Printed DIYbio Mini-Centrifuge

About: ProgressTH is a Bangkok-based design lab & media platform focused on developing and promoting opensource technological solutions.

Who we are:ProgressTHis a Bangkok-based makerspace and media platform that focuses on using makerspaces to solve real-world problems. We are partners with Bangkok'sDIYbio lab, F.Lab, and design lab equipment as our contribution. We have a growing collection of equipment you can download, print, and assemble on F.Lab's Thingiverse page ( In addition to our centrifuge, we have also developed a magnetic stirrer, a lab block for holding various sizes of test tubes, and are currently working on a 3D printed electrophoresis system.

Why Lab Equipment? Biotechnology is powerful, but only for those with the tools to experiment with and utilize it. The DIYbio movement seeks to put the tools and techniques used in well-funded laboratories around the world into the hands of ordinary people who have an interested but not the means to investigate biology.

Our Centrifuge: One of these tools is the centrifuge. Centrifuges come in many shapes and sizes to fit a wide variety of laboratory needs. There are large machines with precise controls for RPMs, G-force, timers of all kinds, and even ones with built in temperature control. Then there are mini-centrifuges used for simple DNA extraction and quick-spins for mixing the contents of test tubes.

This 3D printed DIYbio mini-centrifuge was designed to do that latter and has actually been used in a real university biology lab doing real protocols. Building one is easy, and hopefully after you are done reading this, you will have ideas of how to improve on this one, or maybe the inspiration to tackle other types of otherwise inaccessible and expensive pieces of equipment with 3D printing.

Parts You Will Need (check for alternatives below this list):

  1. A 3D printer + PLA filament
  2. (1) 12v DC wall plug + female adapter (2.1mm barrel type female DC power jack adapter connector)
  3. (1) rocker switch (2 pin on/off rocker switch 21 x 15mm 3A/250)
  4. (1) B10K potentiometer (shaft length 10mm, shaft diameter 6mm, base diameter 18mm)
  5. (1) Arduino Nano *
  6. (1) 12v drone brushless motor (1806/2400) with accompanying bolts & rotor nut
  7. (1) compatible ESC (electronic speed controller) for the drone motor *
  8. (2) 22x3 mm bolts + compatible nuts
  9. (3) 16x3 mm screws
  10. (4) 14x3 mm bolts + nuts
  11. jumper wires
  12. rotary tool with small collet -or- super glue **

* Instead of the Arduino Nano & ESC, many people have pointed out you can use a servo tester board instead like this one pictured here. We haven't tried this out, but if you can't or don't want to use an Arduino with the ESC (which is admittedly a little tricky for beginners) you could try this route instead. You may have to modify the 3D model, but that is precisely why we include the SketchUp files in the first place.

** We like to use a technique called friction welding when working with PLA 3D printing. This is basically using a short length of filament (15-20 mm) in a Dremel-style rotary tool and using the spinning filament and the friction/heat created to make a solid weld between two components. It takes practice and requires safety goggles, but works better than glue. We use friction welding to create a brace for our Arduino and to attach the "feet" to the bottom of the centrifuge. but you could use glue too.

Step 1: Designing the Parts

There are a few considerations when designing in 3D for 3D printing.

  1. Figure out what the tolerance is for your printer. The Makerbot Replicator 2 and ExtraBot 3020 E3D (made in Thailand) we have used have about a 0.3mm tolerance -- meaning you have to leave 0.3mm along your edges to ensure things fit together. A 5mm peg will not easily fit into a 5mm hole. But if you do a 0.3mm offset, it will fit.
  2. Err on the side of caution: centrifuges spin very fast. It is important to ensure whatever parts you make are made strong with at least 2mm of material at the smallest points.
  3. Layout your electronic parts and hardware, assembling it into something functional first before designing in 3D. This lets you see how everything works together.
  4. Think about assembly when designing. Our first design made the previous day looked great on paper but when it came time to assemble it, we found it was nearly impossible.
  5. Don't be afraid to iterate. Our first design was a complete failure. The second design built on these lessons. Both centrifuges were designed and built in 1 day each. 3D printing was originally used years ago for rapid prototyping and it is still great for doing that. We fully plan on making another version of this since even this one has lots of room for improvement.


SketchUp is a free and easy-to-use 3D design software application. It is so simple, we regularly conduct 3 hour workshops where absolute beginners have designed and 3D printed something out at the end of class. Using SketchUp for 3D printing requires an STL export extension which you can getfrom SketchUp's Extension Warehouse here(requires a Gmail account to download, but is free).

The intuitive layout and tools makes it easy to quickly and accurately layout models with precise dimensions like that required for 3D printing. There are many other 3D design programs out there you should check out as well.

Step 2: Printing Out the Parts

To print out the design:

  1. Go F.Lab's Thingiverse page for the centrifuge and download the STL files. Click the blue button that says, "DOWNLOAD THIS THING!"
  2. You should notice a zip folder downloading inside which all the STL files will be located along with the SketchUp file we used to design the centrifuge with. We included this so you can add, modify, or adjust the files for your own needs or design a completely new system based on our work.
  3. Extract the files and then you can simply drag them into the slicer program of your choice. We are using Cura in this example, but Makerbot's desktop software also allows you to drag and drop STL files into the print space. Because of the size of the parts, you need to break the parts up into 2 separate print jobs. This gives you a chance to switch colors like we did. (NOTE:The "feet" need to be duplicated so that you have 4 in total).
  4. The settings should exclude supports if you use the orientation we used in the picture. Print infill of 30% is recommended. The rotor has performed well at this infill but please make sure it is printed properly without any defects before using (and always operate with the lid down!)
  5. Finally, when you have your settings ready, simply save the G-code or Makerbot file, put on your 3D printer's SD card, and begin printing!

It can take a few hours to print something like this out, so be patient.

Step 3: Assembling the Parts

Now comes the tricky part, but if you succeed (and even if you get stuck) you are going to learn a lot about electronics, 3D design, and 3D printing. If you get stuck, please ask in the comment sections and we and others will be more than happy to help.

Program your Arduino:

It's a good idea to program your Arduino first and test everything out before assembling the entire centrifuge. We usedthe code found here, which also has some helpful diagrams and background information about the code. Wire everything together as seen in the diagram above, but make sure to use only temporary connections between the 3 drone motor wires and the ESC, because you will need to disconnect them and reattach them during the assembly process.

We updated the code slightly to make it a little more stable for this application:


Servo myservo;

int potpin = A0; // analog pin used to connect the potentiometer
int val; // variable to read the value from the analog pin

int listo = 13;

void setup() {
pinMode(listo, OUTPUT); digitalWrite(listo, LOW);

myservo.attach(9); //pin de control al ESC

arm(); // Función para armar el esc


void loop() {
digitalWrite(listo, HIGH); //Sierra preparada LED intermitente


digitalWrite(listo, LOW);


// reads the value of the potent. (value between 0 and 1023)

val = analogRead(potpin);

// scale it to use it with motor. Limitado a 100.

val = map(val, 0, 1023, 55, 140);



void arm() { //Función de armado






  1. Drone motors come with small, compatible bolts to fasten them to drone fuselages. Use these bolts to attach the drone motor to the motor mount piece. Then use the (4) 14x3 mm bolts + nuts to attach the motor mount piece to the case cover (not the lid).
  2. The drone motor has 3 wires that must be fed through the case cover via an oval hole where they will then be connected to the ESC (see wiring diagram).
  3. It is now possible to wire the rest of the electronics together, using the wiring diagram provided. Be patient and study the diagram carefully. It was made specifically to help non-electrical engineers follow the lines and connect everything literally to where it needs to be.
  4. The rocker switch, once wired up, can be gently forced into the notch on the back, left-side of the case. The female adapter likewise can be gently forced into place after being wired up.
  5. The potentiometer, after being wired up, needs to be attached to the case cover and then fit into place into the space provided for it in the front right-side of the case.
  6. With your Arduino Nano also wired up, you can either tuck it away inside, or you can glue or friction weld a piece of plastic behind it to hold it in place next to the mini-USB terminal hole on the right-side of the case.
  7. This centrifuge is still a "prototype" so carefully pack the wires in and don't worry if it looks like a mess. Just make sure you did not leave exposed wires/contacts out, and that nothing is being pinched or crushed when you place the case cover over the case body.
  8. Once everything is packed in and the cover fits, with the potentiometer in place, you can use the 3 screws, and using the feet as "washers," screw the case cover to the case body.
  9. Next, put the knob onto the potentiometer shaft. You will notice a notch inside the knob. Place a thin piece of cardboard or cut aluminium (be sure not to cut yourself) in this notch which will help it stay on the shaft. The knob should really be removable if ever you want to open the case up again in the future so use caution if gluing -- use hot glue since it is easy to remove without breaking components.
  10. Adding the rotor is done by simply placing it over the motor's shaft and then using the nut to tighten it down. It should be tight, but don't go overboard.
  11. Finally, add the 22x3 mm bolts + compatible nuts to attach the lid on the back of the case, and to use as a fastener in front when transporting the centrifuge.

Step 4: Using Your Centrifuge

The centrifuge, because of the drone ESC, is a little tricky to use. The ESC is a little too smart for this application. It interprets everything you try to do as if it is still attached to a very expensive drone. Too much power, or fluctuations in power can cause the motor to stop working and the ESC to reset. This usually happens when we are demonstrating it in front of very large audiences.

  1. When you turn on your centrifuge using the rocker switch, the ESC will beep, then calibrate itself.
  2. Then slowly turn the knob until it reaches halfway and begins spinning. Turn it the rest of the way to get it to spin faster.
  3. It is recommended that you only spin the rotor at 1-2 minute intervals. We use a phone app stopwatch to time it and ALWAYS OPERATE IT WITH THE LID DOWN!
  4. Another safety precaution is to ALWAYS BALANCE THE ROTOR. This means if you place only one test tube on one side, make sure to place another opposite of it, even if it is empty. The rotor must always be balanced or you risk subjecting it to uneven and possibly destructive forces.
  5. It takes some practice to get used to the ESC's behavior. This could possibly be fixed by better Arduino code, but more likely, we should create a new version, with a better driver solution or a different kind of motor.

If you would like to see how this centrifuge has been used, check out F.Lab's blog post on DNA extraction andour own article on the biology workshop we brought the centrifuge to at a local university here.

Step 5: What's Next?

In addition to the centrifuge, we also have a magnetic stirrer (which is set to be upgraded to include a stronger motor and a timer) as well as an electrophoresis system.

Together with the lab block, you will have everything you need to do basic DNA extraction and analysis. There are some opensource PCR systems out there as well we are looking into which will complete the suite of DIYbio tools we plan to make available to the public both for educational purposes, and so people can take these designs and build on top of them.

If you have an idea, feel free to contact us and let us know. There are all sorts of pieces of equipment we are thinking about, but for now, this basic set is something good to focus on getting done and fine-tuning before broadening our collection. on Facebook here or onTwitter here. Follow F.Lab onFacebook here.

You can contact usby e-mail here.

3D Printing Contest 2016

Participated in the
3D Printing Contest 2016