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

paddy avatar

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

scruss 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.

Marek avatar

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

davenull 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!

pxgator 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.

Chris Harting 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.

Gottfried Haider 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

MalMan35 avatar

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

mobluse 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?

Gottfried Haider 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

Jacek 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

Adam avatar

Why isn’t it in the repository?

Matt Richardson avatar

This is answered by Gottfried in the comments above.

Sergio Majluf 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

Dan Schellenberg avatar

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

Gottfried Haider 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.

pxgator 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?

Gottfried Haider 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.

electron 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?

balsimpson 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.

Gottfried Haider avatar

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

arqui21322314 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.

arqui21322314 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!

Gottfried Haider 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.

SevenYears avatar

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

Jim 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.

Gottfried Haider 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

Clive 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.

Gottfried Haider 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?

Stephen 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?

Gottfried Haider 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.

Joe the Maker 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!

Andreas 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).

richard 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)

Helen Lynn 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.

richard 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.

Delson Faria Da Silva 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

Delson Faria Da Silva avatar

I am using processing 3.0.1
and running java 1.7.0

Helen Lynn 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.

Kim 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.

soon 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?

derrick smith avatar

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

Comments are closed