Our Custom Metal Syringe Holder
Aluminum allows for uniform heating
We custom machined a syringe holder out of aluminum that conducts heat from the heating pads to the syringe containing the wax. This design was chosen because it allows wax to be heated outside of the printer and transferred to the printer. A replaceable syringe fits into the syringe holder allowing for ease of use, easy clean up, and flexibility with needle gauge sizes. We chose to heat syringes with wax in an oven and then transfer them to the printer as more wax was needed. Aluminum was chosen for the syringe holder for its high thermal conductivity, low cost, and machinability.
3D printed mounts allow for easy attachment to Prusa
The syringe holder attaches to the printer via custom 3D printed mount. The syringe mount easily screws into where the original Prusa extruder head attaches to the printer. Theoretically this mount could be modified to fit other 3D printers as well. PET-G was chosen for the mount because it has a higher glass transition temperature than other printable materials, such as PLA. This allows it to withstand the higher temperatures of the heated syringe holder. ABS could also be used as well for even greater heat resistance, but it is more difficult to 3D print than PET-G.
Pressure Driven Extrusion
Pressure driven extrusion streamlines printing process
Our pressure system consists of a pressure source that feeds into a pressure regulator that connects to a micro solenoid valve that connects to the syringe adaptor of the syringe. The pressure regulator allows us to manually set the pressure to an optimal value of 5-10 psi. The micro solenoid valve allows us to turn the pressure source on and off. When the valve is turned on, it connects the pressure source directly to the syringe adaptor allowing it to drive extrusion. When the valve is turned off, it connects the pressure source to the atmosphere port, preventing any extrusion. The micro solenoid valve is connected to the fan port of Prusa. This allows us to use the existing gcode command that controls the Prusa fan to instead turn extrusion on and off. The micro solenoid valve is turned on and off rapidly to extrude wax in discrete bursts rather than a continuous stream. This prevents an overflow of wax onto the paper and allows more specific printing of thinner lines. Using fast bursts of pressure to extrude the wax also drives the wax to quickly permeate through the paper. This alleviates the need for post-baking of the uPADs and streamlines the printing process.
Adapting an existing 3D printer
Adapting the Prusa mechanical components
We are using the Prusa I3 MK3S printer to convert it from a 3D filament printer to a 2D wax printer for microfluidic devices. We chose the Prusa printer for our project because it is an open-source device, allowing us to modify the existing software and firmware to our own product. In our conversion, we are removing the Prusa extruder head and replacing it with our own custom wax extruder head.The pressure system for the wax extrusion is connected to the existing fan port on the printer since the cooling mechanism provided by the fan is not needed. This allows us to regulate the pressure using code originally designed to control the fan. The heating pads for the device are connected to one of the ports on the Prusa RAMBo board. We use the existing PID tuning software of the Prusa printer to control the heating pads and heat our device to the desired temperature. While we only focused on the Prusa I3 MK3S printer, this process can potentially be applied to any brand of 3D printer with modifications to the attachment specifications, and G-Code conversion. Prusa also recently developed a mini 3D printer that could potentially be adapted for wax printing at a lower cost.
Editing the Prusa's firmware
The firmware is what controls the actual functions of the printer. The firmware translates G-code into mechanical and electrical functions, controls the user interface such as messages on the display screen, and constantly receives feedback from the printer to check if it is working properly. We edited the firmware to change the printer mode from 3D printing to wax printing. These changes include changes in safety temperature checking systems, extrusion control settings, and PID tuning settings, and cooled bed settings.
Adapting the Prusa file conversion system
G-code, which stands for “geometric code,” is the language of most 3D printers, and more importantly, of the Prusa I3 MK3S. G-code tells the printer when, where, and how to move and function. Upon receiving a g-code file, the printer follows it line by line. G-code is generated by a slicing program that converts user CAD files into g-code, allowing for a fast and automatic alternative to manual code generation. The Prusa uses its own slicer called PrusaSlicer. Since we adapted the Prusa to run on pressure-driven extrusion, we had to adapt the g-code to tell the printer how to control the pressure system. We use a Python script to process the G-code from the PrusaSlicer and replace the standard extrusion commands with commands that rapidly turn the Prusa fan port on and off. Since the micro solenoid valve is connected to the fan port, turning this port on, turns on the pressure driven extrusion. The micro solenoid valve is turned on and off rapidly to extrude wax in discrete bursts rather than a continuous stream.