3D Robotics

The Future of Arduino

A week ago I spent a day with the Arduino team in and around Milan (production lead Gianluca Martino at left above, with raw Arduino PCBs coming off the fab). Here's a quick report.

First, we talked a lot about the Punto Uno ("Version 1.0") release. It's kinda incredible that Arduino is still described as Alpha software and stuck in decimal versions after all these years. Well, no more. In September, it will finally be released in a 1.0 version. Here's a post that describes the main changes, which are mostly just cleaning it up a bit. Main changes 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)."
Also note that other teams are improving library functions. One of those that has caused us trouble is the serial output (Serial.println()) slows processing dramatically. This team is rewriting the I/O functions to be interrupt-driven across the board, which should speed everything up.

The team has shipped 150,000 Arduino boards so far. Other Arduino-compatible vendors have shipped at least another 50,000, so there are more than 200,000 Arduino boards out there already.

There are plans for a new board this fall, but I'm not allowed to discuss the details and than to say that the changes are mostly around ease of use and flexibility, not performance. There is also a roadmap to make Arduino code and the IDE compatible with MUCH more powerful boards, but these are also not public yet.

The two main thrusts as Arduino professionalizes is ubiquity (getting to a million units through ease of use and becoming part of mainstream education) and supporting an ecosystem of Arduino-based products, such as our own. My own ask: a debugger. That's been discussed and may happen.

Here are some pictures from my trip:

Massimo Banzi


Four pick-and-place machines work all day making Arduino boards in a small factory in the farm country between Milan and Turin, in the small electronics company cluster that's around the old Olivetti factory. Most of these companies used to be suppliers for Olivetti, but when it went out of the PC business and was sold to Telecom Italia, they became more entrepreneurial electronics firms. Now they are bringing high-tech electronics manufacturing back from China.


These women load the bootloader and run the tests.


She packs boards


We're not in Kansas anymore! The Arduino factory's squat toilet.


The PCBs are fabbed in another small factory down the road from the Arduino factory.


The boards are dipped in chemicals to remove the resist


Lots of stirring to get the chemicals to etch the board correctly


The slowest and most expensive part of the PCB process is drilling the vias.


This is the design shop where the next-gen Arduino boards are being developed.



E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • @John, check out the Teensy. Arduino compatible with a real USB interface. Cheap too!
  • Check out the drilling operation, it looks like the stack of boards is 'fanning'! I guess it doesn't matter for via's as long as they are completely in the trace somewhere?
  • 3D Robotics
    @bGatti. Good points, and the Arduino team understands this. Please just wait a couple more months...
  • @Chris, @John,
    I have stayed tuned a lot.
    My current plan is to play with Arduino, and Implement product on a Freescale Board due to Also free USB Stack.

    Serial was yesterday - yesterday.

    The problem with Serial, is that you cannot reliably give a product to someone else and expect it to run (in my opinion.
    The problem with serial is that "polling" serial ports looking for your device locks up the OS if the device is not there, or involves timeouts etc.
    The problems with Serial go on and on. (Some of which could be overcome perhaps, but what's the point of learning serial hacks?)
    At some level I feel like Massimo is taking advantage of the ignorance of Newbies by peddling an inferior platform. (And then I calm myself by saying yes, but a lot of people get an introduction to mcu), and then I remember that the serial connection is slower than the cpu, which handicaps say imaging applications , and I get upset again..
    Ok Staying tuned, taking a breath...

    Also, Can we get Software Pseudo PWM - Like Basic Stamp?
    http://lot.My/
  • 3D Robotics
    @John. Even better, I think you'll find that the surface is actually a ping-pong table!
  • Hey, what's wrong with the 80's (besides hyperinflation and Microsoft instead of Digital Research)?!?
  • Gotta respect the Horizontal Filing System! Looks like hell but you can't lose anything (for very long)!
  • Nice post. Though most of it seems more like the current state of Arduino, rather than the future :)
  • 3D Robotics
    @John. Stay tuned ;-)
  • Developer
    No news about supporting a Atmel chip with USB interface? Serial is just so 1980's man! :)
This reply was deleted.