We've been using the Arduino hardware and software for what seems like (and actually is) years, but until now it has been in "perpetual beta". Finally, that has changed with the official release of Arduino 1.0.
According to the announcement in the Arduino blog:
A long time coming, this release brings small but important changes to clean up the Arduino environment and language as well as adding lots of additional features.
It's all a bit low-key for such a major milestone but then most Arduino developers will have been using the Release Candidate for many months and it had a "launch event" at the Maker Faire in New York.
Updated features in the IDE include a new color scheme and about image, a new set of toolbar icons, including a checkmark icon to verify (compile) a sketch and an arrow for upload, a progress bar for compilation and upload and the file extension for sketches has changed from .pde to .ino (the final three letters of "Arduino").
The changes of larger practical impact are those to the Arduino language and include:
- Serial transmission is now asynchronous – that is, calls to Serial.print(), etc. add data to an outgoing buffer which is transmitted in the background. Also, the Serial.flush() command has been repurposed to wait for outgoing data to be transmitted, rather than dropping received incoming data.
- The behavior of Serial.print() on a byte has been changed to align it with the other numeric data types. In particular, it will now print the digits of its argument as separate ASCII digits (e.g. '1′, '2′, '3′) rather than a single byte. The BYTE keyword has been removed. To send a single byte of data, use Serial.write().
- The Serial class (as well as other classes inheriting from Stream, like EthernetClient, SoftwareSerial, Wire and more) now contains functions for parsing incoming data.
- The SoftwareSerial class has been reimplemented. This allows for multiple simultaneous instances, although only one can receive at a time.
- Support has been added for printing strings stored in flash (program memory) rather than RAM. Wrap double-quoted strings in F() to indicate that they should be stored in flash, e.g. F("hello world").
- The String class has been reimplemented to be more memory-efficient and robust. Some functions which previously returned new string instances (e.g. trim() and toUpperCase()) have been changed to instead modify strings in place.
- Support for DHCP and DNS has been added to the Ethernet library. Most classes in the Ethernet library have been renamed to add a "Ethernet" prefix and avoid conflicts with other networking libraries.
- The UDP API has been changed to be more similar to other libraries.
- The SD library now supports multiple simultaneous open files. It also provides the isDirectory(), openNextFile(), and rewindDirectory() functions for iterating through all the files in a directory.
You can download Arduino 1.0 here and more information about changes can be round in the release notes or this blog post.
An Arduino Tour (Video)
There's an Arduino for that!
Comic book guide to the Arduino
To be informed about new articles on I Programmer, subscribe to the RSS feed, follow us on Google+, Twitter or Facebook or sign up for our weekly newsletter.