3D Printer: DIY Printers

The Philosophy of RepRap has changed 3D printer technology: produce a 3D printer with a 3D printer. You can print assembly parts to another 3D printer and make another printer for itself. The world of 3D printing could never have grown without these self-replicating 3D printers.

Most DIY 3D printer models are open source. You can easily access the software and parts of your 3D printer. Of course, they are not completely "free" in terms of cost. Commercial use, distribution, alteration and even selling do not conform to the "sharing spirit".

So, if you want to build your own RepRap 3D printer from scratch (not by purchasing a kit), and you're not sure where to start, here's an easy guide to DIY 3D printer plans and available resources.

We will not mention all of them, since the list of RepRap models is very long. If there is no model you are looking for in this list, you can check out the RepRap Wiki page. The page also has a general description of all the components that make up the RepRap 3D printer.

RepRap 3D printers; we can divide it into three groups of components: electronic, mechanical body and extruder. Electronics include control board, stepper motors, stepper drives, mechanical switches and bed heating components. Mechanical body, all structural and moving parts of your 3D printer; it includes everything from straps to reels, rods and pressure trays. Extruder consists of cold and hot end. You also need to install firmware on the control card for the software.

3D Printer Parts

3D printers have recently become incredibly inexpensive. For $200, you can buy a fully applicable ready-made printer. People who still buy kits and even build their own 3D printer from scratch spend much more money and time than $200. Instead of spending so much money and time, why don't people buy ready-made kits?

Properly designed DIY 3D printers are much more robust than their presets. Because you know and solve all the problems of your own 3D printer, you know how to use it much better and improve your printer towards the near-perfect model. Your own 3D printer works properly every time, never breaks, and is an inexhaustible spare parts source for the printer. So he can make his own parts. They have the quality and functionality you set up to have exactly the printer you make.

3D Printer Cases

The turbid Mendel gearbar case is one of the oldest versions. This has been replaced by a Prusa i3 case with a non-robust contraptive case. Good print results require a very robust chassis, so always add elbows/brackets and stabilizers when designing your printer.

If you are creating a cube-style printer from aluminum extrusion, you should use brackets to secure the frame. If you are building a Prusa i3 variant, be sure to get a square that stands balanced and add stabilizers. If you are building a classic Mendel, do not forget to add fixer sheets to the cross-supporters.

Intermediates Made with 3D Printer

PLA filament is an inaccurate material choice for printed parts of your DIY 3D printer, first for its low melting point and secondly for its fragility. Almost any material will perform much better, but at least parts printed with ABS filament will be much more durable. When printing with ABS, heat the nozzle to at least 255°C and bring the bearing temperature to 80°C so that the part adheres well to the table. However, always keep a spare of your printer's 3D printed parts. You don't have to worry about looking for another 3D printer when you need to change it.

However, the precision and surface quality of 3D printed parts are generally not as smooth as aluminum parts. When you install parts produced with a 3D printer on a flat surface with screws, there are basically two options for achieving a solid connection: tightening the screws too much, which means damaging 3D printed parts, or using a thin sandpaper to flatten the surface.

Motion Relays: Pulley and Coupling

Along with a rigid chassis, both belt drives and shaft drives in various configurations are important for the precision of your FDM 3D printer in the X and Y direction. However, the quality and life of any drive system largely depends on the quality of the relevant components. Components that cause repatriation with eccentric pulleys or couplings are the most common problems in printers. Grinding of the belt threads can cause vibration, so you should make sure that all the straps fit fully into the pulleys. We recommend using flannel pulleys to prevent straps from rubbing against other parts of your 3D printer.

There is a coupling that secures the gear bar on the Z axis to the Z stepper motor. Stainless steel M5 gear bars on the Z axis are suitable for excellent 3D printing results, even if they are subjected to constant stress for automatic bearing calibration. They last for many years.

Linear Motion Providers: Bearings

You should avoid using linear ball bearings on the X and Y axis, which causes quite common failures, unless the printer you are designing exceeds the typical size and weight of your desktop 3D printer. Linear bearings, whose quality varies greatly depending on the manufacturer, initially seem inexpensive, but after a while they start to give you a headache. 3D printed plastic parts and even their own metal mounting parts eventually cause blockages.

To avoid these problems, you can use tribological and polymeric (teflon) sled bearings. At least linear bearings must be lubricated by their standards, do not require maintenance and last almost forever. You can also easily find existing models for the LM8UU, which will be widely used in accordance with Japanese standards.

You should not use multiple linear bearings in the same line to replicate the angular stability of a linear sled. Almost every linear bearing has appropriate extended versions. For example, you can use the LM8LUU bearing instead of the two LM8UU.

Step Motor and Motor Drives

Although your budget is limited, we recommend using 0.9° stepper motors instead of 1.8° for the X and Y axis and unbroken extruder. Probably the 0.9° step engine will cost you $2 or $3 more, but you can double its mechanical resolution. Microstepping is the perfect solution to reduce vibrations. However, it does not increase the print resolution. The following images of model prints clearly show the difference in quality. With the same G-Code, they were printed at a layer height of 0.1 mm on the Prusa i3, and the only difference is the physical step angle of the motors.

Left 0.9° angle motor, 8x micro-step, 3200 pulse/speed, 80 pulse/mm Right 1.8° angle motor, 16x micro-step, 3200 pulse/speed, 80 pulse/mm

The current of stepper motor drives is important, since stepper motors operate only at full torque at certain currents. Motorists (stepper motor drivers) leave a 20% share to operate the engines at the maximum permanently. Even if some engine manufacturers have slate with the wrong size cooler and thermal adhesive pads for Pololu drive modules (e.e., A4988 and DRV8825), this cooler usually does more harm than good. If you never install the coolers and comply with the 20% current limit, you can always get full torque.

Control Card

The choice of dedicated 3D printer control card depends on your individual needs in terms of pure functionality. If you want a plug-and-play machine that always works in any environment, you should avoid products that use clones of Arduino-based controller boards or cheap USB-serial connections such as CH340/CH341.

Of course, while the Arduino MEGA 2560 and Reprap Ramps 1.4 work well together, there is no long-term plug-and-play driver support for all major operating systems, and can eventually lead to failures and serious damage as it is part of the user experience.

Thermist and Thermocouple

Use temperature sensors with reliable datasheet only for heaters. Otherwise, the measured temperature will not be correct. To ensure that the temperature controller keeps the temperature constant, make sure that the sensor comes into contact with the heated bearing or hotend heater block with a good thermal connection.

NTC Thermisterscannot withstand temperatures above 300°C required to print some engineering filaments, so we recommend measuring the temperature of hotend with type K thermocouple.

LCD Control Display

An LCD display with an SD card reader turns your 3D printer into a standalone control system. Classic RepRap Discount SmartController with non-graphical display is suitable for most printers. Although they are also compatible with RAMPS 1.4 cards and clones, there may be incompatibility because some ports are rotated 180°. Therefore, you should be careful when connecting to cards with special EXT ports for the display panel, for example for RUMBA control cards.

Hot End: Hotend

Abs filament needs to be well adhered to the pressure table and heated in a very stable way. The ABS filament is powerful, and if your 3D printer is not turned off when printing large ABS models, you may experience cracking and bending problems with a breeze. In full metal hotend models you will not have problems at high temperatures, since PEEK isolators and PTFE teflon pipes that reach the melting zone begin to degenerate at much lower temperatures. For this reason, we recommend using a full metal hotend and a heater cartridge of at least 40W for a fast warm-up time. Make sure the Hotend stands firm when mounted on the print head.


Bowden extruders, that is, remote feeding systems, have a certain gap. However, printing ABS, PLA, and Nylon filaments is not a big problem. However, 1.75 mm flexible filaments (Flex filament) are almost incompatible with remote feed Bowden extruders and are quite laborious to print. If you also want to print with flexible filaments, you should use direct drive extruder directly.

Make sure that the filament is securely attached to the teflon tube, which sits on the extruder roller holder, even when using a direct-drive extruder. In an unstable linearly driven extrusion, if the material is not pushed correctly, you may experience bad print results.

Bed Heater

Long warm-up times are quite inefficient, and in order to reach the temperature quickly (for example, within 3 minutes), a normal PCB bed heater (heated bed) must have a power density of about 1+ W/cm2. To reach 110°C under normal conditions, a heated bed must provide a minimum power density of approximately 0.3 W/cm2. If you want to print filaments such as ABS, which require a high bed temperature, you should pay attention to the wattage required according to the size of the heated bed.

Single-sided PCB heated bearings (single-sided PCB heated bed) may have problems with surface coating, affected by improper thermal expansion and banding patterns of the wooden material to be used for insulation. Thus, it causes expansion up and down, as you can see in the picture below. Therefore, you should prefer the double-sided PCB heated bed (double-sided PCB heated bed), which appears on the right in the picture.

Even small temperature fluctuations can cause undesirable pressures from unilateral PCB heaters, as it depends on the correct positioning of Z in the micron order for high-quality printing. With a well-tuned PID control cycle, you can use double-sided PCB heaters or other options that do not cause this problem (for example, silicone cloth heaters – silicone heater mats connected to a solid aluminum sheet).

Modern heated bearings such as the Prusa MK42 balance non-uniform heat losses with a non-uniform power density, allowing you to achieve a more homogeneous temperature distribution. In any case, we recommend using a thermal cutting fuse connected directly to the center of the lower part of the heated bed.

The heated bed must be very firmly mounted on the frame on which it is installed. You should not use wobbly spring adjustment screws for connection, as there can be a significant load on the bearing system when cleaning the print. Ideally, we recommend that the heated bed be as flat as possible, or use an automatic bearing system for precise adjustment.

Indoor Environment

Running your printer in a closed box prevents heat loss and you experience less distortion when printing large objects with abs filament. With a large enough box or a sturdy plexi frame from the chassis of your 3D printer, you can get it done. If the heat stays inside for a long time, your steppers, motor drives and power supply may overheat and deteriorate or reduce life. To prevent this, you can exclude your printer's electronics from the closed environment. Do not forget about the fact that hotend in an actively heated indoor environment also needs cooling. The hot end, that is, hotend, can also block the extruder if it overheats.

Do not add insulation material to the bottom of the heated bed, since you reduce the overall heat output. Passively heated indoor environments without excessive insulation can easily reach about 40°C or more, maintaining only the heat from the heated bed. You should make it easy to maintain by making sure that the enclosure can be removed without removing everything, and you can also put a cover in place to access the printer, which is indoors. When printing ABS and HIPS filament, even a simply closed environment will work.

Print Surface

Window panes and mirrors can really withstand high temperatures, but when the temperature rises to 110°C, the slightest impact causes them to break. For filaments such as PLA and PETG, glass or mirror provides a great print surface. In particular, we recommend using borosilicate glass. Borosilicate glass obtained by the use of boron products; suitable for heat resistant products.

The Polyetherimide (PEI) print surface is the best option, where you can print ABS, HIPS and also PLA. During printing, the filaments adhere well to the surface and then are easily separated.

However, PEI is not an expensive material, as well as fine PEI has led to increased use of adhesive films. These films offer the same great adhesion and printing experience, but they are quite fragile and can be easily damaged. For heavy workshop use, you should use a 1/8" PEI sheet.

For a smooth print surface, the PEI plate can be glued to a borosilicate glass or aluminum plate, preferably with the help of a heat-resistant transfer adhesive tape. Do not use heated aluminum printing plates with only a thin PEI or Kapton film on them. A high degree of thermal conductivity of aluminum should keep the contact layer at high temperature.

It is worth noting that the best known print surface for nylon is still Garolite (i.e. Tufnol). Nylon adheres well to this surface, and larger Nylon parts can be safely printed on the Garolite surface.

Automatic Bed Calibration Sensors

Although the classic servo-deployed probe works well enough, the versatile, accurate and reliable sensor type for automatic bed calibration is the contactless capacitive distance switch. Many structures with metal building plates (e.g. Prusa MK42) or metal material still use inductive sensors. However, these sensors ignore non-metallic print surfaces (such as glass plate, PEI or Garolite) and can only read distances if there is a metal plate underneath.

This can, of course, be calculated by a offset, while this offset is rarely fixed and uniform. In addition, all non-contact distance sensors are approximately 10% more precise than distance values taken by touch switch. For maximum accuracy, you should mount it with a short trigger distance (ideally 1 or 2 mm). Of course, any sensor needs to be mounted very firmly on the printhead extruder for accurate measurements.


Control Card Software

There are many major firmware projects, marlin and repetier. Marlin and Repetier have very different approaches to their configuration. Marlin's well-crafted, documented and interpreted configuration files, one for basic and the other for advanced settings, are available on the Marlin GitHub page.

Features and functionality are at stake, and Marlin offers fewer features. However, for a qualified and functional 3D printer, Marlin can also offer a configurable and trusted platform. In contrast, Repetier can work with double extruders to print in different colors. Repetier is also an ideal software for exploring the limits of more exotic 3D printing applications. Although not all its features are always well explained, if you are looking for something clean and reliable to use in your workshop, it is software that can cause problems.

Temperature Control Algorithms

A constant temperature allows you to print high-quality models. A simple bang-bang temperature control switch does not provide the required temperature balance. The easiest and shortest way to achieve a constant hotend and heated bed temperature is the PID control cycle. Both Marlin and Repetier offer the PID control cycle. It also offers a PID auto-adjustment program that will eliminate any fluctuation in the temperature curve without compromising warm-up times or exaggerating too much. Repetier software provides an alternative dead time control algorithm that works in many cases. However, the accuracy and effectiveness of a dead time control cycle depends on the effective dead time rate and the polling/update interval of the control cycle. This ensures stability and stabilization at low temperatures in high-strength heating elements, which are a waste of time in tens of milliseconds.

LCD Control Display Menus

Standard Marlin or Repetier software with enabled display support can be used in almost any control option from the scroll and click menu. The display interface is almost final, but it is still not tidy yet. You may need to switch to many submenus to move an axis.

Only part of the settings in the menu are really necessary to use in your workshop. Unnecessary menus with firmware source code can be removed. In Marlin's display software, we write below, self-explaining ultralcd. It can be easily done by commenting on unnecessary items in CPP:

/* DISABLING "CONTROL" MENU MENU_ITEM (submenu, MSG_CONTROL, lcd_control_menu); */

You can also simplify the move menu to skip the feed rate selection:

/* DISABLING ORIGINAL MOVE MENU static void lcd_move_menu() { START_MENU(); MENU_ITEM(back, MSG_PREPARE);

if (_MOVE_XYZ_ALLOWED) MENU_ITEM (submenu, MSG_MOVE_10MM, lcd_move_menu_10mm);

MENU_ITEM (submenu, MSG_MOVE_1MM, lcd_move_menu_1mm); MENU_ITEM (submenu, MSG_MOVE_01MM, lcd_move_menu_01mm); TODO:X, Y, Z, E END_MENU(); } */

ADDING CLUTTER-FREE MOVE MENU static void lcd_move_menu() { START_MENU(); move_menu_scale=0.1; MENU_ITEM(back, MSG_PREPARE);

if (_MOVE_XYZ_ALLOWED){ MENU_ITEM(submenu, MSG_MOVE_X, lcd_move_x); MENU_ITEM (submenu, MSG_MOVE_Y, lcd_move_y); MENU_ITEM (submenu, MSG_MOVE_Z, lcd_move_z); } END_MENU(); }

Octoprint Control Software

With octoPrint and even an LCD touchscreen, you can easily and thoroughly control your 3D printer with a single card computer (such as Orange Pi, Raspberry Pi) or any computer. After converting the 3D model to G-Code, you can send it wirelessly directly from the slicer to the 3D printer and conveniently control your 3D printer with a pleasant user interface. You can also see our article about octoprint installation here.

If you are using OctoPrint to stream G-Code to the printer, use the following code to enable idle timeout to the start G-Code:

  • M85 S30; activate 30-second idle timeout

To disable the end of the last G-Code again, use the following code:

  • M85 S0; deactivate idle timeout

With a 30-second timeout, it stops all printing if the device octoprint is running freezes or otherwise stops. Otherwise, the printing process stops sending commands before it is complete, and your print is unfinished.

Fire Prevention

Although rare, 3D printers can start fires. We recommend that you use the security features provided by the software. However, you should not rely solely on them. Both flat MOSFETs and solid state relays can typically fail in conductive situations, which can have catastrophic consequences with leakage heating. Thermal intermittent fuses are inexpensive parts and can prevent your heated bed from causing a fire.

Continuous Printing

If your power line from the grid is not stationary, or high-inductive power equipment is turned on on the same power line, it might be a good idea to run your 3D printer from a UPS (uninterruptible power supply). Even a short power outage during the printing process causes the print to stop. In this case, a small and inexpensive UPS will help you.

Prusa i3 3D Printer Parts and Software

Prusa i3is the most popular open source 3D printer in the world.

Other documentation to help you with diy plans for your Prusa i3 3D printer are at:

First, for SCAD and STL files of 3D printed models, enter the GitHub site for Prusa i3 and follow the following command in its terminal.

  • go clone https://github.com/josefprusa/Prusa3.git

Bill of Materials for Prusa i3

Unfortunately, there is no official list of materials. However, there are some good resources. On the Prusa i3 Buyers Guide page in RepRap Wiki, there is a comprehensive list of parts (nuts, bolts, rods, etc.) with detailed specifications.

An important point that needs to be done before prusa i3 starts to build is the skeletal structure, that is, the material of the case. There are two models, each with a separate frame style. The box-style frame is usually made of plywood, has a harder geometry and is more difficult to make. The single sheet frame is usually made of laser cut aluminum, which is the more expensive and most popular way to make it.

Software and Electronics for Prusa i3

There are many options for electronic components. However, the electronic assembly of the original Prusa i3 is the RAMP model card. The card is compatible with different types of software. The original Prusa i3 uses an optimized version of marlin software.

The official firmware can be compiled from the source. Alternatively, previously compiled hex files can be downloaded. Follow the command below for the manufacturer's software.

  • go clone https://github.com/prusa3d/Prusa-Firmware.git

Prusa i3 Kit Mounting Guide

Prusa3D has prepared a detailed compilation guide for the original Prusa i3 3D printer. The kit assembly guide is a comprehensive step in the assembly process with photos and descriptions.

Prusa i3 Community

For community support, see Prusa i3's support forum. The forum covers all topics related to the Prusa i3 3D printer. Keep in mind that when making a "homemade" Prusa i3, it will not be the same as an original Prusa i3 and may encounter problems more often.