Contributed Driver: PCA9685 16-channel Pulse-Width Modulation/Servo Control Chip

  • I'm using PWM signals to control LED lighting brightness in my automated greenhouse. As the number of lights went up, I needed more and more channels of PWM signals. The solution is one of the inexpensive breakout boards with the PCA9685 chip on them, connected to the Raspberry Pi with I2C. Here I've included a REXLANG driver for this chip that can be used to control servo motors, LED light strings, and more.!

    This is the PCA9685 card I used: Scope 1.802 2020-04-23 17.40.21.png myproject_exec.mdl - REXYGEN Studio - [io_task _] .png Block properties 2020-04-23 17.44.16.png

    Source files for download: PCA9865

  • Awesome, thanks!

    Do you think e.g. a GitHub repo for contributed content would be beneficial? Let me know your thoughts on this.


  • @jaroslav_sobota It does seem to be the way most companies are sharing software these days. It also offers the benefit of being very searchable, so it can attract interest to Rexygen by those wishing to interface to a particular device. For example, I found the actual devices I'm using by searching for drivers on Github for the chips that are inside them. Github with a little management would also allow Rexygen users to provide updates or enhancements to the software contributed by others. The downside is that it isn't as readily accessible for examples as the library you include with the product but there is probably some way to integrate those options...

  • @enovikoff Thank you, I'll see what can be done in this direction.