Author Topic: Review/comparison: Arduino Duemilanove and Arduino Uno  (Read 19663 times)

0 Members and 1 Guest are viewing this topic.

Online NiHaoMikeTopic starter

  • Super Contributor
  • ***
  • Posts: 9169
  • Country: us
  • "Don't turn it on - Take it apart!"
    • Facebook Page
Review/comparison: Arduino Duemilanove and Arduino Uno
« on: October 22, 2011, 02:00:55 am »
I got an Arduino Duemilanove last month or so (found it in the "free" bin in the university lab) and a friend of mine has an Arduino Uno that I had borrowed to debug a project. The two are really similar, but I felt that I should do a review/comparison anyways.

Differences:
* The only difference between the two is that the Duemilanove uses a FTDI USB chip while the Uno uses a second Atmel. Unless you need another Arduino or you're planning to do advanced USB hacking, no reason to upgrade.
* I had to recompile my kernel to use the Uno, but that's probably because I build my kernels like Tiffany Yep - really slimmed down.

Good:
* It's a very popular platform, so support is excellent and there are plenty of examples.
* IDE is very easy to use.
* Socketed chip can be replaced if accidentally damaged, but there is a big catch to be mentioned later.
* I/O headers accept common jumper wires.

Bad:
* Stock Arduino only runs the 20MHz-rated chip at 16MHz. Crystal cannot be replaced because the libraries expect a 16MHz clock.
* Design is very unfriendly for breadboarding. Bad design since it is very likely that an Arduino would be used with a breadboard.
* Nonstandard pin pitch is unfriendly for prefboard designs.
* Cannot program blank chip. Really limits usefulness of socket. Bootloader can be loaded using another Arduino or a serial hack, but no reason to not include functionality on the board itself. Really disappointing for a $30 board given the $4.30 MSP430 LaunchPad can program blank chips.
Cryptocurrency has taught me to love math and at the same time be baffled by it.

Cryptocurrency lesson 0: Altcoins and Bitcoin are not the same thing.
 

Online westfw

  • Super Contributor
  • ***
  • Posts: 4255
  • Country: us
Re: Review/comparison: Arduino Duemilanove and Arduino Uno
« Reply #1 on: October 22, 2011, 09:45:55 pm »
Quote
The only difference between the two is that the Duemilanove uses a FTDI USB chip while the Uno uses a second Atmel. Unless you need another Arduino or you're planning to do advanced USB hacking, no reason to upgrade.
Agreed.

You CAN run a 20MHz board.  You'll need a new bootloader, and you'll have to define it as a different type in the Arduino's configuration files to pass the frequency on to the compiler.  In any case, 20MHz vs 16MHz is seldom relevant...

Quote
Cannot program blank chip.
Your existing Arduino can program a blank chip in a breadboard or on a board with an ISP connector.  But yeah, it has occured to me that with the uno design, they could have put a full ISP programmer into the second AVR.  (at some cost in compatibility and complexity of the interconnection, though.)

But the LaunchPad is a subsidized board used as a marketing tool by a chip manufacturer, while the Arduino is an independent product whose $30 price tag allows it to be sold by retailers (MicroCenter, Radio Shack, Fry's, etc !)  You might as well complain that "in ones" price of a chip bought from digikey is "infintitely more" than the zero cost of free samples...  (now, Atmel could give away Arduino-clones in a similar manner, which would be an interesting move.  Though I'm not sure it would be good for Arduino to be undersold by a manufacturer, and manufacturers tend to be sensitive to that nuance...)

 

Offline amspire

  • Super Contributor
  • ***
  • Posts: 3802
  • Country: au
Re: Review/comparison: Arduino Duemilanove and Arduino Uno
« Reply #2 on: October 22, 2011, 10:31:48 pm »
.
* Design is very unfriendly for breadboarding. Bad design since it is very likely that an Arduino would be used with a breadboard.
* Nonstandard pin pitch is unfriendly for prefboard designs.


You breadboard on shields on the Arduino Duemilanove and Uno boards.

If you want to add an Ardunio to a breadboard or proto board, you would use a RBBB board instead ($13 assembled, $2 for the bare board, and about $8 if you source the parts yourself).  Why would you try and use the full Arduino at a cost of almost 3 times the price?

To connect to the computer, you use a modified Nokia CA-42 cable or similar ($2-$3 on ebay including postage), so the RBBB board does not need a USB chip. The RBBB board is compatible with the full sized Arduino boards, so you can use exactly the same programming.

The board is designed so you can cut off the parts you don't need. So if the breadboard supplies the 5V, you don't need the regulators on the RBBB.

You can get them from places like www.moderndevices.com

It looks like this kit comes with the ATMEGA168 processor, but you can use the ATMEGA328 instead.

Richard
« Last Edit: October 22, 2011, 10:40:25 pm by amspire »
 

Online NiHaoMikeTopic starter

  • Super Contributor
  • ***
  • Posts: 9169
  • Country: us
  • "Don't turn it on - Take it apart!"
    • Facebook Page
Re: Review/comparison: Arduino Duemilanove and Arduino Uno
« Reply #3 on: October 23, 2011, 04:31:41 am »
Quote
buy the AVR programmer. or should we port to MSP430? i think thats what MSP430 guys want.
There's no reason to not include bootloading capability given that it's possible to do it with the parts already on the board. Just add a set of jumpers to make the required connections, or use a FTDI adapter.
http://arduino.cc/forum/index.php/topic,75658.0.html
Quote
can you share your kernel with me?
It's for an old machine (Dell 1700) and probably won't run on anything else. It's quite easy to make a custom kernel that only includes what is really necessary. Actually, it's time to compile an updated kernel, but I'm going to hold off until senior design is over since I need the machine to work correctly for development.
Cryptocurrency has taught me to love math and at the same time be baffled by it.

Cryptocurrency lesson 0: Altcoins and Bitcoin are not the same thing.
 

Offline amspire

  • Super Contributor
  • ***
  • Posts: 3802
  • Country: au
Re: Review/comparison: Arduino Duemilanove and Arduino Uno
« Reply #4 on: October 23, 2011, 06:21:21 am »
Quote
buy the AVR programmer. or should we port to MSP430? i think thats what MSP430 guys want.
There's no reason to not include bootloading capability given that it's possible to do it with the parts already on the board. Just add a set of jumpers to make the required connections, or use a FTDI adapter.
http://arduino.cc/forum/index.php/topic,75658.0.html

Do you mean that if an Ardino had a 4 pole dip switch or 4 jumpers, it could switch between normal mode, and programming a totally blank chip?

Why didn't they add that then? That would be a great addition.

If it is that easy, then I have to agree with you that it is a negative mark for the Arduino's to leave that feature off.

Richard.
« Last Edit: October 23, 2011, 06:26:34 am by amspire »
 

Offline ejeffrey

  • Super Contributor
  • ***
  • Posts: 3842
  • Country: us
Re: Review/comparison: Arduino Duemilanove and Arduino Uno
« Reply #5 on: October 23, 2011, 10:58:44 am »
At least one claim I have heard is that they don't really want to enable direct ISP programming because it makes it much easier for users to brick their AVR (by setting the wrong fuses I guess).  Adding jumpers / DIP switches to toggle between ISP and bootloader programming seems unnecessarily complicated given that you can always buy the AVRISP or use one arduino to program another.

If all you are worried about is reprogramming the bootloader if you burn out a chip and have to replace it, Sparkfun sells replacement chips with the bootloader pre-programmed.  Socketed arduinos are going to be  going away eventually anyway.  They are already having trouble keeping the DIP packages in stock.  The surface mount packages are cheaper, smaller, and more readily available.
 

Offline mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 13874
  • Country: gb
    • Mike's Electric Stuff
Re: Review/comparison: Arduino Duemilanove and Arduino Uno
« Reply #6 on: October 23, 2011, 11:25:53 am »
At least one claim I have heard is that they don't really want to enable direct ISP programming because it makes it much easier for users to brick their AVR (by setting the wrong fuses I guess).  Adding jumpers / DIP switches to toggle between ISP and bootloader programming seems unnecessarily complicated given that you can always buy the AVRISP or use one arduino to program another.

If all you are worried about is reprogramming the bootloader if you burn out a chip and have to replace it, Sparkfun sells replacement chips with the bootloader pre-programmed.  Socketed arduinos are going to be  going away eventually anyway.  They are already having trouble keeping the DIP packages in stock.  The surface mount packages are cheaper, smaller, and more readily available.

I think it was really dumb that they didn't link pins from the USB chip on the Uno to the AVRs ISP pins - I can understand reasons for not using ISP as the default way of programming, but the ability to do thinks like program a new chip with a bootloader would have been a useful facility. Not breaking out some of the USB chip pins onto pads was also dumb, as it would allow the board to be used for developing code for teh USB chip, although ISTR  they did this on later versions.
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 

Offline amspire

  • Super Contributor
  • ***
  • Posts: 3802
  • Country: au
Re: Review/comparison: Arduino Duemilanove and Arduino Uno
« Reply #7 on: October 23, 2011, 01:00:52 pm »
I think it was really dumb that they didn't link pins from the USB chip on the Uno to the AVRs ISP pins - I can understand reasons for not using ISP as the default way of programming, but the ability to do thinks like program a new chip with a bootloader would have been a useful facility. Not breaking out some of the USB chip pins onto pads was also dumb, as it would allow the board to be used for developing code for teh USB chip, although ISTR  they did this on later versions.

At least my Arduino Deumilanove has the ICSP header.

So if you can drive that with a RS232 port rather then a dedicated ICSP programmer, then I should be able to modify one of my CA-42 Nokia USB to serial cables to add a ICSP header termination and then do full chip program with something like AVRDUDE.

I will have to try it. It would be a very cheap solution if it works.

Richard
 

Offline Bored@Work

  • Super Contributor
  • ***
  • Posts: 3932
  • Country: 00
Re: Review/comparison: Arduino Duemilanove and Arduino Uno
« Reply #8 on: October 23, 2011, 05:30:25 pm »
At least my Arduino Deumilanove has the ICSP header.

So if you can drive that with a RS232 port rather then a dedicated ICSP programmer, then I should be able to modify one of my CA-42 Nokia USB to serial cables to add a ICSP header termination and then do full chip program with something like AVRDUDE.

I will have to try it. It would be a very cheap solution if it works.

The latest avrdude has drivers for some few USB-RS232 chips, because timing wise a USB-RS232 adapter is different than a native RS232 connection. USB is a packet protocol introducing delays which in turn breaks the programming timing or at least makes programming very slow.

By the way, it is ISP, not ICSP. Using the term ICSP is one of the many things the Arduino designers got wrong. ICSP is Microchip's name for programming PICs. Atmel uses the term ISP for AVRs (and a bunch of others, for special AVR programming protocols).

If you need a reliable AVR ISP programmer, buy an original AVRISP MkII. Or, as a minimum, an ISP programmer with some own controller, not a dumb programming cable.
I delete PMs unread. If you have something to say, say it in public.
For all else: Profile->[Modify Profile]Buddies/Ignore List->Edit Ignore List
 

Offline amspire

  • Super Contributor
  • ***
  • Posts: 3802
  • Country: au
Re: Review/comparison: Arduino Duemilanove and Arduino Uno
« Reply #9 on: October 25, 2011, 04:17:22 am »
The latest avrdude has drivers for some few USB-RS232 chips, because timing wise a USB-RS232 adapter is different than a native RS232 connection. USB is a packet protocol introducing delays which in turn breaks the programming timing or at least makes programming very slow.


Thanks. That is very useful information. On one of the pages about building a very simple AVR programmer via a USB\rs232 interface, they mentioned a programming time of something like 20 minutes. I was wondering why it was so slow.

Richard
 

Online westfw

  • Super Contributor
  • ***
  • Posts: 4255
  • Country: us
Re: Review/comparison: Arduino Duemilanove and Arduino Uno
« Reply #10 on: October 26, 2011, 08:30:27 am »
Quote
I have heard is that they don't really want to enable direct ISP programming
In the 1.0 Arduino IDE release, SHIFT-[uploadButton] will do a device-programmer based upload, instead of the verbose upload you would have gotten in earlier versions (turning on verbose mode for compile or upload is now a setible option in the preferences dialog.)  So "they don't want" would seem to be a bit of an overstatement :-)
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf