
The chief tool in the toolkit for deployment of a Meshcore network is the solar-powered repeater (see one at right). In rural parts of Colorado, a typical repeater location is remote, reached only by hiking to some point of high elevation. For many months of winter, it may be nearly impossible to reach the location. Crucial to the repeater’s function is a battery that powers the repeater’s radio controller during times of overcast and darkness. Ideally, the repeater, once placed into service, will never again need to be visited by a human being. What can one do to have some sense of confidence that the battery will quietly do its job for some years? In this blog article I discuss a way to test the battery before placing it into service. Let’s set a bit of background for repeater batteries. The battery needs to be of a chemistry that can provide power to the electronics over a wide range of temperatures, perhaps from -40° F to 140°F (-40°C to 60°C). This rules out most candidate battery chemistries, leaving only a few including lithium-ion.

There are plenty of people who feel that if you try to charge a lithium battery at a temperature below freezing, it will destroy the battery. (There are those who feel, see blog article, that if you have the self-control to charge it very slowly, you will avoid destroying it.) One might hope that there would be some way to prevent this. The solar node seen above is based upon the Harbor Breeze solar outdoor light hack (blog article), in which one purchases a Lowes Harbor Breeze solar outdoor light (on sale at $10) and then discards the light, retaining only a small part of the device, namely a weather-resistant enclosure, a solar panel, a lithium-ion battery, and the charging circuit shown at right. The four-pin integrated circuit (IC), circled, receives 5 volts from the solar panel and carefully delivers no more than 4.2 volts to the battery. (A higher voltage would destroy the battery.) One wishes that the circuit would monitor ambient temperature and would refrain from trying to charge the battery whenever the ambient temperature is below freezing. But my best guess is that this circuit does not do this.
The Harbor Breeze battery, gray in color, says it has a capacity of 1500 mAh (5.5 mWh). Like nearly all batteries used in solar-powered devices, it is a battery in the form factor called “18650”, which means it is a cylinder 18 mm in diameter and 65 mm in axial length.
Sometimes a battery will fail abruptly, but typical more common failure modes are:
- the storage capacity of the battery gradually drops; or
- the battery gradually develops an effective internal resistance.
The likelihood of such failure is heavily influenced by a number of factors, including:
- service requirements at extremes of temperature;
- charging at too high a voltage;
- charging at a temperature that is too cold; and
- poor manufacturing quality.
A person managing a solar-powered meshcore repeater has no control over the first factor. The second factor is addressed by the four-pin IC provided as part of the $10 Harbor Breeze light as seen above. In the HB light, the third factor might be addressed by the fact that the sizing of the solar panel is such that it tends to charge the battery quite slowly, thus perhaps avoiding damage to the battery during sub-freezing temperatures. What remains is a wish that one could find out, very early in the process, whether a particular 18650 battery in a particular just-purchased Harbor Breeze light is likely to do its job for years, or poses some risk of early failure.

It turns out that some nameless company in Shenzhen has designed and manufactures and sells a device (seen at right) for in-depth stress testing of 18650 lithium batteries. The device has a model number “BT4-4CHN” but no brand name. But the model number is of no use in searching for a place to purchase the device. One can find it on Aliexpress or Amazon ($19) only by plugging in search terms such as “18650 lithium battery tester”. (Here is the user manual and its schematic.)
This remarkable device permits you to test as many as four 18650 lithium-ion batteries simulataneously. You can charge the batteries. You can discharge the batteries down to some predetermined voltage of your own choosing. One of the nicest features of this tester is that it can do an “auto” test. In the auto test, the device charges up each of the batteries fully, then discharges them down to (say) 2.8V into a fan-cooled resistive load. During the discharge process, the device carefully measures the current and voltage. Finally, the device charges the batteries fully once more.
At the end of this test, the device displays very helpful information about each of the four batteries:
- the amount of charge (measured in mAh) that was delivered to the load;
- the amount of energy (measured in mWh) delivered to the load; and
- an estimate of the effective internal resistance of the battery (displayed as a value “mR”).
It turns out that a value of mR that is no greater than about 20 is normal. A larger value of mR (a non-negligible effective internal resistance) is a sign that the battery is unwell.
When this auto test finishes, one can compare the claimed charge capacity with the actual measured charge delivered to the load. One can compare the claimed energy capacity with the actual measured energy delivered to the load.
(In a later blog article I detail the resistive load that is used for the discharge process.)

By now I have built eight DIY Meshcore repeaters based upon Harbor Breeze lights. Several have been placed into service and are working well. I monitor the battery status of my repeaters, with a typical telemetry report shown at right. Most of my repeaters have a battery voltage drop at night and then the following day the battery gets charged up again. Here you can see a telemetry report for one of my repeaters, taken just before dawn. The voltage is below 100% for at least two reasons — it’s cold (35° F) and the most recent solar charging was perhaps sixteen hours ago, at sunset.
But with a couple of the repeaters, the battery level changed in weird ways. The battery might run down even though the node’s solar panel was in bright sunlight. I tried experiments to see whether the problem could be fixed by swapping in a different solar panel. (This did not fix the problem.) I tried experiments to see whether the problem could be fixed by swapping in a different charge-control circuit. (This did not fix the problem.) I wondered whether some particular controller radio was somehow drawing far too much power and running down the battery. (Swapping in a different controller radio did not fix the problem.) What remained was to see if the battery itself could be the culprit. This required the purchase and use of the tester described above.

Most of the Harbor Breeze batteries tested fine. The actual charge capacity and energy capacity tracked fairly well with the claimed capacities. The IR (effective internal resistance) was low. Here, for example, we see what happened when I tested one of the Harbor Breeze batteries. It claims an energy capacity of 5.55 mWh and, as mentioned above, a charge capacity of 1500 mAh. At right you can see the measured values — 1413 mAh (low by about 6%) and 5.35 mWh (low by about 3%). (It will be recalled that this battery was obtained by purchasing a very inexpensive lawn light from Lowes and discarding the light.) I figure “close is good enough” for the battery capacity. (And see the “end point” discussion below.)
Importantly, the internal resistance was small, displayed as 16 mR. So this is a battery that I am willing to place into service.
You can also see how long the test took – around 3½ hours. This particular battery had been nearly charged up before the test, so the first part of the test (topping off the charge) did not take long. The second part of the test (discharging the battery down to 2.8V) took about 90 minutes. (The device uses a load that is intended to draw one amp.) The third part of the test (recharging the battery back to around 4.2V) was also done at one amp, and took another 90 minutes.
I mentioned “end point”. This device can be programmed to discharge a battery down to your choice of 2.5V, 2.6V, 2.7V, 2.8V, 2.9V, 3.0V, 3.1V, 3.2V, 3.3V, 3.4V or 3.5V. For the “auto” test, the device will only permit selection of one of the bold-faced values, and I selected 2.8V. Using 2.8V as the end point, the battery in the photo above fell short by a few percentage points. But if I had run a test down to a lower end point (perhaps 2.5V) the measured capacities would likely have matched or surpassed the claimed capacities.
Returning to the main point of this article, by now three of the Harbor Breeze batteries that I tested turned out to be duds. One battery, for exampled, turned out to have an mR number of around 300. (It will be recalled that a bigger mR number is bad.) Others have had mR numbers of “9999” which means the battery is basically open-circuit. Given that the battery arrived in a purchase of a brand-new light, I think the bad mR number was likely due to some manufacturing defect. (The lights are sold with a product sticker covering the entire solar panel, and each of the lights that I have purchased had an intact product sticker — so it seems unlikely that any light that I purchased had been a return from a previous customer.)
The tester permits me to weed out a bad Harbor Breeze battery before making the mistake of relying upon the bad battery for a to-be-deployed solar repeater.
Leave a Reply