Open Acidification Project
Apparatus to determine total alkalinity in sea water using an open-cell titration.
https://github.com/Open-Acidification/AlkalinityTitrator
Category: Hydrosphere
Sub Category: Ocean Carbon and Temperature
Keywords
alkalinity-titrator ocean-acidification raspberry-pi
Keywords from Contributors
watering changed-file housing kicad oa-box ph-stat-unit tank-controller composer simulator mock
Last synced: about 19 hours ago
JSON representation
Repository metadata
Apparatus to determine total alkalinity in sea water using an open-cell titration
- Host: GitHub
- URL: https://github.com/Open-Acidification/AlkalinityTitrator
- Owner: Open-Acidification
- License: mit
- Created: 2020-01-23T08:20:38.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-06-08T23:49:21.000Z (almost 2 years ago)
- Last Synced: 2024-11-25T23:34:05.561Z (5 months ago)
- Topics: alkalinity-titrator, ocean-acidification, raspberry-pi
- Language: Python
- Homepage: https://open-acidification.github.io/
- Size: 2.67 MB
- Stars: 7
- Watchers: 4
- Forks: 9
- Open Issues: 20
- Releases: 5
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
README.md
Alkalinity Titrator Project
Project motivations
As CO2 levels increase, the ocean absorbs more CO2 and becomes more acidic. There currently exists a large deficit of data on how this affects wildlife. Alkalinity Titrators are needed for ocean acidification research. Currently, available models are expensive ($10,000-$25,000). Models on the lower end of the price range are not automated and are therefore time intensive.
This project aims to make ocean acidification research more widely available by lowering the cost of alkalinity titrators.
The problems that the alkalinity-titrator seek to fix are as follows:
- Lower the cost of ocean science equipment by using inexpensive, widely-available parts
- To automate the titration process, saving time and effort when determining total alkalinity
The titration process used in this project is based on SOP 3b from
Christian, James Robert, Andrew G. Dickson, and Christopher L. Sabine. Guide to Best Practices for Ocean CO2 Measurements. Sidney, B.C.: North Pacific Marine Science Organization, 2007.
Current Development Note
The most recent development in this project is the implementation of a UI State Machine framework (see the titration/utils/UIState folder for UI states implemented). While the UI State Machine framework has been fully implemented, the actual titration processes and routines have not been integrated with the UI State Machine (see GitHub Issues for further specifications).
Setup and Installation
Setting up the Raspberry Pi
Refer to https://desertbot.io/blog/headless-raspberry-pi-3-bplus-ssh-wifi-setup for instructions on setting up the raspberry pi (note: headless setup is not required if a keyboard and monitor are available). Raspbian lite has everything needed, but the desktop version can be downloaded if working with a GUI is preferable.
Installing software
Run standard updates on the pi:
sudo apt-get update
sudo apt-get upgrade
This project utilizes SPI and I2C protocols, both of which often come disabled on the pi. To enable them, run:
sudo raspi-config
and navigate to "Interfacing Options"; enable both SPI and I2C.
Install git:
sudo apt-get install git
Clone alkalinity titrator repository to the pi
git clone https://github.com/Open-Acidification/alkalinity-titrator.git
Run installation script
sudo ./install.sh
User Instructions
Run on Device
To run (with the UI State Machine integrated)
./run.sh
Run in Local Environment
To run in a local environment with mocked devices (with the UI State Machine integrated)
./run_mocked.sh
Testing
To perform Pytest tests for the devices and UI states.
./test.sh
Pins
MAX31865 breakout board)
Temperature probe (- PIN 1 (3.3v) to sensor VIN
- PIN 9 to sensor GND
- PIN 19/BCM 10 to sensor SDI
- PIN 21/BCM 21 to sensor SDO
- PIN 23/BCM 23 to sensor CLK
- PIN 29/BCM 5 to sensor CS (or use any other free GPIO pin)
ADS1115 analog converter)
pH probe (- PIN 17 (3.3v) to ADS1115 VDD - Remember the maximum input voltage to any ADC channel cannot exceed this VDD 3V value!
- PIN 6 to ADS1115 GND
- PIN 5/BCM 3 SCL to ADS1115 SCL
- PIN 3/BCM 2 to ADS1115 SDA
Libraries
- Circuit Python - https://github.com/adafruit/Adafruit_CircuitPython_MAX31865
Contributors ✨
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
Owner metadata
- Name: Open Acidification Project
- Login: Open-Acidification
- Email:
- Kind: organization
- Description:
- Website: https://open-acidification.github.io/
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/57500501?v=4
- Repositories: 11
- Last ynced at: 2023-03-04T02:59:47.330Z
- Profile URL: https://github.com/Open-Acidification
GitHub Events
Total
- Fork event: 2
Last Year
- Fork event: 2
Committers metadata
Last synced: 7 days ago
Total Commits: 162
Total Committers: 9
Avg Commits per committer: 18.0
Development Distribution Score (DDS): 0.395
Commits in past year: 21
Committers in past year: 2
Avg Commits per committer in past year: 10.5
Development Distribution Score (DDS) in past year: 0.048
Name | Commits | |
---|---|---|
kadensu | k****n@g****m | 98 |
Taylor Smith | 8****8 | 30 |
Preston Carman | p****n@w****u | 13 |
allcontributors[bot] | 4****] | 8 |
Konrad McClure | 6****e | 7 |
Kaden Sukachevin | k****n@w****u | 2 |
Josh Soref | 2****f | 2 |
Barun Debnath | 5****c | 1 |
Kieran Sukachevin | 5****n | 1 |
Committer domains:
Issue and Pull Request metadata
Last synced: 2 days ago
Total issues: 40
Total pull requests: 60
Average time to close issues: 11 months
Average time to close pull requests: 16 days
Total issue authors: 5
Total pull request authors: 9
Average comments per issue: 1.03
Average comments per pull request: 0.72
Merged pull request: 45
Bot issues: 0
Bot pull requests: 6
Past year issues: 0
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 0
Past year pull request authors: 0
Past year average comments per issue: 0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- TaylorSmith28 (18)
- KonradMcClure (15)
- kieransukachevin (5)
- kadensu (1)
- prestoncarman (1)
Top Pull Request Authors
- TaylorSmith28 (43)
- KonradMcClure (4)
- allcontributors[bot] (4)
- dependabot[bot] (2)
- kadensu (2)
- jsoref (2)
- prestoncarman (1)
- kieransukachevin (1)
- d-cryptic (1)
Top Issue Labels
- enhancement (11)
- good first issue (6)
- documentation (2)
- question (2)
- invalid (2)
- bug (2)
Top Pull Request Labels
- enhancement (11)
- bug (3)
- dependencies (2)
- question (1)
Dependencies
- actions/checkout v3 composite
- codespell-project/actions-codespell master composite
- actions/checkout v2 composite
- docker://ghcr.io/github/super-linter slim-v4 composite
- actions/checkout v2 composite
- actions/setup-python v1 composite
- flake8 * develop
- isort * develop
- pycodestyle * develop
- pylint * develop
- pytest * develop
- pytest-cov * develop
- pytest-mock * develop
- adafruit-blinka *
- adafruit-circuitpython-ads1x15 *
- adafruit-circuitpython-lis3dh *
- adafruit-circuitpython-max31865 *
- click *
- gpiozero *
- keyboard *
- pad4pi *
- pandas *
- pep8 *
- pynput *
- pyserial *
- rpi.gpio *
- smbus2 *
- 187 dependencies
Score: 5.493061443340549