Part of this second wind at building a submarine comes from the new freedom I have to not solely rely on lego stuff. Out the geared syringe mechanics, and in the peristaltic pump:
I was able to port the energy based system of the python server off to godot, and got the syringe to fill and empty as expected. UI includes a slider for the motor, buttons to set min & max limits and reset the calibration, and 2 progress bars to let me know how close the syringe it to be full/empty. The system is then able to auto-stop itself.
Off to making a working hull now.