I'm most concerned bout my expectations around the current through the coil/transistor. I need 13mA minimum to activate the coil. I should be fine with 20mA, but I need to make sure I'm at least in the ballpark.
The relay data sheet says 5V and 208 Ohms. It doesn't say anything about current requirements so I called them and the guy told me it needs 13mA to operate.
By my reckoning, 5V through 208 Ohms results in about 25mA not 13mA. Perhaps that reply meant that the relay can be operated at a lower voltage than the nominal 5V. If it really only needs around 15 - 25mA, you could conceivably drive it directly from the Arduino as long as you have the flyback diode.
My original design drove and optocoupler directly from pin 4 of an Atmega328P (Arduino UNO). For some reason I could only get 13mA out of the Atmega chip (see http://arduino.cc/forum/index.php/topic,90600.0.html) when the pin was HIGH. Since the opto I was using had a CTR of 50%, this wasn't nearly enough to operate the relay. Try as I might, I just couldn't figure out the low-output current (i.e. 13mA on pin 4) problem so I decided to use a transistor approach and eliminate the opto completely based on comments from members of this forum. With a transistor I only need a couple of mA out of pin 4 to drive the coil at 20mA.
This does feel like putting a bandaid over the real problem, but I am otherwise stumped.
-Mitch
PS Keep in my that I'm no longer using an UNO. I have migrated to my own board design based on an Atmega328.
OK, that does make sense. I don't know what the impedance characteristics of the Arduino output pins are, but you can't assume they can supply max voltage and max current at the same time. If they won't supply enough power to operate the relay, that isn't an option. In any case driving the relay via a transistor is the correct solution. It is more or less safe to assume that the chip won't drive any mechanical devices directly, but the current you were quoting seemed so low that I just had to ask the question.