DC42’s Precision Kossel build


Size 500mm wide x 430mm deep x 1000mm high
Print volume 300mm diameter x 469mm high at centre, reducing to 422mm high at the edges of the build area.
Control and interfaces Web interface on PC and/or tablet and/or smartphone via WiFi. Built-in SDHC card socket with high speed (20Mbytes/sec) interface. File upload to SDHC card through web interface with upload speed up to 1Mbyte/sec. USB2 interface with driver-level flow control. Optional 7″ colour touch screen.

Parts and alternatives

You can find the bill of materials here including approximate costs. Here are some notes on variations and alternative parts:

  • Extrusion type: I chose Motedis I-type extrusion because I think it has more material and probably slightly greater rigidity than B-type. But you can use other types of aluminium extrusion. Make sure that you buy M3 and M4 slot nuts appropriate to the extrusion. I tap the bottom of the upright extrusions to an M5 thread for attaching the feet; but some other types of extrusion must be tapped M6 instead, and some types may not need tapping at all.
  • Extrusion length: I chose 1m vertical extrusions because that height seemed about right, and it is a standard Motedis length so it costs a little less than custom lengths. This gives a build height of about 460mm at the centre, reducing to 400mm close to the towers. You can use longer or shorter uprights if you wish, but remember to buy linear rails of an appropriate length. The rails should be between 135mm and 250mm shorter than the uprights.
  • Extruder drive: The spring-loaded variant Ormerod extruder worked very well on my original 2020 Kossel and it has similar performance to the Titan. I chose the Titan this time because I wanted to try it out, and so that I could make a recommendation to those who don’t have the facilities to make good printed gears. But the Titan is expensive, so you can save about £40 if you use the Ormerod extruder instead. Or you could spend a little more and use a BondTech extruder. [Update: I have upgraded to the BondTech BMG extruder, and I recommend it highly.]
  • Rods and joints: The basic design can accommodate other types of rods, joints and effector if you don’t want to use the PCB effector and magnetic joints. However, the magnetic rods and ball studs from Haydn Huntley are the best choice IMO.
  • Carriages and belt tensioners: The Robotdigg carriages have a very nice arrangement for adjusting the belt tension. If you use the PCB effector and carriage adapters, then anchoring the belts and adjusting belt tension is all they do, because the carriage adapters define the rod spacing. So you could use printed carriages instead.
  • Print bed: the oversized (to make room for bed clips) 330mm round bed that I use overhangs the lower triangle by 15mm. So if you want to be able to enclose the printer easily, use slightly longer base and top extrusions, or a smaller bed, or a hexagonal bed.
  • Print surface: I used PEI initially, then I switched to PrintBite. I print almost entirely with PLA and more recently PETG filament, and I found that with PEI any print with a large base area would not release from the PEI unless I put the glass bed + print in the freezer. PLA and PETG prints release from PrintBite easily once the bed has cooled.

If you are converting a 2020 Kossel like I did

  • The horizontal extrusions need to be 35mm longer than in the original design. Ideally you would get new extrusions, but I reused the original lower triangle horizontal extrusions by printing six 20 x 60 x 17.5mm thick spacers. The upper triangle now uses 2040 extrusions so you will need new ones anyway.
  • Although the tray for holding the electrical parts is still fabricated from a 300 x 300 x 2.5mm sheet of aluminium, the old one will be too small because too much of the corners are cut off. So you will need a new piece.
  • The endstop switch mounts are thicker than before so you will need to re-print them.
  • I increased the height of the feet to provide more clearance for screw heads under the base plate. But you can reuse the old feet if they are still deep enough.
  • The new design uses printed carriage stops at the bottom of the linear rails. Don’t forget to print them before you take your printer apart!
  • You will need a lot more M3 x 8mm cap head screws and M3 slot nuts than before, for attaching the linear rails.

Making it larger

This design should be scalable by a modest amount. If you want a 400mm build diameter instead of 300mm then I suggest the following:

  • Increase the length of all horizontal extrusions to 480mm
  • Increase the length of the rods to 480mm and rod diameter to at least 8mm
  • Increase the bed plate and cork insulation diameters to 430mm
  • Increase the bed heater diameter to 400mm and heater power to 580W
  • Use 400mm square aluminium sheet for the base plate instead of 300mm
  • Build height will be reduced to about 285mm at the edges of the build area if you keep the 1m vertical extrusions. You could increase the length of the verticals to 1.1m to increase the build height to 385mm at the edges. Any higher and you will need linear rails longer than the 750mm ones I used.

Tools needed

1.5mm, 2mm and 2.5mm ball ended hex drivers
2.5mm Allen key with short arm (I ground the arm of a standard Allen key down to make it shorter)
M5 tap and handle (or M6, depending on which extrusion you get)
2.3mm drill bit. This is for reaming out holes in printed parts to the right size for a M2.5 screw to be screwed into them.
Drill (ideally a drill press, but I used an ordinary electric drill) with 3, 4 and 5mm drill bits, for drilling aluminium and reaming out M3, M4 and M5 clearance holes in plastic parts
HT-225D or other crimping tool for Molex connector crimps
5.5 and 7mm spanners, for M3 and M4 nuts
Hacksaw or jigsaw with metal-cutting blade, to cut the 2.5mm aluminium sheet
Flat metal file for smoothing cut edges
Carpenter’s or engineer’s square


Base triangle

2017-03-11 10.18.35

Stepper motor with pulley attached

Start by fitting the drive pulleys on the 3 tower motors. The shafts on my motors were 22mm long. I fitted the pulleys at the very end of the shaft with the grub screw on the side nearest the motor. Don’t tighten them too much yet because you may need to adjust the pulley positions when you fit the belts.

2017-03-06 15.04.11

Lower corner with motor attached

Fit the 3 tower motors to the aluminium base corners next, using four M3 x 8mm cap head screws and washers for each motor. Position the motors with the wires coming out at one of the sides. You can use the ball-ended driver to put the screws in most of the way, then use the short arm Allen key to tighten them.


Assembled lower frame

Now build the lower triangle frame using the aluminium base corners with motors attached, two 2060 extrusions for two of the sides, and the two 2020 extrusions for the third side. The base corners that connect with the two 2020 extrusions should have the motor wires coming out of the side away from the 2020 extrusions. This will keep them clear of mains wiring later on. You will need 24 of the M4 x 10mm button head screws, and 24 of the M4 slot nuts.

Base plate and electrical parts

This is probably the most time-consuming stage. As far as possible, use nylock nuts and not plain nuts in this area, because if nuts and washers come loose then they could short out electrical components.

Start by connecting the Duet to your PC using a micro USB cable. Make sure you can communicate with the Duet via USB and go through the steps to connect it to your WiFi network. Connect to the Duet from your web browser, check the firmware versions, and upgrade firmware if necessary. Download the config.g and homing files for this machine from my RepRapFirmware repository on github and upload them to the SD card on the Duet via the General tab of the Settings page in the web interface. Disconnect the USB cable.

Check that the Duet fits into the slots provided in the front panel and rear support. Also check that the front panel is not pressing on the Reset or Erase button when the Duet is pushed into the slot.

2017-03-08 10.53.54

Duet rear support with fan attached

Attach the electronics cooling fan to the printed rear support using four M3 x 16mm cap head screws and nylock nuts. Snap the mains inlet, fuse holder and switch into the front panel and check they are secure.

Place the 300mm square aluminium sheet that will be the base plate underneath the base triangle, with one edge lined up with the outside edge of the lower 2020 extrusion and the sheet placed centrally between the two corners attached to the 2020 extrusions. Mark the positions of both edges of both 2060 extrusions on the base plate where they cross it. Also mark the position of the inside of the 2020 extrusion on the base plate.

With the base plate still in place, loosely attach the front panel to the front of the 2020 extrusions and centre it. Place the power supply, solid state relay, terminal block and rear support inside the triangle, with the Duet held between the rear support and the front panel. Keep as much clearance between the mains components a low voltage components as you can. See the later photo for the general arrangement.Mark the outline of the power supply on the base plate, and the position of the mounting holes for the rear panel, SSR and terminal block.

2017-03-10 15.54.13Take the base plate out from under the triangle. Use careful measurement or tracing paper to mark the positions of the screws to hold the power supply relative to the outline you marked. Also mark the positions of 4 holes for screws to secure the base plate to the extrusions, and the positions of 2 pairs of holes for zip ties to secure the bed heater cable to the base plate where it passes under the Duet.

Drill the holes. These should be 4mm for the screws that attach the base plate to the extrusions, and the rear mount and the SSR to the base plate. Use 3mm for the screws that hold the power supply, the terminal block and the zip ties.

Cut the corners off, file the cut edges smooth, and de-burr the holes.

2017-03-10 17.36.33Attach the power supply to the base plate using four M3 x 6mm button head screws. Make sure they are short enough so that they do not touch the printed circuit board inside the power supply. Attach the SSR using two M4 x 16mm button head screws and nylock nuts, with plain washers under the nuts. Attach the terminal block using  two M3 x 16mm button head screws and nylock nuts, with washers under the nuts. Important: use only nylock nuts
within the base triangle, not plain nuts. You don’t want nuts working loose and shorting out electrical connections.

2017-03-10 16.51.20Then wire up the power supply, SSR and terminal block as shown here.

Wire up the mains inlet components as shown here.

Attach the base plate to the underside of the lower triangle using four M4 x 8mm button head screws and four M4 slot nuts. Attach the front panel using 6 of the same screws and slot nuts.

Connect the line and neutral wires from the terminal block to the mains switch, and the ground wire to the ground terminal on the mains inlet. Attach the spare ground tag to the top 2020 extrusion using one M4 x 6mm screw and two washers. Apply a drop of thread sealant to prevent it from working loose.

Connect a piece of polarised 2-core cable to the SSR control terminals and cable tie it to the motor wires at the side. It needs to be long enough to reach the bed heater output of the Duet. Fit the plastic safety cover on the SSR if it came with one.

Attach the PT100 daughter board to the Duet, using the nylon pillar supplied to hold it in place. Finally, place the Duet between the rear mount and front panel and secure the rear mount to the base plate using two M4 x 16mm button head screws, two M4 plain washers, and two M4 nylock nuts. Connect the power wires to the VIN terminal block and the SSR wires to the BED_HEAT terminal block. Be very careful to get the positive and negative wires the right way round in both cases!

Do not attach the stepper motor cables at this point, to avoid feeding power into the Duet when the stepper motors are turned in subsequent assembly steps; but make sure that the stepper motor cable ends cannot short against the Duet or anything else.


Tap one hole at one end of each 1m extrusion to M5. Make sure you have threaded the holes deep enough to attach the feet using the M5 screws. The 20mm wide face of the extrusion closest to the threaded hole will be the inner face, and the end with the threaded hole will be the bottom of the tower.

Attach an endstop mount to the inner face of the extrusion, close to the top end, using one M3 x 8mm screw and an M3 slot nut. The end with the M3 hole goes nearest the top of the tower. The endstop mount should but up against the top corner when it is fitted. So temporarily slide an upper corner over the end so that its top face is flush with the top end of the extrusion, slide the endstop mount up to meet it, then tighten the endstop mount.

If the endstop switches have lever arms, pull them out with pliers. Attach an endstop microswitch to the endstop mount using two M2.5 x 12mm socket cap head screws, with the actuating button facing the bottom of the tower. The centre tag of the microswitch is not used and can be bent out of the way so as to permit access to the endstop mount fixing screws.

Attach a linear rail to the inner face of the extrusion so that it butts against the endstop switch. Take care not to let the carriage come off the rail at either end, or the ball bearings will fall out. Secure the rail to the extrusion using six M3 x 8mm cap head screws and M3 slot nuts.

Use one M3 x 16mm cap head screw and M3 slot nut to attach a carriage stop to the inner face of the extrusion so that it butts up against the bottom of the linear rail.

2017-03-22 17.35.27If your rails came with clips to prevent the carriage from sliding off the ends of the rail, you can now remove them. The endstop switch and the carriage stop prevent the slider becoming detached.

Attach two ball studs to each carriage adapter using M3 plain nuts (or nylock if you prefer) and washers.

2017-03-22-17-40-12.jpgAttach a carriage to the slider using four M3 x 10mm socket cap head screws. The belt tension adjusting screw should be at the top. Sandwich a PCB carriage adapter between the carriage and the slider. If you are not using PCB carriage adapters, use M3 x 8mm screws instead. The photo shows an assembled carriage with the belt already fitted, but you won’t have fitted the belt yet.

Repeat this section for the other two towers.

Upper triangle

The first step is to fit the idlers. The Robotdigg upper corners are supplied with idler kits comprising a turned smooth pulley and shaft, two flanged bearings,  a retaining plate and two screws. However, I previously found that running the toothed side of the belt over a
smooth idler pulley makes the belt vibrate; so this time I am using toothed idler pulleys. As these have bearings built-in, it is not necessary 2017-03-07-13-47-14.jpgto use the bearings supplied with the kits; but I found it easiest to do so.

Take a 35mm fully threaded M3 screw and pass it through one of the flanged bearings, flange to the head. Add one M3 plain nut and tighten it against the bearing. Then add one M3 nylock nut and screw it on almost as far as the plain nut.

2017-03-07 14.00.55Put the assembly into the hole in the metal corner, add the idler pulley, another nylock nut
and another plain nut. Put another flanged bearing into the recess for it, drop the end of the screw into that bearing, and attach the retaining plate using the two screws that came with the idler kit. Make sure the plain nut near the end is loose enough to allow you to fully tighten those screws. Then tighten that nut gently against the end bearing to hold the bearing in place. You can use a little thread sealant to hold the two plain nuts in place, but keep the rest of the thread clear so that you can adjust the position of the nylock nuts that keep the idler pulley in place.

2017-03-08 10.53.08Repeat for the other two upper corners.
Now assemble the top triangle by connecting the upper corners with the short 2040 extrusions, using 24 M4 x 10mm button head screws and 24 M4 slot nuts.Leave the screws loose for now to make it easier to fit the top triangle on the towers. If you have the correct lengths of 2040 extrusion, you won’t need the yellow printed spacers in this photo.

Completing the frame

Put a sheet of cardboard or bubble wrap over the base triangle to catch any dropped nuts and leave it there until the time comes to complete the wiring. Leave the three corners exposed.

Put two M4 slot nuts in the lower end of the outer face of one of the towers, line them up with the holes in one of the corners of the base triangle, insert the tower extrusion into the triangle, and secure it using two M4 x 8mm countersunk screws. The bottom of the extrusion should be flush with the metal corner. Hang that corner over the edge of your workbench and secure the foot to the bottom of the extrusion using one M5 x 16 button head or cap head screw. Repeat for the other two vertical extrusions.

Put two M4 slot nuts in the upper part of the outer face of each tower and line them up with the holes in the upper corners. Carefully lower the upper triangle onto the towers until it sits on top of the endstop mounts. Secure it loosely using M4 x 10mm countersunk screws.

Put a flat surface – for example, the bed plate – on top of the base triangle, then use a carpenter’s square to check that the towers are perpendicular to it. If they are not, you will have to slacken some of the screws that hold the horizontal extrusions on the corners, adjust the position of the corner relative to the horizontal extrusion, and re-tighten.

Also check that the spacing between towers is the same at the top as at the bottom, and adjust it if necessary. The 3 pairs of towers do not need to be exactly equally spaced.

When you have the towers perpendicular to the lower triangle and each pair has a constant spacing all the way up, tighten all the screws.


2017-03-22 17.40.12Take a 2m length of GT2 belt and wrap one end around one of the serrated inserts provided with the carriages. Position the insert in the carriage with the flat edge as close to the top of the carriage as possible (you will need to undo the tension adjusting screws most of the way) so that the free end of the belt exits through the slot at the top. Secure the insert using the screw and spring washer provided. Pass the belt over the idler pulley at the top of the tower, along the slot in the carriage, then loop it under the stepper motor pulley and back to the carriage. With the belt hand tensioned, secure the end to the carriage using the other serrated insert, with the flat edge of the insert level with the bottom of the carriage. Secure it with the screw and spring washer.

Adjust the position of the pulley on the stepper motor and the idler pulley on its shaft so that the belt runs straight. On my machine this was achieved when the edge of the belt was a constant 18.75mm from the tower extrusion.

There will be a little excess belt protruding from the bottom of the carriage. Either cut it short, or tape it to the belt going up into the carriage so that it doesn’t rub against the opposing section of belt.

Repeat for the other two towers.

Homing switch wiring

2017-03-22-18-21-00.jpgAttach 4 printed cable tidies to the slot towards the back of the right hand side (looking from the inside of the printer) of the Z extrusion, with the lowest one about 500mm above the base triangle and the others equally spaced above it, using one M3 x 8mm cap head screw and one M3 slot nut each. Also attach one cable tidy to the same slot about 280mm above the top of the base triangle.

Run the Z endstop wire from the Z tower endstop switch to the top of the tower, down through the hole in the Z top corner, through the cable tidies and towards the electronics. For the X and Y switches, run the wires from the endstop switches to the top of the Z tower, to join the other wires.

Either colour-code the wires, or label the free ends X, Y and Z so that you can easily identify which wire comes from which homing switch.

Run the PanelDue cable down the side of the Z tower, securing it with the cable tidies, so that the lower end can reach the PanelDue connector on the Duet. Do not connect any of these wires to the Duet yet.


2017-03-22-18-28-11.jpgAssemble the Titan extruder according to the instruction in the e3d-online wiki. The mounting bracket goes between the motor and the extruder body, so you don’t need a spacer.

Secure the extruder to the right hand side of the Z tower (looking from the front of the printer) so that the filament exit is about 400mm above the top of the base triangle, using two M4 x 10mm button head or cap head screws and two M4 slot nuts. The endstop wires and PanelDue cable fit in the slot behind the extruder mounting bracket.

Run the extruder motor wires down to the electronics.

Effector, hot end and rods

Assemble the E3D hot end according to the instructions in the e3d-online wiki.

Identify which is the top side of the PCB effector (the side with just 2 connectors on it and no surface mounted electronics) and attach the remaining 6 ball studs to the effector, balls on top, using M3 washers and nuts (nylock if you prefer).

Push the top of the hot end heatsink through the central hole in the PCB from underneath, put the 12mm fibre washer over the top, and secure with the M12 nut. Plug the hot end cooling fan and the PT100 connectors into the corresponding sockets on the underside of the effector PCB. Take care to use the correct sockets – there are three identical 2-pin Microfit 3 sockets on the underside of the effector.

Cut the heater wires to length, strip the ends and connect them to the terminal block.

Add the print cooling fan and associated printed parts and connect the fan to the Print Fan connector.

Now attach the effector to the rest of the printer using the magnetic arms. Make sure that you have alternating north and south poles around the effector.

Cut 600mm of 4mm o.d. x 2mm i.d. PTFE tubing, making sure you have a straight cut at each end. Push the ends into the collets in the filament exit of the Titan and in the top of the hot end.

Effector wiring

I suggest you use two pieces of 8-core 7/0.2 cable to carry most of the connections: one for the PT100 sensor and contact probe electronics, and one to connect the hot end heater and the heatsink and print cooling fans. In particular multicore cable is recommended for the PT100 sensor wires, because the conductors have a loose twist within the sheath, which although not as good a proper twisted pair does help to reduce inductive interference pickup.

2017-03-22 11.10.35Crimp the cables to the 6-pin (for the hot end heater and fans) and 8-pin (for the PT100 and Z probe) connectors, taking care to get the pin connections right. Crimp two conductors of the 8-core cable into each of the hot end heater pins, to better carry the 2A current. Mark the free ends of the cables so that you know which is which when they reach the Duet. Run the wires along the Bowden tube to the extruder and use spiral wrapping to hold them in place.

Pass the effector, extruder motor and homing switch wires through 400mm of braided polyester sleeving, to carry them down the Z tower below the extruder and towards the electronics. Add heatshrink sleeving over both ends of the braided sleeving to prevent it from fraying. Secure the bundle of wires in its sleeve to the Z tower using a cable tie below the carriage stop, or with a printed part attached to the Z tower.

Cut the loose ends of the wires to an appropriate length, strip the ends and crimp the connectors on.

Heated bed

Drill three 3mm holes around the periphery of the bed plate, at 120 degree intervals,  about 7mm from the edge. Countersink the top of the holes so that an M3 countersunk-head screw will go in with the top of the head below the top surface. Mark through these holes on to the cork sheet, and drill 6mm holes in the cork sheet at those positions.

If you will be using a transparent bed material on top of the aluminium, you may wish to spray-paint the top of the bed plate using heat-resistant paint, and cure the paint in an oven.

Put one M3 slot nut in each of the 3 top extrusions on the lower triangle. Put a large M3 washer above each nut and screw the male-female M3 pillars into them. Do not tighten them yet, and make sure that the threaded part is not bottoming out on the bottom of the slot in the extrusion. Temporarily attach the bed plate to the pillars using three M3 x 10mm countersunk screws, moving the pillars along the slots to get all 3 to line up with the screws. Then use a spanner to tighten the pillars – do not over-tighten because the pillars are usually made of brass and the threaded end can break off.

Mark on the edge of the bed plate where the bed header cable needs to exit. It will be routed to the side of the Z stepper motor, underneath the Duet and to the terminal block.

Now remove the bed from the mounting pillars. Clean the underside of the bed plate with isopropanol or another solvent, peel off the backing paper from the silicone heater, and attach the silicone heater to the underside of the bed plate. Place the cork sheet on the upturned bed plate, line up the mounting holes, and mark on the sheet where you need the cutout for the heater cable. Remove the cork sheet and cut the cutout.

Pass the bed heater cable underneath the Duet and connect it to the terminal block. Use 2 zip ties to secure the cable to the two pairs of 3mm holes in the base plate.

Attach the thermistor cable from the heater to the bed thermistor terminals on the Duet.

Now connect the homing switches, hot end, hot end fans, PanelDue cable and  Z probe cables to the Duet. Connect the PT100 wires to the daughter board. Also connect the stepper motor connectors to the Duet.

Caution! From now on, avoid moving the carriages rapidly along the rails by hand. Doing so causes the motors to work as generators, which feeds power into the drivers and may damage them. Similarly, avoid turning the extruder gear wheel very fast by hand.

Double check that you have made the correct connections, then drop the cork mat over the bed pillars, put the plate bed on top, and secure it using the three screws.

Panel Due

Secure the TFT panel to the enclosure using 4 of the self-tapping screws provided. Plug the cable into the Panel Due controller board, then plug the controller board onto the 40-pin header on the TFT panel. Make sure you have aligned it correctly and you are not off by 1 pin in any direction. Secure the controller board to the enclosure using the remaining self-tapping screw. Then secure the enclosure to the top front horizontal 2040 extrusion using two M3 x 10mm screws and two M3 slot nuts.


Initial tests with USB power only

The current draw of Duet + Panel Due + 7″ TFT panel is more than the 500mA capacity of typical USB ports, so provide power to the PanelDue too from another USB port or USB power supply and another micro USB cable.

The green trigger LED on the Smart Effector should flash twice about a second after you provide power.

Connect to the Duet from your web browser.

Go to Settings->Machine Properties in Duet Web Control. Check that the endstop switches for drives 1, 2, 3 show as not stopped until you press the homing switches on the X, Y and Z towers respectively.

Check that both the hot end and bed show a plausible room temperature reading. Check that the PanelDue is showing the same temperatures.

Make sure that the Z probe reading is zero or close to zero. Test the Z probe by pressing up sharply on the nozzle. The LED on the Z probe should flash and at least sometimes you should see the reading in the Z probe box in Duet Web Control rise.

Tests with mains power

Apply mains power and switch on. Again, the Trigger LED on the effector should flash twice. Reconnect your browser to the Duet and check you have valid temperature readings again.

Next test the motor directions. Make sure that all the carriages have room to move both up and down. Send G91. Then send G1 S2 X10 F1000 and watch the X carriage. It should move up by 10mm. If it moves down, open config.g in the System Files Editor of Duet Web Control, find the M569 P0 command, and change the S0 parameter to S1 or vice versa.

Repeat for the Y carriage, sending G1 S2 Y10 F1000 and amending the M569 P1 command if necessary. Finally do the Z carriage using G1 S2 Z10 F1000 and the M569 P2 command.

When all carriages are moving in the correct direction, temporarily reduce motor current to e.g. 500mA (send M906 X500 Y500 Z500). Then press the Home button. Be ready to turn the power off if anything goes wrong.

With homing working, use the jog buttons on the Machine Control page or PanelDue to move the head down 200mm, then use the jog buttons to test X and Y movement.

Test the heaters. Make sure that the hot end cooling fan turns on as the hot end temperature passes 45C, and turn off the power if it doesn’t. The LEDs on the effector should also light up the bed when the hot end cooling fan turns on. You may get heating faults reported until you tune the heaters.