Arduino IDE, Wiring, Processing, Firmata relationships?

Is the Wiring language included with the Arduino IDE 1.0.1? Is there a separate IDE for writing Processing langauge programs that run on the desktop/laptop? If not, how do I write those programs?

I have an UNO R3. I have also installed the Arduino IDE 1.0.1. Bringing in Wiring and Processing is now confusing.

Dang good question... I'm a little fuzzy on parts of this myself, but I'll take a stab at it.

Browsing through the various entries on Wikipedia for them... it looks like Processing was first, using a simplified version of Java for programming and GUI. Wiring derived from the Processing IDE, and uses C/C++ to access hardware. Arduino appears to be essentially Wiring specific to a particular hardware platform.

So... it looks like Arduino would be what you want for communicating with hardware, and Processing as an option if you want to create a GUI interface for it (although other options such as C++/QT or Python/QT also exist).

Hopefully someone more experience can chime in and correct any more heinous errors in the above... ;)

louarnold: Is the Wiring language included with the Arduino IDE 1.0.1?

Yes. "Wiring" is 'C'/C++ with a runtime library that abstracts the standard Arduino hardware.

louarnold: Is there a separate IDE for writing Processing langauge programs that run on the desktop/laptop?

Yes. As I understand it, the Arduino IDE is a processing application and that is the only connection between them.

louarnold: Is the Wiring language included with the Arduino IDE 1.0.1?

Wiring is not a language but rather a set of C/C++ functions that help abstract the hardware for easier programming. digitalRead() is one such wiring function, but there are many others supplied in the arduino core library. So yes you already have the Wiring functions when you installed the IDE.

Is there a separate IDE for writing Processing langauge programs that run on the desktop/laptop? If not, how do I write those programs?

Yes the Processing group designed a IDE written in java that runs on PCs to allow programming PC applications using the java language. The Arduino IDE is a Processing application running on a PC that allows for programming arduino boards using the C/C++ language with included arduino library functions and then uploading the compiled 'sketches' using the build in AVRDUDE program.

I have an UNO R3. I have also installed the Arduino IDE 1.0.1. Bringing in Wiring and Processing is now confusing.

Installing the Arduino IDE automatically 'brings in' all the wiring functions and the IDE application plus tons of other stuff like example sketches and such. One really doesn't need to understand about all the components and tool chain that makes up the arduino platform, however all the source and documentation is around. The Arduino platform is build on and with a lot of different independent open source projects, like the Gcc compiler/linker, AVRDUDE AVR uploader, Processing IDE application, etc. Specific questions will obtain better more specific feedback for you perhaps? Lefty

Thanks for your replies. - OK, so Wiring is set of functions, the library of which is included with the Arduino IDE. - Processing has its own IDE, so I need to install that also. - Is there another, more robust, IDE for writing standalone programs (without an IDE) that execute in the laptop to communicate with the micro?

There is still a matter of Firmata.

PeterH:
Yes. As I understand it, the Arduino IDE is a processing application and that is the only connection between them.

Ouch, that “processing application” confuses me. :slight_smile:

louarnold:
Ouch, that “processing application” confuses me. :slight_smile:

Processing is a development environment, language and runtime environment for creating applications, especially visual applications. The Processing language in essentially Java. The Processing IDE itself appears to be written in Java.

The Arduino IDE appears to be based on (derived from) the Processing IDE.

There is still a matter of Firmata.

See http://firmata.org/wiki/Main_Page

Firmata is a largely unsupported sketch that runs on the Arduino and makes it a dumb slave. There are also libraries that can be used in Processing to command the slave Arduino. It's best ignored.

louarnold: Thanks for your replies. - OK, so Wiring is set of functions, the library of which is included with the Arduino IDE. Correct - Processing has its own IDE, so I need to install that also. Only if you wish to write your own application programs that run on a PC. Actually any PC programming language or IDE can be used to write a PC application that can be made to talk to a arduino as the Arduino communicates with a PC via a comm port. Most such PC languages and IDEs can utilize comm ports.

  • Is there another, more robust, IDE for writing standalone programs (without an IDE) that execute in the laptop to communicate with the micro?

As stated any PC language or IDE that can utilize PC comm ports can 'talk' to arduino boards running a proper sketch.

There is still a matter of Firmata.

Firmata is not all that popular of a sketch these days, as it had a hard time keeping up with all the arduino board revisions over several years and it's support seemed to be rather sketchy at best.

OK, I think everything makes sense now. I don't need the Processing IDE per se, and Firmata isn't really needed at all. I can try writing something in Visual Studio Express. Some experiments are in order. Thank you all.