I'm having a problem with a circuit I'm building.
I have connected a MCP23017 to a Odroid C1 via I2C with a level converter. And the MCP23017 is connected to a 8 channel relay board.
The thing is that if I activate each channel independently it works just fine, I put a timer to set 1 on 1 on and off and it works.
But if I do the same thing without setting off the previous one, after a random time it start to turn on and off relays that are not correct, it's like the MCP23017 goes crazy, so if I restart the application it will work fine again until the same happens.
It's like when the relay board is consuming more power the MCP23017 goes crazy.. I tried putting a 47uF capacitor in the MCP23017 VDD-GND pins but it didn't fix it.
Any ideas in what can be causing the issue?
Thanks.
Edit:
@Mike I'm using this relay board:
This Odroid C1
This level converter to match de 3v3 I2C on the Odroid with the 5V on the MCP23017: Image in comments I cant attach anymore
I'm using an external power reguled to 5V by this: Image in comments I cant attach anymore
And of course the MCP23017.
I have connected the GPB pins of the MCP23017 to the pins in the Relay board.
Here is the PCB I built for this:
It has a lot of other components, but the one I'm trying to use now is the MCP23017-1, Relay-board 1, Level-Converter, DC-Regulator, and the Odroid connector.
The idea is to control multiples things with this. But I'm having trouble with the relay board in that way.
If the sequence is with one on one, it works without a glitch, if I start turning on a few at a time it goes crazy.
The relay board works with GND on the channels, so if I set the pin to 1 it turns off, if I set it to 0 it turns on.