Do-it-yourself biology

5 Labs That Use 3D Printing for Biohacking Projects

The greatest bridge between the world of makers and the world of biohackers is probably the mighty 3D printer. The main difference is instead of using plastics, they’re using biomaterials to build three-dimensional structures, and using special bioinks made of living cells to print messages and patterns.

Human cells cultured into a decellularized apple slice (left) and an apple carved into an ear shape (right) from Pelling Labs. Photo by Bonnie Findley

How BioCurious Started Bioprinting

Read articles from the magazine right here on

BioCurious is a mandatory stop among biohacker communities in North America. This pioneering space, located in Sunnyvale, California, hosts a number of great people collaborating on the DIY BioPrinter project. Their bioprinting adventure started in 2012, when they had their first meetups. According to Patrik D’haeseleer, who is leading the project with Maria Chavez, they were looking for community projects that could bring new people into the space and let them quickly collaborate. None of the project leaders had a specific bioprinting application in mind, nor did they have previous knowledge on how to build this kind of printer. Still, it appeared to be a fairly approachable technology that people could play with.

“You can just take a commercial inkjet printer. Take the inkjet cartridges and cut off the top essentially. Empty out the ink and put something else in there. Now you can start printing with that,” D’haeseleer explains.

The BioCurious group started by printing on big coffee filters, substituting ink with arabinose, which is a natural plant sugar. Then they put the filter paper on top of a culture of E. coli bacteria genetically modified to produce a green fluorescent protein in the presence of arabinose. The cells started to glow exactly where arabinose was printed.

Modifying commercial printers for this, as they were doing, presented challenges. “You may need to reverse engineer the printer driver or disassemble the paper handling machinery in order to be able to do what you want,” says D’haeseleer.

First major success with BioCurious’ $150 DIY BioPrinter: fluorescent E. coli printed on agar with an inkjet printhead. Photo by Patrik Dʼhaeseleer

So the group decided to build their own bioprinter from scratch. Their second version uses stepper motors from CD drives, an inkjet cartridge as a print head, and an open source Arduino shield to drive it — a DIY bioprinter for just $150 that you can find on Instructables.

The next and still current challenge deals with the consistency of the ink. Commercial cartridges work with ink that is pretty watery. But bioink requires a more gel-like material with high viscosity. The DIY BioPrinter group has been experimenting with different syringe pump designs that could allow them to inject small amounts of viscous liquid through the “bio print head.”

BioCurious’ early printer: $11 syringe pumps mounted on a platform made from DVD drives. Photo by Patrik Dʼhaeseleer

Moving to 3D

Starting with an already existing 3D platform seemed like the best way to go beyond 2D patterns. The group first tried to modify their existing 3D printer by adding a bio print head directly on it. However, their commercial machine required some difficult reverse engineering and software modification to perfect the process. After a couple of months, this led to a dead end.

The RepRap family of 3D printers influenced the next step. After buying an affordable open source printer kit, the bioprinting team was able to switch out the plastic extruding print head for a print head with flexible tubes that connected to a set of stationary syringe pumps. It worked.

Converting a RepRap into BioCurious’ latest 3D BioPrinter platform, with an Open…

Extract DNA at Home with a 3D Printed Centrifuge

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 interest but not the means to investigate biology.

Read articles from the magazine right here on

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 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 the latter and has actually been used in a real university biology lab doing real protocols. Building one is easy, and hopefully after you’re 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.

Print the Parts

Figure A. Assembly of the printed parts

Go to F.Lab’s Thingiverse page for the centrifuge to download the STL files. Because of the size of the parts, you may need to run multiple print jobs — this gives you a chance to switch colors like we did (Figure A). Print infill of 30% is recommended. Be sure to duplicate the feet so that you have 4 in total.

Program the Arduino

Figure B. Click for larger version

It’s a good idea to program your Arduino first and test everything out before assembling the entire centrifuge. Upload the code below to your Arduino. Wire everything together as in the diagram (Figure B), but make sure to use only temporary connections between the 3 drone motor wires and the ESC, because you’ll need to disconnect them and reattach them during the assembly process.

#include 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 delay(200); digitalWrite(listo, LOW); delay(200); // 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); myservo.write(val); } void arm() { //Función de armado myservo.write(0); delay(1000); myservo.write(30);...