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?
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).
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)
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.