We connected the motor for a drill to pin 6. I can turn the motor on or off by setting the pin high or low, but now we’d like to use PWM to control it. When I use the following example code, nothing happens:

from pyb import Pin, Timer

p = Pin(‘P6’)
tim = Timer(2, freq=10)
ch =, Timer.PWM, pin=p)

Could you please let me know what is the issue?

Have you tried this example code?

# PWM Control Example
# This example shows how to do PWM with your OpenMV Cam.

import time
from pyb import Pin, Timer

tim = Timer(4, freq=1000) # Frequency in Hz
# Generate a 1KHz square wave on TIM4 with 50% and 75% duty cycles on channels 1 and 2, respectively.
ch1 =, Timer.PWM, pin=Pin("P7"), pulse_width_percent=50)
ch2 =, Timer.PWM, pin=Pin("P8"), pulse_width_percent=75)

while (True):

Note sure if PWM on PIN 6 works.