Raspberry Pi GPIO Externals based on WiringPi for Pure Data (Pd)

These externals use the WiringPi GPIO access library for the Raspberry Pi. Written in C they provide faster access than python and the ability to embed it in Pd. Just like WiringPi, it’s released under the GNU LGPLv3 license.

To use them, put them somewhere where Pd can see, either by adding it to preferences/path or with the [declare -path] object. You need to have sudo privileges to access the GPIO.

Download here from sourceforge.

author: Jaime Oliver La Rosa


version 0.1 fixes the ability to have two mcp3008 chips running at the same time with spi pins 0 and 1.

8 thoughts on “Raspberry Pi GPIO Externals based on WiringPi for Pure Data (Pd)

  1. Pingback: Software Release: Raspberry Pi GPIO Pd Externals | NYU Waverly Labs for Music & Computing

    1. jo57@nyu.edu Post author

      Hi, It currently doesn’t have that functionality, but it should not be hard to implement. Have you tried adding that function to the c code?

  2. himijendrix

    Hello, I tried to compile the externals to a *.pd_linux file. Sadly your readme is pretty short.
    In the makefile of gpio it says:
    NAME=wiringPi__mcp3008=$(NAME)include ../makefile.include
    I changed it to …
    NAME=wiringPi__gpio=$(NAME)include ../makefile.include
    but when i write …
    make wiringPi_gpio.pd_linux
    the terminal says :
    makefile:1: *** Recursive variable ‘NAME’ references itself (eventually). Stop.

    What is wrong here? WiringPi is also installed.
    What are *.1_arm files actually?

    greetings, himi

    1. jo57@nyu.edu Post author

      Sorry about the briefness… Some pi models and OS the .l_arm extension and others the .pd_linux. I got that from a makefile miller used in his gpio external. .l_arm refers to the ARM architecture of the processor used on the pi. What error do you get?

  3. leon trimble

    i made these for ccrma satellite on the raspberry pi b but when i try and add the object in puredata it crashes instantly…


Leave a Reply

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