The power budget of a solar cattle tag nobody will ever recharge

Nobody will ever recharge this tag, so power decides everything. Here is the real energy budget: what a GPS fix, a satellite uplink, and an IMU each cost, and how we ration them against a tiny solar income.

Nobody is driving out to swap a battery on a cow in a back pasture. That single fact decides almost every engineering choice in our tag. The animal lives where there is no cell coverage and no road worth the trip, and the tag has to keep working for years on whatever sunlight it can scavenge through its own ear. So before we argue about radios or sensors, we argue about energy.

And energy is the right word, not power. The unit that matters is current times time, microamp-hours and milliamp-hours per day, not the instantaneous draw in any one moment. A part can pull a lot of current briefly and barely register on the daily budget. Another can pull almost nothing and quietly drain you because it never turns off. Most of the mistakes I have made on this design come from confusing those two.

Deep sleep sets the floor, and the floor sets the ceiling

The tag spends nearly all of its life asleep. With the UART disabled and LTE-M power saving mode (PSM) enabled, the nRF9151 modem sleeps at roughly 2.8 microamps, datasheet-typical. Call it 3 microamps and you are looking at about 0.07 mAh a day just to keep the lights on. That sleep floor is the most important number on the whole tag, because it is what you pay every hour whether or not anything interesting happens. Everything else is occasional. Sleep is forever.

Which is why the boring failure mode is the dangerous one. Leave the UART block powered and you add around 600 microamps, constantly. That is roughly 200 times the PSM sleep floor: one forgotten peripheral, and the whole budget is gone before the radio ever transmits. There is no clever duty cycle that recovers from a leak like that. “Turn everything off and prove it stayed off” is most of what low-power firmware actually is.

What each thing the tag does actually costs

Here is the honest hierarchy, in datasheet-typical and ballpark terms. I have not measured all of these on the finished ORS tag yet, and I will flag where the number is mine versus the silicon vendor’s.

  • A GNSS fix is expensive. The nRF91 GNSS receiver draws somewhere around 30 to 40 mA while it is actively searching (that figure is from Nordic’s DevZone, so treat it as ballpark, not gospel). A single roughly 30-second fix at about 30 mA is around 0.25 mAh. That one fix costs more than three days of sleeping.
  • A radio transmit is a spike. An NB-IoT or LTE-M uplink can peak near 174 mA, and the radio sits at roughly 100 to 360 mA while it is connected. It is the single biggest current draw the tag produces. You do not stream over a link like that. You batch, and you send rarely.
  • An IMU sample is nearly free — until it isn’t. The Bosch BMI323 in accelerometer-only low-power mode at 25 Hz draws about 45 microamps. Full 6-axis high-performance mode is around 790 microamps. Per sample, it is the cheapest thing on the board.
  • MCU wake and compute is real but small if you keep the wake windows short and go back to sleep fast. The discipline is the same as everywhere else: do the work, then disappear.

A GPS fix is mostly the time it takes

The thing that gets people about GNSS is that the receiver current barely moves. What moves is how long the receiver has to stay on. Time-to-first-fix is the bill. A cold start, where the tag has no idea what satellites are overhead, can run from a typical sub-60 seconds out to several minutes in bad sky view. The receiver has to hear at least four satellites and, on a cold start, download orbital data over the air at the rate the satellites broadcast it. Every one of those seconds is 30-something milliamps you are spending.

Assisted GNSS fixes this in the obvious way: hand the receiver ephemeris, almanac, time, and a rough location ahead of time so it does not sit there listening for orbital data it could have been told. That pulls time-to-fix toward warm- or hot-start territory, seconds instead of minutes, and the energy per fix drops with it. None of this is exotic; it is standard practice for any cellular IoT tracker. But it is the difference between a tag that lasts and one that doesn’t. I have read the teardowns where a perfectly good low-power radio got undone by an unmanaged GPS that took minutes to lock. The radio was never the problem.

The satellite uplink behaves like the worst terrestrial uplink

We talk to Skylo over NB-NTN, direct from the tag, with no gateway. The honest way to think about its energy cost: a direct-to-satellite uplink behaves like a terrestrial NB-IoT device sitting right at the edge of coverage. Nordic says as much in their NTN material. Long connection windows, the real possibility of retransmissions, a power-class-3 module putting out 23 dBm. So you design for it like cell-edge: small payloads, sent infrequently, batched between satellite passes. Skylo enforces roughly a 50-byte floor per message including headers, so there is no point sending one reading at a time anyway. Using Non-IP Data Delivery trims the packet overhead, which cuts both the byte cost and the energy. Few messages, packed full, sent when a pass is overhead.

The cheap sensor that can sink the tag

The IMU is where the configurable sample rate gets interesting for researchers. Accelerometer-only at 25 Hz run continuously is about 1.1 mAh a day, already more than four GPS fixes’ worth of energy. Full 6-axis high-performance run continuously is around 19 mAh a day, which would dwarf the fixes and uplinks combined. Per sample, the IMU is free. Continuous high-rate capture is anything but.

And there is a genuine accuracy-versus-power tradeoff buried in there. Cattle-behavior studies generally sample at 10 to 30 Hz, with some collar work down at 0.5 to 1 Hz. Higher rates classify behavior better; one study put 1.0 Hz classification accuracy well above 0.5 Hz. But you pay for every hertz in both energy and bytes. We expose that knob instead of hiding it, because the researcher is the one who should decide where on that curve their question sits.

The trick that makes the budget work is letting the cheapest sensor gate the expensive ones. The BMI323 has on-chip wake-on-motion and significant-motion interrupts, so it can sit near sleep at tens of microamps and only wake the MCU when the animal actually moves. A bedded-down cow shouldn’t be paying for GPS fixes. Motion gates compute, compute gates the radio. The expensive things only run when there is a reason.

The income side is small, and it lies to you

On the other side of the ledger is a small PV cell feeding an e-peas AEM10920 harvesting PMIC into a tiny rechargeable buffer cell. The AEM10920 is built for exactly this kind of scrounging: it can cold-start from on the order of a couple of microwatts at a few hundred millivolts, does light-dependent maximum-power-point tracking across a wide input range, and converts harvested energy to storage at up to about 95 percent. It will pull usable energy out of weak light. What it cannot do is invent light that isn’t there.

That is the real design problem: balancing a small, fluctuating, sometimes-zero income against a duty cycle you committed to in firmware. The buffer cell exists to bridge the dark stretches. So size it and budget the duty cycle for the dark stretches, not the sunny averages.

Duty cycling is the whole game

Across the industry, reporting cadence sets lifetime far more than battery chemistry does. Once-daily fixes can stretch a tracker to eight or ten years; hourly fixes pull it back toward two; aggressive check-ins can burn a tag down in months. Solar ear tags on the market claim up to five years at around one location an hour, with the panel and cell typically degrading after about three. That is the baseline we hold ourselves against, and it is set almost entirely by how often you fix and how often you uplink. Those two cadences are the master levers. Everything in this post is in service of being able to turn them up when there is light and turn them down when there isn’t.

Budget for the worst week, not the average day

The ranch is what taught me to stop designing for averages. Picture the worst week: short winter days, a low sun angle, dust and mud caked on the panel, and a cow that lies down on the tag for hours at a stretch. Income craters, right when your stored margin is already thin. An average-day budget brown-outs in exactly that week, which is the only week that actually tests the design.

The cruel part is the timing. The events most worth capturing — calving, illness, a predation event — are the ones that demand more sensing: higher IMU rates, more fixes, faster uplinks. And a sick or bedded-down animal is precisely the one giving its solar tag the least light. The tag is most power-starved exactly when the data is most valuable. That tension is the core of the problem, and there is no way to engineer it away. You can only plan for it.

So the rule is to degrade gracefully. When energy runs low, drop the rate first: sample less often, fix less often, uplink less often. But never sacrifice what you have already captured. Store and forward; hold readings until a pass and the power line up; never corrupt or drop data to save a few microamp-hours. A tag that quietly lowers its resolution in a hard week is a research instrument. A tag that browns out and loses the calving event is a toy.

This is why “reliable,” “low-cost,” and “no field battery swaps” are all the same problem wearing different hats. Reliable means surviving the worst week on stored energy. Low-cost means not oversizing the cell to paper over a sloppy budget. No swaps means the floor and the duty cycle have to add up over years, untouched. We are still proving our own numbers on the ranch, and when we have them, good or bad, we will publish them, because for a tag like this, honesty about the power budget is most of the product.

Building something on the open range?

We work with rangeland and precision-livestock researchers as a technical partner. Tell us what you’re working on.

Partner with us