I have a microcontroller driving a solid-state relay to switch an LED lightbulb (the household type).

EDIT: added circuit (maybe it addresses Andy aka's comment?). PB0 is the bit 0 of output port B of the microcontroller (AVR tiny25)


simulate this circuit – Schematic created using CircuitLab


Related to winny's comment/solution --- since I can't (in general) connect a resistor in parallel to a lightbulb (it would require hacking into the lamp or fixture), I could take advantage of the fact that GND (household GND) and N (neutral) are connected, and place those two resistors (only one is necessary, but placing two makes the contacts of the SSR output interchangeable). Does this work?

--- END OF EDIT ---

I thought zero-crossing was a good idea, so I'm using the IXYS CPC1965Y. It's not working: when I switch it on, the lightbulb gives out a flash (like a photographic camera flash) every 3 or 3.5 seconds.

It's not the circuit --- I replace the LED lightbulb with an incandescent lightbulb and it works perfectly ok. Also, a curious detail is that I first had gotten the CPC1976Y (2A, instead of 1A) and tried with that one, and it was working ok. (then, digikey ran out of stock, so I got the 1965Y assuming that functionality would be identical)

The manual (both the 1965Y and the 1976Y) talks about low power factor; specifically, it lists 0.25 as the PF required for guaranteed turn-on, and a footnote says: "snubber circuits may be required at low power factors". However, it does not say anything about what the snubber circuit should look like.

I think the notion of PF would not apply to an LED lightbulb in the strict sense, since it is non-linear; but I guess the issue for the SSR is the same.

Will I really need to switch to a non-ZC SSR? (they're more expensive, surprisingly enough :-( )

Any suggestions on how to make it work with the ZC SSR?


  • \$\begingroup\$ Is your circuit the industry standard one? \$\endgroup\$
    – Andy aka
    Commented Oct 27, 2016 at 14:17
  • 1
    \$\begingroup\$ Several similarities to electronics.stackexchange.com/questions/263966/…, but your bulb seems to have UVLO protection, hence the difference in frequency. Does it help at add load in paralell to satisfy the minimum holding current? \$\endgroup\$
    – winny
    Commented Oct 27, 2016 at 14:35
  • \$\begingroup\$ @Andyaka: not sure whether you're asking about my circuit or the circuit inside the LED lightbulb --- I edited my post to add the schematic of what I did. \$\endgroup\$
    – Cal-linux
    Commented Oct 27, 2016 at 15:24
  • \$\begingroup\$ Ah that's better. \$\endgroup\$
    – Andy aka
    Commented Oct 27, 2016 at 16:27
  • \$\begingroup\$ @winny: yes, it does work. Though the datasheet specifies a minimum load current of 5mA, with as much as a 200k resistor in parallel with the lightbulb, it works --- the microcontroller turns on and off the lightbulb. \$\endgroup\$
    – Cal-linux
    Commented Oct 27, 2016 at 16:30

1 Answer 1


Snubbers are generally capacitors in series with a resistor ( which absorbes the transient energy) You could try a 240V ac X rated 0.47uF capacitor in series witha 47 ohm 1/2 watt resistor across the LED just to see if that makes a difference. Remeber PF is is defined not only a function of displacement between voltage and current ( as per an inductive or capacitive loads ) but also of harmonic origin, as per non linear devices. For the LED the distortion may occur around the zero crossing point of the AC waveform due to the LEDs V/I characteristic below a few volts - thinking maybe that is the reason for that type of zero crossing SSR not triggering reliably ? The capacitor / resistor combination will provide an element of inphase current / voltage which will help trigger the SSR reliably.


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.