This is an old revision of the document!


Pduino on Raspberry Pi

Controlling an Arduino in Pure Data on a Raspberry Pi.

Pure Data (Pd) is a visual programming language developed by Miller Puckette.

Pduino is a way to interface an Arduino in Pure Data. Writen by Georg Holzmann, Gerda Strobl, Roman Haefeli and Olsen Wolf.
The program running on the Arduino is the Firmata by Hans-Christoph Steiner, Paul Stoffregen, Shigeru Kobayashi and Jeff Hoefs.

This is a workaround for installing Pduino on a Raspberry Pi 4 with Raspbian Buster


Arduino and Firmata

Install the Arduino IDE:

 $ sudo apt update
 $ sudo apt install arduino

Open the Arduino IDE:

 $ arduino

Select in → Tools → Board and Port. The port looks something like: /dev/ttyUSB0
Open the Firmata program: → open → Firmata → StandardFirmata
And upload it!


Pure Data and Pduino

Install Pure Data

 $ sudo apt update
 $ sudo apt install puredata

Install the Externals

The comport external should be installed via the terminal:

 $ sudo apt install pd-comport

The other externals can be installed in Pure Data. Open Pure Data and in:
→ Help → Find Externals
Install: zexy, mapping, cyclone and pduino
The Pd external folder should look like that:

Set Path

In Pure Data → File → Preferences → Path set the paths for the zexy, mapping, cyclone and pduino libraries.
It might be /home/pi/Dokuments/Pd/externals/….


Set for Startup

In Pure Data → File → Preferences → Startup set zexy (it will load on launch)
Restart Pure Data.

Run Pduino

Download Pduino

$ cd Pd
$ wget "http://at.or.at/hans/pd/Pduino-0.5.zip"
$ http://at.or.at/hans/pd/Pduino-0.5.zip

in Pure Data open arduio-help.pd
Click on “devices”. The console should tell you witch number your Arduino has.
Select that number and click on “open $1”.
Now your Pduino should work.


One can test it by clicking on “PinMode 13 output” and then toggel pin 13. The build in LED should turn on and off.

Examples:
pduino_examples.zip


License

This manual is made by Wolfgang Spahn 2020.
It is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Creative Commons License