Control Components - All About the Hardware - Idiot's Guides: 3D Printing (2015)

Idiot's Guides: 3D Printing (2015)


All About the Hardware


Control Components

In This Chapter

· What end stops are and how they work

· What the control board does

· How LCD controllers and SD cards can help

Controlling a 3D printer is no easy task, because there is a lot of hardware to simultaneously coordinate. The movement of three axes has to be coordinated, the filament being fed by the cold end has to be controlled, the temperatures of the hot end and heated bed need to be monitored and adjusted, and fans have to be turned on and off. This all requires processing power, significant amounts of current being passed through the control board, and the simultaneous control of multiple outputs and inputs.

In this chapter, I explain what hardware is commonly used to control consumer 3D printers, some optional components you can use to help with the controls, and how they all work.

In addition to the required components that have to be controlled, there are also a couple of things that can be optionally used as well. An LCD screen and SD card reader, for example, can be used so it’s not necessary to have a computer connected to the 3D printer for it to run. There is also one other type of component I haven’t yet discussed, but which is very important: an end stop.

End Stops

An end stop is a small and simple component with one very specific purpose: to tell the 3D printer when it has reached the end of each axis. This is a very important function, because it’s the only way the printer can know where the zero point of each axis is. Without end stops, you would have to manually position the hot end each and every time you used the printer, which would be especially difficult for the Z axis (which has to be at an extremely precise height above the bed).


End stops are also used on CNC mills for exactly the same reason. A CNC mill, just like a 3D printer, needs to know where the zero point is for each of its axes in order to operate properly. The only major difference is that CNC mills don’t have a constant zero point for the Z axis; instead, they need to find the top of the material being milled. For this reason, the Z height is either set manually or with a probe.

With such an important job to do, you might think that end stops would be expensive components. But in reality, they’re actually generally very cheap parts. That’s because they’re simply switches—just very sensitive switches. The key traits of an end stop switch are sensitivity and repeatability. They need to be triggered by the faintest touch and at exactly the same distance every time. This is usually done in one of two ways: mechanically or optically.

Mechanical End Stops

Mechanical end stops are the simplest, cheapest, and probably most reliable type of end stop. They are, quite literally, just a physical switch that is triggered when each axis gets to its zero point. The switch consists of a small arm that sticks out from the body of the switch. When the extruder carriage, build platform, or Z assembly reaches the end of its axis, it pushes on the arm to temporarily trigger the switch.

The switch is either open or closed in its normal state, and the control board (which I’ll discuss later in this chapter) monitors what state it’s in. When contact is made on the arm, the state of the switch is reversed. So if it was open before, it’s switched to closed. If it was closed before, it’s switched to open. When the control board sees the state change, it knows that particular axis is at its zero point.

A switch wired to be normally open has a small amount of voltage applied to one contact of the switch. When the switch is triggered, the connection is closed and the circuit has voltage flowing through it. The control board sees the circuit has voltage flowing and knows that the switch has been flipped.

Switches that are wired to be normally closed work in the opposite way. When the switch isn’t triggered, the voltage is always flowing through the circuit. But when the switch is triggered, it cuts off the flow. And, as expected, the control board sees that change and proceeds accordingly.

This is a common mechanical end stop switch, wired to be normally closed.

It’s generally considered to be better to wire the end stop switch to be normally closed. This is because a 3D printer can be damaged if the switch isn’t triggered and the axis keeps trying to move past its end point. With the switch normally closed, any damage to the circuit will result in the switch being triggered, so it acts as a sort of failsafe.

However, interference from the stepper motor wires can induce current in the end stop wires. So it’s possible for the switch to be physically triggered but for the voltage to still reach the control board. If this happens, that axis could continue moving when it’s not supposed to and could cause damage.


Interference can be a major problem for end stop switches, either causing false triggers or failure to trigger. The interference is generally caused be stepper motor wires, which are often run right next to the end stop wires. To protect against this interference, the end stop wires should ideally be a shielded and twisted pair. A shielded and twisted pair is a type of wiring where pairs of wires are twisted together and then electrically shielded to prevent interference.

When the end stop is wired to be normally open, any induced current caused by interference would simply cause a false trigger, and no damage would occur. So both setups have their pros and cons, and one isn’t necessarily objectively better than the other.

Optical End Stops

Optical end stops serve the same function as mechanical end stops. But instead of being triggered by physical contact, they are triggered by changes in light. This is handled by a component called a photo interrupter. No physical contact is necessary; instead, an optical end stop is triggered when the light in the photo interrupter is interrupted.

A photo interrupter works very much like the sensors used on automatic garage door openers. It consists of an emitter and a receiver (a phototransistor) that face each other. Infrared light is output by the emitter, and the receiver senses that infrared light. When it sees the light, the switch isn’t triggered; however, when that beam of light is broken and the receiver no longer senses the infrared light, the switch becomes triggered.

This works almost exactly like your garage door sensors. When something is blocking your garage door, the infrared light beam is broken and your garage door opener knows not to close. The photo interrupters used in optical end stops do the same thing, just on a much smaller scale.

In a photo interrupter used for optical end stops, the emitter and receiver are mounted right next to each other. They’re generally only a few millimeters apart, leaving just enough room for something to trigger the switch. This proximity makes them very sensitive, unlike your garage door sensors. This sensitivity is what makes them desirable for use in 3D printers.

As I’ve previously discussed, it’s important for the 3D printer to know exactly where the end point of each axis is (especially the Z axis). Mechanical end stops do this job well, but because they’re mechanical, there is always going to be small amount of difference (even if it’s only a fraction of a millimeter). Optical end stops have no moving parts and are triggered as soon as the infrared light beam is broken. This makes them very precise, so the 3D printer knows exactly where the end point is every time.

Of course, optical end stops do have some drawbacks. The most obvious of these is the cost of the end stop itself. Mechanical end stops are just precise mechanical switches, making them very cheap. On the other hand, optical end stops use electrical components (namely the photo interrupter), which are more expensive. The cost difference isn’t huge, but it is notable (though optical end stop prices have dropped significantly in recent years).

Optical end stops are also slightly more complicated to wire, as they require three wires (while mechanical end stops only require two). This is because they need constant power in addition to a signal wire. Mounting an optical end stop is also quite a bit more complicated than a mechanical end stop, because some sort of tab has to be used to interrupt the infrared light beam. This means the end stop has to be perfectly lined up with the tab on that axis in order to function, while a mechanical end stop can really be mounted in any way that lets it get pushed by something on that axis.

Other Kinds of End Stops

Because end stops are really just switches that get triggered when the axis reaches its end point, there are a lot of mechanisms that can be used as end stops. Anything that can act as a proximity switch could probably work, technically speaking. This means there are other types of end stops out there, even if they’re not particularly popular.

One of these, for example, is a Hall effect sensor. A Hall effect sensor senses a nearby magnet and varies its output voltage based on the how close or powerful the magnet is. So a small magnet can be mounted on the moving part of a 3D printer axis, and when it gets close to the Hall effect sensor, the end stop is triggered.


The Hall effect, discovered by Edwin Hall in 1879, is the tendency for voltage in a circuit to change when exposed to magnetism. It can be harnessed to create proximity sensors and is sometimes used for end stops and probes.

Beyond Hall effect sensors, people have experimented with a wide range of different types of devices to make end stops (everything from ultrasonic distance sensors to accelerometers). But so far, mechanical and optical end stops remain the most common types of end stops by a long shot. Their relatively low cost and reliability make them ideal for use in 3D printers, and there just hasn’t been anything that works any better.

Control Boards

In order to monitor and control those end stops and all of the other components of a 3D printer, a control board is needed. The control board is a small computer that’s essentially the brain of the 3D printer. It is responsible for both interpreting commands from the slicing software and signals from the 3D printer’s sensors and using that information to control the operation of the printer.

Control boards come in a variety of different types and styles from many different manufacturers. There are open-source boards meant to work with various types of 3D printers, open-source boards meant to work with specific 3D printers, and proprietary boards that only work with the particular printer they were designed for. But they all tend to work in roughly the same way, with similar inputs and outputs.

Arduinos and Proprietary Control Boards

Every control board needs to be able to do basically the same things:

· Take the commands outputted by the slicing software and use them as instructions for operating the 3D printer

· Monitor and heat up the hot end (and probably a heated bed, too)

· Simultaneously control four or more stepper motors—one for each axis, and a fourth for the extruder

· Monitor at least three end stops

Doing all of this requires processing power, of course. But more importantly, it requires a lot of inputs and outputs. Every component on the 3D printer needs to have its own input or output (depending on its function), and they all have to be controlled or monitored at the same time. For this reason, Arduinos are a popular choice as the base of most open-source control boards.

Arduinos, by their very nature, are very well suited to this task. They’re programmable, have onboard processing capabilities, and have native support for many inputs and outputs. When used for 3D printing, Arduinos are generally equipped with a shield that provides all of the connections for the steppers, hot end, end stops, and so on. Or, in some cases, the Arduino and connections are all integrated into a single circuit board for simplicity and ease of use.


In the context of Arduinos, a shield is a circuit board designed to be attached to the Arduino board. Shields are generally used to expand the capabilities of Arduinos by adding either more connections or sensors. They are usually designed for a specific application (like GPS tracking or to interface with another device), although plenty of general-use shields exist.

A RAMPS 1.4 control board, which is a shield for an Arduino Mega.

Proprietary control boards that are closed source and aren’t Arduino based still work in the same way but are just developed by the manufacturer specifically for use in a 3D printer. They still have to have all of the same capabilities for processing and input and output; the only difference is they aren’t built on an Arduino. It’s analogous to internet browsers: whether you’re using an open-source browser like Firefox or a closed-source browser like Internet Explorer, they display web pages, and you can use them to surf the internet.

Changing or Upgrading Control Boards

In many cases, the control boards can be interchangeable. For example, if you decided you wanted to add dual extruders to your printer but the control board didn’t have the proper support, you could potentially remove the original control board and replace it with one that supports dual extruders. This is possible because the other components of the 3D printer all tend to be the same, regardless of who makes it, and they work in the same way.

However, complications can be encountered when it comes to firmware and software. Firmware is made specifically for the control board; it can’t be transferred between different kinds of control boards. And in some cases, only specific slicing and control software can be used with a particular control board. This isn’t the case with open-source control boards, which virtually always work with the common software programs, but it can be the case with some proprietary software and control boards.

So when should you worry about the control board, if ever? There are generally two instances where the control board used by the 3D printer might make a difference to the user: when it comes to expandability, and if the software you can use is constrained.


While it’s usually possible to replace the control board with a different type, you shouldn’t count on it. Changing the control board can be complicated by the enclosure and connectors used. It’s rarely a plug-and-play type of change, even when it is possible.

The expandability of the control board can be a pretty big deal if you ever want to upgrade or modify your 3D printer. If you want to add dual extruders, a heated bed, an LCD controller, or anything else, the control board has to be capable of supporting it. Some control boards simply don’t have the connections necessary to add these things. Or, even if the physical connection is present, there may not be firmware available that supports the control of those parts.

Software compatibility can also potentially be a fairly major concern. Some software will only work with specific control boards, and vice versa. This is usually only the case with 3D printers from manufacturers who want a complete 3D printing ecosystem under their brand. They develop a control board specifically for the printers they manufacturer, and then have slicing and control software which just works with those control boards.

In such a situation, it may be difficult or impossible to use any other software to slice 3D models or to control the 3D printer. It also may not be possible to use the software if you don’t have that particular 3D printer. The latter problem may not big a very big deal, because there are plenty of software options that are free and work well. But the former problem could be pretty serious. If you don’t like the software released by the manufacturer, you’d still have to use it anyway. If the manufacturer went out of business or stopped supporting the software, you may be stuck using outdated software.

If either of these things sounds like something that might matter to you, it’s a good idea to do a little research ahead of time about what you’re getting. Does the control board allow you to add upgrades later? Are you free to use whatever software you like, or are you stuck with a particular program made by the manufacturer? Depending on your needs and expectations, those could be major factors in your decision on which 3D printer to purchase.

SD Card Support

One nifty add-on that many control boards can take advantage of is secure digital (SD) card support. Normally, you have to have a computer connected to a 3D printer while it runs. This is so the host control software can send the instructions to the printer, which tells it what to do to create the part. However, those instructions are created ahead of time by the slicing software. All the host software does is control the setup of the printer (like homing the axes and heating the hot end) and then send the instructions via USB to the 3D printer. At this point, the computer isn’t really doing any processing, other than what it takes to run the computer itself and the software. All it’s doing is storing the instructions on the hard drive and then sending each command to the printer.

Because no significant processing is being done, the computer really isn’t necessary after the slicing has been done. Instead, the instructions can be saved to an SD card and the control board can read the instructions directly without having to use a computer as an intermediary. Some control boards have this functionality built in, while others can have it added as an upgrade later. (Some control boards don’t have this ability at all, but luckily, they’re in the minority.)

Using an SD Card

If the control board does come with SD card support, or it has been added, you can forgo the use of a computer entirely during printing. You still have to use slicing software on the computer to convert your 3D model into a series of instructions that can be read by the control board. But once those instructions have been created, you don’t have to use a computer at all; you can simply save the instructions from the slicing software on the SD card and then insert it into a slot on the control board (or a separate board, if SD card support is added).


If your control board does support SD cards, make sure you do a little research on what kind it supports. SD cards come in different physical sizes, and you need the right size for your SD card reader. Additionally, they come in different storage capacities, and some might not be compatible with the control board if they are too large.

When the 3D printer is turned on with an SD card inserted, the control board will automatically look for the instructions created by the slicing software. If it finds the instructions, it will proceed with running them. Generally, the instructions include information on what temperature the hot end and heated bed are supposed to be and any homing instructions. So the 3D printer will start with those things, and once it’s heated up to the proper temperature and homing has been done, it can start printing.

From then on, it’s just like if you were printing from your computer, because it’s reading the exact same instructions from the SD card that the computer would have been feeding to it over USB.

Benefits of SD Cards

SD card support has a number of benefits that might prove very useful. There is the obvious benefit of not having to leave your computer attached to your 3D printer whenever a print is running. That way, you can use your computer for other things while your 3D printing is printing. You don’t even have to have the computer in the same room (or even building) as the 3D printer, because the printer only needs the SD card to run.

It also makes printing more reliable, because the computer is no longer part of the equation. Anyone who has ever had a long print ruined because Windows Update decided to restart the computer knows how valuable that can be. The same benefit applies for those of us who have dogs that like to pull out USB cables.

For people who are eco-conscious (or budget conscious), having SD card support means you don’t have to waste electricity running your computer. If you’re frequently doing long prints, this can actually be pretty significant. Leaving your computer running for two days while your 3D printer makes some big object can use quite a lot of power.

LCD Controllers

As beneficial as SD card support is, it does present a couple of challenges. Because it can only read instructions that have already been created by the slicing software, that means you still can’t manually control the printer without a computer. There is also no way to choose from multiple instruction files, which means you can only store one file on the SD card at a time to print.

Luckily, there is a solution for that: an LCD controller. An LCD controller combines an LCD panel for displaying information, as well as some sort of control mechanism (or it could be a touchscreen LCD). Many LCD controllers also integrate an SD card reader or can be used with a separate SD card reader. In either case, the result is the same: you can manually control the 3D printer and select specific files from the SD card to print.

An LCD controller with SD card support made by RepRapDiscount.

When a 3D printer is equipped with an LCD controller, you can manually move the steppers (including the extruder) and heat up the hot end and heated bed without using a computer at all. When an SD card is inserted, you can manually select which files you want to print as well. So you can load up the SD card with many files and choose which one you’d like to print.

This makes an LCD controller very useful in situations where you don’t have a computer nearby. For instance, at trade shows and conventions, you could bring the 3D printer with an SD card full of example prints. You could then have your 3D printer churning out parts at a booth without even having to bring a computer.

It’s also useful in situations where a 3D printer is shared between multiple people, like at a school. Students can use their own computers to slice models and then load the files onto an SD card. The students can then load their files from the SD card without having to have a computer dedicated to controlling the printer.


What if everything could be handled by the 3D printer without having to touch a separate computer at all? This is territory that is just starting to be explored. A small touchscreen computer can be mounted on the 3D printer, allowing you to download 3D models, slice them, and print them without ever touching your computer.

This is still a pretty new technology, but many 3D printer manufacturers are working on integrating it into higher-end 3D printers. It isn’t cheap, of course, but with the popularity of tablets, it’s not as expensive as you might think. And the usefulness of such a setup is so high that it’s likely to become commonplace in the next few years.

The Least You Need to Know

· End stops are necessary for telling the 3D printer when each axis has reached its end point.

· Mechanical and optical end stops are by far the most common, but any type of proximity sensor could technically work.

· The control board is responsible for interpreting the instructions created by the slicing software and for using those instructions to control all of the components of the 3D printer.

· Some additional devices, like LCD controllers and SD card support, can be added to control boards to improve their functionality.