All 12 boot-time calibrations passed. The debug output confirmed it:
Debug: Init Calibration Status = 0x1ffe
0x1FFE means bits 1–12 are all set — every RF calibration succeeded. The sensor advanced to State 1. Then sensorStart returned Error -1 and the data port stayed silent.
State 1 means configured but not running. The error was happening in the chirp engine, after calibration, before any data could flow.
The math I didn’t check
The regulatory band for the IWR6843AOP is 60.0–64.0 GHz.
My profileCfg had:
profileCfg 0 60.75 30 7 57.14 0 0 70 1 256 5209 0 0 30
Bandwidth = freqSlopeConst × rampEndTime = 70 MHz/μs × 57.14 μs = 4.0 GHz.
End frequency = 60.75 + 4.0 = 64.75 GHz.
That’s 750 MHz past the top of the band. The calibrations run at boot and don’t care — they test the RF chain independently of the chirp profile. But the chirp engine validates the sweep boundaries before starting, and it refused.
No error message explaining this. Just Error -1.
The fix
Change startFreq from 60.75 to 60.0 so the chirp ends exactly at 64.0 GHz. Sensor advanced to State 2 in under a second.
profileCfg 0 60.0 30 7 57.14 0 0 70 1 256 5209 0 0 30
The check to run before every config change
endFreq = startFreq + (freqSlopeConst_MHz_us * rampEndTime_us / 1000)
For the IWR6843AOP: endFreq must be ≤ 64.0 GHz. If it’s over, sensorStart will silently fail with Error -1 every time, regardless of calibration status.
The TI E2E forums have multiple threads about this exact error. The specific answer is down in replies but this saves you fron having to go search for it.¹