problem with simple design that use optocoupler.

To resume my project I made a controller that activate a motor.

At first I was driving my relay directly from Arduino board. but this was a bad idea has relay use 73ma, way over the rating of the Arduino board.

Now that I busted my card I building another one but added an Optocoupler. Strangely even on a basic test I can't seem to activate the optocoupler.

I use an Arduino Duemilanove, a 470 ohms resistor, an optocoupler 4n35. The resistance should give around 8.5ma to the led. My Relay are goodsky rs-ss-105d

Here the simplest test I could have thanked and it still doesn't work. Even using multi-meter to test continuity doesn't seem to work between collector and emitter. I hope someone could explain me why it doesn't work.

Have you measured the voltage on the opto output (collector to GND) to see if it's working? (with a pullup resistor (say 10k) in place of the relay)

Most (all?) optos LOSE current because of the inefficient transfer of power using light, I doubt that will have enough grunt to drive a relay.

Why not just use a transistor?


simply because I had some optocoupler 4n35 available.

While I don't have fairchild model, Fairchild datasheet indicate they are rated at 100ma

Maybe they are not strong enough to activate the relay, maybe they are defective, maybe my design is not good.

If it became too complicated I will simply buy transistors.

Optos usually have a parameter called a Current Transfer Ratio (CTR) which is expressed in %. 40 or 50% is common but I've seen them as low as 20% meaning you put 10mA in you get 2mA out. Sometimes the range is huge 50-600% for a K817 for example.

I can't see that parameter on the 4n35 data sheet so I don't know what it is. Presumably you could calc it from the other parameters.

Anyway the best and simplest option is to buy a transistor.


Thanks for your help. will find a transistor instead, this will be simpler. I don't really need isolation from the optocoupler anyway.