Time has come to build a new 3D printer. While the previous 3D printer I designed and built 5-6 years ago is still in use, I run too often into its limitations. It is starting to impact my workflow and has also been affecting my enjoyment of 3D printing.

A corexy 3D printer made out of Makerbeams with integrated in it an IKEA SAMLA box containing filament spools.
The old 3D printer.

I think the best way to deal with this is to build a new 3D printer and start from scratch. A big challenge, but also a lot of fun.

Since building the last printer I have learned a lot, and I look forward to applying some of that new knowledge to the design of the new 3D printer.

In this article I will give some more details on my motivations and goals, and share the progress I have made so far on the new printer.

What was wrong with the old 3D printer?

The biggest issues I have with the old printer are as follows:

  • The build platform is too small. 20×20 cm is not enough space anymore. For some upcoming projects I need to print parts that exceed the 20×20 cm build plate.
  • Not a lot of space for upgrades. If I would add an extra extruder for dual extrusion, or even extra cooling fans on the extruder carriage, the extruder carriage would become too big. At the moment it is small enough to make use of the full build plate, but increasing its size would reduce its maximum travel distance to under 20×20 cm.
  • Loud. The printer uses quite a few small high RPM fans to cool the filament, PSU, the Smoothieboard MOSFETs, etc. Add to that the noise of the stepper motors and sometimes it can feel like there is a jet taking off in the room.
  • Dusty. Dust gets everywhere in the 3D printer, especially in the summertime. The printer stands opposite from the A/C, so in the warmer months a lot of dust from the air in the room gets blown onto it. The construction of the printer also does not lend itself to being cleaned very easily, nor is there enough space for an enclosure around it.

Aside from these issues, there are also a bunch of smaller ones. For example, misalignment problems that have crept in and components that are starting to wear out.

Design-wise there is a lot that can be improved about the printer. I used a learning-by-doing approach in designing and building, and unfortunately that means making some mistakes along the way.

It was a good learning experience, but now it is time to move on and do things the right way.

Why not upgrade the old printer?

Upgrading the old printer crossed my mind, but it quickly became clear that this is not feasible. The main reason for this is the (lack of) rigidity of the 10x10mm Makerbeams.

While Makerbeams are great for small stuff and for large builds that are static, they are not sturdy enough for large builds with moving parts. As I upgraded the printer and increased the build volume over time, the flexibility of the Makerbeams became quite clear. I have had to reinforce the frame with a decent bit of cross-bracing and extra beams to make sure it did not flex too much during printing.

Enlarging the frame to fit a 300*300mm build plate would require an even larger amount of extra reinforcement to keep it rigid enough. Because of the impracticality of that, and because of the price of the Makerbeams and their accessories (quite high compared to 2020 or 3030 extrusion), I did not consider that to be a valid option.

What are the goals for the new 3D printer?

Given that I am starting from scratch, I am able to construct what is for me right now the ideal 3D printer. This is the list of specifications I came up with:

  • 300*300*~400mm print volume. This is big enough for any of my upcoming projects.
  • 3030 extrusion for the frame. This should be sufficiently rigid for a 3D printer this size.
  • 2020 extrusion for the moving parts. The X and Z gantries are kept as light as possible by using 2020 instead of 3030 extrusion.
  • 240V heated bed. Powering the bed using mains power (as opposed to 12/24V) means the wiring does not have to carry as many amps, which is a lot safer. Using 240V also allows me to get a smaller DC power supply for the electronics.
  • Linear rails for all axes. Linear rails are in many ways superior than linear rods, there is no need to go with smooth rods anymore.
  • Triple leadscrew + double linear rail setup for the Z axis. This seems to be the most stable way to move the Z gantry up and down without over-constraining it.
  • CoreXY mechanics. This will be the same as the previous printer. Having the X/Y stepper motor mass mounted on the frame allows for faster acceleration of the XY carriage and less ringing.
  • Fully enclosed with acrylic/Plexiglas panels. This will keep out any dust, and keep in some of the sound. It also allows for heating the print chamber and filtering any fumes.
  • 32-bit controller. The printer needs to be able to print with high speed, high acceleration, high resolution and as little noise as possible. An 8-bit controller is too slow for that, so a 32-bit controller it is.
  • WiFi connectivity instead of Ethernet. No more Ethernet cables across my workspace. In combination with the 32-bit specification above, the logical choice for a control board is the Duet 2 Wifi. This board also uses the TMC2660 stepper drivers which can run the steppers silently using 1/256-step microstepping.
  • Touch screen interface. I will mostly be controlling the 3D printer over WiFi, but it might be useful to be able to control it standalone sometimes. Plus I think a touch screen adds to the coolness factor.

The progress so far

Over the last couple months I designed the major parts of the 3D printer in SOLIDWORKS. The design is not complete yet, but it is far along enough to start building.

The majority of the components I need to build the printer have been ordered and have arrived.

I started the build itself as well. In my excitement to get started I neglected to take a lot of pictures, but I will make sure to document everything properly the rest of the build.

The frame

I started building the 3D printer by constructing the frame. To do this I had to bolt together the 3030 extrusion that makes up the frame.

Because I used blind joints for the construction, this meant a lot of drilling and tapping of the ends of the extrusion. If you ever need to do the same and have the option to get the ends of your aluminum extrusion threaded at the store, it is worth the extra cost.

An empty frame of a 3D printer constructed out of 3030 aluminium extrusion.
The frame as it was being built.

Squaring the frame took some time, but it was perfectly doable with the help of a digital protractor. I recommend always using one when squaring up a 3D printer frame. Starting off with a misaligned frame is a recipe for disaster later on in the build.

Only after building the frame I realized how large this 3D printer is actually going to be. It stands 1 meter tall, with the width and depth both being 56cm. I was aware of the dimensions before building, but it’s hard getting an idea of the true size from the CAD software.

The main reason for the large outer dimensions is because the printer will be fully enclosed, and everything needs to fit on the inside of the frame.

The electronics and touch screen will be mounted below the print area.

Above the print area there needs to be enough space for the stepper motors, and for the input filament to freely bend as the extruder carriage travels around.

For reference, the print volume will be 31.4*31.4*45cm.

Z-stage

Aside from assembling the frame of the 3D printer, I also started building the Z-stage.

I 3D printed the first prototype parts and mounted the leadscrews, Z-axis stepper motor and GT2 timing belts.

A partially finished 3D printer built out of aluminium extrusion with the majority of the parts of a triple lead screw system assembled inside of it.
The triple lead screw system in the 3D printer.

The three leadscrews are driven by a single stepper motor. The advantage of this is that there is no risk of the leadscrews going out of sync. This is something that can happen when each leadscrew is driven by its own stepper.

A single-stepper motor driven triple-leadscrew system in a 3D printer.
A close-up of the Z-axis drive system.

I added several arms with pulleys that route the timing belts for syncing the lead screws along the outer edge of the 3D printer.

This looks a lot cleaner than a single long belt that travels through the center of the printer, and also allows for easy access to the electronics that will be mounted below.

I haven’t seen anyone else route the belts like this, and I am not a 100% percent sure it will work, even though I don’t see any reason why it wouldn’t. Time will tell.

The NEMA17 stepper drives the leadscrews with a 2:1 gear reduction (using a 20T pulley on the motor shaft and a 40T pulley on the rear leadscrew). This should provide enough torque to move the Z gantry without problems.

Without the gear reduction the NEMA17 stepper might not be strong enough, as the aluminium heated bed + glass surface + aluminium Z gantry frame will weigh quite a bit. I can always switch to a NEMA23 if necessary though.

What is next?

The next step is to install the Z gantry in the 3D printer, and properly align all linear rails and lead screws. I expect this to be a tedious process that takes up a lot of time. Not coincidentally, it is also the part in the build that I am looking the least forward to.

If you find this article useful, please share it or leave a comment. I love to hear your feedback and questions!

3 thoughts on “CoreXY 3D Printer Build Log – Frame”

  1. Looking forward to following your build. I woild like to build something close to a 500x500x500 build volume enclosed printer. I am mechanically capable, but a mechanical engineer I am not. I would really appreciate some help from you especially with the pulley systems as I feel like that will be the most challenging for me. This will be my winter project, so I still have a fair amount of time planning, but definitely need some expertise and guidance.

    1. Hey Gary,

      That sounds like an awesome project! I would love to help out where I can. Please note that I’m not a mechanical engineer either, just a guy who has learned by making a lot of mistakes.
      Feel free to send an email to [email protected] with more information.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top