This demonstration leverages the ESP32-C6 and C4002 mmWave sensor to deliver high-precision human state detection. By combining 24GHz FMCW radar technology with the ESP32-C6's Wi-Fi 6 and Zigbee capabilities, the system accurately tracks motion, micro-presence, and absence. It filters ambient clutter to ensure ghost-proof reliability for smart home automation. Fully customizable and community-driven, this project provides a low-latency, privacy-first alternative to traditional PIR sensors, making advanced spatial awareness accessible to everyone.
Functions
Blink LED every second

Long pressed BOOT button to start calibration
- Beep for the first 10 seconds to signal the user to leave the room. (A long beep indicates the start of calibration.)
- Beep at a higher frequency during calibration. (A long beep indicates the end of calibration.)
Device Block diagram (with power save feature)

Pin assignment

Prototype photo
Front view

Top view

Software setup
- Install [Arduino IDE 2.3.7+ for Arduino](https://www.arduino.cc/en/Main/Software)
- Install [Arduino-ESP32](https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html)
- Install [Arduino DebugLog](https://www.arduino.cc/reference/en/libraries/debuglog/)
- Install [UrlEncode](https://docs.arduino.cc/libraries/urlencode/)
- Install [ArduinoJson v7+](https://github.com/bblanchon/ArduinoJson)
- Install [Adafruit IO Arduino](https://github.com/adafruit/Adafruit_IO_Arduino)
- Install [ArduProf v2.5.3+](https://www.arduino.cc/reference/en/libraries/arduprof/)
- clone this repo by
"git clone --recurse-submodules https://github.com/teamprof/github-esp32c6-c4002.git"
Build demo code
Build firmware
- clone this repo by "git clone https://github.com/teamprof/github-esp32c6-c4002.gif"
- Launch Arduino IDE
- Open "github-esp32c6-c4002.ino" under "github-esp32c6-c4002" folder
- On Arduino IDE, click menu "Tools" -> "Board: " -> "Board Manager..." -> "DFRobot FireBeetle 2 ESP32-C6"
- On Arduino IDE, click menu "Tools" -> "USB CDC On Boot:" -> "Enable"
- Build the code by clicking Menu -> “Sketch” -> “Compile/Verify”
If everything goes smoothly, you should see the following screen.

Flash firmware
- On Arduino IDE, click Menu -> “Sketch” -> “Upload”
If everything goes smoothly, you should see the following screen.

Run
- Click the RESET button
If everything goes smoothly, you should see the following screen.

ThreadSensor state

ThreadSensor-to-ThreadApp event

ThreadSensor-to-ThreadApp event

License
The project is licensed under GNU GENERAL PUBLIC LICENSE Version 3
Copyright
Copyright 2026 [email protected]. All rights reserved.









