# APEX dual MID-360 field scanner — engineering report

Version `2.0.0-APEX` · mnemonic `APEX` · 2026-09-04 · FreeCAD `1.1.3R20260725`

## Result

The deliverable is an editable, parameterized FreeCAD assembly for a ground-deployable dual-LiDAR scanner. It includes the two official Livox MID-360 B-reps, indexed A-frame sensor mounts, separate compute and battery enclosures, a 22° leaning 5.5-inch operator display, rear cable cover, carrying hardware, and four adjustable spider-style leveling feet.

- Public interactive viewer: <https://apex-mid360.artifact.oa.lessokaji.com/viewer/?v=2.0.0-apex-vicor-final>
- Editable FreeCAD file: [APEX_dual_mid360_field_scanner_v2.0.0.FCStd](APEX_dual_mid360_field_scanner_v2.0.0.FCStd)
- Neutral B-rep: [APEX_dual_mid360_field_scanner_v2.0.0.step](APEX_dual_mid360_field_scanner_v2.0.0.step)
- Assembly visualization mesh: [APEX_dual_mid360_field_scanner_v2.0.0.stl](APEX_dual_mid360_field_scanner_v2.0.0.stl)
- Fabrication meshes: [parts/](parts/)
- Complete package: [APEX-scanner-v2.0.0-APEX.zip](APEX-scanner-v2.0.0-APEX.zip)

## Optical layout

Each MID-360 optical axis is tilted 86° from vertical, producing a 172° included angle. This is nearly antipodal and maximizes the ideal union for the requested pyramid-like head while leaving space for the A-frame and cable exits.

Coverage was calculated over 240,000 equal-area Fibonacci-sphere directions using Livox's official vertical FOV of −7° to +52°:

| Metric | Result |
|---|---:|
| One MID-360 | 45.4979% |
| Two-sensor union | 78.8104% |
| Overlap | 12.1867% |
| Ideal blind area | 21.1896% |

Two MID-360 units cannot cover a complete sphere: their specified 59° vertical band makes 720° marketing shorthand physically unattainable with two sensors. The 78.8104% value is an ideal optical result and excludes additional near-field occlusion from the chassis and mounting plates. Full spherical coverage requires more sensors or a moving head.

## Selected real components

| Qty | Component | Design basis |
|---:|---|---|
| 2 | Livox MID-360 | Official STEP imported; 65×65×60 mm nominal, 9–27 V, −7°…+52° vertical FOV |
| 1 | Seeed reComputer J4012 | 130×120×58.5 mm; Jetson Orin NX compute envelope |
| 1 | Waveshare 5.5-inch HDMI AMOLED | 140.40×74.76×8.70 mm glass/module drawing; 22° operator lean |
| 1 | CSBattery LFP24V10 | 25.6 V, 10 Ah, 256 Wh; 181×77×170 mm, laid flat |
| 1 | Noctua NF-A6x25 5V PWM | 60×60×25 mm exhaust fan; 50×50 mm mounting pitch |
| 1 | Vicor DCM3623T36G13C2T00 | 18–36 V input, output adjusted to 12 V, 320 W; 38.72×22.80×7.21 mm |
| 4 | M12×1.75 leveling assemblies | 40 mm modeled adjustment travel; 54 mm articulated pads |

Primary references: [Livox product/specifications](https://www.livoxtech.com/mid-360?from=store-product-page), [Livox downloads and official 3D model](https://www.livoxtech.com/jp/mid-360/downloads), [Seeed reComputer J4012](https://wiki.seeedstudio.com/cn/recomputer_j401b_getting_start/), [Waveshare dimension drawing](https://files.waveshare.com/wiki/5.5inch%20HDMI%20AMOLED/5_5inch-hdmi-amoled.pdf), [CSBattery LFP24V10 datasheet](https://csbattery.cn/wp-content/uploads/2023/02/CSBattery-LFP24V10-LiFePO4-Battery.PDF.pdf), [Noctua fan specification](https://www.noctua.at/en/products/nf-a6x25-5v-pwm/specifications), and [Vicor DCM product matrix](https://www.vicorpower.com/dc-dc/isolated-regulated/dcm).

The battery can reach 30.4 V while charging, which exceeds the MID-360's 27 V supply limit. The design therefore uses the Vicor module for the 12 V rail. The modeled 85×50 mm carrier reserves space for fuse, reverse-polarity protection, EMI filter and connectors; that carrier circuit must be completed from Vicor's application guidance before production.

## Mechanical design

- Overall deployed physical envelope: 394×338×360 mm; minimum Z is 0 mm.
- Battery enclosure: 220×190×95 mm, 3 mm walls, M4 insert posts and service lid.
- Compute enclosure: 184×154×72 mm, 3 mm walls, M3 insert posts and removable top lid.
- Sensor head: 6 mm deck and triangular A-frame gussets, pivot shafts, indexed MID-360 plates, and M3 48×36 mm mount patterns.
- Rear cable cover: removable, with insert bosses and IP67 gland clearances.
- Eight fabrication STL sets are separated from the complete visualization assembly.

The installed FreeCAD skills were applied to enforce enclosure floor/wall/post construction, M4 normal-clearance holes of 4.5 mm with 8×4 mm counterbores, M3 clearances of 3.4 mm with 6.5×3 mm counterbores, M3 heat-insert bores of 4×5 mm, and M4 heat-insert bores of 5.6×6 mm.

## FreeCAD skill and MCP provenance

The redesign used these GitHub resources, pinned at the checked-out commits:

- [ghbalf/freecad-ai](https://github.com/ghbalf/freecad-ai) — `15774022a1c981335135d95928bd6cb4f7ba0431`; installed `enclosure`, `fastener-hole`, and `thread-insert` Codex skills.
- [gurul/gencad](https://github.com/gurul/gencad) — `364770c8f09792064389e7abc85240813622d120`; invoked as an MCP server for `freecad_run` and section rendering.
- [tessalabs-space/freecad-mcp](https://github.com/tessalabs-space/freecad-mcp) — `0a6b596dd95b2543594ba742edd5b0655874b1a9`; inspected for FreeCAD MCP rendering patterns.

`build_scanner_v2.py` was executed through GenCAD's MCP `freecad_run` tool against the installed FreeCAD command-line engine. The two section images were also generated through GenCAD's `freecad_render_section` tool.

## Verification evidence

- Validation status: `PASS`
- Checks: 58 passed, 0 failed
- FreeCAD physical objects: 71
- B-rep solids: 83
- Complete assembly STL facets: 220,970
- Manufacturing STL sets: 8
- FCStd SHA-256: `1eecf42d1c12d5c4d0ccc3d11ba0e758a46fb6d8cc75187b50165a7543c01023`
- Official Livox STEP SHA-256: `b93e9b51282ed319b6aa755e76a132c0eb03306da5f3b9676bcabf2e2ae25f02`
- Source machine: `ARTHERU-ROG6900` (TH155)
- Source FCStd: `D:\work\projects\360id\out_v2\APEX_dual_mid360_field_scanner_v2.0.0.FCStd`

Machine-readable evidence is in [verification.json](verification.json), [design-manifest.json](design-manifest.json), and [SHA256SUMS.txt](SHA256SUMS.txt). Visual evidence is in `APEX-oa-public.png`, `APEX-public-viewer-exploded.png`, `section-battery-z100.png`, and `section-compute-z200.png`.

## Acceptance boundary

This is a real FreeCAD build using the official Livox geometry and real manufacturer dimensions, and the public OA viewer was exercised against the exported STL files. No physical MID-360 units, battery, machined/printed parts, or complete prototype were available on TH155, so physical fit, center-of-gravity stability, thermal performance, ingress protection, cable bend radius, EMC, and live scanning are **not physically accepted**. A production release requires assembly on the target hardware, a tip-over test on uneven ground, thermal/load testing, and a recorded scan using both real LiDARs.

## Live services

- OA public viewer: <https://apex-mid360.artifact.oa.lessokaji.com/>
- Local viewer: <http://127.0.0.1:9882/viewer/>
- Local viewer terminal: `b9c86ee86e`
- OA broker terminal: `f05ddaa15d`
- Browser cockpit: `br-7a4ff1f62e`

The viewer server, OA broker, browser cockpit, and final FreeCAD inspection window are intentionally left running for review.
