Arduino Uno and its USB

For those of you who are totally out of the DIY electronics scene, the guys of the Arduino Team have just released a new version of the Arduino microcontroller called the Uno.  The Uno’s main claim to fame over its predecessor, the Duemilanove, is the new USB to serial chip used for programming and communicating with the Arduino’s ATMega328.  The Duemilanove, its predecessors, and the many and varied Arduino clones, all used the FTDI USB to serial chip for programming and communications between the computer and the microcontroller.  About the only thing the FTDI had going for it was its ease of implementation and its free drivers.  The new Uno instead uses a small Atmel microcontroller with built-in USB capabilities to serve as a translator between USB and serial.  That chip, the ATMega8U2, is causing a lot of buzz amongst the Arduino crowd because it, like the ATMega328 it programs, is programmable itself.  By shorting out a jumper on the bottom of the board, the user can program the ATMega8U2 to act as a completely different USB device.  The Arduino can now communicate with a host computer in new and exciting ways, able to emmulate a mouse or keyboard, or able to act as a MIDI device.  This opens up new possibilities for Arduino projects, like random password generators or musical instrunments, with a much lower investment and smaller bill of materials.  The fact that the ATMega8U2 requires no drivers and supports faster serial speeds than the FTDI is just icing on the cake.

Unfortunately, as pointed out on the Arduino forums, manufacturers of Arduino clones will have some difficulty in implementing the new ATMega8U2.  Universal Serial Bus, or USB, utilizes a device identification scheme that relies on two six digit hexadecimal numbers, a vendor ID (VID) and a product ID (PID), to identify the device in question.  The VID identifies the manufacturer of the device, the PID identifies the device type, and a manufacturer’s serial number identifies the instance of the device, so that if multiple devices of the same type are plugged in, the computer can tell the difference between them.  Each unique VID comes with a little over 56,000 PIDs.  The problem is that VIDs are not cheap.  VID numbers are assigned by the USB Implementers Forum, or USB-IF, a non-profit organization made up mostly of the original developers of the USB standard.  They are responsible for the assignment of VIDs.  They don’t just give away VIDs to everyone who asks.  A single VID costs about $2,000 (that does not include licensing fees) and are only sold to legitimate corporations, not individuals or groups of individuals.  This means that for garage salesmen like myself, the cost of developing and selling USB hardware is prohibitively high.  Since the majority of Arduino clones are built by fellow garage salesmen, these clones are unlikely to ever benefit from the use of the ATMega8U2.

Does this bother me?  A little.  It means that my idea to build and sell a new serial adapter based on the ATMega8U2 for Arduino clones that lack the USB to serial chip, like Sparkfun’s Arduino Pro or Modern Device’s Really Bare Bones Board, is very much impossible at this time.  However, I can still build such a device for my own personal use and distribute the source material freely.  I could easily use the Arduino Team’s VID and the Arduino Uno PID to ensure compatibility, and so long as I made no attempt to mass produce my design, nobody would mind.  This only really affects the end user who may not be savvy enough to build and program their own adapter.  Even then, it is only a matter of time for Sparkfun or another semi-large do-it-yourself electronics company to buy a VID and get to producing these new adapters.

So, about those worry warts out on the Arduino forum that say this move is making the Arduino more closed than open: horse hockey.  The design remains as open as ever, and you are free to do as you will.  The only difference now is that it is a little more difficult to sell one particular part of the new Arduino design.  If you have a great product idea that implements the Uno’s ATMega8U2, but don’t have the cash to buy a VID, partner up with another open-source company that already has one.

Categories: Thoughts

BBA Board Ready for Fabrication

Revised BBA Layout 9/20/10

Revised Bare Bones Amplifier

I had some free time this afternoon and was able to adjust my layout for the MAKE Bare Bones Amplifier.  The only real modifications I made was the removal of the ground plane in favor of a star ground connection and the re-maneuvering of a few parts to try to get the ground lines a little shorter.  Coincidentally, I will be sending out the fabrication files this evening to BatchPCB, a low-volume printed circuit board fabrication company.  With any luck, I should have the board in a week or two, ready to be populated.  If all goes well, I should have a working stereo again by the end of October.  As usual, stay tuned for future updates.

You can find a copy of the revised board and other BBA resources here.

In other news, you may have noticed that there is currently a single item for sale in the For Sale area of this site.  I finally finished up the last of the ArduinoBoys I had lying around on Friday and put them up for sale early Saturday morning.  Out of the initial 15 for sale, there is but one left.  This lone ArduinoBoy will be the last one I will be selling for some time, as I currently do not have the time in which to build anymore.  If you have been looking to buy an ArduinoBoy from me, this may be your last chance.

Categories: For Sale,Projects