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



  • Beauty Tips Contest

    Beauty Tips Contest
  • Classroom Science Contest

    Classroom Science Contest
  • Planter Challenge

    Planter Challenge

217 Discussions


Question 4 days ago

hi tomas I hope you find yourself well
could you pass me the registration of the bearings that go inside the piece X BEARINGS HOLDER?

Question 6 weeks ago on Step 3

I'm really impressed with your project. Hats off for you.
Im planning to build one. But i would like to build a little bigger.
Im really new to this. could you please share me the links to buy the electronic components for easy reference.
is it possible to make a little bigger printer like 800x800, with the same setup, by just changing the bed size and the y-axis.
Do we need to change something in the programming? or power source?
I would be really thankful if you please guide me through this.

Thank you for the wonderful project.


Question 7 weeks ago on Step 1

First thank you so much for sharing the wonderful knowledge, I am really impressed with your design and your hard work. I just want to know about printing software, if it is ok for you can you please tell me which slicing software you used and what are your best settings for printing , I found the objects you created are without lines (very smooth), I am facing some issues in my design, hope to get positive response from you. My email id is sahilvashist280@gmail.com. I would be very happy if you will help me in that case , once again thank you so much

1 answer
Penolopy BulnickSahilV16

Answer 7 weeks ago

Hi! Some good slicer options are Simplify3D (have to pay for it) or Ultimaker Cura (free).

The settings might be labeled differently between the slicers, but some things that I mess around with when I have issues with lines being filled in is I increase the Outline Overlap % (usually up to 35%) and sometimes I decrease the Outline/Perimeter Shells to 1. If you decrease this (usually 2 is the default) it will force a better fill in. Sometimes there is space when you have 2 outlines and it just can't fill in the rest, but if you only have 1 outline, it can fill the rest in.

Most of the time, you just have to alter one thing (such as something I mentioned above) and then just look at how it slices it and decide if you need additional changes.

If these suggestions don't help, can you take a picture of the issue you are facing? It will give me a better idea of what would need altering.

Also, even if you don't use Simplify3D, they have a great toubleshooting page that I turn to a lot to find answers to my issues.

Also, also, the size of your extruder can make a big difference. If the nozzle diameter is large you are just going to have trouble getting details or smaller prints to print well.


8 weeks 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 6 months ago

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

1 answer

Answer 2 months 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 2 months ago

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


2 months 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 3 months 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 3 months 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 3 months ago

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


3 months ago

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


Question 4 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 5 months ago on Step 13

como utilizo marlin.rar?