Sorry, anscheinend habe ich da beim kurzen Überfliegen was falsch verstanden. Liegt wahrscheinlich daran, dass ich kein BasicSpezialist bin.
Ich hatte mich über die Waitanweisung und die Schleife gewundert, aber die benutzt Du ja nur zum Dimmen und nicht als PWM...Also ist es wohl doch eine Hardware PWM.
Wenn Du jetzt die TimerOverFlows oder OutputCaptures zählen wolltest, könntest Du Dir die waits und die schleifen sparen und Rechenzeit frei machen, indem Du alle x Zählungen den OCR Wert veränderst.
Aber das ist nur eine Anregung.
Eine Spule halte ich für unnötig, weil ein Widerstand ausreicht.
Viel Spass noch.
Gruß