Using more than 4 GPIO pins on the XIAO nRF52840 Sense

If you use non-mbed for BSP, you can use 16 PWMs without any problem.
ThisTry this.

\Arduino15\packages\Seeeduino\hardware\nrf52\1.1.8\cores\nRF5\HardwarePWM.h and .cpp

//----------------------------------------------------------------------------------------------
//Board Library : Seeed nRF52 Borads 1.1.8
//Board Select  : Seeed nRF52 Borads / Seeed XIAO nRF52840 Sense 
//----------------------------------------------------------------------------------------------
#include <Arduino.h>
#include <Adafruit_TinyUSB.h>

void setup() {
  Serial.begin(115200);
  while(!Serial);
  delay(2000);
}

void loop() {
  for(uint8_t i = 0; i < 255; i++) {
    Serial.print("PWM0 usedChannel "); Serial.println(HwPWM0.usedChannelCount());
    Serial.print("PWM0 freeChannel "); Serial.println(HwPWM0.freeChannelCount());
    Serial.print("PWM1 usedChannel "); Serial.println(HwPWM1.usedChannelCount());
    Serial.print("PWM1 freeChannel "); Serial.println(HwPWM1.freeChannelCount());
    Serial.print("PWM2 usedChannel "); Serial.println(HwPWM2.usedChannelCount());
    Serial.print("PWM2 freeChannel "); Serial.println(HwPWM2.freeChannelCount());
    Serial.print("PWM3 usedChannel "); Serial.println(HwPWM3.usedChannelCount());
    Serial.print("PWM3 freeChannel "); Serial.println(HwPWM3.freeChannelCount());

    Serial.print("PWM Value "); Serial.println(i);
    analogWrite(LED_RED, i);
    analogWrite(LED_GREEN, i*2);
    analogWrite(LED_BLUE, i*3);
    analogWrite(D10, i*4);
    analogWrite(D9, i);
    analogWrite(D8, i*2);
    analogWrite(D7, i*3);
    analogWrite(D6, i*4);  
    delay(20); 
  }
  delay(1000);
}