I am working on building a circuit that is controlled with an Arduino Pro Micro. It is being fed by a 3.7V 5000mAh battery which is also going to be used to charge the phone, but only when the Arduino program tells it to. That battery is hooked up to a charging board with variable voltage output (basically a DC-DC step up module built in to the battery charging module. I have it set at an even 5V of output). That 5V supply is used to power everything in my circuit.

The easiest option for this scenario would be to use a Relay switch, but a normal relay switch is big, noisy, and unnecessary (as long as I can do without it), and I don't have any solid state relays designed for DC power.

Instead, I want the arduino to switch a transistor on and off to send the phone 5V @ ~1 Amp, which my battery can handle (when I wire the phone directly to the battery, the current reads just over 1 amp at 5 volts).

The problem is, I don't know enough about transistors and general electronics to get this to work. The circuit that I have right now is pictured below: schematic of non-working circuit (There are some details in this circuit that aren't important to my question, for example, don't worry about the SPDT, its just there to control whether the phone is charged by the battery or from the charging input to the circuit. Again, don't worry about this).

This circuit does not work right now. It works if I am testing the load with an LED to simulate the phone being charged, but when I actually connect the usb charging cord to the phone itself the circuit fails to switch on and off and instead just powers the phone constantly (I think, I could be wrong. If these details are important I can do more testing).

I am hoping someone here who knows more about electronics, specifically transistors, can help me figure out what my problem is, or offer suggestions as to how they would do it. Thanks for any help!

  • \$\begingroup\$ It's hard to follow power flow in this question. Could you clean the schematic up a bit? \$\endgroup\$
    – Hearth
    Commented Jan 24, 2019 at 3:02
  • \$\begingroup\$ Why aren't you using the "EN" input on your boost converter to enable it only when wanted? \$\endgroup\$ Commented Jan 24, 2019 at 4:36
  • \$\begingroup\$ How about using solid state relays? Noise issues no longer apply. \$\endgroup\$
    – Manex
    Commented Jan 24, 2019 at 6:27
  • \$\begingroup\$ @ChrisStratton , the board I'm actually doesn't have an EN pin, I just picked one that was on the schematic program I was using. \$\endgroup\$
    – chill389cc
    Commented Jan 25, 2019 at 13:24
  • \$\begingroup\$ @Manex I've got some solid state relays, but none designed for switching DC current. Do you have any that you recommend I buy? \$\endgroup\$
    – chill389cc
    Commented Jan 25, 2019 at 13:25

1 Answer 1


If anyone else has this question, the thing that solved it was connecting a 10K resister from the gate on the mosfet to ground, and I also added a 1K resistor between the digital pin and the mosfet.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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