what I see are motors that -- and these are out out of an old williams -- the common "mabuchi" or similar -- that they worked fine as conventional that I could tell. But on the bench with a rather poor mans set up -- they perform poorly at low speeds. What I see is a big gap in the hz/mhz of the PWM pulses to get the things going. I lose about half what the chip set will put in this regard before they go ... then with just slight speed ups they go way too fast or they may be going to fast.
Basically the motor board may be under powered... I picked what I thought would work and I think they put out 3 amps continuous per channel. But then I read even small motors have a big kick to get them going. I could buy some other boards that have much more power per channel. At the time what I bought seemed the best offering for an experiment.
Anyway the other thing I notice is the motors are not matched and run differently as different pulse frequencies -- or at least this obvious at slow speeds.
Although I guess the arduino or similar fully detected but run by software subsystem approach could work -- i imagine a nearly full blown hw solution might be ideal...
At least in DCC land the motor controller is integrated into the sound boards... and the best of my knowledge really on PWM or possible other tricks (like the commutator pulse) to get RPM for the purposes of reasonably control.
They seem like pure HW to me when I look at them, which is a little unfair since I've but one of them -- so i'm over generalizing possibly.
There's of course 57 ways to skin a cat and using direct tach readings is an option ... but I wanted to make due with what I had on hand, not go out and buy a bunch of matched motors or all-in-one controller boards, etc...