I picked up a Parallax BOE-Bot some time ago. This is an old system with a serial port. It is a great little bot. Except for the micro controller.
This came with a Parallax Basic Stamp 2. It is a very old micro-controller board kind of like an Arduino. It has a PIC micro-controller loaded with a BASIC interpreter.
It it's day, it was a truly wonderful little board. But by todays standards it isn't very good. If you would like an good overview of the BS2 and how it compares to an Arduio, please have a look at this old blog entry at the todbot blog. Arduino, the Basic Stamp Killer
I decided I wanted to use this robot with a Arduino. It turns out that the Arduino Pro Mini (5V / 16Mhz) board from Sparkfun is a drop in replacement for the Basic Stamp 2.
So I loaded up the LED blink program into the Pro, plugged it into the BS2 socket and applied power. No smoke. LED go blinky. YAY. All is right in the world.
So lets see if I can get one of the stepper motors to move. I write the code, compile, plug in my FTDI USB to Serial adapter and hit upload.
Hmmmm. No luck. I'm getting an error message. I pull the Pro out and try again. Upload works.
The first thing I did was grab the schematics on both the BS2 and the Arduno Pro Mini. After a few moment of searching I find that the pinout of the two boards are NOT the same. Almost.
On the Pro Mini, pins JP7-10 and JP6-3 are listed as RESET. They are connected together physically on the board. On the Basic Stamp 2, these are listed as ATN (pin 3) and RES (pin 22). A quick check with a continuity tester shows that these pins are not connected. Weird.
I take a quick look and the ATN signal is connected to pin 4 of the RS-232 plug. That is DRT. But I'm not hooked up to that port. Then I see it. There are two 0.1uf caps between DTR line and ground.
When the Arduino Pro Mini is plugged into the socket, the reset line is now tied between two caps. That slows down the reset rise time. Just long enough for the Avrdude to fail when trying to reset the board.
I cut the ATN pin trace on the backside of the BOE board. Plugged in the Pro and tried programming it. Everything works.
Here is a picture showing the trace I cut.
Lesson learned. Drop in replacements aren't always drop in.