The goal of this project is to migrate the original TankController software from C++ to Python and run it on a Raspberry Pi Pico.
Before getting started, install the following:
- Python 3.14+
- uv — Python package manager https://docs.astral.sh/uv/
- Visual Studio Code https://code.visualstudio.com/
- Tkinter — required for the local GUI Verify that Tkinter is installed by running:
python -m tkinterIf Tkinter is installed correctly, a small GUI window will appear.
If Tkinter is not already installed, install it with:
brew install python-tk@3.14You can either fork the repository to your own GitHub account or clone it directly.
To clone the repository, open a Visual Studio Code Terminal and run:
git clone https://github.com/Open-Acidification/TankControllerPico.git
cd TankControllerPicoMake sure the project is saved on your local computer.
In Visual Studio Code, open the integrated terminal by navigating to:
Terminal → New Terminal Then, use the script for your operating system:
.\run_gui.bat./run_gui.shIf the setup was successful, the TankController GUI should open and look similar to the example below.
| View Commands | Set Commands |
|---|---|
| View IP and MAC | pH calibration |
| View free memory | Clear pH calibra |
| View Google mins | Clear Temp calib |
| View log file | Set chill/heat |
| View pH slope | Set Google mins |
| View PID | Set KD |
| View tank ID | Set KI |
| View temp cal | Set KP |
| View time | Set pH target |
| View version | Set pH w sine |
| Set Temp w sine | |
| PID on/off | |
| Set Tank ID | |
| Temp calibration | |
| Set temperature | |
| Set date/time |
To perform Pytest tests for the devices and UI states.
./test.sh.\test.batThanks goes to these wonderful people (emoji key):
Kaden Sukachevin 💻 📖 🐛 |
Preston Carman 💻 🐛 |
Konrad McClure 💻 |
Noah-Griffith 💻 |
Barun Debnath 💻 |
Kieran Sukachevin |
Josh Soref 💻 |
TaylorSmith28 |
Samuel Nguyen 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!
