Jim Betz wrote up this very nice summary:
The goal of the use of BEMF is to smooth the motor revolutions. A steady speed is what you notice. But it isn’t “why”. And, for the record … BEMF is an “attribute” of a motor – it refers to the voltage that the motor generates when it is turning without any power applied to it to make it turn. The mfgrs all contribute to this confusion … by proudly announcing that they have BEMF. A better statement for them to use would be “we use a PID feedback control to read the BEMF and make your motor run super smooth. A motor without a BEMF decoder will run good – often very good. But most models – I’m referring to the collection of the motor plus the drive plus the loco (weight) – will run much better with a PID feedback loop that uses the BEMF to ‘sense’ how fast (and steady) the motor is turning. Why? Because a PID feedback loop can read and use the BEMF many, many times a second. And also because it can take advantage of the unpowered parts of the PWM to do its reading of the BEMF.
Some history. Before we started to see BEMF decoders we saw hype about “hyper drive” and “silent running” and all the other marketing terms for the fact that the decoders were using PWM, how ‘fine’ (think “how many times a second”) the PWM was, etc. And once the first decoders went “super sonic” (they had a PWM that was faster than we could hear) … they all had to start using a fast PWM. In the endless search for better motor control, and with the availability of ever more powerful processors for the decoders, the use of a PID control loop – based upon BEMF – was almost inevitable. And we would have seen it as “the common thing” a lot earlier if it hadn’t been for the MTH suit(s) … but I digress.
BEMF (or more correctly PID control loops) are a good thing. A very good thing. But, as with most technology, there are a few ‘gotchas’ in using a more complicated method. Such as locos that don’t run well on the ‘default’ settings and have to be “tuned” …
If you want to demonstrate this “BEMF” for your self – hook up a good meter to the poles of a DC motor and spin it and you will see voltage -produced- by the motor. It is acting like a generator. And the faster it spins the higher the voltage. You may have to figure out a way to spin it other than just flipping it with your fingers … if your meter is good enough and you have good technique you can see it just by giving it a quick twist.