A C# I/O Library for the Beaglebone Black




BBBCSIO is a free and open source .NET v4 library which provides a comprehensive C# input/output solution for the Beaglebone Black Mono environment. Using BBBCSIO, you can easily read and write to the GPIO pins (and trigger interrupt events from state changes), launch and interact with PRU programs and control SPI, I2C, PWM, UART and A2D devices. BBBCSIO is intended to be a comprehensive solution for I/O on the Beaglebone Black. At the current time only a few minor OCP devices remain to be implemented. Besides the downloadable DLL library and source code the BBBCSIO contains complete Help Files and Examples . There is also a Notes section which provides more information on numerous topics such as the Device Tree and the PinMux.

Note: In order to use the BBBCSIO library, C# and Mono must be installed on the Beaglebone Black. A separate project documents that installation procedure.

License, Cost and Disclaimer

The BBBCSIO software is free and open source and is released under the MIT License. Be sure to read the license text before your use the software. Your use of the BBBCSIO software is entirely at your own risk.


What BBBCSIO Does Not Do


The latest version of the BBBCSIO software can be found on this page. The source code is also available in browseable form.

Installation and System Requirements

If you download only the BBBCSIO.dll (rather than the source) you can use it like any other .NET dll library. Either place the BBBCSIO.dll in the same directory as the exe file or copy the dll into the /usr/lib directory where it will be available to all programs that need it. Of course, you will need to reference it in the .NET solution just as you would any other library.

If you download the source code you can include the BBBCSIO.proj into your .NET solution in the usual way and the software should compile.

As for system requirements, the BBBCSIO was tested on a Beaglebone Black rev C board with the armhf Debian Linux v3.08 operating system installed. You will also need Mono and the MCS compiler - testing occurred on Mono 3.2.8.