3D Printer - Working Area 40x40x40cm




About: Hello. My name is Thomas. I love spending time in my workshop. Please check my Youtube channel. I hope you enjoy :)

Hello everyone, in this project I want to show you how to make a 3D Printer.

I always wanted to have a diy 3d printer. The easiest way to make it is print frame parts and coonnect it with aluminium profiles or somethink like that. But I didn't have acces to any 3d printer. So, I used my cnc machine to make all nessesery parts and when 3d printer was almost assembled I printed plastic parts whitch were hard or imposible to make on cnc machine. And now i have a 3d printer with working area around 40x40x40 cm :)

I made a video and step by step instruction how to make it.


Step 1: Watch the Videos

I made three videos which show you step by step assembly of 3d printer. Videos will give you a good overview, but most important information are in the next steps.

Step 2: Materials, Parts, Tools

Frame materials:

- Aluminium profiles 20x20x2 mm
- Aluminium sheet 3mm
- Linear Rail Shafts 12mm
- Linear Shaft Bearings 12mm
- A lot of Screws, Nuts and Washers
- Stepper Motor Mounts

Drive components:

- Stepper Motors Nema 17
- Timing Belts GT2 6mm
- GT2 Timing Pulleys
- Screw Rods


- Arduino Mega 2560
- Ramps 1.4
- Stepstick A4988
- LCD 12864
- Power Supply
- Heated Bed
- Heater Block
- Endstops
- Thermistors
- A lot of Wires


- Cnc Machine or 3D Printer
- Belt Sander
- Angle Grinder
- Drill
- Sandpaper
- Screws drivers
- Soldering Iron
- Pliers

Step 3: Project

Before I started making my printer I thought about different solutions and I made 3D project in Autodesk Inventor, it gave me a good overview on the whole machine. Dimensions of all parts you can download below.

Step 4: Frame Parts

Frame is made of aluminium profiles 20x20x2 mm. I thought about v-slot profiles, they are easier to connect but much more expensive. To the other elements I used aluminium flat bars 40x10mm, 40x8mm, 30x10mm and aluminium sheet 3mm. First, I cut all profiles(20x20) to the desired length and improved the edges on belt sander. Next I milled all parts. After milling I removed the holding tabs, improved edges, drilled holes and made threads.

Step 5: Frame + Y Axis

Connect aluminium profiles (585mm and 620mm length) with corner connectors using screws. Remember about the angle of 90 degrees ! Cut the linear rail shafts to 620mm. Screw Y shafts holder to the frame. Put in linear bearings to the bearings holder and put them on shafts. Next screw the bed bottom to the bearings holder. This is a platform for the bed.

Step 6: Frame + Z Axis

Connect aluminium profiles (560mm vertical and 585mm horizontal ) using corner connectors. Screw the Z bottom shaft holders. Connect 2 pieces of the frame with the Z mount plates. Still remember about 90 degree. Cut the shafts to 588mm and connect them with the Z bottom and top holders. To strengthen construction, screw the aluminium angle profiles from top to the bottom.

Step 7: X Axis

Screw bearings to the X Plates and put them in the Z axis. Remember about a bearing holder+nut one of each side. Cut the shafts to 624mm. Connect bearings with X Bearings Holder and screw them to the X Plate Extruder.

Now frame and axis are ready :)

Step 8: Motors, Endstops, Drive Components

Screw motor holders to the frame. Y axis holder was too high. So, I cut few millimeters from the top. Screw the motors to the holders and endstops to the frame. Triggers are made of steel and aluminium. Z axis trigger is adjustable. Timing belt connectors are made of steel and aluminium too. Next screw the gears, pulley wheels and timing belts. To the Z axis I used M6 threaded rods but only for test. I'll change them to 8 mm threaded rod with trapezoidal thread. Nuts are made of teflon.

Step 9: Bed, Extruder, Hotend

To make adjustable bed I used screws and hard springs. Top bed is connected to aluminium profiles and bottom bed. I didn't' had a that big aluminium sheet. So, bed is little to small but still work perfect :) On the top of the bed is 4 mm glass. Glass shapes are rounded with sandpaper. Extruder and hotend are made of aluminium. They are connected with teflon pipe.

Step 10: Steel Platform

This step is not necessary but is good for your machine. The construction is little flexible when you put on force. To reduce it I welded simple platform with steel profiles.

Step 11: Electronics, Heated Bed, Power Supply

The brain of the printer is Arduino Mega 2560 with Marlin software. To arduino are connected Ramps 1.4 shield and LCD 12864 Smart Controller. To power the printer I used a ATX power supply (very cheap and quite). But if printer works with 4 heated beds my old atx isn't enough. To power the 4 heated bed I used a power supply from old server station. To control which bed will be turned off or on, I made small control panel (schematic below). If I need use more than 2 beds, I have to turn on biggest power supply(a lot of noise). Of course you can power everything from 1 power supply, but I got my power supplies for free and this solution is good for me becouse I mostly use 1 heated bed. On the bottom of the heated bed is a cork board to keep maximum heat. In the rar file is Marlin program with my settings, but they aren't final (works good but can better).

Step 12: First Printing

Before machine was completely finished, I printed a hotend holder, fan holder, z axis threaded rod holder, smart controller enclosure and filament spool holder.

Step 13: Finish :)

3D Printer is completely finished :)

Just heat the nozzle and print something !

If you enjoy please subscribe my Youtube channel for more projects.

Thomas Workshop Youtube Channe

l If you have any questions, please leave a comment below :)

Design Now: In Motion Contest

Runner Up in the
Design Now: In Motion Contest

Microcontroller Contest 2017

Second Prize in the
Microcontroller Contest 2017

Robotics Contest 2017

Runner Up in the
Robotics Contest 2017



  • Colors of the Rainbow Contest

    Colors of the Rainbow Contest
  • Classroom Science Contest

    Classroom Science Contest
  • Fandom Contest

    Fandom Contest

210 Discussions


2 days ago

Great project and lots of resources! I would like to adapt it to make a drilling machine. So I could just bolt the drill motor and chuck unit in place of the 3D printer injector. I can work with what you have given, but it would be easier if I had your design in Autodesk Inventor- Albeit, I use FreeCAD. I can import the files ok. If you do not want to release them, I understand. Thanks again for all the info!


Question 4 months ago

Can I use 20 or 30 amp power supply instead of 40

1 answer

Answer 4 days ago

if you use separate heatbed relays then you can use a second atx ps to supply the beds. then your steppers dont loose power and steps. its what i do.


Reply 22 days ago

I need the stl files i dont care if they arnt the old one plz!


4 weeks ago

hello sir, this is great project!, i m new here to make something like that, i have question about the arduino code, do you need arduino code for this project? thanks !


Question 5 weeks ago

Hi, i've looked at a lot of diy 3d printers but i keep coming back to yours! I need a large build and yours is simple to understand. Thank you.

Though i have a question, what kind of power supply should i use for the 4 heatbed?


Question 5 weeks ago

Hi, I want to add a 5v relay that switches every time i get an error on my screen so i can add a light or buzzer. But i never worked with arduino before. Can someone help me?


Question 6 weeks ago

i have a question about relays ,they click everytime the temperature drop with a few degrees?


6 weeks ago

how did you wire up the thermisters for the 4 heated beds.


Question 2 months ago on Step 13

Very nice work congratulations. I want to make this project, do I have to dxf or dwg files for the frame parts to be cut with cnc? Can I get it from you? There are metrics in the pdf file, but for the cnc I think this dxf or dwg file will be required.


Question 3 months ago on Step 13

como utilizo marlin.rar?


Question 3 months ago

Do you have the stl files for all the cnc milled parts?

taim khan

4 months ago

Codeing of arduino

taim khan

4 months ago on Step 13

Sir can u plzz share the codeing of this 3d printer


4 months ago on Step 13

Felicitaciones excelente trabajo y muy bien explicado saludos desde Argentina
Congratulations excellent work and very well explained greetings from Argentina


Question 4 months ago

what is this for

Screenshot_20190111-210021_Video Player.jpg

Question 4 months ago on Step 2

What's the Resolution in Microns and Filament Materials we can use??


5 months ago

Can i get this dimension. ?

Screenshot (5).png