PWM-ohjaus on yksinkertaisesti pulssisuhteen muutoksella tehtävää ohjausta, jolloin ohjaus menee vuorotellen päälle ja pois tietyllä taajuudella. Pulssisuhde puolestaan tarkoittaa sitä suhdetta, miten pitkään signaali on "1"-tilassa ja miten pitkään "0"-tilassa. Usein tätä suhdetta ilmaistaan prosenteilla, sillä suhdeluvut ovat aina helpoiten esitettävissä nimenomaan prosenteilla. Alla olevassa kuvassa on esitetty 80 %, 50 %:n ja 20 %:n pulssisuhteet.
Periaate PWM-ohjauksessa on siis yksinkertainen. Kun pulssisuhde on suurimmillaan niin kuormaan ohjataan eniten tehoa. Pulssisuhde on suurimmillaan tietenkin 100 %:ssa, jolloin ohjaus on siis täysin päällä eli "1"-tilassa. Pienimmillään ohjaus on vastaavasti 0 %:ssa, jolloin ohjaus on täysin pois päältä eli "0"-tilassa.
PWM-ohjausta voi tehdä joko sovelluksella (SW/FW = SoftWare/FirmWare) tai rautatasolla eli elektroniikalla (HW=HardWare). Luonnollisesti HW-tason ohjaus on nopeampaa, sillä silloin mikrokontrollerin CPU:n ei tarvitse signaalia erikseen ohjata tai operoida. Ohjelmallisesti (SW/FW) tehty PWM-ohjaus luonnollisesti vaatii CPU:n työskentelyä ja näin ollen kuluttaa ohjelman suoritusaikaa, mutta pienillä ohjelmilla tällä ei liene käytännön merkitystä. Toisaalta ohjelmallisesti tehty PWM vaatii tekijältään enemmän taitoa ja koodirivejäkin se vie enemmälti.