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:
- 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:
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.