The Raspberry Pi Diaries

Jan 19, 2016

After publishing Xideco and having a good night's sleep, I am about to start on the Xideco Raspberry Pi Bridge.

I am creating this "diary" in the hopes that it may encourage others to create Xideco plug-in modules. I have created a Github branch so that my changes can be tracked by anyone interested.

I will be updating the diary and the branch on an irregular basis, but will try to do so on an almost daily basis until the project is complete.

So let's get started.

GPIO Library

After looking at several readily available and popular Raspberry Pi GPIO libraries I have decided to use PIGPIO. My reasons for choosing this library over the others were:

  • A well thought out Python API.
  • It worked out of the box.
  • Provides callbacks.
  • User does not have to be root to affect the GPIO (after starting a daemon as root)
  • Seems to support ALL of the features I need.

Development Environment

RPi Board

I am starting off using a Raspberry PI 1 Model B, but have a B+ and a 2 on hand as well. Hopefully the Model B won't run out of steam, but time will tell.

RPi Operating System

I am starting with Raspbian Wheezy, May 2015 release. I will be moving on to the Jessie release sometime in the future.


I will be using Pycharm 5 Professional running on my main PC for editing, Github support and remote debugging of code residing on the RPi.

Getting Started

I will be using the Arduino Bridge as a template, but there will be major changes. All Arduino specific code will be disabled or removed. So my first goals are:

Try out some of the PIGPIO API calls, starting with something simple, like get_hardware_revision and get_pigpio_version, initializing a pigpio session, configuring a pin for digital input and registering a callback, monitoring the pin for changes and releasing PIGPIO resources upon exit.

I will report back any issues that come up, and will publish the code on the Github branch when I have something worth sharing.