I'm trying to make a uselessbox, so I have:

  • An Arduino Nano (Chinese model with CH340 driver)
  • 2 SG90 9g servos
  • 1 switch

Everything works fine when the Arduino is plugged in to USB, but when I'm trying to use an 18650 battery (2200mAh) the servo doesn't want to move, or just make weird moves.

My battery (taken from an old laptop) is wired to a TP4056 module, and to a boost converter (XL6009 4A maximum.)


I tried to wire the battery without the TP4056 module, but it is the same result.

After many tests, it seems the problem comes from the boost-converter.

When I power the boost-converter from a power bench supply, (3.7V, 5A max), no matter how I set the output (from 5V to 9V), each time the servo moves, I have a current drop, and sometimes can even reboot the Arduino.

My boost-converter is a XL6009, and should handle 4A maximum.

Maybe should I add a capacitor? I only have 100µF, is this enough?

  • 1
    \$\begingroup\$ POSSIBLY add extra capacitors at in and out of converter. Also on servo 5V lead to ground. What is Vin value to Arduino? \$\endgroup\$
    – Russell McMahon
    Feb 24, 2021 at 12:07
  • \$\begingroup\$ I tried with 2 100µF capacitor, it remains the same. I fixed the boost to 5.2V as the servos can handle 6V max. What do you mean by "on servo 5V lead to ground" ? \$\endgroup\$
    – Bisjob
    Feb 24, 2021 at 12:40
  • \$\begingroup\$ @Bisjob - Hi, (a) Have you checked the Arduino board's regulator o/p with 5.2 V on Vin (boost converter o/p)? (b) You will need to measure appropriate voltages during the problem (battery, boot converter i/p, boost converter o/p etc.) to start to get a better understanding of what is happening. Possible voltage drops across wires / breadboard / poor joints need to be considered. Please edit the question to add a photo of your setup & your measurements. (c) "18650 battery (5200mA)" If you mean 5200 mAh then such a battery doesn't exist. Add photo. (d) Do you have an oscilloscope? Thanks. \$\endgroup\$
    – SamGibson
    Feb 24, 2021 at 12:46
  • \$\begingroup\$ You SHOW the servos being powered by 5V out from the Arduino. You SAY Vin is 5.2V. The Arduino regulator will not provide 5V out with 5V2 in - especially with a servo load. The servos MAY be powered from the boost converter 5V2 BUT that is not what you show. || Carry out a process of elimination. If USB 5V to Arduino will power servos but boost converter will not then BC or TP4056 output or battery are not up to the requirement. | Does battery to BC input directly work? \$\endgroup\$
    – Russell McMahon
    Feb 24, 2021 at 22:10
  • \$\begingroup\$ Thanks for the comments. Indeed, my battery is a 2200mAh, I read the max current. The Arduino regulator seems working fine with a 5.2V in Vin (I checked with a bench power supply). After several tests, the problem seems to come from the boost-converter. When I power it from a power supply at 9V, 5A max, the servo still moves weirdly \$\endgroup\$
    – Bisjob
    Feb 26, 2021 at 10:08

1 Answer 1


Ok so the input voltage for the XL6009 is specified as 5V although they says "Input : DC 3 V à 30 V" on the sale page.

Just to test, I plugged the XL6009 on my battery, and set it to 12V to power up a fan. Once I plugged the fan, the voltage drops below 4V and rised slowly. I shut down at 5v because the module became very hot. I tried with 5V in input, and I got my 12V properly.

Don't expect them to give 5V output with 3.7V input, they won't.


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.