Simple software PWM Python library for Raspberry Pi. Works with RPi.GPIO library (onboard GPIO pins), Quick2Wire expansion board and MCP230XX port expander.
Switch branches/tags
Nothing to show
Clone or download
Arnaud Boudou
Arnaud Boudou Updated
Latest commit 29a18df Jun 3, 2013
Type Name Latest commit message Commit time
Failed to load latest commit information.
mcp230xx Updated Jun 3, 2013
quick2wire Updated Jun 3, 2013
rpi.gpio Updated Jun 3, 2013
.gitignore Add MCP230XX support Apr 10, 2013 Updated Jun 3, 2013


PiZyPwm, for Raspberry (Pi) Ea(zy) PWM, is an easy way to implement PWM (Pulse Width Modulation) output on a Raspberry Pi using Python language.


There are three available sub-project:

  • “rpi.gpio” : if you plan to use PiZyPwm with onboard GPIO pins. It uses RPi.GPIO library, but is now obsolete as RPi.GPIO library now includes software PWM.
  • “quick2wire” : if you plan to use PiZyPwm with Quick2Wire expansion board. Thanks to SirHegel77 for the code.
  • “mcp230xx” : if you plan to use PiZyPwm with an MCP23008 or MCP23017 GPIO expander.


Due to the non real-time capacities of Python language, do not expect PWM to be very accurate. Pulses will never exactly last the theorical duration. But PiZyPwm will be enough if you don't need a great accuracy.


See into each sub-project folder.