The Anatomy of a 3D Printer: Controller Boards
The brain within your 3D printer has to do and keep track of a lot of things. Read on to see what it takes to control and run our favorite little machines.
While some parts of 3D printers are pretty standardized, like motors, belt sizes, or even the motion system, there is a huge variety in what actually does all the work: the controller board.
Some printers have really big boards with room to expand for more features in the future, while others have just enough to fulfill all the functions that the printer was designed for. Some have integrated stepper drivers while others have separate stepper drivers - the parts that dictate to the stepper motors how to move, and to learn about those, we’ll have a link to that. Let’s take a look at what makes a controller board work, what you might find on it, and what features are fairly standard.
What does it do?
Sometimes called the motherboard, the controller board takes the inputs (G-code) and outputs to the rest of the printer’s mechatronics what to do with it (movements). "M109 S60" means nothing, but the controller board knows that "M109"
means “heat up and wait for the bed to reach a temperature” and "S60" means “Set to 60 degrees C.” We’ll get to the specifics of how it translates those inputs another day, because that translation is done by the “firmware” installed in the controller board.
No matter what controller board you’re looking at, there will be a chip on it that does all the computing. Some of them are 8-bit, like the ATmega2560, and others are 32-bit like ARM processors. If you’re at all familiar with computers or video games, then you might be thinking “these can’t mean the same thing.” Yes, a huge number of 3D printers are running on processors that have nearly the same capabilities as the processor in a Nintendo Entertainment System, and in many cases, just at the threshold of having enough processing power to compute the movements necessary for a 3D printer.
Delta 3D printers need to do a lot of calculations to figure out how to move their three motors at the same time, and that can choke up the processor. Think about it this way: the board needs to both calculate how to move and dictate to the motors to move in a specific direction and acceleration, which is a lot of information to compute. When it’s stuck calculating things, the rest of the system doesn’t know what to do until it’s finished computing the next line, creating a stutter at best or a pause at worst in your print. 32-bit boards solve these sort of problems twofold: by having more power to do these calculations and having the room to look further ahead with movements to, for the most part, stay ahead of the curve not have those stutters.
In terms of features, every board will have either screw terminals, where you tighten down a screw over a wire connect it to the board, or dupont connectors, which are pins that have a standardized spacing between them, which can either be found as pins sticking out of the board, pins sticking out of the board with a notched socket so things can only be plugged in one way (polarized), or sockets for the pins of something else to plug into. There’s pros and cons to either setup, like screw terminals would allow you to reorder the wires of a stepper motor if it’s not moving correctly, but you have to make sure you have just that the screw is tightened down over it and it’ll stay really secure.
Depending on if the board you are looking at was designed specifically for one machine, like the boards in hobby level printers like Creality printers or even Ultimakers, or if they are standalone boards like Azteegs, RAMBos, or RAMPS, that you can find in a couple different brands of printers. The specific boards will usually have just enough connections for the hardware of the 3D printer, like if it doesn’t come with a heated bed, then there probably won’t be terminals for you to upgrade to a heated bed later. The standalone boards can come with 4 thermistor ports to measure temperature, 6 endstops, two hotend ports, 6 stepper plugs, and so on. They’re designed to have as many features as possible to suit the needs of as many people as they can.
Like I previously discussed with stepper drivers, some controller boards have the stepper drivers integrated into the board, while others have them as separate boards that plug in. Stepper drivers integrated with the board have better thermal dissipation because it can use the whole board as a heatsink, but if for some reason a stepper motor stops moving and the driver is to blame, you either need to replace the entire controller board, or very carefully perform a little surgery and swap out the dead stepper driver. If the stepper driver plugs in, just remove the dead driver and plop in a new one.
For communication, the most common connector for boards USB Type A, but I have seen others that have USB micro or USB mini. Some use Ethernet to join the 3D printer to a home or work network to be able to print from a different room, and even further some have Wifi capabilities (with password protection so not just anyone can access it). There's nothing inherently better with one over another, but one thing to consider is that if you are printer over USB, make sure the computer connected to it isn't busy doing other tasks. Watching videos, screen capturing, 3D modeling, AND 3D printing, all at the same time can cause a stutter in the print because your computer just has too many tasks running at once.
If you're printing over Wifi or Ethernet you will want to see if your printer can upload all of the gcode onto the board rather than streaming it to the printer. Because just like with Netflix, if you're trying to use Wifi at peak hours, you're going to need to buffer. That's why printers like the Ultimaker 3, Ultimaker S5, or Makergear M3 all have the complete Gcode uploaded to prevent that from happening.
That about covers the hardware of controller boards for 3D printers, but keep your eyes peeled for an article in the future about what goes on behind the scenes: the firmware. This is what actually does the translating, calculating, and dictating. So that’s it! There’s a lot of different controller boards out there, so I’d love to hear in the comments down below which one is your favorite, because mine has definitely become the Duet Wifi. The features it has, the interface over Wifi, how smooth and quiet a printer will run all elevate it in my rankings.