ESP32-C6 SuperMini-based presence detection system with mmWave radar sensors and custom 3D-printed cases.
This project combines:
- ESP32-C6 SuperMini microcontroller
- LD2410C or SEN0610 (C4001) mmWave presence sensors
- 3D-printable cases designed in build123d/CadQuery
- ESPHome configurations for Home Assistant integration
esp32c6-ld2410c.yaml- Configuration for LD2410C sensoresp32c6-sen0610.yaml- Configuration for SEN0610 (C4001) sensor
Cases are modeled using build123d and CadQuery frameworks:
- LD2410C case:
ld2410c/- Compact enclosure for ESP32-C6 + LD2410C - SEN0610 case:
sen0610/- Enclosure for ESP32-C6 + SEN0610 sensor- STL files:
enclosure_base.stl,enclosure_lid.stl,corner_holder.stl - Assembly preview:
- STL files:
esp-presence/
├── esp32c6-ld2410c.yaml # ESPHome config for LD2410C
├── esp32c6-sen0610.yaml # ESPHome config for SEN0610
├── ld2410c/ # LD2410C case (build123d/CadQuery)
└── sen0610/ # SEN0610 case (build123d)
└── images/assembly.png # Assembly visualization
- uv (Python package manager)
cp secrets.yaml.example secrets.yaml # fill in your WiFi credentials
uv sync # installs ESPHome + dependenciesmake compile-ld2410c # compile LD2410C config
make compile-sen0610 # compile SEN0610 config
make compile-all # compile both
make run-ld2410c # compile + flash LD2410C (ESP32 must be connected via USB)
make run-sen0610 # compile + flash SEN0610
make logs-ld2410c # stream device logs
make logs-sen0610
make clean # remove .esphome/ build cache (~2 GB)The first compile downloads the ESP-IDF toolchain (~2 GB).
Each case subdirectory (ld2410c/, sen0610/) is an independent uv project for build123d/CadQuery:
cd sen0610 && uv sync # install case design dependencies separately- Python 3.13+
- uv
