Trap 1
Latest does not mean compatible.
A library can move ahead of device firmware. Alvik gives us a concrete version-pair example.
Field guide
Robot compatibility is usually a tuple, not a badge. The robot edition, firmware, library, host operating system, middleware and sometimes sensor revision all have to line up. Ignore one of them and an innocent update can turn into an evening of archaeology.
Trap 1
A library can move ahead of device firmware. Alvik gives us a concrete version-pair example.
Trap 2
Distribution, host hardware, lidar generation and robot firmware can all change the working configuration.
Trap 3
A robot may drive locally while speech, model inference or account setup follows a completely different dependency path.
Current examples
MicroPython 1.1.4 ↔ carrier firmware 1.1.1
Arduino's release notes explicitly couple library and carrier-firmware versions. 'Supports MicroPython' is therefore incomplete procurement information.
ROS package 2.3.7 · documented targets Humble, Jazzy
A ROS-compatible platform is still a configuration: distribution, SBC, lidar, firmware and package version can matter independently.
Daemon v0.15.0
The software release can move independently of hardware availability. Check the daemon version before assuming a new announcement changed the software you already have.
SDK v1.9.0
A different hardware variant does not automatically mean a different SDK. Check the exact version before treating the two as separate software platforms.
LeRobot integration: Yes
The project is built around LeRobot. If you are reproducing a tutorial, use its known working environment rather than assuming the newest package combination will behave identically.
OpenCatESP32 · voice network required: No
Framework and network dependency are different questions. Petoi documents local voice operation while the wider ecosystem can still involve optional networked extensions.
Robot, firmware, SDK, ROS distribution and host OS can all matter. Save the working combination before changing one piece, especially if the robot is already doing something useful.