PyBBIO is a Python library for hardware IO support on the TI Beaglebone.
It is modeled after the Arduino API so as to create a friendly and familiar development environment.
This image shows all the pins currently supported by PyBBIO, color coded by type, and each with the same name as its pin constant.
The 5V Raw pins are connected directly to the DC barrel jack, so they can be used when driving higher current devices like motors or relays.
The VDD_ADC pin is connected directly to the AM3359's internal 1.8V ADC supply and reference multiplexer, and it is not an input. The GND_ADC pin is connected to the AM3359's ADC ground. VDD_ADC and GND_ADC are separated from the internal 1.8V supply and digital GND respectively by inductors, which isolate them from high frequency noise. By the revision 3A schematics, these inductors saturate (essentially become short circuits, and therefore no longer isolate the ADC) at 800mA, so if using them, to supply an external ADC for instance, ensure you are well below this level (the AM3359 ADC wil be drawing some current as well).
Some pins have more than one possible function. These pins can only be in one configuration at a time, so for instance calling pinMode() with GPIO1_18 would disable PWM1A, and calling analogWrite() with PWM1A would disable GPIO1_18.
(In no particular order)
PyBBIO works by reading and writing directly to the
/dev/mem special file, and therefore it needs root privileges to run.
For more info on the mmap technique used by PyBBIO, check out the tutorial here.
If you'd like to help get ideas together to propose for the 2014 Google Summer of Code head on over to the GSoC 2014 ideas page.
Last edited by Alexander Hiam,