I am designing a relay driver using NodeMCU and need additional IO Ports, therefore I have designed a schematic utilizing MCP23017.enter image description here

I think the schematic looks good, however before I order PCB's based on this, I would request a review of the logic by experts.

  1. I want to use GPB0-7 as GPIO INPUT mode, therefore using 10K pull down resistor.
  2. MCP23017 reset pin is connected to VCC.
  3. MCP23017 INTA, INTB pins are left unconnected.
  4. DHT11 data pin is connected to VCC via 5K.
  5. General observations if any.

Thank you for your valuable time to go through and giving your feedback. Thanks a ton. :)

  • \$\begingroup\$ I have a lot of feedback. This schematic is okay certainly but it is messy. I think you can use some net tags so that you don't have wires going everywhere. How are you guaranteeing that your I2C won't tristate? Why is the reset at U7 not switchable? I don't think you've designed your power regulator correctly on U2. Why did you effectively short VCC to DATA at U8? You're using U2 to power so many things I don't think you can really do what you're trying to do. I don't think you're using K1 to K4 properly either. I think there a lot more stuff but that's just first glance. \$\endgroup\$ – user103380 Jan 15 '20 at 17:26
  • \$\begingroup\$ @KingDuken Thanks for the feedback, here is my response to power rating design for U2. HLK-PM05 is rated for 5V/3W which is equivalent to 600ma. We have 4 relays, consuming 75ma * 3, which is 225ma. Node MCU -> Peak 200ma during boot MCP 23017 -> Max 150 ma. So the total is 575 ma. I might be completely off with my calculations but this is the basis on which i selected HLK-PM05. \$\endgroup\$ – Suresh Kumar Jan 16 '20 at 3:08
  • \$\begingroup\$ @KingDuken If you can elaborate your point about issue with K1 to K4, it would be helpful. Based on your observation i will make reset pin on U7 switchable. I should read more about tristate of i2c and ways to avoid them. \$\endgroup\$ – Suresh Kumar Jan 16 '20 at 3:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.