Sources
nxt-rs implements the protocol described in LEGO’s MINDSTORMS NXT developer kits. LEGO published them on its MINDSTORMS Advanced Users — Developer Kits page, and they are mirrored widely.
| Document | Used for |
|---|---|
| Bluetooth Developer Kit, Appendix 1: Communication protocol | System commands, system status codes, telegram format |
| Bluetooth Developer Kit, Appendix 2: Direct commands | Direct commands, direct status codes, sensor types and modes, output modes |
| Bluetooth Developer Kit, Appendix 3: ARM7 Bluetooth interface | Bluetooth framing |
| Hardware Developer Kit, ultrasonic sensor I²C appendix | Ultrasonic registers |
NXT firmware source (c_display.iom) | Screen buffer layout and offset |
When working on the protocol layer, keep the PDFs in docs/reference/. That
directory is excluded from the published crate. The golden-byte tests in
tests/protocol.rs encode the documents’ examples and field layouts.
Other NXT libraries were useful for cross-checking behaviour:
- nxt-python, especially for sensor timing and motor quirks,
- the
nxtcrate from bricks-rs, - the OCaml mindstorm library, whose typed connections inspired the USB-only command checks.