TL;DR: the MR3040 can draw, on boot and sustained, more power than it can draw from an external power supply. The battery makes this possible, but also means it could cause it to fail in long running use cases. Proceed with caution.

picture of mr3040

TP-Link’s MR3040 occupies a strange niche: a battery powered device, with an ethernet port and USB, that also runs OpenWRT. This led to a bunch of interesting use cases, including distributing bibles and penetrating networks.

I came upon it in building the LSDome, an installation for AfrikaBurn. Someone got the Fadecandy server to run on its diminitive 4MB flash. This, paired with a Fadecandy board, makes ia very neat, self-contained, WS2812 LED controller. I believe the USB port can even be used to power the LEDs themselves, in addition to the Fadecandy. For the LSDome’s first version, we added a USB-hub hub and drove 4 Fadecandies. This worked really well: you can use WiFi for diagnostic and quick tests, and the ethernet connection for more reliable connections. The little router worked perfectly even when pushing 1500+ LEDs.

It was somewhat handy to have the built-in battery: it kept the server code up even when DC power was off, and worked well for 3-4 hours on a full charge. For most of the time though, we ran it with USB power plugged in, and this worked as expected.

For the second outing of the project, we added two more Fadecandies, which also required a 2nd hub. This seemed to work well in brief testing, so off to the desert we went…

And the system started failing after one day of operation. Even when supplied with USB power, the MR3040 would not boot. Cutting a long story short, the extra USB hub (and maybe two more Fadecandies?) increased the total system power draw above the 2.5W that can be drawn from the 500mA charging port! However, since it runs off of the battery first, which can support the higher power draw, it would slowly discharge the battery over a long period. Note that the 500mA limit is the MR3040’s thus using a 1A/2A power supply did not help.

This places the device into a frustrating class of devices, where max power draw from the external input is less than its own peak draw. In other words, it can be plugged into the wall, but the battery may drain over time. One infamous device in this category is the iPad 3, which prompted Apple to move from a 10w to 12w charger for the iPad 4 onwards, contributing to the creation of the strange 2.4A quasi-standard for USB charging.

This characteristic is mostly an oddity for genuinely unplugged use cases, but makes these devices unsuitable for installed use, where you expect it to sustain peak power usage indefinitely as long as input power is adequate. I’ve often thought of devices with batteries as normal, externally powered devices with a temporary backup. This does not hold true in this case.

This also might explain why the device doesn’t boot without the battery.

We found a workaround by replacing the battery with a fresh one (charged in a spare MR3040) every day, but this was obviously far from ideal.