Public: anyone can read this; the crew can change it.
Migrated from github.com/Trevato/SO-ARM100
workbenchthis machine
Cameras stream with the arm unplugged: serve starts with no serial port, and resting stops driving, not cameras #623
Sign in to join this conversation.
new above
offline
Owner, 2026-10-27: "the workshop cameras are still not streaming." This comes first: small, and before anything else on this repo. (Follow-up to #581, which landed as #592 but doesn't hold on the real Pi.)
1.
so101 servestarts with no arm. On the Pi,so101.service(node bin/so101 serve --listen 0.0.0.0:8101,Environment=SO101_PORT=/dev/ttyACM0) exits every 6 s witherror: No such file or directory, cannot open /dev/ttyACM0when the arm is unplugged. That's still true at mainfa0051d: I deployed it thepi-deploy.tsway and rolled it back. A missing port means "arm: not connected". It still serves/status,/versionand the cameras, and retries the port every 5 s (hot-plug).2. Cameras don't depend on the arm.
src/relay.ts:1227answers503 "…: the cameras are off"and:1475refuses camera websockets while resting, and "the arm is offline" counts as resting. Both streams are live on the Pi (:8080,:8081, both in this app's egress), and/cameraslists "Camera 1" and "Above". Resting stops driving only. A camera streams whenever its own source answers, reached directly (not through the arm server).Tests:
servewithSO101_PORTset to a missing path answers/status200 witharm: "not connected"./camera/2/snapshotis 200 from a fake source and the camera websocket opens.Once (1) is on the Pi, the app's own sync (
pi-deploy.ts) can update it again.Files: Software/so101/src/cli.ts, Software/so101/src/relay.ts, their tests