5V 30A relay won't work on ESP8266

i have already built a system that take a swipe action and checks with a central server and grant or denys access to power via a relay. All working on 10A 3V relays, multiple installations, all fine and dandy.

I am using esp8266 arduino to control this, 3.3v for the swipe sensor and for the 10A relay.

I am trying to use 5V 30A relays (spec SLA-05VDC-SL-C) to up the amperage but they will not respond.

I have check the wiring rig, all good, connection all the way through. The DC current is about 1.8V on the signal wire when enabled.

So, are the jumpers mis-set? I can find no documentation on these.

Do the LEDs provide any userful information? I get red at the top and green at the bottom no matter what goes on.

I am switching 240V AC so don't want to poke around the relay while it is live.

Attached is a screenshot of the rig, using D0 for the signal (same port as used for 10A 3V). Also attached the basic testing code used.

Does D0 provide enough current to pull down the relay? I have tested 2 different relays and neither work so not likely to be hardware. I have also used this cabling connection on existing boxes with 30A 5V, so i know it should work.

What is missing here?

const int ledRed = D0;
#include <SPI.h>
#include <MFRC522.h>
#include <Wire.h>
#include <ESP8266WiFi.h>

void setup()					// Runs once when sketch starts
{
   Serial.begin(9600);
  pinMode(ledRed, OUTPUT);				// Setting the LED pin as an output
  digitalWrite(ledRed, HIGH);

}

void loop()					// Runs repeatedly
{
  Serial.println();
  Serial.print("Ready up");
  digitalWrite(ledRed, HIGH);			// Turning the LED on
  delay(5000);              			// Waiting 1 second
  Serial.print("Ready mid");
  digitalWrite(ledRed, LOW);    			// Turning the LED off

Serial.print("Ready down");
}


When I see mistakes like this I worry that the poster does not know what they are doing

1.8V is not a current, it is a voltage

What is the operating voltage of the relay rather than the voltage that it can switch and what is the current required to operate it rather than the current that it can switch ?

voltage, not current - a typo, it's late in the day for me here.

operating voltage is 5V, I can confirm via multimeter that is the voltage being served up from the arduino. Current that it can switch is 30A.

If the Arduino is providing 5V but the voltage across the relay coil is 1.8V then that suggests to me that the relay is trying to take current from the Arduino pin that it cannot provide, hence the voltage drop

As the ESP8266 is a 3.3V device I find it unlikely that it is "serving up" 5V

Please tell us

It’s hard to see how you’re powering the relay module.
Can you draw out a schematic and detail of the supply and relay module.
What are the screw terminals on the left labelled?

The connections on the left of the relay are (from top to bottom)
DC+ -> 5V pin (Red cable)
DC- -> G (Black Cable)
IN -> D0 (Green Cable)

tested and reporting 5V. ok it's a "WEMOS D1 Mini ESP8266", see attached promo image bottom right show pin labelled "5V'.
mini

That is all very well, but what voltage are you getting on the relay input pin and, once again

That's what I am hoping someone here can tell me.

Multimeter - black to red wire = 5V DC
Multimeter - black to green wire = 1.85V DC when active. I assume this is the relay input pin you refer to?

Please post a link to where you got the relay module

aliexpress. definitely selected the 5V one, seems to have jumper values down the bottom. I can confirm I am using the high level trigger.
https://www.aliexpress.com/item/1005001500357612.html?src=google

image

I dont understand the specs; and like Bob I'd be suspicious of a spec that quotes Trigger power in volts.

Many of the ESP8266 pins have several functions and D0 is one of them.
Try using D1
Also your code is wrong. The relay is low level triggered to swap HIGH and LOW

  Serial.print("Ready up");
  digitalWrite(ledRed, LOW);			// Turning the LED on
  delay(2000);              			// Waiting 1 second
  Serial.print("Ready mid");
  digitalWrite(ledRed, HIGH);
  delay(2000);

jim-p I thought the relay jumpers on were on H to configure the reaction for High current? And even though it was swapped around, it should also give some reaction to the Low signal. Right now I get nothing in either state.

Set it to LOW, change to D1 and change the code like I show.
If it does not work then we can do further debugging.

OK that seems to have worked. Thank you for that. Curious why the low and high can't be switched around tho - any pointers?

Thanks to all concerned. Ian

FYI converted back to D0 port and it also worked.

Even though it works, operating a 5V relay using a 3.3V control signal may eventually damage the Wemos.