Bioprinter
We refunctioned a standard single-extruder 3D printer made to print plastic, the Creality Ender 3 Neo, into the first DIY dual-channel extrusion-based bioprinter. For the creation of this printer, we had to complete 3 major hardware modifications: A syringe pump is a device that pushes the syringe plunger to squeeze fluid out of a syringe. While these exist on the market, they are not fully compatible with our printer. Using a market syringe pump would require using an external circuit board to run the syringe pump and communicate with the printer about when to start or stop extruding, and how fast to extrude. This communication needs to take place to sync the printer and extrusion so that the printed product is as accurate as possible to the loaded computer-aided design (CAD). So, we created a novel syringe pump. Making our own cut costs by repurposing a motor from the plastic extruder. Additionally, we made a custom syringe pump driven by the motherboard of the printer. Our syringe pump was created using CAD and was 3D printed. We chose to make the syringe pump to drive two separate syringes for two different bioinks to be extruded in the same print, allowing us to print our bacteria and yeast hydrogels in parallel. The other benefit of this design is that it can easily be modified if more extruders were needed. This syringe pump sits alongside the printer. The next major design change was the extrusion head. Extrusion heads typically contain a hotend, which melts the plastic filament for printing. The typical hotend used by plastic printers was incompatible with the syringe pump and our bioinks as they contain live bacteria and yeast, which are temperature sensitive. We designed a new extrusion head to address this. We decided to use needles to give us precise control over extrusion width, so these needed to be attached to the x-axis trolley. Since the syringe pump was alongside the printer, the syringe needed to be connected to the needles through tubing. Our extruder head design allowed for the needle to be changed without detaching the hosing, using clamps that slide on and off the main structure to allow needle access. Additionally, there is a top slider to allow the tubing to be taken off the trolley if needed. Our decision to engineer a dual-channel syringe pump required us to make additional hardware modifications to make the pump functional. Single extruder printers are not made for running two extruders; they lack ports on the motherboard for the additional motor and motor driver we wanted to add, so the motherboard needed to be replaced with one that accommodates multiple extruders. Our bioprinter uses two extrusion nozzles a fixed distance apart, and operates two extruder motors off of the main printer motherboard instead of with an external circuit, which has been used in other designs. Additionally, a thermistor, which is a resistor that acts as a temperature sensor, needed to be added for the new extruder so the code could run correctly. A thermistor was added to a port on the motherboard for the second extruder’s thermistor using jumper cables and a 100k resistor. This allows the printer to sense the temperature of the second extruder, which is necessary due to the safety code put in place on the printer to prevent overheating of an unmodified printer that heats up the hotends. The new motherboard needed to be flashed with code compiled by our team from open source examples specific to the number of extruders and the specifications of the attached components — including motors, endstops, coordinate system, which was done in Marlin, the standard 3D printer firmware. The stepper motor (1) is connected to the lead screw (4) by a clamp (3), and rotates to move the plunger holder (6) that holds the end of the plunger (13). The plunger holder has a lead screw nut (14) pressed into it to make it move along the lead screw, and the plunger holder runs along the linear shaft (5), which gives a little more travel length than the length of the syringe. The motor is secured using the motor holder (2) and the linear shaft is held by the shaft holders (12). The syringe sits in the syringe holder, and all of the parts except for the plunger holder are secured to the base plate with screws. The tubing (10) is connected to the syringe using Luer lock adapters (11), and so the bioink can be extruded by the syringe through the tubing to the extrusion head (not pictured). Adjustments made from V3 include changing the hole pattern for the base plate to better fit the shaft holder, motor holder and syringe holder. Once the hole pattern was changed, the syringe pump ran smoothly, and it runs efficiently for our application with our design timeline constraints. Descriptions of all parts are in the downloadable printer components guide. The extrusion head was constructed in three slidable parts to allow the needle height and sizes to be customized for print optimization tests. In the CAD model, Part 1 (light blue piece) has a mounting hole pattern of two slots, so that the height could be changed by loosening the mount screws, moving the extrusion head, and tightening the screws to secure the new height. Next, Part 2 (dark blue piece) assists with needle stabilization to keep the needles from moving during extrusion. Part 3 (gray) is the sliding top holder, which keeps the Luer lock adapters locked in at a specific height. Both sliding parts 2 and 3 can be used for easy needle or tubing switches, and there are grips on both sliding parts for easy removal.
For the needle size, we decided on using a needle with a 0.5 mm inner diameter after consulting with Ram Surya Gona from the Meyer lab. After testing this needle, it was determined to print well, and the stepper motor still moved well with the force of pushing the bioink through this size needle. We conducted printing tests with alginate, which needs to be printed on solid media containing calcium chloride ions. The Petri dish containing solid media needs to be held in place, so the Petri dish rig was designed. A two-part track lies diagonally across the print bed, and two clamp parts slide along this track. One of the diagonal track pieces has an end stop to center it, and both have small overhangs that surround the corners of the print bed to align the track. The clamp pieces are put on the track, and then screwed together to make a press fit clamp for Petri dishes. The diagonal tracks are connected with electrical tape on the top and bottom, and are secured on the edges.
The motherboard original to the printer had only one port for an extrusion motor. Because of this, a new motherboard was needed to accommodate the second channel of the syringe pump. We decided we needed a new motherboard, and chose the MKS Gen L V2.1 motherboard since it is made for dual-extruder motors, and corresponding hotend, fan, and thermistor. This board also uses the firmware language Marlin, and so it is easy to adapt to our printer since Marlin is a printer standard. Creality, the company who made the plastic printer we are converting, is open source, so we looked at the source code examples to start understanding Marlin, but the firmware for configuring the new board was manually written. All specs for the board are on GitHub, making it a good choice for this project. The one downside of the new board was determined after testing. There is no SD card reader, so getting data to the printer requires application downloads to a connected computer, which initially made it less user-friendly. Because of this, a new SD card reader was added using the pin schematics found on GitHub. After testing the SD card reader, it was a good addition to the printer because the SD card reader is easier for even less-experienced users to operate. If the SD card reader had not been added, an open source software called Pronterface would have needed to be used to load Gcode, or 3D printer software, to the motherboard — which isn’t especially intuitive. A thermistor is essentially a resistor. When heat changes, the resistance will lessen, so the change in resistance gives an accurate reading of the temperature wherever the resistor is, which in this case is the hotend. After trying to operate the printer without a thermistor for the second extruder, the printer threw error messages because it could not sense temperature, which the code reads as dangerous. Because of this, we determined that a second thermistor needed to be added, and so we plugged a 100K resistor into the thermistor spot for extruder 2. We determined the resistance value for the thermistor by looking at the specs of thermistors. When this resistor was added, normal temperature readings were sent to the printer, and it could be operated. The test using the homemade thermistor also told us that the printer is unaware of the presence or absence of a hotend because it could operate extruder 2 with just a thermistor. We were able to remove the hotend from extruder 1, which makes it safer because there is no exposed heating element that could accidentally be touched. Additionally, the temperature readout was the same for the stock thermistor and the resistor used as a thermistor, meaning that the homemade resistor was fairly accurate and can be used in the place of a stock thermistor.
The extrusion motor that came with the printer was removed from its mount so that it could be used in the syringe pump. Repurposing parts that came with the printer to build our own syringe pump makes our bioprinter more cost-effective and ensures the printer firmware is compatible with the motor. The extrusion head case was removed, along with the hotend, and the thermistor was detached from the hotend. This was done because the extrusion head case obstructed where the new needle mount needed to be. The hotend also needed to be removed for safety to prevent burns. The thermistor was detached from the hotend so it could be used on the printer. Thermal regulation via the thermistors is required by the firmware for safety, so the thermistor from the printer was still needed. The old motherboard was removed, along with the fan and metal plate that enclosed it. Everything was plugged into the new motherboard according to the GitHub wiring specs, and new motor drivers were installed. This was a functional improvement because it allowed us to build the syringe pump with two channels and operate two extruders. We conducted two print tests to assess the quality and consistency of our prints. Before fully assembling our bioprinter, we printed by hand. The first print made by the printer was a line test. This test was performed to see the consistency of line width over the course of 40 trials. The experiment was set up with 10 agar-CaCl2 plates with different molarities of CaCl2. The plates ranged from 0.1M to 1.0M and were all 0.1M apart. Each plate was printed with 3 cm lines, and the line widths were measured at four points along the line. The length of the lines were also measured to test consistency. The line test summary data are in the table below; all of the data can be found here. Once we determined that the printer settings were satisfactory for producing a consistent line, we decided to check if the syringe pump could consistently make prints with the same mass of bioink. For this test, the extruder motor was run for 50mm at F750 speed and retracted at 37mm at F2400 speed, with the bioink extruded into a weigh boat. The masses of the trials were then each measured, and we found that the average mass of ink pumped was 0.51g per extrusion distance. The data also showed that the consistency was fairly decent, but changed slightly when the syringe was closer to empty, which is likely because air is occasionally drawn in during the retraction process at the end of the print. One of the shapes preferred for diffusion is a series of lines crossing each other, which is a pattern we call the waffle. The waffle shape was first developed with one nozzle to test the path taken by the extrusion head. The waffle is a more complex shape because of how the nozzles’ paths trace over the agar, and it being successfully printed shows competent printing abilities. Once the one needle waffle was made, a two nozzle waffle pattern was made keeping in mind the offset between the extruders. This print was also made successfully over a few trials.
The team had Bruno Coelho, a senior mechanical engineering major and Chief Engineer of University of Rochester Baja SAE who has been interested in printer design for many years, come into the lab for user testing. During testing, Bruno remarked that the Petri dish rig was a very effective addition to the print bed. After printing line Gcode, Bruno provided recommendations for future changes. Originally, the Petri dishes were at varying heights, and were often made with a low agar height. The part of the printer that the extrusion head is mounted to, which is called the x-carriage, was low enough to hit the walls of the Petri dish, causing the prints to be misshapen. Through this testing, he recommended changing either the height of the needle, or the height of the agar in the Petri dish. Since the CR Touch needs to touch the bed for Z-homing, the needle has to be further from the bed than CR Touch, so the best option for fixing this issue is using petri dishes that have higher agar levels. The final volume of CaCl2-LB-agar was 35mL per plate, which resulted in a consistent 6.7mm height. Another recommendation from Bruno was to take a look at how the CR Touch probe restricts the printing area. With the probe, only half of the Petri dish can be printed on due to the CR Touch hitting the Petri dish wall. Bruno recommended moving the CR Touch sensor when not in use, so we removed one of the mounting screws, allowing it to be flipped up and out of the way after Z-homing. When tested, the probe no longer hit the wall, maximizing the printable space on the Petri dish. For our second round of user testing on the final design of the printer, the team had Showmick Paul, the Wiki Manager from the iGEM Rochester 2022 team Saptasense, which had been a Best Hardware Nominee, come provide the user testing and feedback. Showmick had demonstrated interest in our project and wanted to come see the hardware and software updates for himself. After a brief description of the project and the role of our bioprinter, Showmick learned how to load the SD card, pull up the desired Gcode, and completed two rounds of printing the 4% alginate bioink with our engineered Creality Ender 3 Neo, along with a comparison to hand extrusions with the glass syringe and 0.5mm needle attached. He created a pros and cons list of hand extrusion and our bioprinting method: Showmick’s overall comments on the 3D bioprinter were that he liked the creative design and customizability of the syringe pump system and “inkjet” (extrusion head) that was CADed to fit the needs of the team. With the different sliding parts of the extrusion head, the tubing and the needle tips could be adjusted and taken apart as required. He appreciated how the syringe holders allowed great accessibility to the syringes themselves when needing to refill them with the according bioink. Showmick was very impressed with the specificity at which these custom plastic parts were CADed, and how they were able to function with ease. The team really appreciated his comments and fresh perspetives, and plan to implement some of these changes to improve our hardware. User testing provided us valuable feedback that we incorporated directly by modifying our 3D bioprinter and adjusting associated bioink-related set-up to print at consistent heights. We also learned of key features users expect and appreciate when using a 3D printer — especially for users who are well-versed in using this technology. If we had more time to continue the engineering process on the printer, we would have liked to implement the following suggestions from our users:
Printer Design
Building a Syringe Pump
Creating a New Extrusion Head
Adding a Second Extruder
Final Design
Syringe Pump
Extrusion Head
Petri Dish Rig
Other Hardware Changes
New Motherboard
New SD Card Reader
New Thermistor
Other
Printer Performance
Line Width Consistency Test
Syringe Pump Mass Consistency Test
Waffle Consistency Test and Proof of Concept
User Testing and Feedback
Round 1:
Round 2:
Future Improvements
Printer Documentation
Download our Printable Petri Rig 1
Download our Printable Petri Rig 2
Download our Printable Petri Rig 3
Download our Printable Petri Rig 4
Download our Printable Plunger
Download our Printable Shaft
Download our Printable Syringe
Download our Base Plate
Download our Printer Components Costs
Download our Printer Purchased Parts