Powering Arduino Nano with 3.7 V Li-Ion Cell

Hello everyone,

I am planning to create a battery supply board that will connect to the Arduino Nano 33 BLE Sense Rev 2 using header connectors as seen in the image below. The device is intended to be very compact to be used as a wearable.

This battery supply board will have a battery charging circuit and a coin cell holder attached to it.

I am currently looking at the TP4056 Li-Ion battery charging module to be responsible for preventing over charging and over discharging. My plan is to battery power the board through the “Vin” pin of the Arduino, as recommended by the Arduino website.

The issue I am running into is that the Arduino documentation states that the Vin input voltage must be greater than 5V, and lithium-ion cells only provide 3.7V each. I thought about using a boost converter to boost the voltage to 5V, or attaching to cells in series. Although when looking more into the voltage limits of Vin, I didn't fully understand why the voltage limit was a minimum of 5V.

The datasheet for the Arduino says that Vin needs to be greater than 5V due to the regulator specifications of the voltage input.

Arduino data sheet: https://content.arduino.cc/assets/NANO33BLE_V2.0_sch.pdf

Although, I looked up the voltage regulator (MP2322GQH) datasheet and it seems that it can handle an input voltage of 3V – 22V.
https://www.monolithicpower.com/en/documentview/productdocument/index/version/2/document_type/Datasheet/lang/en/sku/MP2322/

I thought maybe the issue may be with the diode in the Arduino regulator circuit shown below allowing both Vusb and Vin to feed into the same node if the USB was plugged in AND Vin was less than 5V. Although I am not sure….

I have come up with a possible “load-sharing” circuit to switch the regulator input of the Arduino to the USB power when the Arduino is plugged into the USB and cut-off the Vin battery power supply. So, when both the USB is plugged in and the battery is connected to Vin, the board will use the USB voltage to power the board while also allowing the battery to be charged by the USB voltage. When the USB is disconnected, the board will switch to the Vin battery voltage input. We would use a P-Channel MOSFET and added resistor to implement this. Our plan was to implement the TP4056 module circuit and P-channel MOSFET circuit on one external board that will connect to the lithium-ion battery as well as the Arduino board as seen below:

This design is based off some Arduino forums we found linked below:

As well as the schematic of another microcontroller evaluation board called “ESP8266 FEATHER HUZZAH” that has integrated battery charging shown below:

My main goal is to maintain a small form factor by removing the requirement of a boost converter and being able to share 1 USB port to both charge the battery and upload sketches to the board.

Would this design approach work to switch regulator input from Vin to Vusb once the USB is plugged in while also charging the battery? I would love any feedback or suggestions!

Thanks!

There is only two things important:

  • while loading the arduino must not take its power from the battery.
  • never connect Vbat to Vusb.

The regulator is a buck converter with adjustable output. In the Arduino the output is set to 3.3V. But buck converters need some headroom above the output voltage to regulate properly. I read through the datasheet, but was not able to find the minimum dropout voltage. Obviously about 4.7V is enough, because that's what USB supplies, but I can't find how low that could go and still work ok. Perhaps someone more expert can find it.

But assuming you can get away with something as low as 3.5V at Vin, at which point the battery would be mostly discharged anyway, I think the Huzzah load sharing circuit would work ok. The TP4056 would lie between VBUS (the "5V" pin) and VBAT in that circuit, and the source of the mosfet connects to Vin.

Edit: I should say - I don't know that you will get very much battery life running this Arduino from a coin cell.

Ah, ok that makes sense, thanks for the input!

Looking through the Datasheet it seems to have low dropout operation mode where the duty cycle reaches its maximum. The recommended operation conditions also list Vin = 3V - 22V and Vout = 0.6V to Vin*Dmax. So for an input of 3.5V, it should be ok for a Dmax of 98%. Although I'm not sure if this max duty cycle is only for an input of 12V for the scenario listed on page 4. I will continue looking into this...

As for the batteries I was looking at using these:

I am planning to only use the microphone and temperature sensor and don't think the total load will be greater than 100mA. I was struggling to find high capacity coin cells that sold in my region.

Once you have the Arduino in hand, you can apply power at Vin at various voltages, and see what happens at the 3.3V pin. At some point as Vin drops, 3.3V will also start to drop. That will tell you the effective dropout voltage.

Edit: If the dropout voltage is too big, then an alternative would be to feed the output of the load sharing circuit into a 3.3V linear regulator with very low dropout voltage, then feed that output to the 3.3V pin. Something like an MCP1700 or HT7333 would probably work.

I think that Adafruit LIPO cell would give you more power than a coin cell. Just remember to adjust the charging voltage of the TP4056 to 500mA or less.

Ok, I found the dropout voltage to be super small. The 3.3V output only began to drop when the input reached as low as 3.37V. I also simulated the PMOS circuit and it functions as expected. I think I'll go with the single cell with the load switching circuit. Thanks for the advice!

That's good news. Just be careful when ordering that DMG341 mosfet. I saw some with that number that were N-channel, which is not what you want.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.