I just picked up a Sparkfun Arduino Pro Mini board for a project. It’s a really nice really compact board with almost all of the pins broken out on it. If you already own a Duemilanove you can easily program it using the Arduino software, just pull the Atmega chip off the Duemilanove and then using the shortest side of the board’s contacts, wire:
reset – grn
blank – blk
The words grn and blk are silkscreened on the board to denote which pins are which. You could of course use a RS232->TLL converter to program this as well, but using the Duemilanove is really convenient as it pulls the reset pin low for you.
On the topic of this Pro Mini board, I had a few e-mails back and forth with Sparkfun trying to figure out what the actual maximum input voltage for the board is, Sparkfun’s Website lists it at 12VDC max, the EagleCAD schematics list it as 16VDC, and the datasheet for the voltage regulator list it as operational maximum 16VDC, with an absolute maximum of +/-20VDC before damage occurs.
Also noted is that the oscillator on this board is absolute crap, I have a timing critical application that I intended to use this board on, using a stopwatch and a Duemilanove and this board, both running identical software and hardware configurations:
15hours 37 minutes elapses, the Duemilanove is exactly in sync with the stopwatch still, the Pro Mini has gained 1 minute and 1 second. I ran this test several more times with identical results, the stop watch and the Duemilanove are in sync, with the Pro Mini gaining time each time, always about 20 second per 5 hours elapsed time, which is not acceptable in my application.
I swapped the Sparkfun crystal/resonator for one of my own resonators and ended up with the same crappy timing. I finally switched out the resonator for a crystal and a pair of capacitors tied to ground and was able to clean up the timing mostly, it’s still gaining a second for every 40 minutes it runs for, it was previously 15 so it’s improved, but not ideal. I’m going to ditch using the Sparkfun board for my own layout on the next iteration.