First post here, I’m tagging it as hardware because I honestly don’t know if that’s a software issue.


I was trying to running the simplest of the code here to toggle a GPIO on and off. this was supposed to activate a relay. We have a Keensy relay.

According to the manufacturer, this relay can be activated either at a low or high level. This selection can be done by a jumper.

We perform a few tests first by setting the proper activation mode and trying to trigger it with a jumper cable on GND (for low level) and 3.3v (3v3 pin and high level).

Both methods worked just fine. when trying on the board though, by connecting it with the GPIO’s, no success.

I tried to inspect the voltage levels on the A7/A5/A4 pins using a multimeter, and they remain constant either on 3.3v or on 0v.

I’m suspecting the GPIO’s are not working. Maybe I’m missing something on this Evaluation Board? maybe a jumper I’m supposed to connect to make the GPIO’s work properly as an output or maybe a switch I’m not aware of?

I must confess I’m a bit afraid I might have fried the GPIO’s somehow, but I don’t think that is the case here because I’ve only used the board for this specific project and the Relays are supposed to isolate the board, not allowing any voltage to fall back into the GPIO’s so I cant see how the board my get damaged as well.

Anyone has any idea/solution or point of view I’m might be missing here?

Thank you very much in advance.

What is the RGB LED doing?

Hello @ScruffR, First of all, Thank you for the fast response.

The RGB LED seems to be doing fine, breathing CYAN as usual. Code is running, we have confirmation on Serial Monitor and Event log as well.

Since the trigger current is given as 5mA at 5V it could well be that the GPIOs on the B-Series are not capable of driving enough current to make it switch at 3.3V.
The Electron’s max current on a 3.3V GPIO is about double that of the B-Series so that’s not a fair comparison and when the rated trigger voltage is 5V you cannot assume that 3.3V will always work on the Electron either.

My take would be to either opt for a different relays or add a transistor to switch a higher voltage and boost the current.

A simple test to check whether the code works as such would be to replace the relays with LEDs (including current limiting resistor).

1 Like

could you show us some pic how did you wired up everything together ? will be easier for T/S.
also this is yours entire test code ?

void loop() {
    digitalWrite(A5, HIGH);
    digitalWrite(A4, HIGH);
    digitalWrite(A5, LOW);
    digitalWrite(A4, LOW);

if you have just one delay(10000) after A5,A4 goes High probably you not gonna even notice the Low state as is too fast (just spark and then back to High state)

1 Like

High @dreamER , Agree! I’m adding the delay at the bottom and will test it out!

Hi @ScruffR, I’m powering the Relay’s Board with the VBUS. to deliver 5v.

I get the “you can not always trust the activation with 3.3v” but this specific board can also be activated with a low logic level, so our original plan was to either use the GND do perform the activation or to use a level shifter in case this does not work.

the GPIO’s are working, we just tested out. I guess yes it was a software issue because @dreamER solution just worked.

@dreamER thanks A bunch, I own you a coffee! bill me!

I’m truly ashamed of this little issue, I guess I was changing the status of the GPIO way too fast.

sorry to waste your guys time.

1 Like

glad to hear that :slight_smile:
No worries I’m always here to help if I can :wink:
if you would like to get me a coffee I always accepting some IOTA’s :stuck_out_tongue_winking_eye:


I’ve earned it. Let me just learn how to properly use IOTA’s.

and my pleasure and honor to buy you this coffee!