BOM: WT61 facts from the datasheet (current, filtering, power-up calibration, yaw drift)

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:59:28 +09:00
parent f0e5751b30
commit c05585c9b0
+15 -4
View File
@@ -108,7 +108,9 @@ type: reference
| **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 |
| **Power** | 3.3 V from header pin 1. Datasheet: 3.3–5 V input through an onboard regulator, **< 10 mA** |
| **Range** | ±16 g, ±2000 °/s; roll and yaw ±180°, pitch ±90°. No magnetometer |
| **Datasheet** | `~/infra/kb/inbox/engineer/raw/WT61_Datasheet.pdf` (raw, not yet in the KB) |
### Wiring (40-pin header)
@@ -121,8 +123,8 @@ type: reference
### 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.
- **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. The datasheet only says
"TTL level", so 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,
@@ -130,7 +132,16 @@ type: reference
- 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.
- The temperature field is the chip's own temperature, not the air's: `raw / 340 + 36.53` °C per the datasheet (smart-serow's `IMU.md`
says 36.25).
- **The gyro zeroes itself at power-up**, and yaw resets to 0. The module must be still while it powers up; it is, if it powers with the
Orin at ignition and the car is parked.
- **Yaw drifts.** With no magnetometer, yaw is integrated gyro and holds only over short spans; use yaw *rate*, not absolute yaw. Roll and
pitch are referenced to gravity and do not drift.
- **Output is low-pass filtered at 10 Hz** by default, even at 100 Hz output. Fine for vehicle motion, but it smooths out bumps and
vibration. A gyro rate under 0.122 °/s reads as 0 (static threshold). Both are set only from WitMotion's PC software; there is no
serial command for them.
- I²C mode (`FF AA 62`) exposes the raw MPU6050 only (no angles) and needs 4.7 kΩ pull-ups. Not used.
## RTC backup battery