0

July 19, 2010 AT 2:06 pm

Overview of the changes coming in Arduino 1.0

Overview of the changes coming in Arduino 1.0. David Mellis writes –

Over the past few years, the Arduino software has come a long way, in both features and robustness. There are a lot of little things, however, that we never really thought about or that we’d like to change. Arduino 1.0 is our chance to clean up these details and establish a stable platform for the future.
There’s a detailed list of the changes planned or considered for Arduino 1.0 on our development site (hosted by Google Code). The main items include:
Environment:

  • New file extension to replace the .pde borrowed from Processing (issue #13).
  • Redesigned toolbar icons (issue #291).
  • Ability to upload sketches using an in-system programmer (ISP) from the IDE (issue #260).
  • Simplifying the process of selecting your board and serial port (issues #223 and #257).
  • Command-line compilation and uploading of sketches (issue #124).

Language (most of these are possibilities and still open for discussion):

  • Creating events that can be called automatically, e.g. the serialEvent() as in Processing (issue #263).
  • Adding specific functions for enabling / disabling the internal pullup resistors (issue #246).
  • Modifying the behavior of print() on bytes (issue #284).
  • Functions for accessing more of the low-level functionality of the hardware timers and other peripherals (issues #169 and #248).
  • Optimizing the digitalWrite() function (issue #140).

Of course, we’ll continue to make improvements and additions to the software after Arduino 1.0, but that by making the incompatible changes together, we’ll make the transition clearer and easier. Once you’ve adopted your code to Arduino 1.0, it should continue to work going forward.

If you have questions, comments or suggestions, feel free to respond here or to post on the individual items. Contributions are welcome; please sign up for the developers mailing list if you’re interested in working on the Arduino software.


Check out all the Circuit Playground Episodes! Our new kid’s show and subscribe!

Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Learn resistor values with Mho’s Resistance or get the best electronics calculator for engineers “Circuit Playground”Adafruit’s Apps!


Maker Business — Raspberry Pi and CoderDojo Join Forces

Wearables — Gold glow

Electronics — Linear Love

Biohacking — Nike’s Unlimited Stadium Will Put Your Best Foot Forward

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !



1 Comment

  1. We at Make, Hack, Void (a hackerspace in Canberra) have been working on our own library, which addresses many of the performance & functional issues we have identified with the Arduino runtime.

    It is aimed at more experienced programmers than the Arduino runtime (you should be familiar with pointers), and provides less handholding in favour of greater efficiency. We are more a thin veneer around avr-libc, providing hardware abstractions as appropriate, including interrupt driven serial I/O (so your program won’t block while waiting for serial data) with PROGMEM and line parsing capabilities.

    We aim to provide compatibility with all AVR Mega & Tiny microcontrollers – adding support is a simple case of cloning an existing header and modifying as needed to mirror the hardware capabilities. We intially have support for the Atmega 168/328/1280 and Attiny 2313 microcontrollers, with more support planned as we acquire more hardware (Attiny 85 on the way!).

    We are moving towards complete Arduino runtime functionality, (currently we are missing tone() and pulseIn() replacements), but we do not provide the same API as our design goals are different. We plan at some point to have a porting guide up, and possibly a Perl script to massage an Arduino sketch into naked C with Arduino API calls replaced with equivalents to MHVlib.

    Our library is BSD licensed, so you are free to use it in commercial products as long as attribution is given.

    We welcome constructive criticism & feedback, so please check it out:

    http://www.makehackvoid.com/mhvlib

Sorry, the comment form is closed at this time.