User Tools

Site Tools


arduino:unofaq

This is an old revision of the document!


There's so many Arduino's out there, it may get a little confusing. We wanted to clarify for people some of the changes in the new version

Arduino Timeline

But first…some history!

First there was the serial Arduino (whats the name of it?) with RS232 which was not used outside of the Arduino team & friends.

The first popularly manufactured Arduino was called the NG (New Generation, like Star Trek, yknow?) The NG used the Atmega8 chip running at 16 MHz and an FT232 chip for the USB interface. The bootloader takes up 2KB of space and runs at 19200 baud

The next version was the Diecimila. The Diecimila updated the chip from the Atmega8 to the Atmega168. The great thing here is double the space and memory (16K instead of 8K). It still ran at 16MHz. The Diecimila also added two extra header pins for 3.3V (from the FTDI chip) and the reset pin which can be handy when a shield is covering up the Reset button. The bootloader takes up 2KB of space and runs at 19200 baud

In 2009, the Duemilanove was released. This one also upgraded the chip again, to the Atmega328. Yet another doubling of space and memory! Another upgrade is now the power is automagically switched between USB and DC-jack which removed the previous jumper. This makes it easier and faster to move from programming to standalone and got rid of some confusion. The bootloader takes up 2KB of space and runs at 57600 baud

New USB chip

So! All of the older Arduinos (NG, Diecimila and Duemilanove) have used an FTDI chip (the FT232RL) to convert the TTL serial from the Arduino chip (Atmel ATmega). This allows for printable debugging, connecting to software like PureData/Max, Processing, Python, etc. etc. It also allows updating the firmware via the serial bootloader.

The good news about the FT232RL has royalty-free drivers and pretty much just works. The bad news is that it can -only- act as a USB/Serial port. It can't act like a keyboard, mouse, disk drive, MIDI device, etc.

The Uno has changed that by exchanging the FT232RL chip with an atmega8u2 chip. There are a few things that are possible with this new chip but before we discuss that lets make it clear that by default, this chip acts identically to the FTDI chip that it replaces. It's just a USB-serial port!

One improvement in updating the chip is that, previously, Mac users needed to install FTDI drivers. The 8u2 imitates a 'generic' CDC serial device. So now, Mac users do not have to install a driver. Windows users still need to install the .INF file but luckily there are no drivers. This means there will be fewer problems with new versions of windows. There is no way to have a serial USB device that doesn't require an INF file in windows, sadly :(

The big thing that is nice about the 8u2 is that advanced users can turn it into a different kind of USB device. For example it can act like a keyboard or mouse. Or a disk driver. Or a MIDI interface, etc. Right now there are no examples of how to do this, but we hope to shortly.

The 8u2 can be programmed by soldering a 6-pin ISP header and using a standard AVR programmer. You can also use the bootloader (DFU) in the 8u2 by soldering the jumper right underneath the board. Again, we don't have any examples or tutorials but hope to shortly.

The code for the 8u2 is based on LUFA, Dean Cameras totally awesome USB-AVR library that has great examples and documentation. Its also completely open source.

And, finally, going with the 8u2 reduced the price of the board which made up for some of the other extras.

Why is the Arduino chip running at 16MHz when it can run at 20MHz?

This is a common question. The reason is that the first Arduino used the Atmega8 which could not run faster than 16Mhz. As the chip has been upgraded they wanted to make the boards speed compatible. Arduino is also not really intended for fast-processing (its only 8-bit anyways) so the chips are running at 16MHz

/home/ladyada/public_html/wiki/data/attic/arduino/unofaq.1285622984.txt.gz · Last modified: 2016/01/28 18:05 (external edit)