General

Adjust Sensitivity on the C1001 sensor

userHead Peter.Casanova 2026-10-13 21:06:59 246 Views3 Replies

Having problems where a ceiling fan is causing false readings on a C1001 sensor.

 

When the fan is on, presence and in-bed is showing as true although there is no one in the room (same for heart rate, breathing, etc.).

 

If I turn the fan off, all this clears in a couple of minuets. 

 

Is there a way to turn sensitivity down?  

Any recommendations?

2026-10-15 21:20:58

Hi Jason,

 

Geometry alone not fixing it. Details:

- Mount: vendor orientation per Getting Started page. Aluminum tape on sides and top, face open.
- Fan on, room empty: some mornings clears in about 10 min. Other mornings presence, in-bed and breathing 19–22 stay on for 1.5 h or more.
- Fan off: clears within a couple of minutes.
- During phantom, position output tracks a target about 1 m to the side of the sleeper, at 140–155 cm.

Host-side debounce does not help. False signal is steady, periodic and lasts hours, not seconds. Periodic is likely why it passes as breathing.

 

Questions:

1. Does C1001 firmware have a sleep-mode command for max detection distance, range gate or sensitivity that the Arduino library does not wrap? Fall mode has height and range settings.
  Anything similar for sleep mode?
2. Is there a firmware version with settable range or sensitivity? Can it be updated in the field?
3. Can sleep mode report tracked target position, or restrict detection to a zone, so the host can ignore targets outside the bed?

 

Thanks again.

 

Peter

userHeadPic Peter.Casanova
Jason.Miao wrote:

Hi Peter, In sleep mode the public protocol exposes only the work-mode switch + result reads (in/out of bed, sleep state, respiration/heart rate, nightly statistics) — there is no configurable range-gate, sensitivity, or zone command. Those knobs only exist in Fall mode (dmInstallHeight, dmFallConfig fall-sensitivity 0–3). The C1001 is a state/event sensor: it doesn't output target coordinates or allow a bed-zone mask. So the range/zone feature you're describing isn't in the shipped library/protocol. That's a firmw/ermine question rather than a scripting one — I'd recommend asking DFRobot support whether the firmware exposes hidden range/zone commands, if not, it would need a firmware feature request.

2026-10-16 10:01:09
1 Replies
2026-10-14 09:13:53

Hi Peter, quick note: the C1001 Getting Started doc actually warns about exactly this — it says to avoid easily swaying objects such as exhaust fans/metal blinds/blackout curtains. A ceiling fan is a large rotating reflector, so when it sits inside the radar beam, the mmWave reads it as presence plus a periodic pattern that looks like breathing/heartbeat.

The Arduino library doesn't expose a "sensitivity" knob as such, so the practical fixes are mostly geometry:

Reposition/aim the sensor so the fan is outside the beam (presence/sleep mode is a ~40°×40° cone, and the doc recommends a 30–45° downward tilt).The breathing/HR engine locks onto a moving chest within 0.4–1.5 m — getting the fan off that axis helps most.If you can't avoid it, add a small host-side debounce: only declare presence after it stays true for 2–3 consecutive reads, and ignore HR/breathing unless the rate is steady for a few seconds.

References:

C1001 Getting Started (installation + fan warning): https://wiki.dfrobot.com/sen0623/docs/21502C1001 wiki / specs: https://wiki.dfrobot.com/sen0623/
userHeadPic Jason.Miao