

Greener, but more mature: Arduino SDK 1.0

Version 1.0 of the programming environment for the Arduino microcontroller platform has been released. Apart from its redesigned appearance and minor bug fixes, the 24th release of the Java-based SDK also includes various technological advancements.

The new version fully supports the R3 variants of Arduino Uno and Mega2560 components. These can be easily identified by their white underside and use Atmega 16U2 USB interfaces instead of the previous models' 8U2 or FTDI chips. The "burn bootloader" function installs the updated OptiBoot 4.4 software.

The text editor highlights links, including those in comments, and clicking on a link will open it in the browser. By default, the editor now uses the .ino extension for sketches (Arduino terminology for program files) because the previous used .pde extenstion conflicted with Processing software. The new .ino extension was selected because it is the last three letters of Arduino.

When saving an existing older sketch, it will replace the .pde extension. However, unlike the earlier development versions, this version does not do so quietly; users will be notified and will have the opportunity to change, or configure, the behaviour. The editor window's lower status bar shows the chosen Arduino model and the USB port.

The developers have made significant modifications to the standard libraries. The Ethernet library now supports DHCP and DNS, while new Client, Server and UDP wrapper classes are designed to enable code that is independent of the Ethernet module. The SD library now supports multiple open files and adds isDirectory() , openNextFile() and rewindDirectory() for iterating through all files in a directory.

The Serial standard class now works asynchronously. For example, calling Serial.print() will fill a buffer instead of sending the data through the interface, which substantially impacts timing. The actual transmission is then asynchronous and occurs via interrupts. Strings for printing can now be conveniently stored in flash by wrapping them with F(...); e.g. Serial.print(F("hello whirled")) .

The new version doesn't list any changes that support the forthcoming ARM-based Arduino Due. The Arduino SDK 1.0 is available to download as version 1.0 from the Arduino web site. The developers provided a comprehensive list of changes in a blog posting when they published the release candidate.

(djwm)