Circuit review & bench-test guide
AXS-025 — LD2410C mmWave presence carrier PMOD module
Document purpose#
This document explains the axs-025-mmwave carrier at component level and turns the design evidence into a manual-review and bench-test plan. It is based on generate_design.py, the generated schematic, the README, and the official Hi-Link HLK-LD2410C user manual.
The board is an unfabricated prototype: schematic generated, ERC clean (0/0), netlist reviewed, no PCB layout, no fabricated board, no BOM export, no bench results. The J2 header MPN is TBD:.
1. What the board does#
The carrier adapts a Hi-Link LD2410C 24 GHz FMCW presence radar to a PMOD Type 3 (UART) socket, with the radar's presence GPIO (OUT) added on PMOD pin 1. Two abstraction levels: OUT is a plain high-when-present GPIO usable on day one; the UART carries the LD2410 binary protocol at 256000 baud (command/ack framing, per-gate energy values, engineering mode). The carrier is 3.3 V-only: J2 VCC is wired to the PMOD 3V3 rail — see the supply conflict in section 4.2.
Functional block diagram#
PMOD host (ECP5) J1 LD2410C (plug-in, J2 1x5 header)
pin 1 PRESENCE <── R1 100 Ω ────────────────── OUT (high = presence)
pin 2 TXD ────────────────────────────────────> RX (module receive)
pin 3 RXD <── R2 100 Ω ─────────────────────── TX (module transmit, LD_TX)
pins 6/12 3V3 ──┬── C1 100 nF ─┬── C2 10 µF ──> VCC (conflict: manual says 5 V)
pins 5/11 GND ──┴──────────────┴────────────── GND
2. Safety and scope boundaries#
- The LD2410C is a 24–24.25 GHz ISM-band transmitter. Emission levels are designed for FCC/CE limits, but the assembled system is not certified; do not treat carrier bring-up as regulatory evidence.
- Bluetooth is enabled by default on the LD2410C and the radar is configurable over the air (default password
HiLink). Treat an exposed bench unit as world-writable and re-verify parameters before trusting results. - Keep the antenna face clear: no copper, hands, or metal within the sensing cone during quantitative tests; movement behind the module can also be detected via the back lobe (manufacturer note).
- Use a current-limited 3V3-capable host or supply; the module averages ~79 mA with ~130 mA peaks (manual Fig. 11), which is a meaningful load on a PMOD 3V3 rail — verify the host's rail budget.
3. Power and control sequence (design intent)#
- Host powers the PMOD; 3V3 reaches J2 VCC through the carrier plane; C1/C2 supply chirp-current peaks.
- The module boots, starts radiating, and streams periodic data frames at 256000 8N1 immediately; OUT asserts high when presence is detected.
- Host TXD drives module RX directly (host-driven, no series resistor); module TX and OUT return through R2 and R1 (100 Ω each).
- There is no reset or enable line: power-cycle is the only hardware reset.
4. Plug-in module verification (read before first power)#
Mandatory section. Three separate checks below; two of them are known conflicts with the official manual, not just theoretical clone variation.
4.1 Do-not-fit-LD2410 check (and the LD2410C's own rating)#
The carrier README asserts the LD2410C "accepts a 3.3 V supply" while the plain LD2410 wants 5 V and must not be fitted. The plain-LD2410 prohibition is correct and stands: never fit an LD2410 or LD2410B — there is no 5 V anywhere on this carrier and those modules specify 5 V. Identify the module by its silkscreen model marking (HLK-LD2410C-Vx.x) before soldering.
4.2 Supply-voltage conflict (unresolved design risk)#
The official HLK-LD2410C manual V1.00 does not support the 3.3 V premise: its pin table gives VCC as "Power input 5~12 V (advise 5 V)" and the electrical table says "DC 5V, power supply capacity > 200 mA". Some vendor listings claim 3.3 V tolerance for specific LD2410C builds, but that is not in the manufacturer document reviewed here. Until resolved:
- Treat "runs correctly at 3.3 V" as an open question to be answered on the bench with a sacrificial module, powered from a current-limited supply, before committing the carrier design.
- Likely failure mode at 3.3 V is undervoltage misbehavior (brownout, reduced range, resets during chirps) rather than damage, but that is an expectation, not a datasheet fact.
- If 3.3 V operation cannot be demonstrated, the carrier needs a redesign (external 5 V entry like AXS-024/044/045, with level care on RX).
4.3 Pin order and pitch (two hard mismatches to fix before fab)#
- Numbering direction: the manual's pin table is 1 TX, 2 RX, 3 OUT, 4 GND, 5 VCC (module silkscreen reads
TX RX OUT GND VCC). The carrier schematic assumes 1 VCC, 2 GND, 3 OUT, 4 RX, 5 TX — the exact reverse. The physical row is the same; whether it mates correctly depends entirely on which end becomes "pin 1" after the header is soldered and the module is plugged in. A reversed mating puts VCC on TX and TX on VCC. Resolution: after layout, the carrier silkscreen must label each J2 position with the module's own signal names, and the bench check below must be run on every assembly. - Pitch: the manual specifies the module's five pin holes at 2.54 mm pitch, 0.9 mm diameter. The carrier J2 footprint is a 1.27 mm 1×5 header (
PinHeader_1x05_P1.27mm_Vertical). These cannot mate. The footprint must be changed to 2.54 mm before fab. (Clone boards may differ — measure the purchased module, but the official drawing says 2.54 mm.)
Bench check before first power, module in hand:
- Read the module silkscreen next to its five holes; write down the order.
- Solder the header, plug into the carrier (unpowered), and buzz from the module's VCC hole to the PMOD 3V3 pins, and from the module's GND hole to PMOD GND. Both must be correct before applying power.
- Buzz module TX to the R2 side (LD_TX) and OUT to the R1 side (LD_OUT).
4.4 Plug-in key specifications (HLK-LD2410C manual V1.00, 2022-11-07)#
| Item | Manufacturer value | Bench relevance |
|---|---|---|
| Supply | DC 5 V (pin table: 5–12 V, advise 5 V); capacity > 200 mA | Conflicts with carrier 3V3 feed — section 4.2 |
| Average current | 79 mA (measured plot ~56–130 mA) | PMOD rail budget; decoupling sizing |
| IO level | 3.3 V (UART and OUT) | Signal wiring to the PMOD is level-safe |
| Default UART | 256000 baud, 1 stop, no parity | HDL UART must hit 256000 within ~2 % |
| OUT behavior | High when human presence, low when none | PMOD pin 1 polarity |
| Detection | 0.75–6 m, gates of 0.75 m, ±60° | Test geometry |
| Configuration | Serial protocol + Bluetooth app (default on, password HiLink) | Parameters persist across power cycles |
| Unmanned delay | Configurable "no-one duration" in seconds | OUT release is delayed by design — not a bug |
| Dimensions | 16 × 22 mm, 5 holes, 2.54 mm pitch, 0.9 mm dia | J2 footprint conflict — section 4.3 |
5. Component-by-component review#
#FLG01/#FLG02 are ERC power flags, not physical parts.
| Ref. | Part / value | Function and why needed | If absent/open | If shorted, wrong, or misassembled |
|---|---|---|---|---|
| J1 | 2×6 right-angle PMOD plug (MPN TBD:) | Host interface; PRESENCE on pin 1, UART on 2/3 | No host link | Mirrored assembly puts 3V3/GND on signal pins — verify pin-1 orientation |
| J2 | 1×5 header, footprint currently 1.27 mm (MPN TBD:) | Module socket | No module | Footprint pitch is wrong per the manual (2.54 mm required); reversed insertion swaps VCC and TX — section 4.3 |
| R1 | 100 Ω 0603, Yageo RC0603FR-07100RL | Series protection on module-driven OUT | Loses fault-current limiting | Open: PRESENCE floats — host sees noise as presence; add a host-side pull if needed |
| R2 | 100 Ω 0603, Yageo RC0603FR-07100RL | Series protection on module-driven TX | Same as R1 | Open: no UART data at PMOD pin 3 |
| C1 | 100 nF 16 V X7R, Murata GRM188R71C104KA01D | High-frequency decoupling at the socket | Chirp noise on the rail | Short kills 3V3 rail |
| C2 | 10 µF 10 V X5R, Murata GRM21BR61A106KE19L | Bulk reservoir for radar chirp current (~130 mA peaks) | Rail droop each chirp; possible module resets | Short kills 3V3 rail |
Host TXD → module RX is direct (host-driven line, consistent with the series convention used across this board family).
6. Datasheet summary and design interpretation#
| Device | Key manufacturer facts | Board-specific interpretation |
|---|---|---|
| HLK-LD2410C | 24 GHz FMCW, DC 5 V / >200 mA, avg 79 mA, IO 3.3 V, 256000 8N1 default, OUT high on presence, 0.75 m gates to 6 m, ±60°, Bluetooth default-on, 2.54 mm pin holes | Signals are PMOD-safe; supply and footprint assumptions are not supported by the manual — both are release blockers |
| Yageo RC0603 | Thick film 1 % | Uncritical |
| Murata GRM188/GRM21B | X7R/X5R ceramics | Adequate; C2's 10 V rating fine at 3.3 V (or 5 V after any redesign) |
Official reference: HLK-LD2410C user manual V1.00 (hlktech.net), vendor site hlktech.net. Hi-Link also publishes a separate "LD2410C Serial Port Communication Protocol" document for the frame formats; obtain the revision matching the purchased firmware.
7. Expected values before bench testing#
| Quantity | Design target / manufacturer value | What to measure |
|---|---|---|
| Rail at J2 VCC | 3.3 V (carrier intent) vs 5 V (manual) — see 4.2 | DMM at the socket under load |
| Module current | ~79 mA avg, ~130 mA peaks (values measured at 5 V) | Shunt/current probe; expect different numbers at 3.3 V, if it runs at all |
| UART | 256000 8N1 periodic data frames | Logic analyzer on LD_TX |
| OUT | 3.3 V high with a person in the cone; low after the configured unmanned delay | Scope on PMOD pin 1 |
| Detection distance | Up to 6 m moving, gates of 0.75 m | Walk tests at marked distances |
| Rail droop at chirp | Small enough that the module does not reset | Scope AC-coupled at C2 |
8. Manual schematic and assembly review checklist#
- Resolve the supply question (4.2) with a sacrificial module before layout; document the answer in the repository.
- Change the J2 footprint to 2.54 mm pitch (4.3) and re-run ERC/DRC.
- Add module-signal-name silkscreen at J2 to kill the reversal ambiguity.
- Pin J1/J2
TBD:MPNs before BOM release. - After layout: antenna face keep-out (no copper under/in front of the module), C1/C2 adjacent to the socket, verify PMOD pin-1 orientation.
- Confirm R1/R2 sit in the module-driven lines (OUT, TX), not the host TXD.
9. Ordered bench-test procedure#
Stop at the first abnormal result.
A. Module qualification (before any carrier use)#
- Power a bare LD2410C from a current-limited bench supply at 5.0 V through jumper wires; confirm UART frames and OUT behavior (baseline).
- Reduce supply in steps 4.5 → 4.0 → 3.6 → 3.3 V, watching current, frame integrity, and detection range. Record the lowest reliable voltage. This answers section 4.2. If 3.3 V fails, stop: the carrier needs redesign.
B. Unpowered carrier checks#
- Complete section 4.3 buzz-out (VCC/GND/TX/OUT to the right nets).
- Resistance 3V3-to-GND at the PMOD plug; investigate a hard short.
C. First power and presence GPIO#
- Attach to the host; power on; measure J2 VCC and module current.
- With the room still, OUT should settle low; walk into the cone at 2 m — OUT high within ~1 s; leave — OUT drops only after the configured unmanned delay (default 5 s). Do not misread the delay as a fault.
- Scope the 3V3 rail at C2 during operation; note droop.
D. UART protocol#
- Capture LD_TX at 256000 8N1; verify the periodic data-frame headers and parse target state / moving and static distance and energy per the Hi-Link serial-protocol document.
- Send a read-parameters command from the host through TXD and verify the ack frame — this proves the host-driven RX path.
- Verify your ECP5 baud generator: 256000 from your fabric clock must land within ~2 %; log the actual divider error.
E. Behavior and interference#
- Range-gate test: configure max gate to 2 (1.5 m); confirm a person at 3 m is ignored.
- Bluetooth: confirm the module is visible in the HLKRadarTools app; change and restore one parameter; then decide whether to disable Bluetooth via the serial protocol for bench integrity, and record the choice.
- Back-lobe test: movement behind the carrier; record whether it triggers (manufacturer warns it can).
10. Troubleshooting map#
| Symptom | First measurements | Likely areas |
|---|---|---|
| No current draw | J2 VCC voltage, buzz-out | Reversed module, wrong footprint mating, J2 solder |
| Draws current, no UART | LD_TX at module pin, baud setting | Reversed pin order (TX where VCC expected), 256000 vs analyzer setting |
| UART ok, OUT never asserts | OUT at module pin vs after R1 | R1 open, sensitivity/gate configuration, module aimed wrong |
| OUT stuck high | Room actually still? fan/curtain in cone; unmanned delay | Configuration, environmental movers, back lobe |
| Resets/erratic at 3.3 V | Rail droop at C2, current peaks | Undervoltage (section 4.2) — test at 5 V to confirm |
| Range far below 6 m | Antenna obstruction, mounting | Copper/metal near antenna face, low supply |
11. Bench record template#
| Field | Record |
|---|---|
| Board serial / assembly variant | |
| Module model marking and firmware version | |
| Section A supply-sweep result (lowest reliable voltage) | |
| Pin-order buzz-out result | |
| Rail voltage / current (avg, peak) | |
| UART frame decode result | |
| OUT assert/release timing (configured delay) | |
| Gate-configuration test result | |
| Bluetooth enabled/disabled decision | |
| Deviations, raw-file paths | |
| Reviewer / date / disposition |
12. Review conclusion#
The signal architecture is sound — 3.3 V IO with series resistors on both module-driven lines and honest decoupling for chirp peaks. But this carrier currently rests on an assumption the manufacturer's own manual contradicts: the official HLK-LD2410C document specifies a 5 V supply and 2.54 mm pin holes, while the carrier feeds 3.3 V into a 1.27 mm footprint. Combined with the reversed pin-numbering convention, there are three release blockers: demonstrate (or abandon) 3.3 V operation on a real module, fix the J2 pitch, and disambiguate pin 1 on silkscreen. Until then, no board should be fabricated from this schematic.