Open the top cover of a Bambu Lab 3D printer, and the first things you see are the XY-axis gantry and belts. Following the belts to the ends, there is a pair of square motors that look similar—those are stepper motors. The official spare parts page directly reads “two same stepper motors”. Looking further at the toolhead, brushless motors have started appearing at the extruder in the latest designs—the kind of structure where permanent magnets are embedded in the rotor without any carbon brushes. The cooling fan is the quietest spot, featuring a tiny brushed motor that starts spinning as soon as a bit of voltage is applied.
Three different motors in the exact same machine. The reason isn’t cutting corners or historical legacy. The reason is that every single position on this machine is making a different trade-off. Brushed motors trade lifespan for ultra-simple control, stepper motors trade speed for open-loop precision, and brushless motors trade control complexity for high speed and efficiency. That’s what this article is about: what trade-off each motor makes, and how to determine which one your project should use.
When I first encountered these terms (brushed, brushless, stepper), I used to treat them as three levels on a single spectrum, as if “brushed < stepper < brushless”, with pricier being better. Later, after carefully comparing their structures, I realized this intuition conflates two separate matters. There are actually two independent classification axes here.
The first axis is how commutation is done. For a motor to rotate, the direction of current in the coils must switch continuously according to the rotor position—this is called commutation. Brushed motors use a mechanical commutator plus carbon brushes to accomplish this automatically: wherever the rotor turns, the carbon brushes switch direction at the mechanical contact points without requiring any external logic. Brushless motors have no carbon brushes; commutation is handled by an external electronic controller, which needs to know where the rotor is to decide when to energize which coil.
The second axis is what the motor is designed to do. Stepper motors are designed for discrete positioning: one pulse rotates a fixed angle, stops there, and waits for the next pulse. Continuous rotation motors (brushed continuous rotation or BLDC, i.e., Brushless DC, brushless DC motor) are designed to rotate continuously—the rotation speed can be adjusted, but they are not built to stop precisely at a specific angle.
These two axes are independent, and crossing them yields four combinations: brushed continuous rotation (the tiny motors in toy cars), brushed stepper (rare), brushless continuous rotation (BLDC, which drone propeller motors are), and brushless stepper (stepper motors).
Wait, stepper motors are brushless too? Yes, stepper motors have no carbon brushes, and commutation is performed by the controller energizing coils in sequence. But although stepper motors and BLDC both belong to the brushless category, their structures are completely different, and their behaviors are completely different.
Tearing down a stepper motor reveals something interesting: both the rotor and stator are covered in dense teeth, like two intermeshing combs. As the controller energizes different coils in sequence, magnetic force engages the rotor teeth into the next stable position, and then waits. This is an active discrete stepping action, not continuous rotation.
A typical stepper motor rotates 1.8° per step, making a full turn 200 steps. Knowing how many pulses you sent tells you how many steps it turned—no sensors are required to measure where it actually went; the number of pulses sent is your answer. This eliminates encoders, control algorithms for processing encoder signals, and complex signal conditioning. A $2 A4988 driver board (one of the most common stepper motor driver chips) is enough to drive a stepper motor.
Once stopped, the magnetic structure self-locks. Steppers have holding torque and do not require the controller to continuously expend effort to maintain position.
BLDC is a different story. A continuously rotating magnetic field drags the permanent magnet rotor along; the faster it goes, the smoother it runs (within a certain range), making thousands to tens of thousands of RPM (rotations per minute) its home court. Drone ESC (electronic speed controllers), power tools, and e-bike hub motors are all scenarios requiring continuous rotation and heavy output.
Looking at these motors side by side, you realize you can’t just look at a pro/con list, but rather at: what it traded for what.
Brushed motors trade lifespan and precision for ultra-simple control. Carbon brushes wear down, produce carbon dust, generate electrical sparks and electromagnetic interference during commutation, and have lower efficiency than brushless motors. But what that cost buys is: apply voltage and it spins—an Arduino plus a MOSFET (metal-oxide-semiconductor field-effect transistor, used here as an electronic switch) is enough, requiring almost no control logic. Toy cars, small fans, electric shavers—these scenarios have low demands on lifespan and precision, so the advantage of ultra-simple control is plenty. The same goes for the cooling fan inside the Bambu: that spot only needs to blow air, lifespan degradation is hardly an issue compared to the printer’s overall lifespan, and using the cheapest, simplest brushed motor is completely sufficient.
Stepper motors trade speed and efficiency for open-loop precise positioning, low-speed high torque, and cheap driver solutions. Send 200 pulses and it turns one full rotation with no feedback required, driven by a $2 driver board—this is the stepper’s biggest advantage. But the cost is: the design steps along one tooth at a time; if it turns too fast, the magnetic force cannot catch the next position in time, and the rotor slips right past—this is called skipping steps. Skipping steps is quiet; the controller doesn’t know and assumes everything is fine. A collapse in torque at high speeds, combined with specific frequencies triggering resonance and noise, renders steppers mostly ineffective in high-speed scenarios.
BLDC trades control complexity for high-speed rotation, high efficiency, long lifespan, and higher power density. Continuous magnetic field rotation does not rely on discrete stepping, so it won’t skip steps at high speeds. But the cost is: electronic commutation is required, rotor position must be known, an encoder is usually required, the control algorithm must use FOC (Field-Oriented Control, a control method that keeps the current vector at an optimal angle relative to the rotor magnetic field), and a microcontroller with sufficient computing power like STM32 is needed. Software and hardware complexities are more than a level above brushed and stepper motors.
Hobby servos (hobby servo, like SG90, MG996R) trade flexibility and upper limits of precision for plug-and-play convenience. Stuff a brushed motor, a set of gears, a potentiometer (used to measure current angle), and a small control board into a shell, exposing only a PWM signal interface (pulse-width modulation, encoding the target angle with pulse width)—you send a signal telling it to turn to 90°, and it turns closed-loop on its own and stops there. RC car steering, mechanical grippers, beginner robots—no need to handle control logic yourself; give a signal and it moves into place. The trade-off: a 180° motion range, precision drop from gear wear, and the lifespan issues of the brushed motor itself.
What a servo does is abstractly called closed-loop position control: receive a target angle, perceive the current angle in real time, and drive the motor to the target. What industrial servos do is also abstractly called closed-loop position control. But the internal implementations are orders of magnitude apart: inside an industrial servo is a brushless motor plus high-precision encoder plus FOC controller—essentially BLDC packaged with a complete closed-loop solution into an integrated unit. Precision, speed, lifespan, and response speed are all on a completely different level.
This corresponds right back to the controller logic discussed in Why That ARM Chip in the Drone Doesn’t Run Linux: looking at BLDC’s electronic commutation and FOC from the controller’s perspective, and looking at the motor’s own hardware structure here, happen to be two sides of the same machine.
Open-loop positioning in steppers is their biggest advantage, but also their biggest risk. The premise of “sending 200 pulses turns one full rotation” is that the magnetic force successfully catches every single step. Once steps are skipped, the controller doesn’t know—it continues blissfully counting pulses, assuming the position is correct. 3D printer XY axes use steppers because speed at that location isn’t high, step size is known, and costs are sensitive, keeping the probability of lost steps within an acceptable range. Even if an issue occasionally occurs, the consequence is merely that layer misaligns, and you just start over.
But the toolhead is another matter. The extruder needs to precisely control filament feeding and retraction, demanding higher response speed during high-speed printing; more importantly, the weight of the toolhead directly impacts printing speed (the heavier it is, the harder to accelerate), and stepper motors are heavier than BLDC at equivalent torque. Bambu switching to BLDC plus closed loop at the toolhead solves two problems simultaneously: lighter weight, and the ability to detect and correct missed steps.
Steppers themselves haven’t gotten worse; what changed is that this position has grown increasingly dissatisfied with the trade-off of trading speed and efficiency for open-loop precision. In mid-range 3D printers, closed-loop steppers (a hybrid solution of steppers plus encoders) are also becoming increasingly common, representing another way of moving along this spectrum.
Now look back at that machine again. The XY axes require precise positioning, lower speeds, and cost sensitivity, which perfectly matches the stepper’s trade-off: sending pulses guarantees arrival, a $2 driver board makes it spin, and trading speed and efficiency for open-loop precision and low cost makes good economic sense at this position. The toolhead needs to be light, closed-loop, and reliable at high speeds, where BLDC’s trade-off becomes more suitable—though control complexity is higher, it delivers greater output at lighter weight and can detect whether it has lost steps. The cooling fan only needs to blow air, where brushed motors are cheapest and run upon applying voltage, leaving zero reason to use a more complex solution there.
Three motor types, three different trade-offs, each sitting right where it belongs.
Next time you select a motor for your project, ask yourself three questions: Do you need to rotate to a position and stop, or rotate continuously? Is the speed high? Which is more sensitive: cost or weight? The combination of these three questions will point you in different directions. The key lies in which motor’s trade-off better matches your scenario, not which motor is more advanced.
Opening the top cover of a Bambu, what you actually see are these three sets of trade-offs operating simultaneously inside one machine: open-loop precision on the XY axes, lightweight closed-loop on the toolhead, and ultra-simple control on the cooling fan. Next time you tear down a device or select a motor for your own project, perhaps you will also ask yourself those three questions: it’s not about which motor is more advanced, but rather what needs to be traded for what at that specific location.