Introduction: 3D Home Printer With Arduino

Picture of 3D Home Printer With Arduino

I wanted to make a 3D printer for a long time. When I decided to make it, I bought necessary materials and I started with my 3D printer dreamed. I was looking for information on many websites and I saw different models, Prusa , Delta, etc. In the end, I decide to make the Delta model since it was the most attractive model for me .

Then I 'll describe you how I did it . I will start to explain you how I made the prototype needed to make pieces of the final printer, I hope you like it and you feel encouraged to make your own 3D printer.

Step 1: Materials

Picture of Materials

LCD --> Price: 7,56€

Arduino Mega 2560 --> Price: 6,84€

Ramps 1.4 --> Price: 3,73€

4 Pololus --> Price: 1,44 x 4 = 5,76€

Headbed --> Price: 6,40€

Hotend 1,75 mm and mouthpiece 0.4mm --> Price: 4,40€

Mirror 215mm x 215mm --> Price: 5€ (bought glassware)

Kapton tape --> Price: 1,09€

Termistor NTC 100k --> Price: 1,17€

PTFE tube (1 m) (1,75mm) --> Price: 1,79€

Aluminum extruder --> Price: 4,74€

6 Linear bearings --> Price: 12,52€ (10u)

3 Endstop --> Price: 0,72€

Fan 40x40mm --> Price: 1,68€

6 Pulleys and 3 straps --> Price: 9,27€

6 Stainless steel bars(80 cm of 8 mm) --> Price: 17,42€ (In hardware store)

12 traxxas 5347 --> Price: 8€ (USA)

Carbon fiber tube (6 mm) --> Price: 4€ (Decathlon)

4 stepper motors NEMA17 42HS40-1504A05-D20--> Price: 32,8€ (joint purchase)

Threaded rod --> Price: 0.80€ (In Leroy Merlin)

Screws --> Price: 4€ (In Leroy Merlin)

3 dock--> Price: 0,65€ (In Leroy Merlin)

Custard rate --> Price: 1,50€ (In Carrefour)

PC power supply (400 W) --> recovered from old pc

Filament --> Price: 20€

TOTAL PRICE --> 155,38€

Step 2: The Electronic

Picture of The Electronic

Before mounting it, it is recommended to test the electronic to make sure everything works fine. To do this, we need to load the firmware in Arduino. We will use two types of firmware, Sprinter and Marlin. First we use an old version of Sprinter just to test the electronic as this allows you to move motors without having to activate the sensors. Then in the end, we will load new version of Marlin.

To carry out all this process I followed the tutorial on next website:

Step 3: Setting the Pololus

Picture of Setting the Pololus

Firstly we have to adjust the pololus to limit the maximum current that will consume the engines.To do this we need a multimeter (to see the current flowing through the motor), a ceramic screwdriver and Pronterface program. What we must do is to put a motor on the connector of the extruder and make it work through Pronterface program. Then we will adjust the pololus potentiometers, one by one, until the desired values, which in our case are: 400 mA for the extruder and 200 mA for each axis (X, Y, Z). To view the current we will use the multimeter.

For this configuration I followed the tutorial on the next website:

I recommend you to see it, as it is very well explained and it includes some videos.

Step 4: Preparation and Assembly of the Structure

Picture of Preparation and Assembly of the Structure

First thing that we are going to build is the prototype. It took me a day to mount it.

We print the plane in A2 format, then the plane is placed on a wood and we cut it. This is done to both, the bottom and the top. Then we drilled holes with 8 mm drill. It is recommended to drill the holes with the two boards together to make it more accurate. At the top we will make a big hole where we will place the engine of the extruder. At the base we will make a small hole to put wires of hotbed.

To hold the filament we cut a piece of wood bar and two pieces as you can see in the pictures. We put steel rods into the holes. The pulleys are caught with a screw in the center of the edge of the wood without pressing to make it can turn easily.

We put both engines extruder such as the X, Y, Z as shown in the pictures.

Step 5: Construction of the Arms and Support for the Hotend

Picture of Construction of the Arms and Support for the Hotend

For the construction of the arms, we cut six pieces of carbon fiber tube of 215 mm and 12 pieces of 50 mm threaded rod. Then in a wood, we screwed two screws at a distance of 250 mm and we will cut off the head of the screw. Then we paste the rods to carbon fiber tube and traxxas. we place these rods in the two screws that we put into the wood. This procedure must do for the 6 rods.

I used a metallic glass that are used in desserts for supporting the hotend. We cut the glass with Dremel as shown in the pictures. We assemble all the screws and put a dock to snug.

Step 6: Construction of Supports for Bearings

Picture of Construction of Supports for Bearings

For bearings I used two pieces of wood in the form of T. We made some holes to hold bearings with clips. To hold arms, I put two metal angles for each carbon fiber tube. Finally, to hold the strap it has been used staples, It has strained well and then have it all other staples. Then I tried if it was working well in the printer.

Step 7: Placing the HotBed and EndStop

Picture of Placing the HotBed and EndStop

To put a glass or mirror above the HotBed, I have milled holes of hotbed to introduce the heads of the screws.. Then I have soldered a led and power cables.The thermistor has been fastened in the center of the bed with Kapton tape.

The EndStop have been fastened with the wire as you can see in the picture.

Step 8: Firmware

Picture of Firmware

For firmware settings I advise you to follow the tutorial in this website:

here you have my file set. You should set it depending on the size of your printer.

Step 9: Calibration

Picture of Calibration

This is the most difficult step to make because you have to dedicate a lot time to get calibrate it perfectly.The HotBed must be leveled perfectly and make that the Hotend touch slightly a sheet between the bed and the HotEnd.

You can see these videos where the author suggests what you should do:

To calibrate the axes watch this video:

Step 10: Finished Prototype

Picture of Finished Prototype

In the images we can see the finished prototype and some manufactured parts. As you can see the quality is not too good but enough to build the final printer.

I show you a video with the printer running:

Step 11: Creating Parts With the Prototype

Picture of Creating Parts With the Prototype

With the finished prototype we print all the parts needed for the final printer. In the images I show you these pieces.

You can download the pieces in the following file:

Step 12: Creation and Painted the Structure of the Final Printer

Picture of Creation and Painted the Structure of the Final Printer

We build a box for the base of the printer with pine wood. We do all holes including 2 large holes for fans, these be in charge of refrigerate all the electronics. For the backside we use a pine board. I have cut the top in a rounded shape and I have milled it. Finally we give several coats of varnish with spray, leaving as shown in the pictures.

Step 13: Placement of Engines

Picture of Placement of Engines

We put the motors as shown in the pictures. We also place pulleys and EndStop with their pieces.

Step 14: Placement of Arms

Picture of Placement of Arms

In this step, we just have to put the pieces together with screws and mount it on the structure of the printer.

The following file contains some improved parts.

Step 15: Finalization of the Printer

Picture of Finalization of the Printer

The only thing left to do is to connect all the electronic (including the screen with the support that was printed before) and to tense the straps slightly. In the images we can see the printer already finished.

Here's a video printing:

Step 16: Prints Made

Picture of Prints Made

As you can see from the pictures, the prints are already quality but to achieve it I have been almost a month calibrating everything and printing several times the printer pieces.


PabloV22 (author)2016-04-05

hola, gracias por compartir un proyecto que hace más accesible la impresión 3D y nos enseña nociones de ingeniería y electrónica, de verdad, es una manera muy constructiva de usar la tecnología a nuestro alcance. Verás, vivo en Madrid y tengo una duda, ¿dónde comprar las varillas de acero inoxidable? Gracias de antemano por tu tiempo y tu respuesta.

Hola Pablo.

Yo lo compré en una ferreteria de Málaga, pero no es una ferreteria cualquiera ya que vendía también hierros.

Supongo que en Madrid hay muchas ferreterias como las que te digo.

Un saludo.

Hola Mariano,

Soy de Málaga y estoy intentando montarme un impresora 3d, pero no encuentro las varillas de acero inoxidable por ningun lado, ¿Recuerdas donde las compraste?


Sinceramente no me acuerdo pero he estado buscando y creo que es en: Suministros Industriales Miguel López

Cuando pregunte allí por varillas de acero inoxidable de 8 mm me dijo que si las quería para hacer una impresora 3D ya que mucha gente ha ido allí a por ellas. Vienen muy bien calibradas y te la cortan a la medida que quieras.

Un saludo.

Iré a ver, muchas gracias!

docman100 (author)2017-10-12

Is the arduino mega you used real? it says about $8 and it is like $30 on

Hello, yes, it is the arduino mega 2560, but it is not the original. It is a Chinese version.

SantiagoM51 made it! (author)2017-09-07

Buenas una vez mas

Ya tengo montada e imprimiendo la maquinita :D

Solo puedo agradecerte este instructables porque , par ami ha sido un desafió, pero merece la pena cuando ves que la maquina va sacando cosas.

Ya solo me falta que la ultima capa me la deje lisa, ahora mismo la ultima las hace igual que las intermedias, pero bueno , poco a poco.

Una vez mas Mariano , muchas gracias por todo.


Enhorabuena¡¡ buen trabajo. Te ha quedado muy bien.

La ultima capa no te va a salir lisa como la primera.. ya que se van a notar un poco las líneas.

Hasta pronto¡¡¡

SantiagoM51 (author)2017-09-03

Buenas a todos, no se si esto se sigue mirando pero yo aqui sigo intentando que me funciones.

Tengo una pregunta Mariano, lo tengo todo montado pero me cuesta una barbaridad calibrfar las torres, saliendo impresiones nefastas xD.

Ese video que pones para calibrar las torres no consigo extrapolarlo para esta delta.

Tienes algun consejo o video donde lo expliquen bien?

Un saludo y gracias por este proyecto, en cuanto soluciones colgare fotos :D

Hola Santiago¡¡

Entiendo que tengas problemas con la calibración ya que es lo más difícil. Te puedo dar varios consejos:

En primer lugar pon un trozo de folio en la cama caliente y dentro del menú de la propia impresora haces que el hot-end vaya al centro de la cama hasta que toque el papel suavemente. Para ello deberas ir cambiando el valor de la altura en el có imagino que sabrás donde tienes que tocar. :) (En caso contrario me preguntas).

Una vez que el centro lo tengas bien, pues tendras que ir calibrando cada uno de los brazos de forma similar al calculado anteriormente. Haces bajar un eje hasta que toque suavemente el papel.. para ello te hace falta ajustar el tornillo del carro.

Una vez que tengas los tres ajustados.. seguramente el centro ya se haya descolocado.. para ello tienes que ver si hace panza o cuenco :) y modificar un valor del código.. exactamente en esto: dentro de configuration.h debes modificar el siguiente parámetro DELTA_SMOOTH_ROD_OFFSET si lo subes creo que bajas la panza y al revés lo contrario.

Es cuestión de ir modificando una y otra vez y ver como va.. cada vez que hagas un cambio debes de volver a calibrar hasta que lo tengas perfecto.. es un poco plasta.. pero no hay remedio.

Tengo ganas de ponerlo algún día que se calibre automáticamente que se que se puede y sería estupendo.

Un saludo y ya me vas contando.

premkumawat (author)2017-08-15

which software you are using to creat stl & gcode files?

I use the host repetier software.

QuimG1 (author)2017-07-21

Buenas Mariano, primeramente felicitarte por tu excelente trabajo. Tengo que hacer un trabajo muy importante y me has animado a hacer este proyecto. Me preguntaría si me podrías dar algún método de contacto para preguntarte cosas si me surge alguna duda. Soy un chico de 16 años y seria genial contar con tu ayuda, por eso te ruego que si puedes y si me surge alguna duda pueda contar con tu ayuda. Te dejo un correo, el mio:

QuimG1 (author)2017-07-21

Buenas Mariano, primeramente felicitarte por tu excelente trabajo. Tengo un trabajo muy importante y tengo que hacer una impresora 3D y estaría interesado en construir tu proyecto, ya que esta muy bien documentado. Pero por si acaso podrías darme algún método para contactar contigo más fácilmente por si surgiera una duda o algo parecido?¿. Soy un chico de 16 años y contar con tu ayuda sería muy bueno, si pudieras te dejo un correo: ( )

Más que nada era para si surgiera alguna duda y como tenemos la facilidad de comunicarnos en español como he dicho seria genial.

flembag (author)2017-06-13

if you already have access to a 3d printer is their any reason to build the prototype?

Hi, if you can print the parts on a 3D printer, you do not need to make the prototype. The prototype I did so that I could make the parts I needed.

akankit114 (author)2017-06-13

what is the length of each arm?

The total arm length is 250mm

CCX191 (author)2017-05-09

Great project and build process. Very admirable to see how it started from temporary parts to self made parts by itself, truly a reprap project. Since I've just acquired a 3D printer and gained much interest in building my own Delta printer. I am wondering how the length of the arms should be measured according to the size of the printer.I already have a square heatbed so your build is very relevant.

Thank you very much.

The length of the arms should be such that it can travel the entire base of the printer. This data will be entered into the arduino code to fit that distance.

Thanks for your prompt reply! Will build it in my free time :)

SantiagoM51 (author)2017-04-21

Buenas Mariano.

Lo primero darte la enhorabuena y agradecerte por poner esto para que todo el mundo pueda hacerla, me has animado :D.

Tengo un problemilla con la regulación de los pololus. De la misma manera que en el video los regulo todos desde el extrusor, y los motores se mueven muy bien . El problema viene cuando los drivers los pongo en sus sitios para los ejes X, Y y Z, no se mueven. Dandoles mas intensidad tampoco consigo que funcionen .

Te ha pasado algo similar y/o sabes como poder solucionarlo?.

Muchas gracias!


Es muy raro que te pase eso... necesitaría tener más información para poder ayudarte. Cómo haces para ver si se mueven o no los motores de los ejes X, Y y Z?

Me alegro mucho de que os animéis para hacer este proyecto ya que creo que es algo útil para mucha gente.

Un saludo.

Pues con el pronterface , en su interfaz, le doy a mover los ejes X , Y o Z para ver si lo mueve de manera correcta , pero en lugar de moverse aunque sea un poco , hacen ruido.

Una vez mas muchas gracias, y un saludo.

Comprueba que los cables de los motores estén bien conectados, ya que de no estarlos puede producir ruido y no girar.

Un saludo.

exonent (author)2017-04-10

Hola Mariano! Muchas gracias por poner este proyecto de forma libre. Quiero este proyecto, pero muchos de los links que pones para comprar el material ya no van, como no se mucho, no se cual comprar en su lugar. Un saludo y de nuevo gracias.

Hola¡¡ Muchas gracias por tus palabras. Acabo de actualizar los links que ya no estaban operativos.

Un saludo.

Gracias por responder tan pronto!! Estoy viendo los links y tengo algunas dudas,

PCB Climatizada MK2B, este no está disponible,¿Cuál puedo coger?. En el PTFE Teflon Tubería Conectores, ¿Cojo el Type A o el TypeB?. Los ventilador 40 * 40 * 10 mm no están disponibles, ¿Puedo coger cualquiera con esas dimensiones?. Eso es todo gracias!!!

Hola de nuevo. Ya cambié el enlace del PCB Climatizada. Respecto al PTFE teflón, compra el tipo A si vas a usar hilo de 1,75 que es lo mejor. Puedes usar cualquier tipo de ventilador de esas dimensiones. Un saludo.

Alex mejia (author)2017-04-04

Hola mariano espero que este bien no quería molestarte pero no tengo de hotra tengo un inconveniente cuando envío el comando (M666) luego de mandar la punta del hocten frente a la torre (x,y,z) en donde Z5 es la distancia que poseo en cada torre y voy bajando desde 1mm y luego 0,1mm con la hoja de paper entre la cama caliente y la punta del hocten en vio este comando
(M666)no me presenta nada en el rejistro de la eepro de repetie o de proteface ya que debería de presentarme unas condenada de la distancia de la punta del hocten y la cama caliente.apuro trabajo e logrado conseguir que la punta del hocten haga fricción en la hoja de paper pero en algunos caso (0.50mm) por encima de la hoja cuando quiero bajar eso (0.50mm) la punta se queda en el mismo sitio o retroceder más .

Hola Alex. Lo mejor es que veas las coordenadas en la pantalla de la impresora y que cambies el valor de la altura z en el código. Tienes que ir probando mucho.. no es fácil.

Un saludo.

Alex mejia (author)2017-03-25

Muchas gracia maestro ya la tengo casi terminada esto es una foto en donde estaba probando con un lápiz solo quiero preguntarle algo cuando realizó el homi los carriles tocan los finales de carrera y asen un cambio y se apagan pero en ves de quedarse pisando los finales de carrera bajan como 8mm por lo que la distancia del eje (Z) varia mucho...y de nuevo muchas gracias.

Hola Alex.

Cuando haces un Homing, debe de tocar los finales de carrera e inmediatamente bajar un poco y por último volver a subir. Si como tu dices, se quedan 8 mm más bajo, puedes configurar la altura para que siempre se quede con esos 8 mm menos.

Un saludo.

Alex mejia (author)2017-03-18

Hola Mariano lo conete como me hubieses dicho los finales de carrera pero en marlin (NO) me responde y en sprinter (SI).

Pero lo estás probando con la aplicación repertier-host?

Alex mejia made it! (author)2017-03-17

Hola y grasia por todo mira este finar de carrera lo conseguí en una impresora de tinta.. tengo lo 3 conetado(COM Y NC) Y configurado en marlin (false) pero no me reponde cuando ago el home me podrias ayudar.

Respecto a la calibración que me preguntastes, debes de modifcar el valor de la altura del eje Z que lo puedes ver en la imagen 1 y quizás también debes de modificar los valores de las 3 líneas que te he marcado en la imagen 2 además de ajustar los tornillos que hacen tope con los finales de carrera.

Tendrás que cambiarlo muchas veces e ir probando hasta que consigas calibrarlo.

Hola Alex,

Hace unos 6 meses nuestro amigo MarcS2 le pasó lo mismo. Si quieres buscalo más abajo porque él llegó a solucionarlo. Yo creo recordar que le dije que usara el software repertier-host. Yo no lo conectaría así, pondría COM y NO. Bueno, ya me cuentas.

CassiusMax (author)2017-02-19

Any English tutorial for the electronics specifically?

Kuragasa (author)2017-01-24

All the step drivers use jumpers?

CassiusMax (author)2017-01-07

What is the unit of measure in the pdf for the wooden bases?


Cyborg2004 (author)2017-01-03

Hi there again :D after 6 months I've finally got my printer up and running. It was my Arduino IDE who gave all the problems. Last week I've installed the 1.0.5 version of the IDE and... poof... it uploaded seamlessly. So now I'm playing a bit with it and I notice that when I click on the "home" button, the extruder goes up but doesn't stop when the end switches are pushed until after a few seconds. I've already tried to invert the switches in the firmware but that doesn't seems to work. Is this a normal behavior or is there something else I can look at? Greets Sander

Cyborg2004 (author)Cyborg20042017-01-05

My bad! I've found out what my problem was. I've misplaced the connectors of the endstops during the last repairs.

Hello, sorry for not answering before but I've been busy these days. I am glad it has been solved.

Babatz (author)2016-12-07

After several months of building i now finished my first prototype of your 3D printer :) also installed an inductive sensor for auto bed leveling. Can't wait to try out the first print. Thanks for your awesome instructable!


I'm glad you built it. It is a good idea to use an inductive sensor to level the bed. Turn it on. :)


One more question, you really printed all your parts out of PLA? Even the ones close to the nozzle? Doesn't the heat damage the parts or make them weak? Thanks and best Regards :)

About This Instructable




Bio: I am an electronic systems engineer.
More by Mariano Conde Caballero:3D Home Printer With Arduino3D printer threaded funnel
Add instructable to: