Team Members

Andrzej Forys
Anh Luong
Jared Pringle


Our project was to modify the Thing-O-Matic 3D printer, made by MakerBot Industries, so that we could print out prototype PCBs. Our goal was to take a Gerber file and use it to print out a PCB on ABS plastic with channels that we could later come back and fill in with a conductive ink extruder. We also wanted to research and test different methods of creating conductive ink with highly conductive properties that would be ideal as a way to create traces but could still be extruded at temperatures lower than the melting point of the ABS plastic. The goal of the project was to research and provide an inexpensive option for producing prototype PCBs for testing, without needing pay to have another company create the PCB and ship it back; thereby saving time and money.

High Level Design

Our design consists of the Thing-O-Matic which already came with the functionality that allows it to extrude plastic 3D objects using the StepStruder MK7 head. Along with the Pegasus head, which we designed to extrude conductive ink traces and be mountable to the Thing-O-Matic. We researched various ways of driving the Pegasus head and were able to build two different prototypes. One prototype extrudes the conductive ink out of the Pegasus head using a pneumatic control solenoids; the other prototype uses a servo to extrude the ink. The functional block diagram of the system is pictured below.

Hardware Design

The housing for the Pegasus head, which is used to extrude conductive ink onto the PCB for the metal traces, was designed in SolidWorks. Then the parts were cut out with a laser cutter and assembled. The head extrudes ink using a syringe with a needle that can either use the servo to depress the stopper in the syringe to push out the ink or the solenoid system which pushes air through a thin hose into the syringe forcing the ink out the needle. The solenoid system is also set up with a second solenoid to remove air pressure from the syringe to prevent unwanted ink leakage. This second solenoid is also designed to close and hold the internal pressure to keep ink from extruding by itself.

Pegasus Prototype Version 1

Pegasus Prototype Version 2

Pegasus Prototype Version 3

Coming Soon!
Pegasus Prototype Version 4

Based on the design of the unicorn system, we designed the servo extruder with the similar four bar concept, this would allow us to translate angular motion into linear motion. The servo would have enough power to extrude the chemicals out of the syringe but the problem lies with the positional feedback. It has a very basic analog feedback and it’s hard to get any precision out of it. We thought about it before the design but wanted to test it out anyway.

We built a circuit to control the solenoid system. The solenoid we are using requires 12V and draws about 1A when it wants to open. The circuit is based around the TIP120, a combination transistor diode chip. It works great in theory but the pneumatic control system is very difficult to get right.

We are thinking of a new design, which uses a stepper motor with a rack and pinion system where the stepper would be geared so it moves a lot slower but still moves a shaft that would attach to the syringe and push it down. Similar to the syringe pump system is what we have in mind but the system is not computer controlled. We are thinking of just creating our own.

Both the solenoid system and the servo system are controlled using an Arduino Mega ADK. Two different drivers were written, one for each ink delivery system. We also researched the Arduino Mega 2560 and MakerBot MotherBoard v2.4 which is the controller for the Thing-O-Matic in order to control the Pegasus head using the Thing-O-Matic at some future date. We also had to add a bearing system to the top of the Thing-O-Matic on which we mounted the spool of ABS plastic that is used for plastic extrusion.

There were three main chemical processes used to create conductive ink. The first ink we tested was commercial conductive ink called Bare Paint. This was very viscous which would not have been able to be extruded from a servo or solenoid because too much pressure was required. One solution to this problem would be to try and dilute the ink using an alcohol-based liquid. By itself, we had mediocre results with traces measuring between 1-3k ohms. The process yielding the worst resistance was based on silver nitrate ink developed by the Lewis Research Group. The reason we could not achieve the results that were advertised was because a few small details were omitted from the process. These included how much water was used to re-disperse the silver after a centrifugal step, how much binding agent was used at the end, and how to effectively evaporate excess supernatant. Our results using assumed quantities indicated resistance in the mega ohms which is unusable as traces. Perhaps more testing would eventually lead to a better process.

Our most effective process was also based on research done by the Lewis Research Group using silver acetate. This process was very simple to use because it only used 2 other chemicals and did not require heavy duty chemical equipment. It only took about 15 hours to produce including a 12 hour stand alone period. This process yields a clear liquid that quickly begins to form silver particles when exposed to open air. We were not able to evenly cure the ink while drying, but we still achieved only 4.2 ohms in a 98.21mm long trace. This is the most promising process which can still be made better using different curing techniques and thinner trace sizes.

Software Design

In order to calibrate the Thing-O-Matic so that it would print out a plastic PCB with high precision and consistent trace widths, we had to create a newThing-O-Matic driver. We also had to create libraries for the Arduino Mega ADK which would control the servo and solenoid systems that drive the Pegasus head ink dispersal system. The libraries would allow us to integrate these controls into the firmware easily. We have tested the functionality separately from the Thing-O-Matic.

We also had to learn how to use many different pieces of software in order to convert a Gerber file into something that the Thing-O-Matic could print. We first use Fritzing, open source software used to design PCBs, since it can export to an SVG file. This allows us to skip the process of converting a Gerber to an SVG file. We then use Inkscape to modify the SVG file so that it contains paths instead of vectors. After we have an SVG file with paths, we use Blender to create a 3D object using those paths. This object can be exported as an STL object which ReplicatorG, G-code driver software for the Thing-O-Matic, then uses to print out the PCB. A block diagram for this process is given below.

Design Results

One of the most risky variables going into the project was finding/creating a conductive ink that would cure at low temperatures and provide low enough resistivity that it could effectively be used as a wire. One unexpected problem we ran into when creating ink using a process involving silver nitrate, was that the process we researched online did not give information on how much binding agent to use in the mixture. Without that critical information, we were unable to create working ink using that process. Test traces varying from 60-100mm had resistances in the mega ohms. On the other hand, we got good results using the silver acetate based ink. Although our heat curing method was not evenly applied, our longest trace of 98.21mm was only 4.2 ohms. We were surprised to find that this process did not produce as much volume of ink as we expected and the chemicals required to make it were more expensive than expected as well.

After trying to cure the silver acetate process, which is one of the most promising processes that we have tried. We tried to cure it by hand using a SparkFun heatgun. You could see in our video that we couldn’t get heat applied evenly so some parts bubbled up more than others. Also the extrusion process was done by hand so the traces were injected unevenly causing the traces to have slightly different resistances.

We tested out the servo system, which was totally trash since the positional feedback system is analog and very inaccurate even though the linear translation was really good with the four bar design.

The solenoid controller was a great idea when we thought about it. But pneumatic is really hard to control correctly. It is extremely difficult to pressurize the syringe in order to extrude an exact amount of ink.

We also ran into trouble trying to calibrate the Thing-O-Matic in order to create precise enough channels about 1mm (0.8mm since the machine rounds down) wide into which conductive ink would be extruded to create traces. We thought that this would only take a day or two, but we ended up spending a couple of months calibrating and recalibrating the machine in order to get adequate results. The Thing-O-Matic, even though a pretty good design, lacks a positional feedback system and self correction. The machine is currently just an open loop since all 3 axes can drift off and all we could do was to restart the print and hope for the best. The extruder tool head is only 0.4mm, hence we can only produce a 0.4mm minimum trace width.


We created a successful prototype for making PCBs with conductive traces. We proved that the final product works by creating a simple PCB for lighting up an LED. The only part of the project that remains untested is the ability to automatically lay out traces using our Pegasus head mounted to the Thing-O-Matic. The driver libraries are written for each of the prototype toolheads. We just have to write a new addition to the firmware to get access to at least two pins for the solenoid and stepper controller and one for the servo. We were able to prove the efficacy of some of the more questionable variables going into the project such as finding/making a conductive ink that would cure below the melting point of ABS plastic and provide a low resistivity. As well as proving that we could convert a Gerber file into something that we could use to produce a PCB with channels for laying down traces using the Thing-O-Matic. Even though the process that we designed would actually works, a software that would automate that long process would be even better.

Since a lot of this project involved research, knowing what we do now, we would only work with the most promising conductive ink option, which was created using silver acetate. We would then have more time testing the ink and types of curing methods. We would also create our own plastic extrusion machine based on the Thing-O-Matic since we could then use higher quality motors and drive systems so that we could improve the precision with which we create PCBs.


Arduino libraries and supporting files are stored on the repository.

Video Demonstration



Prof. Schmid - Department of Electrical and Computer Engineering
Prof. Ghandehari - Department of Pharmaceutics and Pharmaceutical Chemistry

Jon Davies
Robert Price
Nick Traeden
Abhijit Boppana

blockDiagram1.PNG (13.9 kB) Anh Luong, 04/25/2012 10:17 am

blockDiagram2.PNG (14.3 kB) Anh Luong, 04/25/2012 10:46 am

blockDiagram2.PNG (14.1 kB) Anh Luong, 04/25/2012 10:46 am

Pegasusv1.PNG - Pegasusv1 (134.8 kB) Anh Luong, 05/11/2012 08:40 am

Pegasusv2.PNG - Pegasusv2 (112.7 kB) Anh Luong, 05/11/2012 08:40 am

Pegasusv3.PNG - Pegasusv3 (103.6 kB) Anh Luong, 05/11/2012 08:40 am

Solenoid_Schematic.pdf - Solenoid Schematic (9.5 kB) Anh Luong, 05/11/2012 08:52 am

Solenoid_Schematic.png (247.6 kB) Anh Luong, 05/11/2012 08:53 am

Solenoid_Schematic.png (43.7 kB) Anh Luong, 05/11/2012 08:55 am

Solenoid_Schematic.png (26.8 kB) Anh Luong, 05/11/2012 08:55 am