I opened PR #1047 adding the HighRes Biosolutions MicroSpin centrifuge to pylabrobot. Not merged yet. Review and testing welcome.
The MicroSpin is a 2-bucket automated microplate centrifuge (up to 3000g) controlled over plain TCP/IP, no FTDI or vendor SDK needed. The wire protocol came out of the device’s own list all / help <cmd> / errors / settings introspection commands plus the user manual, then tested end-to-end on the physical device and the mock server I built.
Tested against: firmware MS-1.3.3 (build 5DDA74E3), unit manufactured 10/2015
Firmware quirks I found on this unit
While reverse-engineering and testing, I hit a few machine behaviours that aren’t documented anywhere. The backend wraps them in UserWarnings and recovery helpers, but I’d love to know if other MicroSpin owners see them too:
- Low-G hang (
g < 30). At very low G the spindle-stopped sensor sometimes fails to latch at end of spin.statusafter the spin never returns, every subsequent command times out, only fix I found was sendingabort,clearbuttonabort, waiting for a few minutes to let it spin down and then running anotherstatuscommand. - Slow deceleration (
decel < 0.40).spin 1000 100 20 10(decel = 20 %) on our unit took ~7 minutes to fully stop. Functional but very slow. - Possible firmware hang (
decel < 0.20).spin 1000 100 10 10(decel = 10 %) ran for >30 minutes without ever reporting spin-down. Had to abort similar to the low G case mentioned above. ABORTED!is a third terminator. Commands cancelled byabort(and new motion commands issued while the abort latch is set) returnACK!thenABORTED!, notOK!orERROR!. The backend handles this; mentioning in case anyone else is writing a protocol parser./rwmount fails at boot 11x. The embedded Technologic Systems SBC shows this on every power-on, likely flash wear from dirty shutdowns (there’s no soft-shutdown command, you flip the back-panel switch). Doesn’t break anything but the errors persist on the device’s error stack.- Homing after power-cycle is mandatory but not stated in the manual anywhere I can find. Empirically
hssreturnsnot homedafter every power-on and motion commands fail untilhomeis issued.
If you have a MicroSpin and a few minutes, give the branch a spin and let me know how it goes. Especially curious whether the decel thresholds match your unit, whether you also see the /rw boot errors, and what your firmware reports. A different firmware revision would tell me whether these are hardware-specific or firmware-family quirks.