3D Printer Cantilever 2.0 C3Dt/c




Introduction: 3D Printer Cantilever 2.0 C3Dt/c

Avid 3D printer builder, currently completing my 3rd printer design. If you like what you see and...

This is my latest completed project to date. I'll be happy to build one for you (see update below), but if you must go it yourself; here is the instructions for the C3Dt/c (c for cantilever) by Core3D.tech. This printer was presented at MRRF2018

It is the culmination of many of my other intructables and I will refer/link to those as needed.

The 3D printer is a Cantilever printer with the following features:

  • 200mmx200mmx260mm Build volume
  • Heated bed
  • Auto Bed Leveling using inductive sensor and Aluminum bed
  • Linear Rails (MGN12 250mm) on both X and Y axis
  • Dedicated Parts cooling
  • Runing KFB2.0/Marlin 1.1.8
  • Bowden Extrusion with MK8 Extruder
  • 8080 Inc 1010/1020 frame
  • Auto tensioning on X and Y Axis
  • Double Rod Lead Screw Z axis using 12mm rods for extra stability.
  • V6 All metal hotend with cooling adapter for Noctua cooling fan (ultra quiet)
  • SD card reader as well as accessible USB port for direct computer access or OctoPrint

All the features you can ask for, in a small and compact build. This printer doesn't just do it all; it looks great doing it.

Here's me chatting with 3D Distributed about the C3Dt/c

Update: As of this morning 5/17/2018, I've received over 10 requests for delivering a fully assembled unit. It was never my intention to start producing these. I will figure out what pricing would apply but be aware, this is my hobby, I could (would want to) only build so many of these.

All the 3D printed parts that are part of this printer are now available as a set on ebay https://www.ebay.com/usr/core3d.tech

If you are simply looking to get started into 3D Printing, there are many other options available and many cheaper than what I could build this one for (including the rock solid Prusa I3 https://shop.prusa3d.com to which I am not affiliated). So with that out of the way....

If you're patient you can see the entire assembly (down to the last screw) here:

Update 7/30/2018: Some of you seem to have made it through the full build and are requesting information about the Marlin configuration. I've uploaded MY version of the configuration.h today. DO NOT blindly copy this into your set of Marlin files. Parameter names change between versions. I have marked all the changes I made for the C3Dt/c printer with //c3dt/c. Simply search this file for "c3dt" and update your configation.h accordingly (as it applies to the features you have implemented).

Step 1: Power Unit Assembly

The C3Dt/c printer is built, around the universal 12 Volt Power switching unit. It's important to get the universal one, as it has all the tapped holes in the exact same positions. This implementation relies on those. It also relies on the Power Unit's cooling fan to force air in the controller unit. Granted, this feature is somewhat experimental as the air coming from the unit is not exactly cold. I still hope this offers better than passive cooling of the controller.

12V 30A DC Universal Regulated Switching Power Supply $18.85 on Amazon https://amzn.to/2r52uRt

For this build the C3Dt/c uses a Power Socket Switch http://amzn.to/2E3Shhathat is 10A fused.

You can clamp wires into the power switch using the tightening screws. If you insert wires directly, DO NOT tin them prior. Not tinning them creates better contact, less chance of them coming loose and thus less chance of arcing (with possible smokey consequences). You can also opt for adding wiring disconnects and fork connectors for proper connections to both Power switch and Power/rocket inlet.

Wiring Quick Disconnects http://amzn.to/2CqLyIx

Fork spade wire connectors http://amzn.to/2F8zcrx

The Electronics case is mounted on top of the Cover (the two holes with square caveties under them). Insert 2 square m3 nuts ( https://amzn.to/2HWYm0P ) into the socket and line them up with the holes. They should fit snug but it could help to add some hot glue after inserting for keeping them in place.

Before finishing up, it's probably a good idea to check if the live wire, really is live. Plugged in and turned on, test with a volt meter (if you're wiring live 110V, you really need to own, and know how to use, one). If you mistakenly swap the Live with Neutral, thing will operate as expected but when you turn off your printer (via switch) power is still present.

Before enclosing the Power unit, run the 12V output wires between the unit and the case. They will end up powering the KFB2.0 (out of sight).

If you plan on adding additional 12 Volt features, it could be handy to add 2 spare +/- wires from remaining slots on the Power unit.


Step 2: Printed Parts

This C3Dt/c consists of about 25 printed components. Yes, I get the irony, a 3D printer is needed to create this 3D printer. Been there, dealt with that by creating a 3D printer design that contains no 3D printed parts whatsoever, added, here on Instructables.com: LAMINATED 3D PRINTER (FROM LASER CUT PARTS ONLY)

All printed pieces are available (as a set only) on eBay. I'm going auction style for now as there have been quite a few request. My starting bid is $130 and before you go WHAT???? having this items printed via a printing service will run you over $700. Good luck bidding! https://www.ebay.com/usr/core3d.tech

As for the printed parts, not all printers are created equal. My printer creates extremely well fitting pieces around all 1010 extrusions. The image above shows weights hanging on one of the clip on pieces that became a bases for many of the parts. Where extra supports is needed, I've added holes that allow a screw and T-nut for adding additional strength. I did design with shrinkage in mind so all parts are fractions of a millimeter larger than in real life.

Print a few test pieces first, to verify your printer gets similar results as mine. There can be minute dimensional differences between the printer available to you and mine. Also there's expansion/shrinkage of melting/cooling plastics that each has to figure out for themselves (again each printer/process/material has it's own quirks).

Parts of this printer can be printed using PLA (especially pieces like the casing) but I personally prefer PETG. For the pieces close to the extruder and hot end, I PLA will not suffice, due to the high operational temperature. You will need to use PETG or ABS for parts like the Extruder holder/clamp and cooling fan bracket.

The image all Printed Parts above shows the orientation of all pieces on your print bed.


See each of the steps that require Printed parts. I've included the STL files there.

Step 3: Z Axis

The Z axis for this implementation is made up from the Linear Screw Double Rail Instructable. Follow the link to that one for more detailed instructions.

The length used for the Z axis is 520mm which allows for a print height of about 290mm (not bad for a cantilever). The minimum length is 495mm but going beyond, allows you to do something extra on top.

I strongly recommend, you use the available screw holes in the Nema Connector and End Connector to screw these components to the rail using t-nuts. The connector can slide up and down depending on pressure applied to them (a failing end-stop may push things out of wack).

The Z Axis design comes with a Z end stop case but since this printer uses Auto bed leveling with a proximity sensor it is not needed.

Before connecting the slider to the Bearing pillows, make sure you drop in 2 10mm (3m) screws through the back of the slider. These will allow you to add t-nuts for extra strength holding the X-Axis.

As for the orientation of the wiring, coming from the Stepper see the image enclosed. For the C2Dt/c Z Axis they point toward the power unit.


Printed Parts (included with this step):

  • Slider12mm.stl
  • NemaConnector12mm.stl
  • EndConnector12mm.stl

Step 4: Y Axis

The Y axis will hold the bed and is based of the Generic Linear Actuator with Built-in Tension Spring

VERY IMPORTANT: Before assembling the entire Y Axis, note that it is attached to the frame with a corner plate. Part 3287 (Triple Slide-in Economy T-Nut) needs to be inserted into the rail prior to putting on the nema and idler ends.

The 1010 extrusion should be at least 292mm. Any longer won't make a difference as the Linear rail on top is only 250mm. It dictates the motion range of the slider.

This Axis will be implemented WITH the built-in End stop (As part of the Nema Connector).

The difference with the Generic Linear Rail is the Linear Adapter (LinearAdapterY-Axis.STL) which is customized to hold the Bed Frame.

The Little bracket at the end of the Axis, The LinearRailBreak (at the end of the Linear Rail) is there to prevent the linear rail block to roll of the rails. If that happens the bearing balls can fall out (pain in the .... to get back in).

As for the orientation of the wiring coming from the Stepper see the image enclosed. For the C2Dt/c Y Axis they point toward the Z Axis.


Printed Parts (included with this step):

  • IdlerBracket1010_GT2_20.stl
  • BeltGrip.stl
  • NemaBracket1010_Endstop.stl
  • LinearRailBreak.stl
  • LinearAdapterYAxis.stl

Update: If the screw holes in the belt grip are too loose, try the beltgrip_027.STL

Step 5: X Axis

The X axis will hold the extruder Assembly and is based of the Generic Linear Actuator with Built-in Tension Spring

The 1010 extrusion should be at least 363mm. Any longer won't make a difference as the Linear rail on top is only 250mm. It dictates the motion range of the slider.

This Axis will be implemented WITHOUT the built-in End stop but instead will have a adjustable end stop case.

The difference with the Generic Linear Rail is the Linear Adapter, which will be replaced by the Extruder Clamp (Linear Adapter Extruder Assembly.STL and LinearAdapter Extruder Clamp.stl).

As for the orientation of the wiring coming from the Stepper see the image enclosed. For the C2Dt/c Y Axis they point toward the End-stop case.


STL files (included in this step):

  • NemaBracket1010_NoEndstop.stl
  • IdlerBracket1010_GT2_20.stl
  • BeltGrip.stl
  • NemaBracket1010
  • LinearRailBreak.stl
  • LinearAdapter Extruder Assembly.stl
  • LinearAdapter Extruder Assembly Clamp.stl
  • EndStopCase.stl

Update: If the screw holes in the belt grip are too loose, try the beltgrip_027.STL

Step 6: Assembling the 3D Printer: Frame

Now that the Power switch is wired and enclosed, all axis have been assembled, the frame can be put together.

The frame was designed to "wrap" itself around the 12V power switching unit. It's height of 50mm is extremely close to the height of 1020 extrusion.

There are a few 3D Printed parts that connect the Power Switch unit to the frame. These are not necessarily for support or strength but simply to keep the Power Unit and Electronics in place.

PowerUnit to 1020.stl: 3 M4 6mm

Power to Y Axis.stl: 3 M4 6mm

Power to Y Axis Short: 1 M3 6mm, 1 M4 6mm

The Core support for the Cantilever printer comes from the Corner plates connecting the 1020 (160mm) to both the Z Axis and Y Axis. The 10 Bolts may look like overkill but since this is a cantilever, there's only so many points of support available. The 1020 Rail has two center holes tapped on one.

Please refer to the images on how to assemble the different pieces.


Printed Parts (included with this step):

  • Power To Y Axis.stl
  • Power To Y Axis Short.stl
  • PowerUnit to 1020.stl

Step 7: Assembling the 3D Printer: X Axis

The X axis fits (clicks) into the slider of the Z Axis. It can be an extremely tight fit but that's of course for a reason. This will be the heaviest moving part on the printer and you don't want any wiggle room.

I strongly recommend adding the two m3 hex socket screws (10mm) though the back and adding two t-nut in front to further secure the X Axis.

I've left room between the pillow bearing blocks to access these hex sockets screws for tightening.

Word of caution, once the X axis is inserted into the Y Axis it can be challenging to move/remove. Based on my implementation the distance between the X Axis Nema Connector and the Y Axis slider is 4.5mm. The distance from the NemaConnector and the linear Rail is 69.5mm. Do not deviate too much as you want to reach all 4 corners of your print bed as best you can.

Step 8: Assembling the Extruder and Hot-end

The C3Dt/c uses a bowden type extruder which means the stepper pushing the filament through the hot-end is attached to the frame and not directly to the hot-end. This is done to keep the moving mass of the hot-end to a minimum (especially relevant when printing with a cantilever printer).

For the extruder the C3Dt/c printer uses an MK8 Extruder (https://amzn.to/2I5LdhZ ). Technically it can be any type of extrusion but for this design it does expect to be attached via the nema holes on the nema 17 stepper motor.

The hotend assembly is a V6 (e3d Clone, as that's what my budget allows for right now http://amzn.to/2DT17xl ) with added parts cooling and a proximity sensor. I strongly recommend this part is printed with either PETG or ABS for higher temperature tolerance.

I've added an image of the hot-end with it's loose parts. There's lot of pieces there but I think the image speaks for itself.

When you attach the proximity sensor make sure you mount it close to but slightly higher than the bottom tip of the hot-end (at least by one millimeter). Don't mount it too high as that might push the hot-end into the aluminum bed.


Printed Parts (included with this step)

  • ExtruderBracket.stl
  • FanAdapterWithPartsCooling.stl
  • (parts to connect hot-end to X axis part of the X-axis step)

Step 9: Electronics

For the C3Dt/c printer, I decided to experiment, mounting the electronics case over the Power unit's cooling fan. As it kicks in it blows it's air right over the main board and out the electronics case. It's not exactly active cooling as the air might be warmed up a bit but I believe it might beat passive cooling (no fan on controller at all).

I've not not witnessed any skipped steps or overheating which seems to indicate this is working well.

Keeping the printer compact makes the process of packing all of the electronics inside the case a bit of practice in patience.

For a clean look I've decided to use the Expandable Braided Sleeving (http://amzn.to/2C3sbJZ ) to keep all wiring together.

The large hole at the bottom of the electronics case fits right over the fan exhaust from the power unit. The small hole is to keep all the wiring coming into the case together.

I found it useful to first get all the wiring through the small hole leading them to the bigger compartment to subsequently slide the controller board behind it.

Note: The ventilation slots on top and at the front of the case are very fragile. It works but thin "spokes" break easily. I probable need to re-design this in a way were I can orient the print differently for stronger ventilation holes.

The orientation for the controller speak for itself. The "chips" all point downward and the usb port slides into the square opening at the front of the electronics case.

For the specific wiring of the KFB2.0 I refer you to the instructable WIRING THE KFB2.0 3D PRINTER CONTROLLER
It, in turn refers to an article I wrote on my blog on how to wire the Proximity sensor at core3d.tech

I've created wire clips that fit around the bundled wires with braided sleeving to keep the wires close to the Z-axis. I personally didn't use more than 3 but you can use more if so wanted.


Printed Parts (included with this step)

  • ElectronicsCase.stl
  • WireClip.stl

Step 10: LCD and SC Card Reader

The C3Dt/c uses a 12864 LCD display with built-in SD Card reader. The case kind of speaks for itself. the LCD fits exactly inside the case and is tied down with 4 m3 6mm screws.

The back of the case has two openings for the 2 ribbon cables that connect the LCD to the KFB2.0


Printed Parts (included with this step):

  • LCDCase.stl
  • LCDLid.stl
  • LCDKnob.stl

Step 11: Bed Assembly

The bed carriage for the C3Dt/c is 3D printed which was done purely out of necessity. Ideally you'd want a metal (rigid) frame that is thin. I could not find a 220x220mm metal frame that had screw holes for linear rail block.

The linear adapter on the Y Axis has a large surface to receive the bed frame. Make sure this is smooth. Even the smallest bumps can slant your bed.

For the bed itself I recommend a combination of a aluminum 200mmx200mm (219x219 in actuality) with a silicone heating pad. There's a kit available on ebay at 3D Printer RepRap V2 Aluminum Heated Bed Build Plate /w 12V 200W Heater Full Kit

it comes with scews, bolts and rubber inserts to separate carriage from bed. The bolts will be replaced with regular m3 bolts that will fit inside the sockets underneath the carriage (they should fit snug, but if they fall out, try some glue on the outside of the bolt before inserting).

First, attach the carriage with 4 hex socket scews to the Linear Adapter on the Y axis.

Cut the rubber rubber tube to get 4 piece approximately 5-10mm and place (balance) those on the carriage. Next put the Aluminum bed with attached silicone bed (wires pointing towards the back) on top of the rubber connectors and insert screws.


Printed Parts (included with this step):

Bed Carriage Printed : Bed Carriage.STL (attached)

Step 12: Material List Full

Following is the list of parts used, with links where to get them. I am an Amazon affiliate and if you order through the links below you do end up supporting me with a few dollars (generally, enough to buy new Filament at the end of the month).

You will be able to source many of the items cheaper directly from China via outlets like AliExpress but it will take time and patience to get them.

8020 Inc Aluminum extrusion (you can get used extrusion on eBay but there's no gaurantee for exact 90 degree angles). I also had some of the items pre-tapped.

I note about links to products. I'm an affiliate with Amazon so where possible I put out links to Amazon.com for 8020 product. Prices on Amazon prime are pretty much in line with direct sales at 8020.net:

8020 Inc.




For items purchased directly from 80/20 Inc, consider shipping charges (my orders have been $13.99 shipping/handling) (shipping is included in most Amazon sourced items).

Step 13: Conclusion

I set out to build a Cantilever printer based on a set of universal actuators I designed. I ended up with a 3D printer with all the features the big boys offer (including auto bed leveling). As promised at MRRF2018 the design is now available for all.

The C3Dt/c (Core3D.tech cantilever) is a compact and in my opinion not just functional but also aesthetically pleasing.

Total cost with items sourced from the US lands between $500 and $600.

This instructable should offer you all the steps in recreating this printer. If you're in need of the 3D printed parts, shoot me a message and I'll look into making these available.

In the next few weeks, I'll be adding instructional videos for each step, so come back and check it out.

Here it is at work

BTW, if you like what you see and maybe even implement this instructable, consider supporting me on Patreon.com: https://www.patreon.com/Core3d_tech . It took many hours and about as many discarded prototypes to design. Every bit help. Thank you in advance.

Make it Move Contest

Runner Up in the
Make it Move Contest



    • Water Contest

      Water Contest
    • Metalworking Contest

      Metalworking Contest
    • Creative Misuse Contest

      Creative Misuse Contest

    66 Discussions

    I have uploaded marlin to the board but have no display on the LCD it appears to be working but no graphics or beep. your instructions seem clear enough. how much hookup is required to get an display other than main board to LCD and USB? Getting real close from the hardware standpoint, a few parts yet to arrive.

    3 replies

    Glad you're making progess. Love to see the end result.

    There are a number of reasons why your display may not be working right off the bat.

    -If it's the 12864 LCD is the DOGLCD uncommented in configuration.h

    //#define ULTRA_LCD // Character based

    #define DOGLCD // Full graphics display

    -in configuration.h uncomment


    comment (//) //#define REPRAP_DISCOUNT_SMART_CONTROLLER

    -Are the cables properly connected exp1 to exp1 and exp2 to exp2

    -There have been some reports that the connectors for cables to the board are wrongly alligned in which case they ended up cutting off the knobbies from their cables and turning them around. I personally have never witnessed that and am skeptical about it.

    that did it!!!! would you be up to sharing your config.h ?? I would like to learn more without screwing anything up.

    I've uploaded the configuration.h file into step one of this instructable. I went ahead and added //c3dt/c to every change I made so simply search for c3dt in something like notepad++.

    Do not blindly copy this configuration.h into your set of marlin files. They tend to make changes between minor versions that could cause issues.

    I hope this helps and I hope you'll hop over to https://www.patreon.com/core3d_tech Even a dollar a month makes a difference.

    trying to upload marlin to the board keep getting error

    #error "Pins for this chip not defined in Arduino.h! If you have a working pins definition, please contribute!"

    any input on this thanks in advance Joe May

    1 reply


    Thanks for this build, it's awesome.

    I'm going to make it but i have a question. I'm french and here our aluminum extrusion are in mm.

    Can you give me the size of your bars in mm? just to be sure, in order to take a similar product here, because if i ship from the website you recommend, I'll pay some more shipping cost.

    Thanks for your help.

    5 more answers

    The reason the design is how it is, is because I built around the power unit which is 50mm high. Going with any other dimension than 1010 or at best 25x25mm/25x50mm will basically negate the idea behind the design. If you want to go with the 2020 (openbuilds) materials, i have to believe there are designs out there for that.

    I did redesign the linear axis for 2020/2040 so you can reuse those as part of your design, the the printer as a whole is a different story though

    I don't see how open builds 2040 and 2020 can't be used for the entire printer considering that you've made metric versions of the actuators. With some spacers and different corner brackets everything should be doable.

    Anything is possible, but it wasn't the intention of the design. The design at it's core has the universal power unit. It is exactly the same height at 1020 and supports the Y Axis. If you choose to go with 2040 (I'm guessing there's hundreds of designs specifically for 2040 out there) you will need to rearrange things with spacers. But more than just spacers.

    First challenge: The backbone (The 1020) that connects the Z-Axis to the Y-Axis, matches the power unit. If you use 2040, you will not reach the height of the power unit (and thus it could not support the Y axis). You would have to lift the 2040 in the back (corner bracket to Z-axis could possible support that plus some supports below the 2040)

    Second challenge: 2020 is about 5.4mm lower than 1010 profile. The Bed rests on top of the Y Axis. and hovers over the the electronics case at a distance of about 3mm. That won't work with 2020 as the bed would no longer fit over the power unit. You would either have to heighten the bed by adding some bracket between Linear slider and bed frame (the most precarious part of this printer, as you're balancing a 200x200 bed on top of a 40x40mm slider block.

    Third challenge: All the connectors are off. The connectors to the power unit and Y-axis would have to be redesigned as the distance between power units screws and 2020 would be off by 2.7mm. The Electronics case which sits positioned over the exhaust of the power unit would have it's back screw hole off by 2.7mm.

    Fourth challange: The hot-end bracket that holds the hot-end and and probe was designed to to fit 1010 (where the connector meets the belt grip (that runs inside the rail) will be of by 2.7mm in two directions (center to top and center to front). Same to be said for the Y-Axis slider bracket as it would be off from it's belt grip as well.

    I"m sure there will be a 5th and 6th and possibly more challenges as you look even closer.

    The C3dt/c was designed specifically for and around 1010 and the universal power unit. I created 2020 versions of most actuators (along with the cad files) so you can get creative and design whatever 3D printer (or CNC or Laser cutter) you want to make. Can you make it work with the C3dt/c? Sure anything is possible and the best of luck to you. Was it meant to be? No.

    I'm currently in the process of designing a printer, using the same actuators but specifically around the 2020 extrusion. The challenge I have with that one, is that it tends to look like any other 2020 printer out there.

    Core Frame exploded.jpgFull_Frame.jpg

    The 1010 is 1" X1" which is 12.4mm sq and the 1020 is 1"X2" which is 12.4mm X 50.8mm.

    Unfortunately much is lost in translation from imperial to metric and it usually results in sloppy fits between parts.

    Its best to engineer the entire unit in metric if living in a metric country, less headaches.

    Down my side of the world here in Cape Town a 2030 extrusion is 20mm X 30mm and makes life much easier when desiging from scratch and ordering compatable mounting hardware.

    As i see, 1 inch = 25.4mm. So if the 1010 is 1" x 1" it'll be 25.4mm square, no?

    I think for this one i'll order parts from US or amazon, and maybe i'll make the conversion in mm if i need to make a new one bigger.

    I have an ANET A8 and it makes a great paperweight. Can't figure out why it freezes up mid print and the head keeps leaking even after tightening it up. Any suggestions or are you planning to do a real DIY upgrade for the ANET A 8. There are thousands of us that would like to have it reach its full potential. Personally, I'd just like it to work. Just a suggestion.

    2 replies

    I had the exact same freezing problem with my Hypercube using mega 2560 & RAMPS 1.4.

    It was a result of using a class 6 SD card and the issue dissapeared when I upgraded to a class 10 SD card.

    Of course if it happens when printing over usb from the PC then my solution wont be of any benefit. :)

    Sorry to hear that. There is a huge ANET following so they may some answers. There a trick to tightening the hot-end. It needs to tighten itself against the throat tube and not the block itself

    As for quiting at the middle of a print that may indicate overheating of the steppers. That however could be for a million of reasons.

    I personally have never bought a 3D printer s as I get more fun out of designing them myself. There's gotta be something out there on the ANET. Like you said, they have a huge following

    Good luck.

    Thanks for the build,

    Here in UK/europe the T-slot in only available in 20mm increments not 25mm as the US.

    I managed to find 2525 in china but not any 2550

    Is it possible to build this printer with 2020 t slot?

    How difficult would be to modify the 3d printed parts to accept this?


    1 more answer

    Some of the parts (the linear rails) have been adapted for 2020. You can check their respective instructables for the STL files. https://www.instructables.com/id/Linear-Screw-Doub... (uses 2040) and https://www.instructables.com/id/Generic-Linear-Ac...

    The printer itself however is designed specifically around the Power unit which is 1020 high (you could get away with 2525). The difference between 1010 and 2525 is only 0.4mm so most items will be close to fitting). WIth a little elbow grease items, might fit.

    Going with 2020 will not work for this design. I'm pretty sure there are plenty of 2020 designs out there.

    can the print height or area be increased