2
\$\begingroup\$

I'm upgrading/hacking a broken device for a hobby project, so pretty academic and mostly out of interest. The case has a battery compartment designed for two C batteries in series (providing 2.5V to 3V). I want to use an MCU to improve the device's functionality, and decided to go with the ESP8266 since I'm most familiar with that MCU, and it has WiFi (a little bit easier than other radio technologies). I want the device to both send and receive data wirelessly.

A boost converter first came to mind, but I first tried a few other ideas; adding extra batteries, replacing the existing batteries, and I also considered maybe changing the MCU and using an alternative to WiFi. I did try a pre-built boost converter module, and even designed a circuit around the MAX608... but I seem to be hitting a wall when it comes to the output load current. Before I give up and start hacking away at the battery compartment, I thought I'd throw the question out there.

The ESP8266 MCU apparently has a peak of 170mA when WiFi is on, but I rarely see them go over about 100mA (have seen peaks of 250mA, but perhaps that's just my multimeter). The main power draw for this MCU seems to be the WiFi module, and looking at the other radio modules I had lying around (LoRa RFM96W is 100 mA peak and the NRF24L01 at 115mA), the power hungry part is in general the radio transmission. So, I could use those other radio technologies with something like an ATtiny which only draws around 8 mA, but it'd still add up to over 100mA peak.

Not sure if it's relevant, but the device is a water valve and it contains a 3V motor. I'll elaborate on some solutions I found, by answering my own question.

\$\endgroup\$
7
  • \$\begingroup\$ The ESP8266 should run with 2.5V supply, probably you don't need a boost converter anyway, just a good ceramic or tantal capacitor. \$\endgroup\$
    – Jens
    Jul 29, 2022 at 17:42
  • \$\begingroup\$ Nice! I just had a play around and though 2.5V is the limit on the datasheet, it seems to work as as low as 2.3V. I was wondering if running it at such low voltages was safe, but if the datasheet says so then great. \$\endgroup\$ Jul 29, 2022 at 19:22
  • \$\begingroup\$ Correction: it works as low as 1.8V. I didn't realise this before because I was watching a flashing LED connected to an IO pin and when it went out I assumed the MCU was off, but measuring the voltage of that pin, it's clear that the MCU turns off long after any LED. \$\endgroup\$ Jul 29, 2022 at 21:57
  • 1
    \$\begingroup\$ Good to hear! So you can use 2 primary cells, 2 NiMHs or one LiFePO4 cell without DC conversion, that is really nice. I recommend a 220 uF low ESR tantal capacitor parallel for the RF peak currents. \$\endgroup\$
    – Jens
    Jul 29, 2022 at 22:59
  • 1
    \$\begingroup\$ This one has much better ESR, what compensates the little lower capacitance (solder legs if you need): digikey.de/en/products/detail/vishay-sprague/T55B157M6R3C0045/… \$\endgroup\$
    – Jens
    Jul 30, 2022 at 3:11

2 Answers 2

3
\$\begingroup\$

You should be able to find an all-in-one boost converter that's inexpensive and will do the job. Here's an example I found on Digi-Key. Probably the main downside of that one is that it looks very difficult to solder by hand.

I found that one by searching board-mount DC-DC converters on Digi-Key. Unfortunately, most of the parts in that list are step-down converters, and there doesn't seem to be any good way to filter those out.

Another option is the Pololu U1V11A, which might cost more than you want to spend as a hobbyist.

\$\endgroup\$
0
1
\$\begingroup\$

"If I had more time, I would have written a shorter letter"

I reached the conclusion: Yes, it is possible and easier than you might expect depending on the device. Specifically, to boost a 2.5V-3.0V power supply to power an MCU with radio, it's tricky and it might be a better idea to change the battery configuration. Radio transmission draws more current than low voltage boost converters seem to be capable of providing can easily provide (though with caps in the right places, it seems possible to address this).

Edit: But, thanks to @Jens, I realised that the ESP8266 can actually be powered with as little as 1.8V! So for some devices, you may not need anywhere near the voltage you think you do.

Here's how I reached that conclusion...

Boost module (eBay special)

2.5V to 5V boost module

To start off easy, my first port of call was to use an 'eBay special' boost module. I found one that works with input voltages from 2.5V, which seemed like just enough, and can output from 5V up. My MCU dev board has an efficient 5V regulator, so I figured that'd be fine.

I tried to find a 2.0V/2.5V to 3.3V converter, since that's all the ESP8266 MCU really needs, but it doesn't seem to exist, at least not on eBay. Probably because there's no demand for it, which tells you something. I'm betting there aren't many scenarios where you can't just use the appropriate battery configuration.

Unfortunately, while the scope showed the boost module was outputting 5.04V max, it also showed min 1.92V (average of 4.90V). The MCU seemed to struggle with this unreliable power source and occasionally reset.

Noisy output from the boost module

The boost module seemed quite happy when the WiFi module is off (the MCU is only drawing 20mA or so), but when you turn WiFi on, the load current demand goes up, and you get quite noisy output on the boost circuit, and it eventually seems to collapse to VIN. Even at higher voltages like 3V, this seems to happen.

VOUT collapses to VIN

Also, when the motor draws power, the battery voltage will cause the voltage to dip below 2.5V if the batteries are coming toward the end of their life. I think perhaps adding a dedicated power wire to the battery just for the MCU could help here, but in any case, it'd be nice to squeeze a bit more power out of the batteries.

Conclusion: It's hard to find a pre-built module that will boost very low voltages to power something like an MCU with a radio.

Edit: Ok, thanks to @TannerSwett I tried something again. I had previously tried to use caps to solve the problem with low voltage dips, with no success. I gave that another try today, in a few places; just after the boost module, just before the MCU. It seems that a 10µF cap near the MCU helps a little, and working up through 100µF, 220µF and 470µF near the MCU, that last one seems to do the trick! Curiously, putting the cap near the output of the boost converter does not solve the problem. What I noticed is that when the MCU goes into deep sleep, that ironically seems to draw a relatively large current for a very brief moment, not sure why. Anyway, the 470µF cap addresses that.

Roll your own boost circuit

For fun, I built 3 boost circuits, one controlled by an MCU, one a 555 timer, and the other by an op amp. All 3 suffered the same fate, which was that they were somewhat inefficient (not ideal for battery powered devices) and had a huge flaw: The MCUs I have need at least 3.3V, so that's out. The 555 timer needs 5V, far too high. And, the LM317 op amp needs 3.0V (but I found it does still work at lower voltages).

Conclusion: It's better to use an IC designed for the purpose which has it's own built in timing circuit that runs at low voltage.

MAX608 boost IC circuit

Curious to see if I could come up with a better boost converter that works at even lower voltages, I built my own boost circuit around the MAX608 IC, which boost voltages from as low as a 1.8V input.

Components:

  • Inductor: 22 µH, 950 mA, 0.37ohm 20Mhz
  • Transistor: TN0702N3 20V 530 mA MOSFET N
  • Current sense resistor: Wire, measured using Mehdi's method (I intend to replace this with an actual current sense resistor)

MAX608 5V preset configuration

This had very similar behaviour to the eBay special boost module; my circuit would perform fine at low load currents, but as soon as the WiFi started, the output voltage would collapse to VIN.

I was wondering why higher load currents (well within the advertised 1.5A limit on the 1st page of the datasheet) cause the chip to shut down. Turns out there's a minimum start-up voltage which depends on the load current that might have something to do with the problem.

Edit: I did try using extra caps to solve this and didn't have much luck, but I will likely try this again.

MAX608 start-up voltage

Very important to consider: e.g. a 2V supply/input on the MAX608 (5V output configuration) cannot power much beyond what looks like ~20mA.

Looks like it might not to be possible to drive a current such as 100mA from 2V (at least not with this chip); so powering an ESP8266 (which can draw 170mA with WiFi on) is probably not possible with the MAX608.

Edit: Actually, now that I'm having better luck with the 'eBay special' boost module, and also based on the comments, I think that the start-up current might not be an issue.

Different battery configuration

The first idea I actually implemented was to replace the two C batteries with a single 9V, and use a regulator, but the L78L quiescent current (2mA) drained the battery faster than I'd like. 9V alkaline batteries typically have only 550 mAh, compared to alkaline C's which have 8000 mAh. I also needed 3V to drive the motor, and that required a 2nd regulator, more quiescent current to drain the battery.

To get back the benefit of the longer life C batteries, I also tried adding 2 extra AA batteries (in a different part of the device) in series with the C batteries to boost the voltage to 5V-6V. Not sure if that's particularly safe (perhaps that's a separate question), but it worked well enough. However, adding batteries was a real hack because there was just enough space to tape a couple of AA's together and solder some wires to them (a bit tricky to replace when they eventually expire).

Seems like using 4 AA batteries is the simplest way to go, but that'd require me to modify the battery compartment which is fine, but I'm curious to find out if there is a boost converter circuit that would work before I get the power tools out. Also, I still need a 3V power source for the motor, easy enough to do by taking power from half way through the battery series, but adds a little bit of complexity to the physical case modifications.

Conclusion: Perhaps don't try to boost a 2.5V-3.0V power supply to power an MCU with radio; use 4 AA batteries instead.

Just connect the ESP to 2.5V

"The ESP8266 should run with 2.5V supply, probably you don't need a boost converter anyway, just a good ceramic or tantal capacitor."

Edit: Thanks @Jens! And after all that, I connected the 2.5V supply to the 3V3 pin and it worked fine. Actually no capacitor needed, and incredibly, it even works as low as 1.8V! This is far beyond what the ESP8266 datasheet specifies. It even seems to establish a successful WiFi connection and successfully send and receive data at such a low voltage. I was obviously looking for an excuse to play with inductors.

Conclusion: See how little voltage you can get away with when powering an MCU.

\$\endgroup\$
11
  • 3
    \$\begingroup\$ There are a great many adjustable eBay-special regulators, which you could adjust to 3.3V output. \$\endgroup\$
    – user253751
    Jul 29, 2022 at 16:58
  • \$\begingroup\$ Minimum startup voltage isn't the same as minimum run voltage. There are plenty of ICs out there that can run off heir own output once they get going, and that means the input can be even lower voltage. The problem is more likely to be poor component choice and/or layout. What inductor did you use? What transistor? What was your current sense resistor? \$\endgroup\$
    – Hearth
    Jul 29, 2022 at 16:59
  • 1
    \$\begingroup\$ Did you put a capacitor across the output of your "eBay special" boost module? If not, that would probably be worth trying. \$\endgroup\$ Jul 29, 2022 at 17:18
  • 1
    \$\begingroup\$ There is a concept in low power design called the power budget, which may help you. If you ever watched Apollo 13 movie, their solution to getting the LEM started back up required starting up in a particular order with only the minimum of functionality. Once your motor is started up, it may draw less, or you may be able to run it at lower speed, but motor-startup will draw extra power at first. Also, the Wi-Fi may be able to be kept off until the motor is up and running. \$\endgroup\$ Jul 29, 2022 at 20:30
  • 1
    \$\begingroup\$ @MicroservicesOnDDD Turn WiFi off while running the motor, I like this idea! And thanks for the article, bookmarked it for later reading. \$\endgroup\$ Jul 29, 2022 at 20:51

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.