--- title: "PWM" aliases: - firmwareapi/pycom/machine/pwm.html - firmwareapi/pycom/machine/pwm.md - chapter/firmwareapi/pycom/machine/pwm --- ## Quick Usage Example ```python from machine import PWM pwm = PWM(0, frequency=5000) # use PWM timer 0, with a frequency of 5KHz # create pwm channel on pin P12 with a duty cycle of 50% pwm_c = pwm.channel(0, pin='P12', duty_cycle=0.5) pwm_c.duty_cycle(0.3) # change the duty cycle to 30% ``` ## Constructors ### class machine.PWM(timer, frequency) Create a PWM object. This sets up the `timer` to oscillate at the specified `frequency`. `timer` is an integer from 0 to 3. `frequency` is an integer from 1 Hz to 78 KHz. ## Methods ### pwm.channel(id, pin, [duty_cycle=0.5]) Connect a PWM channel to a pin, setting the initial duty cycle. `id` is an integer from 0 to 7. `pin` is a string argument. `duty_cycle` is a keyword-only float argument, with values between 0 and 1. Returns an instance of `PWMChannel`. ### pwmchannel.duty_cycle(value) Set the duty cycle for a PWM channel. `value` is a float argument, with values between 0 and 1.