With all the sensing and actuation elements in place, we turned our attention to the control scheme (Supplementary Table ). CNC XYZ translation was serially controlled with onboard Marlin firmware. An Arduino microcontroller was used to PWM regulate the rotation rates of the mechanical stirrer, inlet wash pump, and outlet wash pump. TriContinent C-series syringe pumps and Sentron pH meter were easily integrated using the detailed serial protocol provided by the respective manufacturers. All processes were run serially except washing, where propeller rotation and inlet pump were run concurrently. A photograph of the complete pH bot and video in operation can be found in the ESI, along with a robot assembly guide.