# Enclosure Axis Validation — 2026-08-16 The enclosure was tested with the battery end treated as the bottom of the reference orientation. The shared enclosure frame is +X right, +Y toward the top, and +Z toward the cover. ## Audit clarification The timing results below validate the ESP32-C3 polling loop, not the independent sensor sample clocks. A subsequent review of the capture found a coherent repeated ADXL345 sample approximately every 27 polls, consistent with an actual device ODR near 96.3 Hz. This does not affect the static six-position axis result. Firmware v2 adds ADXL345 and L3G4200D freshness/overrun status to every record so dynamic data can be interpreted correctly. ## Capture integrity - 50,001 consecutive samples over 500.000 seconds - Effective MCU polling rate: exactly 100 Hz - Timestamp interval: 10,000 us for every sample - Sequence gaps: 0 - Axis-mapping mismatches between mapped and native columns: 0 The raw capture is `captures/enclosure_axis_test.csv` and is intentionally excluded from source control. ## Accelerometer orientation results | Position | Mean enclosure counts | Expected dominant axis | Result | | --- | ---: | ---: | --- | | Flat, cover up | (+4, -5, +258) | +Z | Pass | | Left edge down | (+258, -3, +10) | +X | Pass | | Right edge down | (-260, -9, +16) | -X | Pass | | Battery edge down | (-3, +255, +11) | +Y | Pass | | Top edge down | (+5, -264, +15) | -Y | Pass | | Cover side down | (-7, -7, -234) | -Z | Pass | The paired-face results give an initial calibration estimate of: ```text offset_counts = (-1.30, -4.45, +12.20) counts_per_g = (258.90, 259.85, 245.70) ``` These values are recorded as candidates only; calibration is not yet applied in firmware. ## Gyroscope rotation results - The deliberate X rotation was X-dominant in 1,261 dynamic samples, versus 44 Y-dominant and 35 Z-dominant samples. - The deliberate Z rotation was Z-dominant in all 1,008 dynamic samples. No X or Y sample crossed the same 500-count activity threshold. - Earlier side-to-side orientation changes were Y-dominant, confirming the remaining gyro axis. The mounted sensor axes and the firmware's enclosure-frame mapping are consistent.