Seeing a Pet Without a Camera: Presence Radar
A camera is the obvious way to know whether a pet is in the room — and often the wrong one. It fails in the dark, it's blocked by a blanket or the side of a bed, and it puts a lens in the most private corners of someone's home. For a lot of what pet-health monitoring actually needs — is the pet here, is it moving, is it resting quietly in its usual spot — you don't need a picture at all. You need presence. So we've been working with millimeter-wave radar: a tiny 24 GHz sensor that perceives a body as a pattern of reflected energy across distance, sees it in total darkness, works through soft cover, and never records an image. This post is about how that radar actually "sees," using the raw data straight off the sensor.
The Concept: A Body Is a Pattern of Reflected Energy
Radar works by transmitting a radio signal and listening to what bounces back. A living body reflects that signal, and — crucially — a moving body shifts the returning signal in ways a still background doesn't. The sensor turns those reflections into a compact description of the scene, updated many times a second.
Out of the box, the sensor gives you a simple verdict: someone is present, or not. But underneath that verdict is a much richer signal, and our bench tooling unlocks it by switching the sensor into an engineering mode that streams the raw internals of every decision.
In that mode, each frame carries three things: a presence result, a target distance, and an energy profile across 32 distance "gates." The anatomy is right there in the parser:
45 ENG_HEADER = b"\xF4\xF3\xF2\xF1"
46 ENG_TAIL = b"\xF8\xF7\xF6\xF5"
47 ENG_PAYLOAD_LEN = 1 + 2 + NUM_GATES * 4 # result + distance + 32*energy = 131
48
49 RESULT_STR = {0: "NONE", 1: "MOVING", 2: "STATIC"}
Those 32 gates are the key idea. The sensor slices the space in front of it into 32 range bins and reports how much energy is reflecting from each one — a coarse, one-dimensional map of "how much stuff is at this distance." A body sitting a meter away lights up the gates near that distance and leaves the rest quiet.

Why It Matters: Presence Isn't a Photo
A huge amount of pet-health signal is about state, not appearance. Is the pet in its bed at night? Did it leave its spot? Is it restfully still or restlessly moving? None of that needs to identify anything — it needs to reliably detect a body and its motion.
Radar is uniquely suited to that, for three reasons. It's light-independent, so a pet resting in a dark room reads exactly the same as one in daylight. It's unobtrusive, seeing through thin blankets, bedding, and enclosures that would blind a camera. And it's privacy-preserving by construction — there is no image to capture, leak, or feel watched by, which matters enormously for a device meant to live in bedrooms and quiet corners.
The tradeoff is that radar gives you less — no identity, no fine detail — but for presence and motion, less is exactly enough, and the absence of a picture is a feature, not a limitation.
How It Works: From Reflections to a Reading
The raw reflected energy the sensor reports is a squared magnitude, which spans a huge dynamic range — so the first thing our tool does is convert it to decibels, compressing it into a readable scale:
58 def db(raw):
59 """Convert raw modulus-squared energy to dB (10*log10)."""
60 return 10.0 * math.log10(raw) if raw > 0 else 0.0
Then each frame is decoded into its three parts: the presence verdict, the distance to the strongest target, and the per-gate energy across all 32 bins. That loop is the heart of it — pull the result byte, the distance, then walk the 32 gates converting each to dB:
116 result = payload[0]
117 dist = payload[1] | (payload[2] << 8)
118 gates_db = []
119 for g in range(NUM_GATES):
120 o = 3 + g * 4
121 raw = (payload[o] | (payload[o + 1] << 8) |
122 (payload[o + 2] << 16) | (payload[o + 3] << 24))
123 gates_db.append(round(db(raw), 1))
A real captured frame from a bench run reads MOVING at 88 cm, with the gate energies peaking around 50 dB near that distance and trailing off in the farther bins — a textbook "a body is standing about a meter away, and it's moving." Logging every frame with its full gate profile is what lets us tune and validate detection against ground truth:
164 writer.writerow(["timestamp", "presence", "distance_cm"] +
165 [f"g{i:02d}_dB" for i in range(NUM_GATES)])
That CSV — presence, distance, and 32 energy columns per frame — is a compact, honest record of what the sensor perceived, frame by frame, and it's the dataset behind every threshold decision.

Moving, Static, or Nobody Home
The three presence states in that little dictionary — NONE, MOVING, STATIC — carry more nuance than a plain motion sensor. A cheap PIR detector effectively only knows "movement, yes/no," and declares an empty room the instant a resting pet holds still. That's a classic false negative: the pet is right there, just calm.
Radar separates those cases. MOVING is an active body — walking, shifting, fidgeting. STATIC is a body that's present but still, detected by the tiny reflections a living thing produces even at rest. NONE is a genuinely empty space. That distinction — present-and-still versus actually-gone — is exactly the one that matters for knowing whether a pet is resting in its bed versus has left the room.
Because the sensor reports the full gate profile alongside the verdict, we're never locked into its built-in thresholds. We can watch the raw energy ourselves and tune what counts as presence for a small pet at a given range — the difference between a generic occupancy sensor and one calibrated for the animal we actually care about.

Applications: Contactless, Everywhere a Camera Shouldn't Be
Presence radar slots into the parts of pet monitoring where a wearable is impractical and a camera is unwelcome. It can tell whether a pet is using its bed at night, how much of the day it spends resting versus active, and whether it's near a feeding station — all without anything on the animal and without an image of the home.
It also pairs beautifully with the modalities we already use. Where a camera and thermal sensor answer what and how warm, radar answers whether and where and moving — in the dark, through cover, at low power, and with no privacy cost. Fused together, they give a fuller, more trustworthy picture of a pet's day than any one sensor could alone.
Why It Matters at Hoomanely
Hoomanely is reinventing healthcare for pets — replacing reactive, imprecise care with continuous, clinical-grade monitoring that catches problems early. Our devices form a Physical Intelligence ecosystem: sensors fused at the edge, feeding the Biosense AI Engine that turns raw signals into personalized, preventive insights.
Behavioral rhythms — where a pet rests, how much it moves, when it's active or still — are some of the earliest and most honest indicators of health, and they need to be sensed continuously without intruding on the home. Radar lets us capture that presence-and-motion signal around the clock, in the dark, and with no camera in a private space — exactly the kind of respectful, always-on sensing our mission depends on.
Working in the sensor's engineering mode, with the raw 32-gate energy in hand, is what lets us tune it for real pets rather than settle for a generic occupancy verdict. That's the difference between a motion light and a health instrument.
Key Takeaways
- Presence isn't a photo. Much of pet-health monitoring needs "is the pet here and moving," not an image — and for that, radar beats a camera.
- A body is an energy profile. Millimeter-wave radar sees a scene as reflected energy across distance gates; a body is a bright cluster of gates at its range.
- Distinguish still from gone. Radar separates present-but-static from truly empty — the case a plain motion sensor gets wrong on a resting pet.
- Go raw to tune it right. Engineering mode exposes the per-gate energy behind each verdict, so detection can be calibrated for a specific animal instead of a factory default.
- Sense respectfully. Light-independent, see-through-cover, no-image sensing is what makes continuous presence monitoring acceptable in a home.
Author's Note
This presence radar is a sensing modality Hoomanely is bringing into its Physical Intelligence ecosystem, alongside the cameras, thermal, motion, and weight sensing already in our devices. It answers a deceptively simple question — is the pet here, and is it moving — in the dark, through a blanket, and without ever taking a picture. Reading the sensor's raw 32-gate energy, frame by frame, is how we turn a generic presence chip into something tuned to watch over a specific animal, continuously and unobtrusively, in the places care matters most.