<p>Yes. 
Look up Arduino Ramps 1.4</p>

<p><a href="http://reprap.org/wiki/RAMPS_1.4" rel="noreferrer">http://reprap.org/wiki/RAMPS_1.4</a></p>

<p>Following the programing is all done for you in the firmware. That said you can edit it. Just open the firmware files -- it is compiled when you upload them. Generally however one usually sticks to the preferences header alone..</p>

<p><a href="http://reprap.org/wiki/List_of_Firmware" rel="noreferrer">http://reprap.org/wiki/List_of_Firmware</a></p>

<p>Over all you are trying to reinvent the wheel. When I started 5-6 years ago it was barely a thing. Now you buy a proven kit and get to the printing. That said if you are truly interested in designing check out. </p>

<p><a href="https://www.facebook.com/groups/cncbuilddesign/" rel="noreferrer">https://www.facebook.com/groups/cncbuilddesign/</a></p>

<p>If you want help on picking a kit. Or what I really think you are looking for. A good place to start. This is one of the larger 3d printing groups. Full disclosure I run this one, but at 6k members I don't recruit. </p>

<p><a href="https://www.facebook.com/groups/3DPrinterHobbyists/" rel="noreferrer">https://www.facebook.com/groups/3DPrinterHobbyists/</a></p>

<p>I got my start in reprap IRC</p>

<p><a href="http://reprap.org/wiki/IRC" rel="noreferrer">http://reprap.org/wiki/IRC</a></p>

<p>Be aware there are trolls that now camp the IRC looking to sell you a printer. I would not engage with them, their printers are usually overpriced and sub par. </p>

<p>Best of luck.</p>

<p>Most of all I think you need to know it's Reprap all the way. Reprap forums, Reprap printers, Reprap kits, Reprap community. All the commercial printers started off the reprap project. Even if you buy a makerbot (don't) it's Reprap in it's roots.</p>

<p><a href="https://vimeo.com/5202148" rel="noreferrer">https://vimeo.com/5202148</a></p>

CC BY-SA 3.0
2016-08-04T08:09:32.433Z
2016-10-23T07:13:21.577Z
2016-10-23T07:13:21.577Z
MakerModder
<p>While Star Wind's answer is best as far as addressing what was not asked, but was probably the intent of the question, for educational purposes:</p>

<p>To control the printer you need an microcontroller (most popular are Arduino) which will interface with the motor drivers. Microcontrollers cannot output the current needed to control the motors, so motor drivers (such as this <a href="https://www.pololu.com/product/1182" rel="noreferrer">https://www.pololu.com/product/1182</a> ) are easy ways to control a stepper motor with higher current (and usually voltage). You can build your own if you are particularlly adventurous, they are essentially two H-bridge circuits.</p>

<p>The Arduino programming environment has a library for controlling stepper motors through a driver built in, you just tell it which pin to send the pulses to, and how fast, and a separate pin tells it to spin clockwise or counterclockwise. </p>

<p>For a 3D printer you need at least four motors working in unison, one for the X, Y, Z axis, and one for the extruder (E axis). </p>

<p>The existing programs that 3D printers use (Marlin, Sprinter, Teacup, etc) are all doing these simple steps at their core, but have implemented libraries of G-code that the printer uses to make control the stepper motors in unison to make the correct shape. Slicing programs such as Cura or Slic3r take in the 3D model and output the Gcode that the microcontroller is programmed to understand. </p>

CC BY-SA 3.0
2016-10-25T15:40:50.167Z
Hey Jex. I am sorry you did not understand their question. They asked how do I program an Arduino for a Cartesian 3d printer. They want to know how to make their printer work with an emphasis on Arduino. Your answer touches on Arduino but is clearly about microcontrollers in general. You also did not provide them with how to accomplish their goal which is 3d printing with a cartesian design. Please read the question more carefully as well as the other answers. See mine for an example on how to answer the specific question as well as the real intent behind the question.
MakerModder
CC BY-SA 3.0
2016-10-23T01:19:57.300Z
2016-10-23T01:19:57.300Z
Jexoteric
<p>I search about that topic, but all what I found, was the mechanical part of the 3d printer. But I didn't find, how to program it using arduino.</p>

<p>I want to make a cartesian 3d printer. I don't have a printer yet, but I will buy all the components that I need actually.</p>

<p>I know, how to control stepper motors, but I don't know, how I can program it in order to make the shape that I want.</p>

<p>This is my question: what I need to learn in order to let this 3d printer make this shapes?</p>

CC BY-SA 3.0
2016-06-26T09:28:33.077Z
It's really unclear what you need in terms of programming 3D printer using arduino. Do you have printer already? Are you gonna build or buy it? What kind of 3D printer you consider (cartesian / delta / scara)? Have you review the code of existing arduino 3D printer software? And the most important question - what do you want to programm? I hope you don't mind but I suspect that whole issue is too complicated if you cannot find any materials about programming 3D printed using ardiuno. I suggest reading about geometry and numeric methods and articles/tutorials about programming arduino.
darth pixel
CC BY-SA 3.0
2016-06-26T18:03:20.423Z
Hi, and welcome to 3D printing SE! As @DarthPixel has stated below, answering your question can be very difficult because we do not understand *specifically* what your are asking about. Could you please let us why you are asking, what you have done/tried so far, and what *specifically* you want to know? I have put this question on hold until you have the time to make your edits.
Tormod Haugene
CC BY-SA 3.0
2016-06-26T21:27:26.110Z
I would be very happy to find interpunctuation in this question, now that it has been edited. And then, you might want to look up 3d printer firmware here http://reprap.org/wiki/List_of_Firmware . The most common firmwares might be Marlin and Repetier.
kamuro
CC BY-SA 3.0
2016-06-28T06:59:52.283Z
As @kamuro says, It sounds like what you are looking for is a firmware (unless you want to make it on your own)!
Tormod Haugene
CC BY-SA 3.0
2016-06-28T12:32:25.823Z
The question "how to design a 3D printer?" could be the subject of an entire book. It's far too broad for a stackexchange question. Engineering SE wouldn't accept "How to design an airplane?" as a question either.
Tom van der Zanden
CC BY-SA 3.0
2016-06-28T13:15:34.597Z
@TomvanderZanden, although that is the title of the question, it seems that the actual question is about how to make a "printer move as a printer" (in Jeopardy, the question would be "What is Firmware". :)) I fully agree that the title needs to be changed, though!
Tormod Haugene
<arduino-mega-2650><diy-3d-printer>
How can I program a 3D printer to move using Arduino?
mamdouh abdelfatah
# How can I program a 3D printer to move using Arduino?

(Asked by: username_0 on 2016-06-26)

I search about that topic, but all what I found, was the mechanical part of the 3d printer. But I didn't find, how to program it using arduino.

I want to make a cartesian 3d printer. I don't have a printer yet, but I will buy all the components that I need actually.

I know, how to control stepper motors, but I don't know, how I can program it in order to make the shape that I want.

This is my question: what I need to learn in order to let this 3d printer make this shapes?

**Tags:** arduino-mega-2650, diy-3d-printer
> **Comments:**
> **username_1**: It's really unclear what you need in terms of programming 3D printer using arduino. Do you have printer already? Are you gonna build or buy it? What kind of 3D printer you consider (cartesian / delta / scara)? Have you review the code of existing arduino 3D printer software? And the most important question - what do you want to programm? I hope you don't mind but I suspect that whole issue is too complicated if you cannot find any materials about programming 3D printed using ardiuno. I suggest reading about geometry and numeric methods and articles/tutorials about programming arduino.  
> **username_2**: Hi, and welcome to 3D printing SE! As @DarthPixel has stated below, answering your question can be very difficult because we do not understand *specifically* what your are asking about. Could you please let us why you are asking, what you have done/tried so far, and what *specifically* you want to know? I have put this question on hold until you have the time to make your edits.  
> **username_3**: I would be very happy to find interpunctuation in this question, now that it has been edited. And then, you might want to look up 3d printer firmware here http://reprap.org/wiki/List_of_Firmware . The most common firmwares might be Marlin and Repetier.  
> **username_2**: As @kamuro says, It sounds like what you are looking for is a firmware (unless you want to make it on your own)!  
> **username_4**: The question "how to design a 3D printer?" could be the subject of an entire book. It's far too broad for a stackexchange question. Engineering SE wouldn't accept "How to design an airplane?" as a question either.  
> **username_2**: @TomvanderZanden, although that is the title of the question, it seems that the actual question is about how to make a "printer move as a printer" (in Jeopardy, the question would be "What is Firmware". :)) I fully agree that the title needs to be changed, though!  

---

## 2 answers

### Answer by username_5 on 2016-08-04. Score: 7

Yes.
Look up Arduino Ramps 1.4

<http://reprap.org/wiki/RAMPS_1.4>

Following the programing is all done for you in the firmware. That said you can edit it. Just open the firmware files -- it is compiled when you upload them. Generally however one usually sticks to the preferences header alone..

<http://reprap.org/wiki/List_of_Firmware>

Over all you are trying to reinvent the wheel. When I started 5-6 years ago it was barely a thing. Now you buy a proven kit and get to the printing. That said if you are truly interested in designing check out.

<https://www.facebook.com/groups/cncbuilddesign/>

If you want help on picking a kit. Or what I really think you are looking for. A good place to start. This is one of the larger 3d printing groups. Full disclosure I run this one, but at 6k members I don't recruit.

<https://www.facebook.com/groups/3DPrinterHobbyists/>

I got my start in reprap IRC

<http://reprap.org/wiki/IRC>

Be aware there are trolls that now camp the IRC looking to sell you a printer. I would not engage with them, their printers are usually overpriced and sub par.

Best of luck.

Most of all I think you need to know it's Reprap all the way. Reprap forums, Reprap printers, Reprap kits, Reprap community. All the commercial printers started off the reprap project. Even if you buy a makerbot (don't) it's Reprap in it's roots.

<https://vimeo.com/5202148>


---

### Answer by username_6 on 2016-10-23. Score: 4

While Star Wind's answer is best as far as addressing what was not asked, but was probably the intent of the question, for educational purposes:

To control the printer you need an microcontroller (most popular are Arduino) which will interface with the motor drivers. Microcontrollers cannot output the current needed to control the motors, so motor drivers (such as this <https://www.pololu.com/product/1182> ) are easy ways to control a stepper motor with higher current (and usually voltage). You can build your own if you are particularlly adventurous, they are essentially two H-bridge circuits.

The Arduino programming environment has a library for controlling stepper motors through a driver built in, you just tell it which pin to send the pulses to, and how fast, and a separate pin tells it to spin clockwise or counterclockwise.

For a 3D printer you need at least four motors working in unison, one for the X, Y, Z axis, and one for the extruder (E axis).

The existing programs that 3D printers use (Marlin, Sprinter, Teacup, etc) are all doing these simple steps at their core, but have implemented libraries of G-code that the printer uses to make control the stepper motors in unison to make the correct shape. Slicing programs such as Cura or Slic3r take in the 3D model and output the Gcode that the microcontroller is programmed to understand.

> **Comments:**
> **username_5**: Hey Jex. I am sorry you did not understand their question. They asked how do I program an Arduino for a Cartesian 3d printer. They want to know how to make their printer work with an emphasis on Arduino. Your answer touches on Arduino but is clearly about microcontrollers in general. You also did not provide them with how to accomplish their goal which is 3d printing with a cartesian design. Please read the question more carefully as well as the other answers. See mine for an example on how to answer the specific question as well as the real intent behind the question.  

---

