So I'm using the an Arduino (Mega 2560) to control 9 little 12V solenoid valves (Gem Sensors) and my plan is to connect the Arduino to some small solid state relays (Broadcom Limited ASSR-1511-001E) which will be connected to a 12V power supply which will actually power the valves.

Anyway I am curious if I need to put any resistor or safety mechanisms between the Arduino and the SSR. Judging by the various data sheets it looks like I can directly connect the Arduino digital I/O pin to the SSR and just connect the 12V power supply straight to the SSR and have the solenoid valve connected to that circuit. The Arduino puts out 20 mA on the digital pins and the SSR can take up to 20 mA. Is there anything else I need to consider here?


1 Answer 1


The input forward voltage of the opto-isolator inside the SSR has a max voltage of 1.65V with a forward current of 5 mA.

This implies you should use a resistor to limit the current through the diode.

R = (Arduino_Output_Voltage - 1.65) / 0.005

Figure 9 of the SSR datasheet should also give you a feel that putting the Arduino's (relatively) large output voltage directly onto the opto-isolator will cause more than 20 mA to flow, violating the max input current.

  • \$\begingroup\$ Ah okay that makes sense. So at an output voltage of 5V, a 500 ohm resistor leading to 6.7mA should be pretty safe and not too low. Or is my math off somewhere? \$\endgroup\$
    – clifgray
    Mar 27, 2017 at 19:47
  • \$\begingroup\$ I think that should work in terms of the arduino to SSR interface. The exact numbers might fluctuate with temperature, but should keep working regardless. However, you also have to be cautious about the other side of the SSR: The SSR switch side has a max average current of 1.0 Amp (or 2.0 Amp if you use "ASSR-1511 Connection B"...whatever that is). I couldn't find a current spec for the solenoid valve. Do you have any way to verify that 12V across the solenoid valve generates less than 1.0 Amp? \$\endgroup\$ Mar 27, 2017 at 19:57
  • 1
    \$\begingroup\$ Also, you need to consider the maximum total current for the Arduino's DC/GND pins (electronics.stackexchange.com/questions/67092/…). There is a per-pin current limit, and a total current limit. I think you should be fine with 9 opto-isolators. It's typical for microcontroller pins to have a higher current-sink rating than current-source rating. \$\endgroup\$ Mar 27, 2017 at 20:01
  • \$\begingroup\$ Okay thanks for all the insight. I'll be using Connection B, which just means connecting Pin 4 to Pin 5 instead of Pin 4 to Pin 6 on the six pin SSR. And I think that the internal resistance on the solenoid is something around 25 which should put it around .6A so reasonably safe given the 2A limit. \$\endgroup\$
    – clifgray
    Mar 27, 2017 at 20:24
  • \$\begingroup\$ And then it looks like the total suggested current for the Mega 2560 is also 200mA so I should be safe with just the 9 valves pulling 6mA each. Thanks so much! \$\endgroup\$
    – clifgray
    Mar 27, 2017 at 20:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.