A second, standalone output path for this project — instead of an Arduino GIGA R1 +
Display Shield, the radar feed is displayed and sonified on a Clockwork Pi uConsole
(or any Linux machine with Wi-Fi and audio output).
Safety & disclaimer
This is a hobby project, shared as-is for anyone who wants to build their own version.
A few things to know before you do:
- LiPo batteries: incorrect wiring, reverse polarity, or physical damage to a
LiPo cell can cause fire. Double-check polarity yourself before powering anything
on, use a charging module rated for the cell you're using, and never leave a
charging LiPo unattended.
- RF hardware: the RD-03D and any radio modules in this project operate
according to their respective regulatory approvals (e.g. CE) for their intended
region — verify this applies to your location before use.
- No warranty: this repository (firmware, wiring diagrams, enclosures, scripts,
and this README) is provided without any warranty, express or implied. Verify
every connection yourself before applying power — don't assume the diagrams or
code here are free of mistakes.
- Use at your own risk: building and operating this project is entirely your
own responsibility. The author assumes no liability for damage, injury, or loss
resulting from building or using this project.
If you spot an error in the docs, wiring, or code, please open an issue — corrections
are welcome.
Architecture
RD-03D --UART--> XIAO ESP32-S3 --Wi-Fi (AP + UDP broadcast)--> uConsole (Pygame)
The XIAO ESP32-S3 hosts its own Wi-Fi access point instead of joining one — no
external router, no fixed IP configuration. It reads the radar over UART exactly as
in the GIGA build, clusters targets within 1m of each other into a single point, and
broadcasts the merged data over UDP. Any device connected to the AP automatically
receives the stream.
| Value |
|---|
| SSID | RadarNet |
| Password | radar12345 |
| Mode | XIAO hosts the AP (not a client) |
| UDP port | 4210 |
| Destination | broadcast (192.168.4.255) |
Hardware
Same RD-03D wiring as the standalone single-sensor build: