It’s little secret that stepper motors are everywhere in FDM 3D printers, but there’s no real reason why you cannot take another type of DC motor like a brushless DC (BLDC) motor and use that instead. Interestingly, some printer manufacturers are now using BLDCs for places where the reduction in weight matters, such as in the tool head or extruder, but if a BLDC can be ‘stepped’ much like any stepper motor, then why prefer one over the other? This is the topic of a recent video by [Thomas Sanladerer], with the answer being mostly about cost, and ‘good enough’ solutions.
The referenced driving method of field-oriented control (FOC), which also goes by the name of vector control, is a VFD control method in which the controller can fairly precisely keep position much like a stepper motor, but without the relatively complex construction of a stepper motor. Another advantage is that FOC tends to use less power than alternatives.
Using a FOC controller with a BLDC is demonstrated in the video, which also covers the closed-loop nature of such a configuration, whereas a stepper motor is generally driven in an open-loop fashion. Ultimately the answer at this point is that while stepper motors are ‘good enough’ for tasks where their relatively large size and weight aren’t real issues, as BLDCs with FOC or similar becomes more economical, we may see things change there.

I’m surprised we haven’t seen brushed DC motors with position feedback like in consumer inkjet printers. Even with a dozen nylon gears, I would still expect it to be far cheaper than heavy steppers with drivers.
With brushed DC motors you can’t lock them by driving at specific current and voltage. You can do that with BLDC and especially with steppers. The one problem with steppers is that the holding torque drops with microstepping. At 1/16 steps you get 9.80% of nominal torque, and that drops to 4.91% with 32 microsteps. With 3D printing that’s not a big deal as the moving mass is quite small. But for CNC machines in which a spindle alone weights twice as much as even the heaviest extruder head, this creates a problem of loosing position. And once you loose a few steps, your work is ruined, and you can even break the milling bit because machine doesn’t know where it is and thus it can hit the part holder (which happened to me a few times).
That is why a brushed DC motor with position feedback comes in. You’re right, in itself the motor can’t be “locked in place”, but using a position control loop, this is perfectly possible, even without consuming current when it is not battling forces to stay in position (a stepper always consumes). It basically behaves like a hobby servo motor then.
No, .holding torque does not drop with microstepping. That is a widespread and stubborn misconception. The only thing that microstepping does is approach the motor currents with an ever more accurate sinusoidal waveforms.
The original article (somewhere from the ’60-ies I think) was that if you wan to reach the accuracy of x fold microstepping, then you can not apply more torque to the motor (Assuming no feedback). Depending upon the applied torque, there is going to be a phase shift between the electrical and mechanical magnetic fields in the stepper motor. That is all. Read up a bit on FOC, where the goal is to maintain a 90 degree phase shift between the electrical and mechanical electric fields to optimize motor efficiency.
Or to write it another way: The difference between 1/8 1/16 or 1/64 microstepping is only tiny differences in the motor current, but according to that old article it would have a giant effect on motor torque.
The reason geared DC motors are not common is that you can’t have the backlash of the gears in a 3D printer. Once you add higher quality gears and the position feedback, it’s going to be more expensive then a simple stepper motor.
The fun part comes when you use precision rotary encoders to accurately microstep stepper motors…
no HaD search results for S42B so far.. not quite precision encodee, but good-enough?
https://youtube.com/watch?v=eM8zSG8fEkk
Oh, you can do quite a bit finer. Excellent work by Diffraction Limited here https://youtu.be/MgQbPdiuUTw
Or you can go Prusa style and get a precision microstepping with an accelerometer.
Some older projects that do this are the Ananas Stepper and Mechaduino. In the years after that running FOC algorithms with position feedback has become quite common.
Also, if you want to use the “bigger” stepper motors (Nema 23 and up) then “closed loop” stepper motors are quite common, and I highly recommend to pay a bit more for motor and driver sets that are closed loop. They run much quieter with less heating and they have a higher (peak) torque.