FDM 3D Printer

I have been using rapid prototyping machines since the beginning of my career always wanted one for myself, but their cost was prohibitive. When the main patent covering FDM printing expired and the Reprap movement made 3d printing approachable, I decided to design and build my own. In 2015 I made version 1. Since then I had several commercial machines, but kept improving my own design and experimenting with new ideas. Though this is a hobby project I gained a lot of experience and knowledge around motors, motion control and programming on the Arduino platform. All this was directly transferable to my actual work and since 2016 all of my roles were related to robotics or had a lot of mechanisms and motion.


Ver. 1

The main feature of the machine was the large build volume, 300x300x300mm, which was larger than the available consumer machines of the time such as Makebot, Ultimaker etc. Also unlike other machines which used 3d printed parts this machine was fully aluminium. All parts other than the standard extrusions were water jet cut to keep the cost low.

The kinematics were traditional cartesian. The electronics and firmware were an Arduino Mega 2560 R3 with Ramps 1.4 shield running Marlin. There was an additional Raspberry PI running a print-server app.

Ver. 4

The machine was redesigned completely and currently using corexy kinematics that allow for faster prints. It can print reliably up to 150 mm/s speed and 15,000 mm/s^2 acceleration which is a lot faster than most consumer printers.

To archive that, the motors and Y axis linear rails are all mounted on a water jet cut thick aluminium sheet. There are 20x40mm aluminium extrusions around it and under them additional brackets so that pulleys and motors are not cantilever. Essentially all the motion components are contained it this 40mm high sandwich of aluminium creating a very rigid structure that can cope with the vibrations induced when moving the printhead at this speed and acceleration

The build volume is now 310x310x450mm and there is a much more stable print bed mount on 2 sides. This is also mounted directly on the motion “sandwich” to reduce the stack of tolerances. There are anti-backlash leadscrew nuts on Oldham couplings again to improve precision and eliminate issues from miss aligned or vibrating leadscrews

The good cable management and compact size allowed me to add an insulated enclosure. Last but not least the hot end can extrude a variety of materials up to 400C.

The printer is running on Klipper firmware installed on a Raspberry PI. It supports remote printing via a web UI, monitoring through a webcam and various elements including power to the entire machine can be switched on/off via Wi-Fi.

Comparison

VERSION 1VERSION 4
Printing volume300 x 300 x 300 mm310 x 310 x 450 mm
KinematicsCartesianCore XY
Speed (max reliable)70 mm/s150 mm/s
Acceleration (max reliable)5,000 mm/s^215,000 mm/s^2
Hot end250C dual setup400C single
Print beadCantilever design
Glass
Silicone heater 220V powered via SSR relay
Supported on 2 sides dual motors
PEI coated magnetic sheet on high temperature samarium cobalt magnets
Silicone heater 220V powered via SSR relay
Frame30x30mm aluminium extrusions
all metal parts
20x20mm extrusions
Passively heated enclosure up to 70C
Firmware and ElectronicsArduino Mega 2560 R3 and Ramps 1.4 shield with drv8825 stepper motor drivers
Marlin 1.X firmware
Raspberry Pi with Octoprint
STM32 controller with TMC2209 stepper drivers
Raspberry Pi with Klipper firmware, web UI, touchscreen and web camera
2 Power supplies for 24V and 5V, relay board isolating bed heater, 24V PSU, enclosure lights.

First print of my cartesian printer using ABS

Corexy printer printing a test benchy

Photo of X axis and print head