Arduino 1.0 is out - first impressions

Arduino have released version 1.0 of the Arduino development environment.

There's a lot of new functionality in the new release, and there are some significant changes.

This blog post talks about an earlier release candidate, but presumably still applies. At the time of posting, the release notes stop at release 23, but that may be fixed by the time you read this.

A quick test showed some of the new features, and some of the issues involved in migrating existing projects.

The new IDE looks subtly different. Below you'll see a 'verify' button (shown as a tick) which you can use to compile a sketch without trying to upload it. I found that handy when checking the compatibility of existing code.

You'll find changes in several libraries. In most cases these are improvements in functionality. Examples:

  • the Serial library is now asynchronous
  • Serial now contains functions for parsing input data
  • the String class is now more efficient and robust
  • the Ethernet library now supports DHCP and DNS
  • the SD library (which you can use for reading from/writing to SD cards) now supports multiple open files
However, some changes will break existing code. For instance
  • send() and receive() in the Wire library have been replaced by write() and read()
  • the effect of Serial.print() on a byte argument has changed. It's now more consistent with other libraries, but existing code will break. The old behaviour can be reproduced by using Serial.write() instead
Finally, the extension for Arduino sketches has changed from pde to ino. The new IDE will recognise your old sketches, though, and when you save them a pop-up will remind you of the change before asking if you want to save the file with the new extension. That's handy, as it gives you an easy way to keep track of which sketches you've migrated.

There are many other changes listed in the blog.  I'll update this post if I come across anything crucial.


Popular posts from this blog

Controlling a Raspberry Pi Pico remotely using PySerial

Five steps to connect Jetson Nano and Arduino

Raspberry Pi Pico project 2 - MCP3008