Tuesday, October 23, 2012

Arduino IDE Targets Multiple Platforms - Let's Hear it for the Pi

The Arduino folks confirmed yesterday the new Arduino Integrated Development Environment (IDE) version 1.5 will support multiple 'toolchains', essentially one can program in one language and have it compile using an underlying code compiler and then it would download to the target board.  So the IDE is no longer tied to the ATMega chips of more classic Arduinos - the new Due uses a different 32 bit core and thus needs a different underlying compiler.

The important thing is this statement by Arduino:
The new Arduino environment (IDE) can now be configured to target multiple processor architectures, each with its own toolchain and compilation process. To support a new processor family, the core language and libraries need to be ported (as we’ve done for the Due) and some configuration files edited to specify the commands for compilation and uploading. We’ve focused on ensuring that this new system works seamlessly for the Due and our existing AVR-based boards, but with some tweaks and improvements, we imagine that it will allow the Arduino environment to work with many, many more microcontrollers. 
Now as I am a C programmer, I keep looking at Python code meant for the Raspberry Pi and scratch my head.  Adafruit is even making a wickedly cool integrated IDE for python on the Pi.

I can see someone being rather cleaver and allowing the Raspberry Pi gcc compiler targeting ARM6 to be one of the new Arduino target devices.  The hard part would be ensuring libraries compile cleanly and the pin mappings are handled well (most likely refering to the cool work of the WiringPi project).

So who's up for a noble challenge?