Reading cattle behavior off an ear tag, honestly

An accelerometer on a cow’s ear can separate grazing from rumination from calving. But only if you respect the power budget, the satellite link, and how hard the rare events are to label.

A cow grazing holds her head down and sweeps it sideways to tear grass. A cow ruminating stands or lies with her head up and works her jaw in a slow, almost metronomic rhythm. A cow in labor stops doing either and starts shifting, getting up and lying down, over and over. None of that is invisible. It is all motion, and motion is exactly what an inertial sensor on the ear records.

We test this on a 20,000-acre ranch in New Mexico: real cattle, real weather, no cell coverage. So before any of the behavior science gets interesting, the instrument has to survive years on an animal’s ear and get its data out over a satellite link that moves maybe a kilobit or two per second. That one constraint shapes everything below.

What an ear-tag accelerometer actually measures

An accelerometer reports two things at once. There is the static gravity vector, which tells you posture and orientation: head-down grazing reads differently from head-up rumination, which reads differently again from a standing animal. And there is the dynamic component, the changing acceleration from movement, the jaw working, the head jerking, the body walking. Behavior is legible because each behavior has its own combination of posture and motion.

Our IMU is the Bosch BMI323, a 6-axis part: 3-axis accelerometer plus 3-axis gyroscope. On a solar tag we mostly run the accelerometer alone. The gyro is comparatively power-hungry, and for classifying behavior the accelerometer carries most of the signal. Output data rate is configurable from under 1 Hz up to 6.4 kHz, with ranges from ±2 g to ±16 g. At the behavior-relevant rates of roughly 12.5 to 50 Hz, it draws low tens of microamps. Sensing, in other words, is nearly free. Everything else on the tag is the expensive part.

The everyday behaviors, and the rare ones that matter

Researchers want a daily time budget: hours grazing, hours ruminating, hours lying and resting, plus walking and drinking. Those fill most of the day. A cow on pasture grazes roughly 6 to 10 hours, ruminates 7 to 9, and lies down 8 to 12. They are common, and they are the easier classes to get right.

The high-value events are the opposite of common. Calving, the estrus window, the onset of illness, lameness, acute stress. These last minutes to hours, a handful of times a year, against thousands of hours of ordinary behavior. That imbalance is the whole problem in one sentence: the rarest event is the entire reason you built the system, and it is the hardest thing to train a model on.

Rumination lives near 1 Hz, and that sets the sampling rate

Rumination is one of the more separable behaviors because it pairs low overall acceleration with a regular periodic signature. Chewing cadence runs about 40 to 85 chews per minute, usually 60 to 70, so roughly 1 to 1.2 Hz, with reported spectral peaks near 1.3 Hz. By Nyquist you need more than about 2.6 Hz just to see the chew rhythm at all, and the literature has converged on around 10 Hz as the practical rate for capturing jaw motion. Grazing, by contrast, shows higher and more irregular acceleration from the tongue-sweep and tear.

Published cattle work spans about 1 Hz on some commercial ear tags, through the common 10 to 30 Hz band, up to 100 Hz in a 2025 estrus study. Higher rates capture finer jaw and head dynamics. They also cost power and, more importantly, data.

You cannot stream raw accelerometer data over satellite

Here is the collision. Sensing is cheap; moving bits is not. Our radio is the Nordic nRF9151 talking NB-NTN to the Skylo network, over Onomondo connectivity. That link is constrained to roughly 1 to 2 kbps, with transport blocks around 256 bytes and a message floor near 50 bytes once you count headers. A realistic monthly budget is on the order of 30 to 50 KB per device, about one 50-byte message an hour.

Now the arithmetic. Raw 50 Hz across 3 axes at 2 bytes each is 300 bytes per second. That is about 1.08 MB per hour, roughly 26 MB per day, around 780 MB per month. Call it fifteen to twenty-five thousand times the monthly NTN budget. Put another way: one megabyte at 1 to 2 kbps takes one to two hours of continuous transmit, so a single hour of raw signal cannot even be sent inside that hour. And that is before you count the power.

Power is the harder limit. Peak transmit current for this class of modem runs in the hundreds of milliamps, orders of magnitude above the IMU. The e-peas AEM10920 harvester refills a small buffer cell from a panel that yields tens of milliwatts outdoors on a good day, less when it is overcast, less when a cow lies on the tag for hours, less when dust films the cell in a dry winter. Energy you spend transmitting raw data is energy you do not get back for hours. So you do not stream raw. You compute on the tag, send summaries, and capture short raw bursts on demand.

The features that fit through the link

The standard accelerometer features are all cheap on a Cortex-M33. ODBA and VeDBA, the sum and the vector magnitude of high-pass-filtered acceleration, give you an activity index, and VeDBA has the nice property of being insensitive to tag orientation, which matters when an ear tag rotates over months. ODBA has been the single best accelerometer proxy for energy expenditure in grazing animals. Add per-axis ratios, posture from the gravity vector, and a small FFT targeting the chewing band, and you have a feature set that survives the energy budget and still describes the behavior.

Classify on the tag, or keep the raw signal

On-tag inference works. TinyML on accelerometer windows is real: a 2025 livestock recognition system reported large model-size reductions and sub-80-ms latency at comparable accuracy, and 1D-CNNs run directly on raw windows. So we could ship a tag that emits a tidy behavior score and call it done.

I do not think researchers want that. A behavior score hides the signal that produced it and the labels it was trained against. If the model was tuned on Angus in Oklahoma and you run Brahman-cross in the Chihuahuan Desert, you need to see where it breaks, not trust a number. So our stance is open: configurable sample rates, an open event schema, on-demand raw-burst capture, CSV or Parquet export, a public API, webhooks. Compute summaries on the tag to fit the link, but let researchers pull the raw windows, attach their own ground truth, and train and validate their own classifiers.

The parts we will not hand-wave

This is an active research area, not a solved one. Common behaviors classify well within a dataset; one deep-learning study reported figures in the high 80s to high 90s across three datasets, but those numbers do not transfer across herds, breeds, or tag placements. Ear-tag rumination is the clearest example: a generic model across animals reached about 86% accuracy, while per-animal models averaged about 98%. Estrus, mostly a large sustained activity spike, validates north of 90%. Calving is harder. The closest published analogue to what we are building used hourly accelerometer and GNSS data with XGBoost on 21 cows and just 15 confirmed calvings, reaching an F1 of 0.75, and the authors flag rarity as the limit. Lameness is the honest hard case, with reported sensitivities anywhere from 3% to 39%, no better than human gait scoring.

Under all of it sits ground truth. The reference standard is synchronized video annotation; one study labeled around 1,794 hours of paired sensor and video, and rumen boluses offer a physiological cross-check. Every label is expensive human or instrumented effort, and methodological reviews want at least 10 animals, ideally 25-plus, across multiple breeds and farms before a feature set earns any trust.

So we are not selling a finished classifier. We are building the inertial instrument and the open data underneath it, proven on a working ranch, so the people doing behavior science can label it, model it, and own it. The rare event is the whole point. Getting the instrument honest is the part we can do right now.

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