Does this project spark your interest?

Become a member to follow this project and don't miss any updates

Theta Printer

A 3D printer with 4 extruders that can move independently and simultaneously

11 164 84
Enjoy this project?
Share on twitter   Share on Facebook

This project was created on 04/15/2014 and last updated 4 days ago.

The Theta Printer is a platform for printing with as many different materials as possible. Whether it be different colors of plastic, wood, carbon fiber, chocolate, or anything else you can make an extruder for. Each extruder moves simultaneously and independently, allowing the printer to lay down 4 different materials onto the same object at the same time.

With most 3D printers, adding more extruders makes the machine slower and reduces the build volume. The Theta Printer overcomes this by using polar coordinates. A polar printer works kind of like an old fashioned record player. Your objects are printed onto a platter which spins. The advantage is that you can have many print heads. Each extruder is on the end of an arm which swings in and out. The spinning platter is called the ϴ ("theta") axis and the swinging arm is called the R axis. Together these replace the normal X and Y coordinates you're used to. A polar printer has a couple of advantages over normal cartesian 3D printers.

  1. Less moving mass means better acceleration
  2. Finer resolution, especially near the center
  3. Multiple toolheads without reducing build area

The spinning platform makes this machine ideal for integrating a 3D scanner. In addition, you can easily swap out an extruder for a mill or any other tool, making the Theta Printer the perfect all-in-one fabrication machine.


Project logs
  • Holy Crap

    4 days ago • 0 comments

    Uh oh. I'm in the competition. Guess I better get to work.

    There's no chance of having the Decapede ready any time soon, so I bought some stepper drivers off eBay (Geeetech DRV8825) and started wiring them up on a breadboard and connecting them to the AUX pins on the RAMPS. Unfortunately, they did not come with thermal adhesive for the heat sinks.

    The only thing the RAMPS needs in order to drive 2 extruders is an additional stepper driver. To run all 4, though, I will need to wire up some extra MOSFETs and voltage dividers for the extra heaters.

    On the software side, I'm going to try merging the multiple extruder support from Marlin X2 into Bipolar Marlin. The RepRap X2 is a Prusa variant with dual extruders on independently moving X carriages. It may not look similar to the Theta printer, but from a programming standpoint, this is exactly what I need.

  • Electronics

    a month ago • 1 comment


    With all 4 extruders, the platter, and the Z axis, the machine requires 10 independently controlled motor axes. No current 3D printer controller is capable of driving more than 5 stepper motors at once. While researching options to overcome this limitation we discovered a project called Decapede , which aims to sell a 3D printer / CNC controller that can drive 10 motors (thus the name). The Decapede can also drive 8 heaters and read from 8 thermal sensors. The processor is an Arduino Mega 2560. More information can be found at or

    We got in contact with the developers early on, who incorporated our feedback into the design and offered to let us test a prototype. Unfortunately, as time went on it became evident that the Decapede would not be read in time to complete the senior design project. Currently, several prototypes have been produced and various bugs have been discovered in the design. Once the issues are resolved, the developers plan to launch a crowdfunding campaign to fund production.

    Our fallback plan was to use a standard 3D printer controller, the RepRap Arduino Mega Polulu Shield (RAMPS) version 1.4 ( RAMPS can drive 5 motors and 3 heaters. This means that we would be unable to run all 4 extruders. By splicing the motor connections we were able to run two axes in parallel, thus allowing us to drive two extruders with the standard RAMPS controller.

    Power Supply

    A standard ATX computer power supply was chosen for several reasons. First, they can provide the high power necessary to run the machine. Secondly, they are cheap and readily available. They also meet the 12 Volt requirement of our electronics. Modern switching power supplies are also very efficient and provide clean output.

    In order to select the appropriate power supply we first had to determine the power requirements of the machine. The following chart shows a breakdown of each component and it’s peak wattage. We expect each component to draw less power under normal operation. Also, although we have a 240 Watt heated bed, it will only draw 120 Watts since it will only be operating at 12 Volts as opposed to 24.

    Stepper Drivers10n/a124.00480.00
    Hot Ends46.8121.7684.71
    Heated Bed1n/a1210.00120.00
    Extruder Fans4n/a120.084.00

    Our selected power supply is a Thermaltake Toughpower 750W purchased from Newegg for $70. In order to convince the power supply to operate outside of a personal computer, we had to ground the PS_ON line. This was done by connecting a paperclip between the green wire and a black wire.Another important consideration is that not all power supplies are capable of delivering their maximum wattage on the 12 Volt line. We verified that our chosen power supply would deliver 720 Watts at 12 Volts.

  • Heated Bed

    a month ago • 0 comments

    Aluminium Platter

    The cross sectional view below shows the original design for the platter. It consists of two layers of circular plywood. The lower piece has a hole in the middle where a nut is glued in place to connect it to the shaft. The upper piece is connected to the lower piece by countersunk bolts around the perimeter.

    In testing, the wooden platter proved to be inadequate. The top of the platter is required to be extremely level. Its height could not vary by more than 0.25mm across the entire surface (the height of a single plastic layer on a printed object). Unfortunately, the plywood was naturally warped far beyond the tolerance. This test video demonstrates the problem (

    An attempt was made to level the wooden platter by soaking it in water and clamping it in place until dry. This was unsuccessful. We decided to construct a new platter out of machined aluminium, which would have no trouble meeting our flatness tolerance. It would also be better for the heated bed since aluminium is much more thermally conductive than wood.

    A suitable plate of 7075 aluminium was acquired from the scrap pile in the machine shop. This picture shows the plate being machined on a CNC mill to a diameter of 304.8 mm and a thickness of 4.2 mm. A hole was drilled and tapped in the center for the M8x1.25 shaft.

    Heated Bed

    The original design did not consider the need for a heated build platform. This is standard equipment on all FDM 3D printers. As an object is being printed, thermal contraction causes the bottom of the object to shrink while the top of the object is still hot. This causes the entire object to warp. In the worst cases, the object will completely peel off of the build surface before printing is completed.

    The larger an object is, the more warping occurs. Also different plastics will warp more than others. Since the purpose of this printer is to build large object from multiple material, a heated build surface is essential.

    Most 3D printers use an electric heating element and a temperature sensor under the build surface. Unfortunately, the spinning platter on this machine means the wires running to the heater would get wrapped around the shaft. The solution is simple. The electrical connections are passed through a slip ring to prevent the wires from twisting around the shaft. After extensive research, we found a circular 200W heater with a 240 mm diameter and a 12 connection slip ring.

    The slip ring replaced the central bearing underneath the platter. A hollow coupler was used to connect the shaft to the slip ring. Holes were drilled in the side of the coupler for the wires to pass through. Since each connection on the slip ring is only rated for 2 Amps, multiple wires were used in parallel to carry the full current of the heater. The heater itself is designed to operate at 24 Volts. Unfortunately our power supply only provides 12 Volts. Although the heater is run at half power, it still gets sufficiently warm given enough time.

View all 5 project logs


Josh Wright wrote 24 days ago null point

Would love to start making my own!

Are you sure? [yes] / [no]

Guille wrote a month ago null point

@Tachyon, you mean CLV, constant linear velocity? A regular wheel is CAV.

Are you sure? [yes] / [no]

Tachyon wrote 24 days ago null point

Yeah, CLV is what I meant.
And I do still see this as a big issue with this design. Without CLV, print resolution will be inconsistent across the radius of the print platform. Getting progressively worse as you move out from the centre of the platform.

Are you sure? [yes] / [no]

Sarah Wittman wrote 5 months ago null point

Just to verify, you use this modified marlin firmware, and then use a standard slicing software?

I was digging around in Cura, and I couldn't find a decent way to specify tool changes. Slic3r has the custom toolchange.gcode thing, but so far it looks like Cura only lets you speficy the offset between each head.

I might eventually go back and build one of these (with all credit to you, of course), simply because I'd never have to change my filament ever again. I suppose I could do this on a standard cartesian system, but it would feel so unwieldy to me.

How do you keep all of your printheads level to each other?

Are you sure? [yes] / [no]

Tyler Anderson wrote 5 months ago null point

Correct. The goal is to make it compatible with as much of the regular toolchain as possible. I made a log entry about the current state of the software.

Its nice to know other people are interested in this, but you might want to hold off on building your own until version 2 or 3. There are A LOT of kinks to be worked out. Leveling is one of them. You do it by adjusting nuts on the threaded rods, but is all trial and error. Getting two extruders and the bed level with each other is hard. Doing it with all 4 is going to be a colossal pain in the ass. In the future I'm definitely going to look into some kind of auto-leveling system.

Are you sure? [yes] / [no]

Sarah Wittman wrote 5 months ago null point

This is really cool.

Are you sure? [yes] / [no]

RodolpheH wrote 5 months ago null point

I'm wondering what software you're using ? I look forward to get more informations about your 3D printer, it looks really gorgeous!

Are you sure? [yes] / [no]

Tyler Anderson wrote 5 months ago null point

Modified Marlin for the firmware and regular old Slic3r/Printrun for everything else. Check out the log entry.

Are you sure? [yes] / [no]

Eric Evenchick wrote 5 months ago null point

The dual extrusion video is an interesting one to watch. Using polar coordinates is definitely a novel solution. I'm trying to think of what the disadvantages of it would be, but the ability to use two extruders on the same part simultaneously is a pretty huge plus.

Are you sure? [yes] / [no]

Tachyon wrote 5 months ago 1 point

The main disadvantage that I see is that your printer's resolution would be inconsistent across the print area. The print resolution would range from something approaching infinity at the centre of the print circle, to some approaching really bad at the outer diameter of the print circle.
One way around this would be to use some sort of CAV (constant angular velocity) drive system for the print table such that the print head traverses the same distance per unit of time at all points in the print circle's diameter.

Are you sure? [yes] / [no]

Tachyon wrote 24 days ago null point

The other issue I see is that while this would be great for printing things like gears, wheels, vases, and other round shapes, it would likely have issues with more square or rectangular shapes.
Imagine printing a lego brick on this, or another angular shape with a filled centre. Imagine the printhead paths and how this printer would move over those paths, especially without CLV.
For one thing, I imagine you'd have to print non round objects offset from the centre of the print platform.

Personally, I think I'd want one printer like this and one that uses more standard cartesian printing. One would be awesome for round things like gears and wheels. The other would be awesome for angular things with straight edges.

Are you sure? [yes] / [no]