Software Installation and Startup
Questions?
Ask questions about this guide on the forum here.
Software Installation

- Follow the dpu installation guide. - We will use the virtual environment made here to run the experiment 
- Note: as of now, there is no GUI integration. Command line only. 
 
- Create a server virtual environment - In the command line still, open a new tab or window 
- If necessary, deactivate the dpu virtual environment with the command below. - deactivate
  
- Navigate to the server directory - evolver-min
- Make a server virtual environment - To avoid confusion with the dpu environment, call your server virtual environment - server-env
 - Mac: - python3.9 -m venv server-env- source server-env/bin/activate- Windows PowerShell: - py -3.9 -m venv server-env- server-env\Scripts\Activate.ps1
- Use poetry to install all necessary dependencies. - poetry install
 
Server Startup
- Plug the min-eVOLVER in to your computer using micro-USB and THEN plug it in to the 12V DC power supply. 
Whenever possible, avoid plugging / unplugging the min-eVOLVER micro-USB, which is fragile. Instead, leave the micro-USB plugged in and plug / unplug the regular USB to your computer.
- Make sure that you are in the server virtual environment 
- This means navigating to the server folder in a command line window and inputting commands: - Mac OS: - source server-env/bin/activate
- On Windows PowerShell: - server-env\Scripts\Activate.ps1
 
- Navigate to the - /evolver/folder inside the- evolver-minserver code
- Attempt to run the server using the following command: - Mac OS: - python3 evolver.py
- Windows Powershell: - py evolver.py
 
- This will tell you the list of min-eVOLVERs plugged in to the computer 
- Exit from the server log using - control + C
- Copy the full port address into the - serial_portvariable in the- conf.ymlfile for the server- On Mac OS for example: - serial_port: /dev/cu.usbmodem1301
 
Be careful to not alter the conf.yml file structure, only the variables (after the ":"). Changing the file structure in the wrong way will result in the server failing to run.
- Start the server using - python3 evolver.py
- Observe the server for expected behavior - The server cycles once every 20 seconds 
- If the server is not connected to the min-eVOLVER, commands will fail 
 

Multiple min-eVOLVERs
You can connect multiple min-eVOLVERs to one computer, as long as you have enough USB ports!
- Make a duplicate min-eVOLVER server code file with a new number ie - evolver-min2
- Plug in the new min-eVOLVER and follow the Server Startup guide - The new min-eVOLVER will have a different - serial_portbecause it is plugged in to a different USB port
- You need to define a different port number (try 5556) in the - conf.ymlfile
 
- Make sure you're in the right server code folder when starting the new server 
- Use a different command line window for each min-eVOLVER server 
Make sure you don't swap your min-eVOLVERs USB ports without meaning to!
- Calibration files are for a specific min-eVOLVER 
- serial_portnumbers on your computer are linked to a specific USB port, NOT to a specific min-eVOLVER
- So for example: - min-eVOLVER 1 with - serial_port: /dev/cu.usbmodem1201
- min-eVOLVER 2 with - serial_port: /dev/cu.usbmodem1301
- Plugging min-eVOLVER 2 into - /dev/cu.usbmodem1201will mean that running the min-eVOLVER 1 server will load calibrations for the wrong min-eVOLVER and vice versa
 
Test min-eV Hardware
Startup
- Plug in the micro-USB and then the 12V power supply 
- Start the server 
- In another terminal window, enter the - dpuvirtual environment
- Navigate to the - /dpu/experiment/folder
Familiarize yourself with send_command.py and make sure you can:
- Send a pump command to all pumps to make sure they actuate 
- Send a command to start and stop stirring 
- Turn temperature off 
- Check the server log as commands go in, these should be received and become the new values in the server cycle 
test_hardware.py
- Run a full hardware test using test_hardware.py 
- Use the command: - python3 test_hardware.py

- Check that all pumps actuate individually 
- Check that stirring turns off and on 
- Check that OD sensing works as expected (values decrease with OD LED on) - Look at the " - Data from min-eVOLVER" for the below values
- Example values with OD LED OFF: - 'od_90': ['65208', '65190']
- Example values with OD LED ON: - 'od_90': ['62515', '59678']
 
- Check to see that the temperature values decreased towards - [25000,25000]over time as the script is running- Example start values: - 'temp': ['35514', '35440']
- Example end values: - 'temp': ['30618', '31029']
 
Last updated
Was this helpful?