PWM ist schon der Richtige Weg für die Motorsteuerung, es sei denn man super hohe Anforderungen an die Störungsfreiheit (also etwa ein 24 Bit AD oder es kommt auf Spannungen unter 1 µV an während der Motor läuft). Die lineare Steuerung braucht mehr Strom und Produziert mehr Abwärme.

Direkt am µC geht nur bei sehr kleinen Strömen bis etwa 10 mA und produziert viel Störungen am µC. Die Minimallösung ist ein MOSFET direkt am µC Pin und die Freilaufdiode dazu. Mit Kondensatoren / Elkos und ggf. einer Drosselspule kriegt man auch die Störungen in den Griff.