BOM: WitMotion WT61 IMU (planned), on the header UART at 3.3 V

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
This commit is contained in:
2026-10-11 23:55:28 +09:00
parent 3827c5c381
commit f0e5751b30
+36
View File
@@ -96,6 +96,42 @@ type: reference
- Shares the carrier board's internal USB 2.0 hub with the SIM7600; headroom is ample. - Shares the carrier board's internal USB 2.0 hub with the SIM7600; headroom is ample.
- UVC controls (exposure, white balance, power-line frequency) reset on re-enumeration; set them when opening the device. - UVC controls (exposure, white balance, power-line frequency) reset on re-enumeration; set them when opening the device.
## WitMotion WT61 IMU
**Status: planned.** Moving from the smart-serow motorcycle unit, where an Arduino reads it; not fitted yet.
| Field | Value |
|-------|-------|
| **Manufacturer** | WitMotion |
| **Model** | WT61: 6-axis accelerometer + gyroscope, with onboard angle fusion (roll, pitch, yaw) |
| **Purpose** | Motion data for the recordings: longitudinal and lateral g, yaw rate, road grade |
| **Interface** | TTL UART on the 40-pin header: **UART1, `/dev/ttyTHS1`** (free: no console or getty on it). The header I²C stays free for other sensors |
| **Protocol** | 11-byte packets, `0x55` header: accel `0x51`, gyro `0x52`, angle `0x53`, each three int16 values + temperature + checksum. Reference: smart-serow `arduino/IMU.md` |
| **Rate** | Planned 115200 baud / 100 Hz (factory default) |
| **Power** | 3.3 V from header pin 1; the module accepts 3.3–5 V |
### Wiring (40-pin header)
| WT61 | Header pin |
|------|------------|
| VCC | 1 (3.3 V) |
| GND | 6 |
| TX | 10 (UART1 RX) |
| RX | 8 (UART1 TX), needed only to send config commands |
### Notes
- **The header is 3.3 V logic and not 5 V tolerant.** Powering the module at 3.3 V keeps every signal at 3.3 V. If it is ever fed 5 V, first check
that its idle TX reads ~3.3 V.
- Power comes from the header's 3.3 V supply pin (1 or 17), a regulated rail on the carrier board. Not from a GPIO: a GPIO pin is a signal
and is not meant to power anything.
- The module stores its baud rate and output rate in flash. Leaving smart-serow it is set to **9600 baud / 20 Hz**. The reader opens at 9600,
sends `FF AA 63` (115200 / 100 Hz), and reopens at 115200. Commands at the wrong baud are ignored, so configuring on every start is safe.
- Mounting mode: `FF AA 65` flat, `FF AA 66` upright. Set it once the car mounting is known.
- Do not zero the accelerometer at startup the way smart-serow's `imu_calibrate()` does: that removes gravity, which tilt and grade need.
- The user needs the `dialout` group to open `/dev/ttyTHS1`.
- The temperature field is the chip's own temperature, not the air's.
## RTC backup battery ## RTC backup battery
**Status: optional, low priority.** Battery choice settled (CR2032); footprint/R560 still to verify against NVIDIA's schematic. **Status: optional, low priority.** Battery choice settled (CR2032); footprint/R560 still to verify against NVIDIA's schematic.