Nano 33 BLE Sense PWM resolution

Hi there,

I know the default PWM resolution of Nano 33 BLE Sense is 8 bits but I would like to increase to at least 12 bits and increase the number of PWM output pins to 6 or 8 as well. Having read the datasheet of nRF52840, it seems that PWM channels are controlled by a 15 bits counter(MSB is related to polarity that's why only 15 bits are left ) So, I would wonder if anyone has done this before and can you kindly share the experience of it? Also, any drawbacks if resolution is modified?

Here is the link of nRF52840 datasheet:

Cheers,
Archie

Did you try? I am not sure whether it works on the Nano 33 BLE.

https://www.arduino.cc/reference/en/language/functions/zero-due-mkr-family/analogwriteresolution/

Hi there!

Thanks for reply!!!!
I think it would be a good start. I will dive into the link to see how it works!!!!

Cheers!
Archie

Hey,

Due to the Nano 33 BLE having 4 compare registers to deal with PWM, I found that the board freezes as soon as you call an analogWrite() on a fifth pin.
If you want more than 4 PWM outputs at a time, consider something like a PWM driver breakout board: Overview | Adafruit PCA9685 16-Channel Servo Driver | Adafruit Learning System

I'm not sure about the resolution of the PWM, but it looks like those functions were created for different boards and ported to the Nano 33 BLE. You may have to re-write the functions yourself if someone else hasn't.

Best,
Pietr