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.
WTF?
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.