top of page

Custom, High End, FDM 3D Printer

Throughout my life, I have always been working on some form of project, I have a hard time sitting still. When consumer FDM 3D printers (extruded filament type printers) started to become popular, I decided that I had to have one to use to make new projects with. At the time, most 3D printers under $3000 had problems, whether it was reliability, speed, number of extruders or restrictions on printable material, and so I decided to research making my own.

​

Spending countless hours scouring forums for 3D printer enthusiasts, I began to learn many of the tricks that people were doing and the off the shelf parts that people were using to improve their designs. I began to document all of these best techniques, and started to mock up 3D printer designs of my own.

​

Before long, I had a mocked up design, made a plan for how I was going to manufacture it, and had a BOM and pricing laid out. I machined most of my own parts in the University of Waterloo's student machine shop and had some parts 3D printed on the school's industrial grade 3D printer. Within about 3 months, I had a working 3D printer which I continued to improve and add to for the next year until I was satisfied.

​

I have used dozens of rolls of plastic filament printing parts for many of my own smaller projects that I have not even documented, as well as many parts for both of the startups that I founded, Varden Labs and Embark.

​

My design has stood up to significant rigger and still consistently prints well. Proof of this was when I loaded the printer in a pickup truck, drove 3500km and it worked perfectly first print without the need for any re-calibration.

Unique Elements of the Design

​My 3D printer featured a number of unique and innovative design choices that improved upon existing 3D printers. Some of theses are outlined below:​

​

  • Magnetic ball linkages. My 3D printer used a "delta" configuration to move the print head. Three carriages are on vertical rails and each connect to the central end effector through linkages with ball joints on both ends. Instead of traditional cup and ball linkages, I designed custom linkages using a rare earth magnet embedded in a low wear, low friction Acetal plastic "cup" that mated with a steel ball mounted on both the carriage and end effector. This design eliminates any backlash that might increase with wear and instead, when the linkages wear, they simple become slightly shorter which can easily be accommodated for in software. Additionally, these act as a safety so that if the end effector is ever jammed, the linkages simply come apart before damage occurs.

​

  • Quad Independent Extruder. To allow for multi colour or multi-material designs, I incorporated an extruder assembly containing 4 separate nozzles.  Each nozzle has its own plastic supply feed and independent heating element. One important aspect of multi extruder printing that most designs did not consider however is that when switching between extruders, you must first cool the unused extruder ~30 degrees C to keep it from "oozing" onto the print. To improve this process, I added a fan assembly that blasts air over the heated tip to cool it quickly, this limits the amount of filament that oozes each time.

​

  • Specialized Heated Bed. One critical aspect of an FDM 3D printer is the surface that the part adheres to while printing. This surface must keep the part suck well while printing to prevent the changing temperatures from warping the part. Additionally, It is critical that the surface is both flat and parallel to the end effectors plane of movement. My print surface is a large stack-up of materials. First is a sheet of 1/4 inch cast aluminum, cast aluminum does not warp significantly making this choice better than rolled or extruded.  Under is a round silicon AC heater which is powered in series with a thermal fuse to prevent overheating. On top is where I attach the printing surface specific to the material that I am using. Different plastics adhere better to different materials and the community has invested a lot of time in finding the best surface materials.  I use a round sheet of borosilicate glass as a super flat base to which I laminate different thiner sheets of plastic to depending on the print. For example, for ABS plastic, I use PEI (polyetherimide) and for nylon, I use garolite. Lastly, to keep the bed thermally isolated from the frame, I used PEEK plastic standoffs that rigidly couple the aluminum to the printer's frame keeping everything in alignment at all times.

​

  • Simple/Light Adjustable Belt Tension. The vertical movement carriages use belt runs driven my stepper motors to drive the carriages to position. To ensure movement accuracy on the delta movement design, it is important to have similar belt tension on all axis as tensioning will stretch the belt slightly. Also, keeping all moving parts light is essential for low inertia and therefore, fast movement acceleration. To solve this, I thought to simply use thin ratcheting zip-ties to couple the end of the belt which was formed into a loop to the carriage. By tightening the zip-tie, tension would increase and replacing the zip-tie is a non issue when servicing. 

​

  • Water Cooling. To prevent the plastic filament from clogging inside the hot extruder, only a small amount is kept hot while the rest must be continuously cooled. To keep the extruders compact, the system must be water cooled. As I was already running a water cooling loop for the extruder, I designed water blocks to be strapped to each stepper motor for cooling too. The loop included a radiator/fan as well as a pump in the base, and an easily accessible reservoir at the back of the printer.

​

  • Full Enclosure. To prevent the printed parts from warping as they are printed, a heated enclosure will regulate the temperature of the part more allowing the entire part to cool all at once giving a more accurate part. I designed a polycarbonate enclosure with a constant force spring counterbalance for a vertically sliding front panel. 

Custom Calibration Tool

Although a delta movement geometry has its advantages, one major drawback is that inaccuracies in the calibration of the software lead to movement that does not follow a flat plane. This can be due to linkages being different lengths, belt stretch, frame bending, or end stop switch misplacement. All of these inaccuracies can be fixed by adjusting parameters in the software, however its difficult or even impossible to measure these exactly. This causes major problems when laying the first layer onto the bed as this must be done with high consistency to ensure good surface adhesion.

​

Accurate measurements can be made using shims to measure the gap between the end effector and the flat print surface to create a heat map showing how the end effector moves, but again, these don't correlate with tuneable values.

​

To solve this, I designed a general purpose Excel spreadsheet using Excel's formulas and VBA to simulate a heat map of what should be expected in terms of end effector movement when subjecting various error models to the calibration. This was used to find an error model the most logically and best approximated the measured behaviour which intern fed the calibration parameters. The exact offsets could be easily extracted from the heat map and this ended up helping significantly when calibrating, a problem that had yet to be solved well.

Related Project Links

This page outlines only my most recent 3 year's involvement with the First Robotics Competition (FRC). In my last two years, I mentored a world renowned  team (1114) and made it to the world finals both years in a pool of 4000+ teams worldwide.

Please reload

I made and programmed this CNC mill with a friend. It is almost entirely made out of lego and uses the lego robotics system (mindstorms NXT). It reads industry standard G-code and cuts out the desired shapes in soft floral foam using a spinning drill bit. Pictured are some of its milled creations.

Please reload

bottom of page