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?


Edit: @Mike I'm using this relay board: enter image description here 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: pcb 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.


closed as unclear what you're asking by Olin Lathrop, Voltage Spike, DoxyLover, Dmitry Grigoryev, ThreePhaseEel Jan 14 '17 at 2:30

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 5
    \$\begingroup\$ Please post a schematic. Also provide more detail about the relay board, does it include drivers ? \$\endgroup\$ – Mike Jan 10 '17 at 5:22
  • \$\begingroup\$ What value pull-up do you have on the I2C bus and how long is it? What drives the I2C bus? \$\endgroup\$ – Andy aka Jan 10 '17 at 8:28
  • \$\begingroup\$ i.stack.imgur.com/8hntT.jpg i.stack.imgur.com/pz1L7.jpg \$\endgroup\$ – Yind Jan 10 '17 at 11:43
  • \$\begingroup\$ No, I'm not going to look up what a MCP23017 is just to answer a question here. \$\endgroup\$ – Olin Lathrop Jan 10 '17 at 11:50
  • 2
    \$\begingroup\$ I think this is probably part of the explanation, then. Building a circuit that you don't have the schematic for, and that you don't really know how it works easily leads to mistakes, and you can't troubleshoot since, once again, you don't know how it works. And we can't really help you find out the root cause, in that case. Take the time to understand the circuit, first. If there are things you don't understand, ask here (with a proper schematic). After this, you'll be able to troubleshoot. \$\endgroup\$ – dim Jan 10 '17 at 12:30

After a lot of tries I found the problem.

It seems that a 10k resistor has to be place in the !RESET pin. So I put the resistor there and know it behaves as it shoulds.



Not the answer you're looking for? Browse other questions tagged or ask your own question.