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?

  • 1
    $\begingroup$ 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. $\endgroup$ Jun 26 '16 at 9:28
  • $\begingroup$ 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. $\endgroup$ Jun 26 '16 at 18:03
  • 2
    $\begingroup$ 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 reprap.org/wiki/List_of_Firmware . The most common firmwares might be Marlin and Repetier. $\endgroup$
    – kamuro
    Jun 26 '16 at 21:27
  • $\begingroup$ As @kamuro says, It sounds like what you are looking for is a firmware (unless you want to make it on your own)! $\endgroup$ Jun 28 '16 at 6:59
  • 1
    $\begingroup$ @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! $\endgroup$ Jun 28 '16 at 13:15

Yes. Look up Arduino 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..


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.


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.


I got my start in reprap 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.



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.

  • $\begingroup$ 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. $\endgroup$
    – StarWind0
    Oct 25 '16 at 15:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.