Now Available for Download: Processing

I’m a long-time fan of Processing, a free open source programming language and development environment focused on teaching coding in the context of visual arts. It’s why I’m so excited that the latest version, Processing 3.0.1, now officially supports Raspberry Pi. Just as Sonic Pi lets you make your first sound in just one line of code, Processing lets you draw on screen with just one line of code. It’s that easy to get started. But don’t let that fool you, it’s a very powerful and flexible language and development environment.

Screenshot of Processing development environment

We owe a huge thank you to Gottfried Haider, who did the heavy lifting to get Processing running smoothly on the Raspberry Pi and create a hardware input/output library. That’s right, this version of Processing works with the GPIO pins right out of the box. Gottfried says:

I’m excited about having Processing on the Raspberry Pi and other low-cost desktop machines. In the last few years we’ve seen a shift away from easily accessible environments, towards concepts such as mobile platforms, specialized internet-of-things devices and cloud computing. As someone who got into programming by tinkering around with the open and readily available platforms of the time, I believe it’s important to have initiatives such Raspberry Pi and Processing, to promote software literacy and to encourage a future where computers remain a read/write medium.

If you’re new to Processing, please take a look at our newest resource, Introduction to Processing. Not only does it get you started programming with Processing on the Raspberry Pi, but it also covers basic hardware input/output. As with all of our free resources, we welcome you to contribute enhancements and fixes. For those of you who prefer something more in-depth, Processing co-founders Ben Fry and Casey Reas recently released a second edition of their book Getting Started with Processing, published by Maker Media.

If you want to jump right in, you can download and install Processing from the terminal with this command:

curl https://processing.org/download/install-arm.sh | sudo sh

Or go to Processing’s downloads page to download and install it on your own.

44 comments

Avatar

This is really excellent, I’m going to install it this evening and see how it runs.

Avatar

Huge congratulations to the Processing team (and especially Gottfried) for making an official, supported port. Before this, trying to run Processing on a Raspberry Pi was kind of painful. Running it on a 256 MB single-core Model B in the days before Oracle Java was an exercise only for the very patient.

Processing is the ‘ROM Basic’ of the graphics world. It’s the universal prototyping platform for ideas.

Avatar

Good JOB !!!!
Hope it will be running reasonable on model A.
Mathematica & Epiphany runs so sloooow.
All best
Big Thanks.
Marek

Avatar

I already emphasize so often that it would be so important to have a “Arduino-like IDE” for C programming, for either platform – finally it was the the cornerstone of the worldwide grandiose success of Arduino.

A great job and a big leap to have it now for Raspberry Pi, too!

Avatar

Coming from a ‘C’ and arduino background I find this very easy to use. It runs great on my RPI 2 and creates a whole new spectrum of possibilities. Thank you so much to all who helped create this version of processing.

Avatar

Does this require Oracle Java? I installed this on a Pi 2 and a pcduino3 Nano Lite, but I get errors when I try an example from the Demo directory.

Avatar

Hi Chris,

Could you file a bug report with the details here – I’ll look into it: https://github.com/processing/processing/issues/new?labels=arm&assignee=gohai

Best
G

Avatar

Hmm never heard of this. Sound cool though so I think I will give it a try sometime soon.

Avatar

I installed it using the method in the article above, but is there a way to uninstall it. The examples I tested worked well. It would be good if there where a deb-package.

Another thing: Now it seems you can’t export your project as Processing.js — will this be available in the future?

I also saw you could install a plugin to generate packages for Android — does this actually work now?

Avatar

We hope to have a deb package at some point – since Processing is bundling Oracle’s JRE and other pieces of code it’s a bit hard to get this into repositories of big distributions (for understandable reasons), but perhaps we could have this for Raspbian some time.

To uninstall right now: sudo rm-Rf /usr/local/bin/{processing,processing-java} && sudo rm -Rf /usr/local/lib/{processing,processing-3.0.1} && sudo rm /usr/local/share/applications/processing.desktop

Processing.js was superseded by a larger effort to bring Processing to the web: p5.js. This doesn’t try to emulate Java however, so code won’t run unmodified.

I haven’t tried Processing for Android myself, but I’d be curious to know as well!

Best
Gottfried

Avatar

I like Processing too, this is very good news.
This will be great tool for kids and they can find a lot interesting sketches at http://www.openprocessing.org

Avatar

Why isn’t it in the repository?

Avatar

This is answered by Gottfried in the comments above.

Avatar

Amazing, this is right in time for me!
I was struggling with some timing issues sequencing several servos from an arduino. Now I might just be able to do it in processing and run it from the Pi :D

Avatar

I’m looking for a way to use the Sense HAT with Processing. Any tips?

Avatar

That’s a good question. I haven’t used the sense hat myself, but it looks like a nice piece of hardware. I am guessing that likely most components would need a special library to be usable with Processing. Might look into it if I find some time.

Avatar

Maybe I’m missing something but there doesn’t seem to be a way to control the GPIO pull up & pull down resistors with the hardware I/O lib?

Avatar

There currently isn’t a way to set pull-ups – there is no provision to do so in the Linux kernel. Working to get this changed.

Avatar

Hello,
Thanks for this news!!
I want to know if it’s possible to grab the Camera module into Raspberry Pi Processing?

Any idea?

Avatar

I installed Pricessing using the command line and it downloaded and installed it. But when I click on the icon nothing happens. Are there some other dependencies that I need to download for it to work? Am running Raspbian on a Pi 2.

Avatar

What happens if you type “processing” in a terminal and hit enter?

Avatar

Have been trying to use processing to play with the LEDs, but I get a permission denied error message!
I am able to run python program to play with LEDs.

Avatar

*the LEDs are on a canakit breadboard, connected to a GPIO breakout board (40pin, raspberry pi2, that I got for Christmas! Woohoo!)

Thanks for anyone that can help, or point me on the right direction!

Avatar

The LED class is only concerned with the Pi’s built-in LEDs. Try using GPIO.pinMode() & GPIO.digitalWrite() – which should work without any permission changes needed.

Avatar

Hello
I download for processing,but how can install???

Avatar

I added the video library but cant get any of the movie examples to work I just get a black screen. Also I enabled the new OpenGL driver and cant get any of the the examples requiring OpenGL to work. In general however this is awesome.

Avatar

That’s likely because the necessary gstreamer-0.10 packages for decoding the particular video format aren’t installed. We’ll release a new “GL Video” library shortly, that will support the more recent gstreamer-1.x and hardware accelerated decoding of H.264 video.

Try increasing the amount of video memory in the configuration if you have problems with OpenGL. If that still doesn’t work feel free to file a detailed bug report over here: https://github.com/processing/processing/issues/new?labels=arm&assignee=gohai

Avatar

Thanks to all the team involved in porting Processing to the pi, especially Gottfried Haider, for all his hard work on the GPIO library. Is there any possibility of adding the GPIOZERO library functionality in future.
From a teaching and learning position I find the GPIOZERO library functionality accelerates physical computing learning and understanding.

Avatar

The idea behind the Processing I/O library is to have it as minimal and generic as possible, with anything more sophisticated or specialized done either inside the sketch, or as a library that extends processing.IO.

Anything in particular that you’re missing from GPIOZERO?

Avatar

Thank you SO much. Now I don’t have to embed a small form factor PC motherboard with Lubuntu to run my Processing installations.

Will this install and run on PiZero?

Avatar

I haven’t tested myself, but I will in a few days :) The Pi Zero should be comparable to a Pi (1) with 512 MB RAM.

Avatar

Processing runs fast on the RPi 3. I can now easily add the RPi into learning activities with the help of Processing and it;s approachable visual programming capabilities. Very Happy!

Avatar

Hi
I downloaded the 3.0.2, extracted it and am able run it if I double click the file called “processing”. But how do then I “install it”, so I can run it from terminal, have it added to the menu and right click files and “open with Processing”?

And sorry if my question is off or my mindset is old (this is my first experience with a Raspberry PI).

Avatar

Thank you for your great work! But when trying to capture video, I get a “There are no cameras available for capture” error. I know the camera is working via “raspistill”

(Pi 3+latest jessie)

Avatar

The best place for this kind of troubleshooting is our forums: https://www.raspberrypi.org/forums/. Comments on blog posts from a while back aren’t very likely to be seen by someone who can answer your question.

Avatar

Sorry. Just didn’t see a Processing specific section in the forums, and thought this would be the best chance to reach the person who knows it best. I saw recent responses from him in these comments.

Avatar

hello im trying to run a sketch from open bci and i keep getting an error code:
libGL warning: DRI2: failed to authenticate
/usr/local/lib/processing-3.0.2/java: symbol lookup error:
/tmp/jogamp_0000/file/jln11371254000496790/jln4017263702831045765/natives/linux-armv6hf/libnewt.so: undefined symbol: bcm_host_init
could not run the sketch (target VM falied to initialize).
For more information, read revisions.txt and Help -> Troubleshooting

Avatar

I am using processing 3.0.1
and running java 1.7.0

Avatar

The comments to a blog post from a few months ago aren’t a good place to get advice, because it’s unlikely the right person will see your request for help. A better place to try are our forums (https://www.raspberrypi.org/forums/), or other tech forums with posters who have experience using Processing.

Avatar

Processing works great on my Pi3. Is there a sound library that I can use? The standard library complains about it not being 64 bit.

Avatar

I have been using Carnivore library in Mac with Processing, but recently I want to port to Pi. My program doesn’t really work as it says “A library relies on native code that’s not available Or only works properly when the sketch is run as a 64-bit application”. Obviously, the library is related to network architecture, that’s might be the reason why it doesn’t work in Pi processing ARM ver. Any hints on how to support Carnivore in PI-Processing?

Avatar

how do i install arduino sketch 1.6.7 on the raspberry pi b+. i have tried to unzip it but nothing works

Leave a Comment

Comments are closed