The max PWM frequency that can be achieved with an Arduino is by using the PWM fast mode with the pre-scaler set at 1 and the TOP counter value at 3, getting 4MHz

f_OC = 16000000/(1(1 + 3)) = 4000000

Why can't be the TOP value set at 1?


Because then you only have 1-bit PWM. And there aren't an awful lot of applications for 1-bit PWM.

  • Yeah, I understand isn't quite useful, but there is some kind of physical limitation? if I set the TOP =1, what will happen? Jun 2 '16 at 6:13
  • 2
    There's no physical limitation, there's just no point. The DC of the signal will be either 0% or 100%, which means you've emulated a normal GPIO except that you're consuming the power to run the clock as well. Jun 2 '16 at 6:17
  • You're right I was thinking on three values. Jun 2 '16 at 6:27
  • And what about TOP =2 ? Jun 7 '16 at 3:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.