Crafting a 3D Printer: Step-By-Step Guide

Updated Jan 27, 2020 4476

Hello everyone!

In this article we’ll show you how a simple enthusiast can craft a functional Ultimaker 3D printer. This piece is based on the research and work of one of 3D printing enthusiasts. We will describe the assembly process in details — from ordering of components to the assembly process itself, programming and the rest. Of course, we will include pictures so you don’t get confused.

Cost: the printer is going to cost you roughly $400-500 — it’ll be a reliable and high-quality machine.


Why choose a homemade printer? 

There are several reasons:

  • Reasonable cost. Currently, this printer costs less than $400. There are many made-in-China 3D printers costing between $215 and $280. However, such DIY kits require spending twice this sum in total, so that they could offer you something that at least resembles 3D printing. The cost of factory-made printers is made up of: marketing, salaries, engineering research. etc. The engineering process cost the designers much more than $385. And now, we are sharing our knowledge and experience absolutely free of charge.
  • Buying a 3D printer is not even half the battle: you need to learn how to use the thing! Acquiring experience in assembly and installation is a huge step towards mastering 3D printing.
  • Since we have impressive background in working with Ultimaker 2 printers and a home-made Ultimaker, we can safely claim that they don’t differ in speed and their quality of printing. They both print excellently — with the extruder and print head being more hard-driving in Ultimaker 2.
  • This article will be a manual of sorts, devoted to the assembly and calibration of a personal DIY 3D printer. We will try to cover the whole process as detailed as possible.

 Ultimaker was chosen as the basis of the printer we’re going to craft:

  • It’s quite easy to assemble.
  • Reliable.
  • You can easily find the design on the Internet.
  • It’s probably the most common printer across the globe.
  • Engineering research concerning this printer is conducted by enthusiasts and other users across the globe. Practically all its components were collected from different sources and can be found on the Internet. The choice of preferable diameter (3 or 1.75 mm) should be made by everyone for themselves — we will only express our opinion on the pros and cons.

3 mm – Pros:

  • It’s easier to get a filament of a steadier quality, particularly at home.
  • The best option for a Bowden extruder.
  • Normally, a 1.75-mm-diameter filament can be used instead of one with a 3-mm diameter.
  • Overlaps and jams occur rarely compared to 1.75 mm.

3 mm – Cons:

  • Currently produced by few manufacturers.
  • Few existing materials.

1.75 mm – Pros:

  • A great variety of plastics.
  • A much larger variety of manufacturers.
  • A perfect choice for a direct extruder.

1.75 mm – Cons:

  • Known as not the best option for a Bowden extruder (some specialists will strongly disagree, but we can only reply, “Try it out first, and then we’ll have our discussion”).

So, here we go! The article will consist of the following parts:

1. Buying all the necessary supplies.

2. Assembly of the printer. Frame and mechanical components.

3. Assembly of the printer. Electronics.

4. Firmware and calibration.


Part 1. Getting supplies

Required components:

1. Frame made of any 6 mm thick sheet material (plywood, MDF, acryl, monolithic polycarbonate, etc.).

A plywood case costs approximately $18-31. 

If anyone has doubts concerning the usability of a plywood case, don’t be afraid, it’ll do just fine. 

2. Aluminum bed base – various costs starting at $11; Plywood is also an option, but not everyone likes it. There are some drawing schemes of the bed: LM12LUU with an adapter is required instead of LMK12LUU, or, alternatively, another kind of bearing is required for the trapezoidal screw.

3. 4 mm glass can be ordered from any glass studio – $1.55-1.85, here’s the drawing scheme.

4. LM6LUU – 2 pcs. – $4.78.

5. LMK12LUU - 2 pcs. - $7.78.

6. Bearings F688 - 8 pcs. - $3.04 for 10 pcs.

7. Shafts 6 mm - 2 pcs, one 300.5 long and the other 320 mm long, you can either ask the seller to cut off a piece of particular length or cut it yourself - $7.69.

8. Shafts 8 mm - 4 pcs, two 348 mm-long and the other two 337 mm-long, you can either ask the seller to cut off a piece of particular length or cut it yourself - $9.02.

9. Shafts 12 mm - 2 pcs. 339 mm each , you can either ask the seller to cut off a piece of particular length or cut it yourself - $12.73.

10. Pneumatic Connector - 1 pcs. 13.88 for 1.75 or 3 mm.

11. Encoder- 1 pcs. - $0.50.

12. Dual pulley with 20 teeth for 8 mm shafts  - $1.98.

13. HeatBed - 1 pcs. - $8,18. 

14. Stepper motors - 4 pcs. required (sold in packages of 5 pcs. for 37.88). Trapezoidal screw - $7.10. Couplers - 270 for 5 pcs, can be printed instead. 

15. Copper sleeves with graphite inserts, long and short belts and belt springs - 1 package – sold in packages for $12.42 (carriages can be printed; as to the belt, a standard GT2 belt without springs can be used instead - you'll save some money this way).

16. Feeding wheel gear - 1 pcs. - $1.11. 

17. Power unit - 1 pcs. - $24.28.

18. HotEnd e3d v6 - $9.31 for 1.75 or 3 mm and a heat break – 1 pcs. for $0.35 (not necessary).

19. Air conditioning unit for components - 2 pcs. - $2.54.

20. Limit switches with a long lever - 3 pcs. - $1.79

21. Driving pulleys with 20 teeth for 8 mm shafts  - 8 pcs. - $10.10. 

22. GT2 timing pulleys with 20 teeth for 5 mm shafts  - 2 pcs. - $1.24.

23. Card reader - 1 pcs. - $0.66.

24. Arduino Mega 2560 + RAMPS 1.4 + A4988 (4 pcs.) - 1 package - $17.02.

25. LCD display 12864 - 1 pcs - $4.69.

26. Clutch springs - 4 pcs. - Brake pad springs will do.

27. DuPont Housing: this and this

28. Dampers - 1-2 pcs. (not necessary) $4.16 for a package of 3 pcs.

29. Backlight switch - 1 pcs. (not necessary) - $0.92 for 5 pcs.

30. Plug socket with a fuse holder and a switch - $6.40 for 5 pcs. (not necessary).

31. Cable braiding - 3 m 8 mm - $4.99 (not necessary).

32. Heatsinks - 4 pcs. (not necessary) - 10 pcs. for $6.49.

33. Transistor - 1 pcs. - $3.78 for 5 pcs. and transistor radiator - 1 pcs. - $1.05 for 10 pcs. (not necessary). 

Instead of substituting the transistor with a RAMPS, a car relay or a solid state relay can be used. If the latter is used, there may be problems: it might just melt down) 

34. Clamps - 4 pcs. - $1.49 (can be substituted with office clamps). 

35. Knobs for bed leveling - 3 pcs. - $1.45 (can be substituted with М3 knobs). 

36. Air conditioning unit for a circuit board – 1 pcs. - $8.39 (can be substituted with one designed for a power unit). 

37. LED strip - 1 meter - $3.36 for 5 meters (not necessary).

38. Flexible multi-line wires, at least 0.22 mm in diameter, approximately 15 m. In this particular case, so-called intercom wires were used.

39. 2.5 mm flexible multi-line wires, approximately 2 m.

40. Reinforcement heating for these wires.

41. If you face difficulties finding mounting components and wires in proximity, go to the sam place where the rest of the components were bought – everything can be found here:

   41.1. Screw M2.5x20 6 pcs.

   41.2. Screw M3x10 30 pcs.

   41.3. Screw M3x12 30 pcs.

   41.4. Screw M3x14 15 pcs.

   41.5. Screw M3x16 85 pcs.

   41.6. Screw M3x20 20 pcs.

   41.7. Screw M3x25 20 pcs.

   41.8. Screw M3x30 21 pcs.

   41.9. Screw M3x4 2 pcs.

   41.10. Screw M3X5 10 pcs.

   41.11. Screw M3X6 10 pcs.

   41.12. Screw M3X45 2 pcs.

   41.13. Screw M3x8 10 pcs.

   41.14. Nut M2.5 6 pcs.

   41.15. Nut M3 130 pcs.

   41.16. Self-locking counter nut M3 35 pcs.

   41.17. Washer M2.5 6 pcs.

   41.18. Cage washer or large washer M3 17 pcs.

42. Thermal adhesive – 1 pcs.– $0.81 (not necessary; nowadays, radiators tend to be self-adhesive, otherwise thermal paste can be applied)

43. Bed thermistor – 1 pcs. $0.76, buying some extra pcs. is advised: these things tear, break and malfunction. 

44. Bearing 623ZZ – 1 pcs. - $1.33 for 10 pcs. 

45. Spool holder. It can also be printed.

46. Plastic components (we recommend printing everything with ABS, with 100% filling). If you don’t have the means to print those, then you can order them.

   46.1. Washer 8,5*10,5*5 – 2 pcs.

   46.2. Washer 8,5*10,5*10 – 5 pcs.

   46.3. Washer 8,5*10,5*25 – 1 pcs.

   46.4. Extruder part 1 – 1 pcs.

   46.5. Extruder part 2 – 1 pcs.

   46.6. Extruder part 3 – 1 pcs. or this one - 1 pcs.

   46.7. Mounting unit E3D 1 part – 1 pcs.

   46.8. Mounting unit E3D 2 part – 1 pcs.

   46.9. Air cooling unit – 1 pcs.

47. Tools:

   47.1. Screwdrivers for required screws.

   47.2. Pliers.

   47.3. Soldering iron and solder.

   47.4. Multimeter.

   47.5. Sandpaper.

   47.6. Oil (silicon oil is recommended).

   47.7. Cable ties.

   47.8. Precision knife or box cutter.

   47.9. Duct tape.

   47.10. Having a crimping unit for Dupont plugs is desirable, but in any event pliers will do. We can also recommend using clamping units for isolated pin bush tips; the latter need to be compatible with the size of the wires.

   47.11. Glue stick, we recommend the brands UHU and 3M Skotch. 

So, here’s the completed AliExpress order:

We’ll be glad if any user joins us and crafts their own printer as well. 

Eventually, we will get a functioning machine like this. 


Part 2. Assembly. Frame and mechanical components

So, we've bought all the components required for the assembly of our printer, and what we now have looks like this:

Since this 3D printer was assembled at home by an enthusiast, we can’t show you all of the parts laying on the floor. It’s worth noting that losing components in your apartment is very easy, so pay attention.


1. Soldering limit switches for the X- and Y-axes

You'll need:

  1. two microswitches, one with a standard lever, the other necessarily with a long one.
  2. wires with a cross-section of at least 0.22 mm2 - 4 pcs, each 1 mlong (we used 2*0.22 mm2 wires (referred to as signal wires or intercom wires in stores).
  3. soldering iron (solder, tin)

Solder the wires to the microswitches. We recommend using C (closed) and NC (normally closed) contacts for microswitches! “Normally closed” means that the circuit is closed when at rest and opened when pressed.

In certain cases, contacts are marked with numbers — 1 and 2.

What we need this for is additional verification of the printer's reliability: if something's wrong with the switches, the print head won't be able to take the HOME position.


2. Installing the end switches of the X- and Y-axes into the frame

You'll need:

  1. Limit switches with attached wires - 2 pcs.
  2. Left frame panel.
  3. Upper frame panel.
  4. M2.5*16 screw - 4 pcs.
  5. M2.5 nut - 4 pcs.

NOTE! If you use microswitches with levers of different lengths, the long-levered microswitch is to be installed for the X-axis, and a standard lever will do for the Y-axis.

NOTE! Don’t tighten the microswitches excessively: they are very fragile, and manual tightening is good enough.

Install the microswitches, as shown in the pictures.




3. Assembly of the frame

You'll need:

  1. Left frame panel with an installed microswitch.
  2. Right frame panel.
  3. Upper frame panel with an installed microswitch.
  4. Lower frame panel.
  5. front frame panel.
  6. rear frame panel.
  7. Two small details to mount the encoder.
  8. M3*16 screws40 pcs.
  9. M3 nuts40 pcs.
  10. Encoder1 pcs.

Order of the assembly:

  • Put the rear panel onto the bed, with the legs pointing at yourself and the oval hole under the stepper motor pointing to the right.
  • Install the upper panel with the microswitch facing the inner part of the frame on the left.

  • Install the lower panel with the small rectangular hole facing the floor on the right.

  • Install the front panel with the legs pointing at yourself and the round hole being on the right.

  • turn the printer on its left side.
  • install the right panel with the legs pointing at yourself and the round hole at the top (the one close to the edge) on the left.
  • turn the printer on its right side.
  • install the left panel, with the legs pointing at yourself and the microswitch facing the inside part of the printer on the left.

  • turn the printer upside down.
  • assemble and install the encoder panels, as shown in the picture.

Finished frame:

  • then brace the whole construction with 40 M3*16 screws and nuts.

Fix the encoder.

!!!NOTE!!! The screwing needs to be done very carefully, and it’s better to drill a hole if the process is difficult, since the encoder board might be torn very easily.


4. Installing a backlight switch

You'll need:

  1. the frame.
  2. switch.

Insert the switch all the way into the frame.


5. Installation of a socket for the power cord with a fuse holder and a switch

You'll need:

  1. the frame.
  2. Plug socket with a fuse holder and a switch
  3. М3*10 screw - 2 pcs.
  4. М3 nut - 2 pcs.

  • Install the socket for the power cord into the frame.
  • drill holes in the frame with a 2.5-3 mm drill, so that they are placed on the opposite of those in the socket for the power cable.
  • install М2.5*10 screws and fasten the nuts.


6. Installing LED backlight

You'll need:

  1. 1 m of LED strip.
  2. the frame.

Stick the LED strip inside the printer along the front edge on the right, left and upper panels.


7. Installing bearings into the frame

You'll need:

  1. F688 bearings - 8 pcs.
  2. the frame.

Insert the bearings into the holes with the flange facing the inside part of the frame; the installation requires slight effort.


8. Assembly of carriages for the X- and Y-axes

You'll need:

  1. a set of components consisting of:
  2. copper sleeves - 4 pcs.
  3. long GT2 belts - 4 pcs.
  4. springs - 4 pcs.
  5. carriage body components - 8 pcs.

To assemble the carriages, you need to show some incredible dexterity.

The belt is stretched as shown in the picture, with the smooth side facing the spring.

Insert the copper sleeve into the frame.

Install the spring with a belt into the frame, as shown in the picture.

Then close it with the second detail of the frame until it clicks four times and ensure that the belt isn’t trapped and is capable of amortization.


9. Installing carriages onto the X- and Y-axes

You'll need:

  1. Carriages for the X- and Y- axes - 4 pcs.
  2. Driving pulleys with 20 teeth for 8 mm shafts - 8 pcs.
  3. GT2 Double pulley with 20 teeth for 8 mm shafts - 1 pcs.
  4. short belt from the set - 2 pcs.
  5. 8,5*10,5*5 spacer – 2 pcs.
  6. 8,5*10,5*10 spacer – 4 pcs.
  7. 8,5*10,5*25 spacer – 1 pcs.

The algorithm of the installation is as follows:

First, install the outermost shaft; to be placed on it, between the bearings, are, from left to right:

  • double pulley; first, put onto the pulley a short belt that will be connected to the stepper motor, and then put a long belt with the carriage facing down;
  • carriage with the sleeve on the shaft facing down;
  • standard pulley, with screws on the right; put onto the pulley a long belt with the carriage facing down;
  • 10 mm insulation nut.


Second, install the front axis, and to be placed on it are, from left to right:

  • 10 mm nut,
  • pulley with screws on the left; the belt from the carriage mounted to the outermost axis,
  • carriage
  • pulley with screws on the right; the belt from the carriage mounted to the outermost axis,
  • 10 mm nut.
  • Third, install the axis to the right, if the printer is facing us with its left wall, the algorithm of installation going from left to right
  • pulley with screws on the right; a short belt is put onto the pulley
  • 10 mm nut.
  • pulley with screws on the left; the belt from the carriage mounted to the outermost axis,
  • the carriage whose belt is mounted to the outermost and front axes,
  • pulleys with screws on the right; the belt from the carriage mounted to the front axis.
  • 5 mm nut.
  • finally, install the left axis. Place the printer in such a way that its right side is facing us; the algorithm of installation goes from left to right
  • 5 mm nut
  • pulley with screws on the left; the belt from the carriage mounted to the front axis.
  • the carriage mounted with belts on the front and rear axes,
  • pulleys with screws on the right; the belt from the carriage mounted on the rear axis.
  • 25 mm nut.

Extend the pulleys to the sides with nuts, to the very bearings. Then level the carriages relative to each other and tighten the screws on the pulleys.




10. X- and Y-axes stepper motor

You'll need:

  1. stepper motors - 2 pcs.
  2. М3*25 screws - 8 pcs.
  3. Cage spacer and large spacer - 8 pcs.
  4. stepper motor bracket - 2 pcs.
  5. GT2 timing pulleys with 20 teeth for 5 mm shafts - 2 pcs.

The pulleys are mounted with screws very close to the stepper motor.

Screw the stepper motors with the use of spacers and bracer; a small belt is put onto the pulley and tightened.



11. Installing bearings into the carriages of the print head:

You'll need:

  1. E3D mounting unit 1 part – 1 pcs.
  2. LM6LUU bearings - 2 pcs.

Insert the bearings into the holes.



12. Installing the carriages of the print head onto the axes

You'll need:

  1. 6 mm shafts - 2 pcs.
  2. Print head carriage with installed bearings.

Install the shafts into the bearings, with the short one (300.5 mm) placed lengthwise and the long one (320 mm) across.

Insert them into the sleeves until it clicks. Sometimes carriages don’t hold the shafts strongly enough — a drop of adhesive can fix the problem.

At the rear, the shafts mustn’t protrude from the carriage — otherwise, collisions with the shafts of the Z-axis will happen.


13. Assembly of the bed

You'll need:

  1. Bed bottom - 1 pcs.
  2. LMK12LUU - 2 pcs.
  3. Nut for trapezoidal coupling - 1 pcs.
  4. М3*12 screw  - 8 pcs.
  5. M3*10 screw  - 4 pcs.
  6. M3 nuts - 12 pcs.

Assemble it all as shown in the picture without tightening the bearings — the tightening needs to be done after installing the components into the frame.


14. Installing bed into the frame:

You'll need:

  1. wooden cover plugs - 2 pcs.
  2. М3*16 screw - 4 pcs.
  3. М3 nut - 4 pcs.
  4. Assembled bed - 1 pcs.
  5. 12 mm shafts - 2 pcs.


Insert the cover plugs into the lower part of the frame.

Put the shafts into the holes at the top of the frame, mount them to the bed and put them into the sleeves until it click.


15. Installing damper onto the Z-axis stepper motor

You'll need:

  1. Z-axis stepper motor - 1 pcs.
  2. Damper - 1 pcs.
  3. M3*5 screws - 2 pcs.

Install the damper and fasten it with screws:


16. Assembly of the Z-axis stepper motor

You’ll need:

  1. Z-axis stepper motor with installed damper.
  2. trapezoidal screw.
  3. couplers - 1 pcs.

Screw all the 3 components together, as it is shown in the picture.


17. Installing a motor into the frame

You’ll need:

  1. motor with installed damper and trapezoidal screw.
  2. М3*8 screw - 2 pcs.

Insert the trapezoidal screw into the nut installed onto the bed and attach the stepper motor to the frame with screws:




18. Installing the limit switch of the Z-axis

You’ll need:

  1. М3*40 screw.
  2. М3 nut 
  3. microswitch.
  4. М2.5*20 screw -2 pcs.
  5. М2.5 nut - 2 pcs.


Put the screw into the hole in the bed and fasten it with a nut.

Place the bed in the lowest position and mark location-wise the position of the microswitch, in which it will be pressed by this screw,

Drill holes and fasten the microswitch with screws and nuts.


19. Installing feeding gear wheel onto the extruder stepper motor

You’ll need:

  1. Extruder stepper motor.
  2. Feeding gear wheel.

Install them like it is shown in the picture:

Some further adjustments might be required afterward.

Strong fastening is obligatory: this gear wheel has only one mounting screw, and if it loosens, it might be difficult to locate the reason why the filament isn't fed.


20. The assembly of the extruder clip:

You'll need:

  1. Extruder part 3
  2. 623ZZ bearing
  3. M3*10 screw.

After assembling the clip, you’ll get something like this:


21. Installing a fitting onto the extruder

You'll need:

  1. a fitting
  2. Extruder part 2 – 1 pcs.

Just screw it into the extruder, and it should look like this:

And the last step:


22. Assembly of the extruder

You'll need:

  1. Extruder part 1 – 1 pcs.
  2. Extruder part 2 – 1 pcs. with installed fitting
  3. Extruder part 3 – 1 pcs. with installed bearing
  4. stepper motor with installed feeding gear wheel
  5. Screw М3*12 - 1 pcs.
  6. Screw М3*35 - 3 pcs.
  7. Brake pad springs

The assembly of the printer took the enthusiast 4 evenings. Each session lasted about one hour, with many photographs and notes taken in order to not miss anything. That means that for those assembling their printer for the first time, it's probably going to take, roughly, the same amount of time — and those who already have a background will perhaps need twice as little time. It's really quite easy.

Now we can safely say that the mechanical side of the printer is done: we can move the bed up and down, move the print head carriage forward, backward, to the right and to the left.


Part 3. Electronics

At this point, you have practically finished our printer from a mechanical point of view.

We now proceed to fill our printer with electronic components:


1. Customizing RAMPS 1.4

Customizing RAMPS is necessary for the bed to get heated quickly; it’s also necessary if we want to avoid using a relay and to do away with the power socket, soldering everything directly to the board instead. This step isn’t necessary.

You'll need:

  1. RAMPS 1.4 board, part of the set
  2. Transistor
  3. Radiator for transistor
  4. Thermal paste.
  5. М3*5 screw 
  6. Jumper pins.

Unsolder the transistor:

Unsolder the socket:

The result:

Install the jumper pins:

Like this:

Screw the radiator to the transistors, first applying some thermal paste to the junction:

The result:

Solder the new transistor to where the old one was:



2. Installing stepper motor drivers and radiators:

You'll need:

  1. Stepper motor drivers - 4 pcs. from the set.
  2. Radiators — with either a list of adhesive material or hot-melt adhesive - 4 pcs.
  3. RAMPS 1.4

Install the stepper motors. Note the right position of the trimmer.

In our case, it’s right here:

Fasten the radiators with a sheet with an adhesive material or by applying hot-melt adhesive. Thermal paste is known to work fine too.


3. Installing Arduino Mega 2560 into the frame:

You'll need:

  1. Arduino Mega 2560, part of the set.
  2. М3 screws.
  3. М3 nuts.

Use the kind of brass couplings that can be taken from system units or other appliances, but that’s not necessary — plain screws and nuts will do.

There’s a tiny flaw in the frame — if holes for Arduino are drilled like this:

Here’s what we get:

Install the RAMPS atop, taking into account the positions of all the sockets:


4. Assembling the bed:

You'll need:

  1. A heated bed 
  2. Two wires with a cross-section of 2.5 mm2, each 1-1.2 m long.

You must pay attention to the information given on the heating unit itself: in case of 12V, the negative terminal needs to be connected to contacts 2 and 3, and the positive terminal to contact 1:


Note that there are two different sides of the heating unit: the side with the stripe and the smooth one. We recommend using it with the stripe facing up at the glass and soldering the wires to the smooth side.

We do the soldering, and here’s the result:

The next step is installing clamps for glass and bed calibration screws:

You'll need:

  1. MK2B heating unit 
  2. Clamps
  3. М3*30 screws
  4. М3*6 screws 
  5. Self-locking М3 nuts
  6. Glass.

М3*30 screws are installed into the two front corners as well as midway between the contacts; we place the clamps onto the two front ones and tighten the nuts. We then install the two remaining clamps into the two remaining corners with M3*6 screws and nuts.



Install the glass and the bed thermistor:


Installing the bed into the proper position:

You'll need:

  1. The bed itself.
  2. Car brake springs. 
  3. Nuts to adjust the bed level.

Starting assembling:

And here’s the result:



5. Mounting the display:

You'll need:

  1. LCD display
  2. М3*16 screws 
  3. М3 nuts 
  4. Self-locking М3 nuts - 4 pcs.

Let’s get to the assembling:

And here’s the result:



6. Installing card reader:

You'll need:

  1. Card reader.
  2. М2,5*20 screws - 2 pcs.
  3. Nuts М2.5 - 4 pcs.

We use couplings from system units, but they are to be used with M3, so in this case, the holes need to be drilled further so that they are wider.

We do the assembling, and here's the result:


7. Installing power unit:

You'll need:

  1. Power unit
  2. М3*10 screws - 2 pcs.

We recommend:

1. Disassembling and greasing the power unit fan and applying a drop of silicone oil under the sticker:

2. Ensuring that the power unit is in the 220V mode (there’s a sticker with a hole on one of its sides).

We get to assembling, and here's the result:


8. Installing a cooling fan for Arduino and RAMPS:

You'll need:

  1. Fan.
  2. М3*35 screws 
  3. М3 nuts.

We get to assembling, and here's the result:


9. Hiding the wires:

You'll need:

1. Corrugated material and/or flexible braiding for wires.


Bed wiring (heating and thermistor) are placed into flexible braiding as well.


10. Assembling the print head:

You'll need:

1. Print head

Or the standard е3d, ver. 6 or 5

Or Volcano е3d, ver. 6 or 5

2. Thermal barrier

3. e3d radiator, ver. 5 or 6

 An e3d is assembled according to this instruction



4 wires are laid from the print head, each 1.5 m long and with a cross-section of 0.22 mm2. Cooling for the print head and the print.

Wires from the ceramic heater, bed thermistor, print cooling, and the print head are placed into flexible braiding.

A fluoroplastic tube (Bowden), 70 cm long, is laid from the print head to the extruder.

The wires in the braiding and the Bowden tube are connected using duct tape and thus hidden.



The cooling fan of the print head is soldered to one pair of the wires; two print cooling fans are soldered to the other pair, and the components are screwed to the cooling. The fans should be greased — otherwise, they will produce noise.



Part 4. Firmware and calibration

By the end of this part, our printer will already be fully operational.

For this part, you’ll need a multimeter, a USB cable from the Arduino Mega set, and an SD memory card.

We have to warn you that before powering the thing up, you need to check 10 times whether everything is connected correctly: when working with a multimeter, one slight mistake renders the Arduino dead. The author of the original post destroyed 3 Arduino Megas like that, one of them while calibrating the printer. So if you have any doubts, double-check everything! We have warned you!

The things that need checking first and foremost:

1. Position of the motors.

2. Whether the limit switches are connected correctly.

3. Polarity of all the wires.

4. General wiring plan for all electronic components.

Have you checked it all? 10 times? Then let’s move on:

Plug the printer into an outlet, flip the switch (the one on the socket for power cord with a fuse — don’t forget to install a fuse), and the following items must switch on:

1. Fan on the power unit.

2. Cooling of RAMPS.

3. Print head radiator cooling unit.

4. Display backlight.

5. The printer backlight can be switched on and off with a switch.

Is it all working?

If not - return to the previous parts.

If yes - let's move on.

Measure the voltage with a multimeter (DC volts - V). For А4988 drivers, we can do without a multimeter, though: just sound will suffice. But we do everything by the book and set a voltage of 0.68В for all motors, with a voltage of up to 1V possible for А4988.

If you’re sure you’ve done this correctly, let’s move on:


1. Downloading and setting up Arduino

Arduino Software can be downloaded here. This program sometimes behaves somewhat strangely: the author managed to make the 1.8.10 version work, but some of the professional peers have other versions. So, install it your our computer.

Since our Arduino is most likely no Arduino at all but a made-in-China replica with a CH341 chip in it, we also need to download the driver, here for example, and install it on our computer.

Download the Marlin firmware and unpack the archive with the firmware into a convenient folder.

Download the library – u8glib – without unpacking the archive.

Connect the printer to the computer with a USB cable, and then the driver installation takes place, resulting the new device popping up in your Device Manager:

It can remember the COM number of the port into which your Arduino board is installed.

Open the file ...Marlin-RCMarlinMarlin.ino ( Windows Explorer can have it as plain Marlin, without the file extension) using Arduino Software:

Then: Tools - Board:..., select your board, that is, Arduino/Genuino Mega or Mega 2560.

Then: Tools - Processor:... - ATmega2560(Mega 2560).

Then: Tools - Port:... - select the COM port, which our Device Manager remembered.

Let's move on - open the tab Configuration.h:

All basic settings will be adjusted in this tab.

Now we need to add a library to work with our display- that is, add the u8glib, which we have already downloaded. We need to add it to our firmware.

Then: Sketch - Include Library (Add a library) - Add .ZIP Library...

In the window that opened, we find our archive with the u8glib library, select it and press open.

Then: Sketch - Include Library (Add a library) - as we can see, the u8glib popped up at the very bottom; select it.

The following line appeared in our sketch:


Let's calibrate the firmware now:

1. We need to select the controller of our printer - open the tab boards.h 

There check out the massive list of controllers Marlin firmware can already work with:

A brief reminder: we use Arduino Mega 2560 + RAMPS v 1.4, and we have a heating bed, a controlled print cooling unit, and one print head. Everyone's most likely managed to find our board by this stage:

#define BOARD_RAMPS_14_EFB 43 // RAMPS 1.4 (Power outputs: Hotend, Fan, Bed)

Go back to the tab Configuration.h

Search for the line where the controller must be indicated (MOTHERBOARD) and write our line there:


2. Calibrating bed temperature sensor.

You most likely have the same ordinary made-in-China 100K thermistor. In this firmware it's marked with number 1:

// 1 is 100k thermistor - the best choice for EPCOS 100k (4.7k pullup)

Write the figures for the hotend and the bed:

Maximum and minimum temperature values can be left unchanged or adjusted according to your particular needs.


3. PID settings 

We recommend doing it only after you've been successfully printing with your device for two hours.

The algorithm is as follows: we need to access the printer through the Pronterface software

...and use this command:

Where M303 is the calibration command, E0 is the hotend, C10 is the number of heating-cooling cycles, and S260 is the standard operating temperature of the nozzle.

The printer makes 10 hotend heating cycles and then displays the values of Kp, Ki, and Kd. We put these numbers into the firmware:

The same goes for the bed, with the command being:

M303 E-1 C10 S110

Where E-1 is the bed, S110 is the standard bed heating temperature.

Since bed heating takes a long time, an error may appear as a result of a timeout - in this case, just restart the command.

Put the resulting numbers into the firmware:


4. Calibrating limit switches:

A brief reminder, we have:

  1. Y-axis maximum
  2. Z-axis maximum
  3. X-axis minimum

Accordingly, we comment on(//)/uncomment the following lines:

We also change the direction of the “home” position according to the position of the limit switches:


4. Calibrating the size of print area

In our case, the resulting figures are quite good: 200x200x190 mm.

Your figures can be slightly different, but this will be known later after much experimentation.


5. Setting the speed of traveling to home position

This information is obtained through experimentation; for now, use the default values.


6. Setting steps of axial movement

We need to find out how many steps our printer makes per distance unit (1 mm in our case) along each axis.

We’re using a motor that makes 200 steps per turn, и and we can divide this step into 16 micro-steps.

Then, in the X- and Y-axes we have the belt motor, with the step of each tooth amounting to 2 mm and the pulley having 20 teeth.

Thus, in one turn our motor makes 200x16 = 3 200 steps and covers with these 3 200 steps a distance of 20x2 = 40 mm.

Subsequently, in order for the printer to pass 1 mm, 3200/40 = 80 steps are required (this number is the same for the X- and Y-axes).

A trapezoidal screw is installed on the Z-axis, with the value of one step that can vary depending on the type you bought. For instance, 8 mm per one full turn, meaning that our printer passes 8 mm during the time of one Z-axis screw turn and makes the same 3 200 steps to this end — however, splitting (with the use of jumpers) and ⅛ can be employed for the acceleration of the Z-axis.

So, for the printer to pass 1 mm in the Z-axis, it needs to make 3 200/8 = 400 steps.

Extruder feeding. To learn how much plastic is fed by our extruder, we need to calculate the circle perimeter: school geometry reminds us that the circle perimeter equals 2 x the number π x circle radius or the number π x circle diameter. Now we don’t need any great accuracy (we’ll calibrate that more precisely a bit later). The diameter is approximately 5.8 mm, so per 3200 steps or one turn our extruder feeds 3.1415x5.8 = 18.2207 mm of the filament, and to feed 1 mm it needs 3 200 / 18.2207 = 175.624 steps — we round that to an integer number of steps, that is 176.

Put the resulting figures into the firmware:

here: X, Y, Z (in the right order), the extruder.


7. Calibration of speed and acceleration:

For now, we left these parameters unchanged — we’ll return to them later, during the more precise calibration:


8. Screen calibration:

We uncomment (remove the double slash // from) the lines:

#define ULTRA_LCD

#define DOGLCD





9. You can name your printer after the much-loved yourself, for instance, "Kevin".

To this end, we need to uncomment the line:

//#define CUSTOM_MACHINE_NAME ‘Kevin’

All the basic firmware settings have now been dealt with. Check what you got by pressing “Test”:

And upload it by pressing “Upload”:

After that, the printer will restart and display various parameters.


Now we need to conduct a more precise calibration of the printer:

1. correct direction of axial movement.

The way it’s supposed to be:

X-axis - 0 to the left (or minus), 200 to the right (or plus)

Y-axis - 0 facing you (or minus), 200 to the other side (or plus)

Z-axis - 0 up (or minus), 190 down (or plus)

extruder - plus for feeding filament, minus for retracting filament

If everything’s alright, let’s move on. If not, you should change the parameters: true to false or false to true - the parameter is only changed where necessary (where the axial movement is wrong):

#define INVERT_X_DIR false

#define INVERT_Y_DIR true

#define INVERT_Z_DIR false

#define INVERT_E0_DIR false

Compile it, renew the firmware again and check whether everything’s right. If so, let's move on.


2. The performance of limit switches:

Set up the carriage and the bed in such a way that the limit switches aren’t under any pressure.

In Pronterface use the command M119.

The result will look something like this:

or like this

the way it’s supposed to be:


x_max: open

y_min: open


z_min: open







After that, consecutively set the carriage and the bed to the home position for each axis and check whether the limit switch worked correctly with the command M119:

For each of the axes that were involved, open must show; it’s better to perform this separately, to ensure that the travel switches are connected correctly. The resulting image is supposed to look like that:


x_min: open

y_max: open

z_max: open


This only applies for properly closed contacts, and if you use properly open ones, then everything will happen the other way around: if the limit switch didn't work, you will get open, and if it worked - TRIGGERED.

If something's wrong, the highest possibility is that you made a mistake in adjusting the previous setting that dealt with limit switches — or did something wrong while connecting them. Go back and check that.


3. Correct movement to the home position.

Give the printer the return-to-home-position command — that can be done through the printer menu or computer software.

The carriage should move to the left and away from you, and the bed should travel down.

Is everything done correctly? Let's move on then. Are there some difficulties? Go back to checking the firmware.


4. Defining movement values:

Here, we’ll have to experiment quite a lot; define the values for all 3 axes with a ruler to type them into the firmware:


5. Checking the filament feeding system:

Take a ruler, measure off 10-20-30 cm of filament, mark the results and give the printer the command to extrude 10-20-30 cm of filament. Then check the accuracy and adjust the firmware according to the numbers.


6. The distance between the bed and the nozzle.

First, we need to apply a coating to the bed to get good adhesion. The author prefers using a glue stick (3M Skotch, UHU). We apply the adhesive to cold, clean, dry glass, and then we can heat the bed. 

Heat the bed and the nozzle up to the operating temperature (110/250) and put the bed into point 0 — and then adjust it through three points (the ones where the leveling knobs are located)

Using knobs we adjust the space in such a way that a sheet of paper is pressed against the bed by the nozzle, but with us being able to draw it out without ripping it. We need to ensure that the same distance is observed in any location of the printer. To this end, twofold leveling of the bed with 3 points is enough.

Some of the parameters can be changed through EEPROM, which can be done using Repetier-Host or using commands in Pronterface.

Let’s see such a printer can do:

Another print, but of a higher quality and printed with a better material:





Write a comment

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now


Please, wait ...