relay troubleshooting notes

Why can’t I trigger my relay?

Ask QuestionAsked todayActive todayViewed 38 times01

I guess I should preface this with the fact that I’m definitely a beginner when it comes to electronics and circuit design/debugging. Thanks for the help!

I recently developed a circuit board for use with my Raspberry Pi 3 A+. The purpose of the board is to accept various inputs, but also toggle some relays (two solid state, and two regular). My current issue is that I can’t seem to turn relays C and D on. I’d hoping someone could help me find out where I went wrong.

Here’s a snippet of my schematic for reference: 

This is what I know so far:

  • All the outputs on the pi are working properly (I can see ~3.3v at R2 – R5 when I toggle the respective pins on).
  • All channels of the optocoupler are working properly (I can see ~5v at R6 – R9 when I toggle the respective pins on).
  • I’m unsure of exactly how to tell if a transistor is doing it’s job with a multimeter, but if I plug a resistor and led into J8 or J9 I can verify those channels are working as the led lights up when I toggle the respective pin on.
  • I can say it’s not the protection diode installed wrong, as removing it had no effect.
  • If I run a wire from GND to pin 2 of either of the relays, they click.

My best guess right now is that I chose the values for R6 – R9 incorrectly for the application. When picking the values for R2 – R5, I had a good reason (I chose a value that would ensure that even if all 4 channels of the optocoupler were on at once, I would exceed the RPi’s 50ma limit on the 3.3v rail). However, when designing the circuit, I couldn’t find any rationale as to why one would choose a resistor value to go in front of the base of a transistor. I also got extremely confused trying to decypher the datasheet for the MMBT3904. In the end, I just recycled a resistor value I was already using in the circuit.

Any ideas?


resistorsrelayraspberry-pischematicsopto-isolatorshareedit  follow  flagedited 2 hours agoasked 5 hours agoToms Jensen111 bronze badge New contributor

  • how are the grounds connected? – jsotola 3 hours ago
  • On my PCB, I filled all the area between the traces with a common ground plane. Everything marked GND is connected directly to that. – Toms Jensen 3 hours ago
  • Test if the relay portion is actually working (irrespective of your control circuit): take a short wire from ground and touch it to pin 2 of the relay. You should hear it click. – td127 2 hours ago
  • Clicking confirmed. – Toms Jensen 2 hours ago 
  • the relay power grounds are not separate from the RPi ground? … what’s the point of using opto-couplers then? – jsotola 2 hours ago
  • That was previously brought to my attention. I decided to keep the optocoupler to distance potentially noisy circuitry (120v AC) as much as I could from the digital portion. To be honest though, I’m unsure if that is grounded in reality or wishful thinking. – Toms Jensen 2 hours ago
  • @Toms Jensen, you design looks nice. I am writing up the draft version of my answer. It would be nice if you can make comments or counter suggestions as I go along. Have a nice project. Cheers. – tlfong01 46 mins ago   
  • You get a click, good – your relay is fine. So now, when you turn assert your on condition the transistor should be saturated and its collector voltage something like 0.3V. Do you see that? – td127 38 mins ago

add a comment

2 Answers



How come my relays C and D do not turn on?

relay 1



I read your design and found everything looking good. I will later look at the datasheets you referred and see if there are other complications.

But first thing first, I would suggest a couple troubleshooting tricks as summarized below.

Part A – Troubleshooting suggestions

A.1 Preparation for offline testing.

(a) Remove the 120VAC 1.5A load and put it aside. The reason is that when the relay switch is on, you should hear a click sound, and another click sound when switch is off.

In other words, there is no need to use the high voltage, heavy current load, especially if it is a big motor which generates EMI spikes and noises. If you like, you can use a LED in series with a 1k as the load and status indicator.

(b) Have you multi-meter ready to measure voltage in a range less than 5V.

(c) It would be nice if you have a NE555 timer module and set it to very roughly to 5Hz (Note 1) , 50% duty cycle to be used as input signal at T1. But this is not at all necessary. You can just use a jumper wire and by hand connect T1 to 0V (Ground) and 3V.

Note 1 – relay switch max frequency is roughly 10Hz, ie, it cannot toggle more than 10 times a second.

(d) …

/ to continue, …


(1) TCMT1600, TCMT4600, TCMT4606 Optocoupler, Phototransistor Output, AC Input, Single/Quad Channel (If abs max 60mA, opr 50mA, CTR (Ic/If) @Vcc 5V, If 5mA = 80% min)) – Vishay Semi 2015jul21

(2) MMBT3904 40V NPN Small Signal Transistor (Ic abs max 200mA) – Diodes

(3) 1N4148WS General Purpost (If 300mA cont)Fast Switching Diode – SMC

(4) SRD 03/05/06/09/12/24/48VDC Relay Datasheet – Songle

(5) How to use a JD-Vcc Relay? – tlfong01, EE SE 2020jun13

/ to continue, …


Appendix A – Relay, Optocoupler Sample Specifications

songle relay
songle realy hysteresis
optocoupler spec

Appendix C – Sample Optocoupler High Level Triggerable Relay Module

opto high trig example

shareeditdeleteflagedited 5 mins agoanswered 48 mins agotlfong0169044 silver badges77 bronze badgesadd a comment0

What is the resistance of the coil on the relay? if it’s low, your connecting +5v to ground thru the 3904 transistor. What does the +5v do when the relay is enabled?shareedit  follow  flag answered 2 hours agouser2625671 New contributor

add a comment


Categories: Uncategorized

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.