A novel multichannel peristaltic pump system was designed via a multistep process. The system had to be carefully created for placement in a Forma™ Environmental Chamber, which requires hermetically sealed conditions in order to ensure no biological or electrical safety issues. In order to accomplish this, the circuitry was housed in a waterproof box that had the necessary inlets and outlets.
The next step to create our new system was to determine a hierarchy of control in order to optimize motor control (Fig. 1). There are 24 motors that need to function accurately and precisely. These motors are controlled by 24 corresponding EasyDriver Stepper Motor Controllers with one driver per motor. There are then four Arduino Unos that control the drivers with each Arduino controlling a set of six drivers. A Raspberry Pi Model 3 B+ (RPi) has the master control of all four Arduino Unos. With a wifi connection, the RPi can be accessed and the entire system can be operated remotely. In doing so, all motors can be tuned to individual speeds as well as turned on or off without having to physically access the system.

Figure 1. The hierarchy of control consists of one Raspberry Pi Model 3 B+ that controls four Arduino Unos, which each control six EasyDriver Stepper Motor Controllers.
After determining the hierarchy of control, the wiring between each piece of equipment as well as their power and ground connections had to be set-up. An example of the wiring system for one Arduino unit is seen below (Fig. 2). As mentioned before, each motor is controlled by a connection to an EasyDriver, and each set of six drivers is connected to one Arduino Uno. The Arduino Unos are then connected to the RPi. All components are powered via a 12 Volt power supply system that sits inside of the central housing box. The RPi is the only component that cannot accept 12V, so a converter was used to intercept the 12V power from the supply and turn it down to 5V for the RPi.

Figure 2. Here is shown the general wiring set-up for a set of six motors.
The next step in the creation of the new pump system required the design and physical organization of the equipment. The box to house all of our central components was split into two levels. The bottom level contains the 24 motor drivers in their corresponding 3D-printed holders. The second level is held up with two 3D-printed shelves that provide placements for the four Arduino Unos. In providing two levels, there is easy access to all components for maintenance and repair as well as allowing room for proper cooling of all the equipment used.
With all the components in place, it was important to ensure they stay cool in order to avoid shorting the system. A water cooling system was designed to keep the motor drivers cooled. In order to ensure there was no heat being passed from one driver to the next, four separate water cooling systems were put into place, meaning each set of six motor drivers is cooled separately. Each driver had a copper heat sink placed on its operational amplifier with silver thermal conductive adhesive. Tubes were then connected between the four water pumps, four radiators that cool the water, and all 24 of the drivers. In doing so, all components in the box stay cool enough to continue operating without hitting the cutoff temperatures.
Using the Arduino system, it is possible to control six easy drivers (that each control a motor) per Arduino Uno. The code allows for increased modularity such that individual motors can be controlled at different speeds without affecting the status of the other motors. The Arduino runs code within a C++ system. Additionally, software is included that will create a Graphical User Interface (GUI) that an end user will be able to use without much technical knowledge. The GUI is written in Python with a Tkinter module that does the backend work of constructing the GUI.
With well-designed physical organization, water cooling, inline flow sensors, and motor control code, the novel multichannel peristaltic pump is much more efficient than present-day pump systems by allowing for more experiments to take place at a time within a bioreactor.