Adafruit PWM hat from C#

I can drive Adafruit PWM hat from C#!

I converted Adafruit python code ( to C# and it works!


Here is my library file:

Library (please rename to .cs)

Here is an example:

Library (please rename to .cs or copy and paste the part you need)

You will also need:

Raspberry Pi (I use the new one)
Adafruit Raspberry Pi PWM Hat (mine has PCA9685PW chip in it)
LEDs (please use resistors so you do not burn pins!)
6V power supply for the hat
Some OS installed on the PI (I use Raspbian)
Mono (mono-complete) and Mono-develop installed on the PI
These instructions look good though I did not install GTK#
This library contains native code. If you use Raspbian, you might neet to re-build it. It is C++ code that need to be compiled into .so file, which will be loaded into C# managed environment. Sounds scary. Have no fear! Just ro to that folder and run “make” command – that’s it!
Device. See instructions on RPi.I2C.Net page. It adds a device – for new Raspberry PI it is “/dev/i2c-1″. If you use old raspberry, it could be different, like “/dev/i2c-0″. It is somewhere in my C# code, and if you use old Raspberry, please correct it.

So, please create a new command-line project in MonoDevelop, add RPi.I2C.Net, copy example code to the program cs and run it. make sure you adjust channel numbers. I have 6 LEDs (which are 2 RGB LEDs) on channels 0,1,2,4,5,6
My I2C address is 40 (which is default).

Sorry, my code is not industrial-strength. There is no exception handling. Please improve it if needed.

2 thoughts on “Adafruit PWM hat from C#

  1. Hey, this looks pretty awesome! I’m working on a little robot project and use this Adafruit servo driver board, so far from Python but i have much more experience with C~ so this would be an absolute boost :)
    However, i’m having trouble building the RPi.I2C.Net library; how am i supposed to do that? open the project in monodevelop and build?


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>