The Open acidification Tank Controller
Open-Acidification TankController is an open-source Arduino-based system that controls and monitors pH and temperature in research tanks via Ethernet.
📌 Overview
The Open-Acidification TankController (Zenodo v21.09.1) is an open-source controller project (Arduino + web GUI) designed for ocean acidification experiments. It maintains and modulates tank pH and temperature to target values (including ramp and sine-wave profiles), provides web-based status reporting, and logs data to a microSD card.
The core problem it addresses is that expanding experimental scale is difficult due to the high cost of research-grade equipment. As clearly stated in the related paper and external articles, the project aims to deliver research-grade control at a much lower cost—with a target of under $250 per tank compared to commercial systems.
📌 Features
- Precise pH and Temperature Control: Maintains tank pH and temperature at setpoints or varies them over time using experimental profiles such as ramps and sine waves.
- Web-Based Parameter Reporting with API Support: The device operates as a “Device Web Server,” providing data through documented endpoints such as
/api/1/dataand/api/1/display. - MicroSD Logging: The device can store data on a microSD card, ensuring data traceability for long-term experiments.
- Arduino Library Manager Installation Workflow:
Official documentation provides a clear procedure in which users search for and install TankController via the Arduino IDE Library Manager, then upload the firmware using the provided example sketches—highlighting strong reproducibility and ease of deployment. - Tank Controller Manager (TCM) for Multi-Tank Operation: A separate management software is provided in a dedicated repository to remotely monitor, operate, and integrate multiple controllers. It is implemented using Flutter (Dart) and is specified to run across multiple platforms.
📌 System Architecture
Local Control (Per-Tank Level)
An Arduino Mega 2560 serves as the core controller, reading pH and temperature sensors and regulating actuators such as CO₂ solenoids and heaters/chillers to maintain target setpoints.
Network (Remote Access & Monitoring)
The device operates as a web server (API), and the README describes DHCP attempt/fallback behavior, allowing it to adapt to on-site network environments.
Data Storage & Operation
Data are logged locally to a microSD card for offline robustness, and the installation documentation includes an optional PushingBox Identifier configuration for periodic cloud data transmission.
Multi-Device Integrated Operation (Lab-Scale Expansion)
The Tank Controller Manager (TCM) is described as providing over-the-network access to multiple controllers, enabling centralized monitoring, operation, and data reporting across many tanks.
📌 Role and Application of the WIZnet's Chip
The project is based on an Arduino Mega and operates a network web server/API with DHCP support. Each device provides URL endpoints in the form of /api/..., and all network communication is performed using the HTTP protocol.
For laboratory equipment, long-term stable operation and deployability/reproducibility are critical. Using hardware TCP/IP reduces the networking burden on the MCU, making the design more robust and allowing developers to focus on control logic rather than network stack implementation.
📌 Market & Application Value
Applicable Industries / Markets
- University and research institute marine, fisheries, and environmental laboratories:
Require precise pH and temperature control across multiple tanks, with long-term operation and reliable data logging. - Education and maker-oriented experimental equipment:
The Arduino IDE + Library Manager installation workflow is well suited for educational environments. - Commercial tanks and aquaculture support (expandable potential):
Although the primary focus is research, the combination of precise control and remote monitoring can be adapted to aquaculture and ornamental tank automation (with the caveat that commercial safety, certification, and security requirements would need to be addressed separately).
Productization / Service Expansion Potential
- Beyond a single controller, the system already proposes a structure for integrated operation of multiple devices through the Tank Controller Manager (TCM), giving it a strong advantage for scaling at the laboratory level.
Competitiveness Compared to Existing Approaches
- As clearly stated in related papers and external descriptions, the project aims to deliver functionality comparable to—or exceeding—that of commercial research-grade equipment at a significantly lower cost, including web-based reporting, SD card logging, setpoint control, and programmable control profiles.
📌 External Indicators
Zenodo
https://zenodo.org/records/5508206
Github
https://github.com/Open-Acidification/TankController
Ongoing releases:
Recent tags such as v25.4.1 are available on the Releases page, indicating active and continuous maintenance.
News
📌Reference Link
Research: https://pmc.ncbi.nlm.nih.gov/articles/PMC10276295/
Open Source: https://github.com/Open-Acidification/TankController
Homepage : https://open-acidification.github.io/
📌 QnA
Q1. Why does this project use the WIZnet W5100 instead of Wi-Fi?
For laboratory equipment, stability and reproducibility are more important than raw speed. The W5100 handles TCP/IP internally and provides 4 hardware sockets and a 16 KB buffer, allowing the MCU to focus on sensing and control tasks. In addition, the assembly guide explicitly specifies the Ethernet Shield v1 (W5100) as the default component, which improves documentation quality and reproducibility.
Q2. How is the W5100 connected to the Arduino Mega 2560?
The project assumes a stacked configuration of Arduino Mega 2560 + Arduino Ethernet Shield v1 (W5100). During assembly, instructions are provided to insert the board at a slight angle so that the USB and RJ45 ports align with the enclosure openings. The guide also includes wiring instructions to connect the reset button to the Ethernet Shield’s GND/RESET pins, reducing the risk of wiring errors compared to custom cabling.
Q3. What exactly does the W5100 do in this project?
The W5100 integrates the Ethernet physical layer (10/100 MAC + PHY) and the TCP/IP stack, enabling the controller to connect to the network and perform socket-based communication. In the codebase, folders such as Ethernet_TC and EthernetServer_TC indicate a structured approach where network initialization, server handling, and response processing are managed separately.
Q4. Can beginners follow this project?
Yes. The hardware is based on a well-documented, standard combination (Arduino Mega + Ethernet Shield v1), and the assembly guide walks through every step—from the parts list to wiring details (including the reset button). Additionally, the Arduino Ethernet library officially supports W5100-based shields, making debugging easier using standard network examples.
Q5. What would change if the W5100 were replaced with a W5500?
The W5500 offers higher specifications, such as 8 sockets, a 32 KB buffer, and SPI speeds up to 80 MHz, making it better suited for multiple connections or higher traffic. However, this project’s assembly documentation is built around the W5100 shield (v1). Switching to a W5500 would require reviewing shield compatibility (e.g., a W5500-based shield) and library support. In this context, configuration consistency matters more than raw performance.
📌 Summary
The Open-Acidification TankController is an open-source controller designed to automatically regulate pH and temperature in experimental tanks for ocean acidification research, while enabling network-based monitoring and data logging of experimental conditions. By combining Arduino-based hardware with a web interface, it provides stable environmental control suitable for long-term and repetitive experiments.
In addition, multiple controllers can be networked together to enable integrated management of multiple tanks, allowing both experimental scale-up and operational efficiency. With its ability to deliver automated control and remote operation at low cost, this project serves as a highly valuable reference for research and educational environments.
📌 Overview
**Open-Acidification TankController (Zenodo v21.09.1)**는 해양 산성화(ocean acidification) 실험에서 수조의 pH/온도를 목표값으로 유지·변동(램프/사인파)시키고, 웹 기반으로 상태를 보고하며 micro-SD에 기록할 수 있는 오픈소스(Arduino + 웹 GUI) 컨트롤러 프로젝트입니다.
핵심 문제는 “고가의 연구용 장비 때문에 실험 규모 확대가 어렵다”는 점이며, 논문/외부 소개 글에서도 **상용 연구급 장비 대비 저비용(수조당 250달러 미만 목표)**으로 동일 수준의 제어를 제공하려는 목적이 명확히 제시됩니다.
📌 Features
- 정밀 pH/온도 제어: 수조 pH/온도를 설정값으로 유지하거나, 시간에 따라 변화(램프/사인파)시키는 실험 프로파일을 지원합니다.
- 웹 기반 파라미터 보고 + API 제공: 장치가 “Device Web Server” 형태로 데이터를 제공하며,
/api/1/data,/api/1/display등 엔드포인트가 문서에 명시돼 있습니다. - micro-SD 로깅: 장치가 데이터를 micro-SD로 저장할 수 있어 장기 실험에서 데이터 추적성을 확보합니다.
- Arduino Library Manager 설치 흐름: Arduino IDE의 라이브러리 매니저에서
TankController검색·설치 후 예제 스케치로 업로드하는 절차가 공식 문서로 제공됩니다(재현성/배포성 강점). - 다수 수조 운영을 위한 “Tank Controller Manager(TCM)”: 여러 컨트롤러를 원격으로 모니터링/운영/통합하기 위한 관리 소프트웨어가 별도 저장소로 제공되며, Flutter(Dart) 기반으로 다양한 플랫폼에서 동작한다고 명시돼 있습니다.
📌 System Architecture
현장 제어(탱크 단위)
Arduino Mega 2560 중심으로 pH/온도 센서를 읽고, CO₂ 솔레노이드·히터/칠러 등을 통해 목표값을 맞춥니다.
네트워크(원격 접근/모니터링)
장치가 **웹서버(API)**를 제공하며, DHCP 시도/회피 동작이 README에 언급됩니다(현장 네트워크 적응).
데이터 저장/운영
micro-SD 로깅으로 현장 저장(오프라인 내구성) + (선택) 주기적 클라우드 전송을 위한 PushingBox Identifier 설정 옵션이 설치 문서에 포함됩니다.
다수 장치 통합 운영(랩 규모 확장)
**Tank Controller Manager(TCM)**가 여러 컨트롤러를 “over-the-network”로 접근해 모니터링/운영/데이터 리포팅을 돕는 구조로 설명됩니다.
📌 Role and Application of the WIZnet's Chip
프로젝트는 Arduino Mega 기반이며, 네트워크 웹서버/API와 DHCP를 운영합니다. 프로젝트의 장치는 /api/... 형태의 URL 엔드포인트를 제공하며, 네트워크 통신은 HTTP 프로토콜을 기반으로 수행된다.
연구실 장비는 장시간 안정 운용과 **배포·재현성**이 중요합니다. 하드웨어 TCP/IP를 사용하면 MCU의 네트워크 구현 부담을 줄여 “제어 로직에 집중”하는 설계에 유리합니다.
📌 Market & Application Value
적용 산업/시장
- 대학/연구소 해양·수산·환경 실험실: 다수 수조의 pH/온도를 정밀하게 제어하며 장기간 운영·기록이 필요함.
- 교육/메이커 기반 실험 장치: Arduino IDE + 라이브러리 매니저 설치 흐름은 교육 현장에 적합.
- 상업 수조/양식 보조(확장 가능성): 목적은 연구이지만, “정밀 제어+원격 모니터링” 구조는 양식·관상 수조 자동화로도 전용될 수 있음(단, 상용 안전/인증/보안 요건은 별도).
제품화/서비스 확장 가능성
- 단일 컨트롤러를 넘어, **TCM(관리 소프트웨어)**로 다수 장치를 통합 운영하는 구조가 이미 제시돼 있어 “랩 규모 확장”에 강점이 있습니다.
기존 방식 대비 경쟁력
- 논문/외부 소개에서 상용 연구급 장비 대비 저비용으로 유사 이상의 기능(웹 보고, SD 저장, 세트포인트 유지 및 프로파일 제어)을 목표로 함이 명확합니다
📌 External Indicators
Zenodo
https://zenodo.org/records/5508206
Github
https://github.com/Open-Acidification/TankController
릴리스가 지속 존재: Releases 페이지에 v25.4.1 등 최신 태그가 확인되고 있습니다.
News
국제 해양 산성화 연구기관이 운영하는 OA-ICC(국제 조정 센터 뉴스 스트림)에서 2023-06-05에 본 장치를 소개하며, 저비용·웹 보고·SD 저장·프로파일 제어를 요약 소개하였습니다.
📌Reference Link
논문 : https://pmc.ncbi.nlm.nih.gov/articles/PMC10276295/
오픈소스 : https://github.com/Open-Acidification/TankController
홈페이지 : https://open-acidification.github.io/
📌 QnA
Q1. 왜 이 프로젝트는 Wi-Fi 대신 WIZnet W5100을 쓰나요?
실험 장비는 통신이 “빠름”보다 “안정적/재현 가능”이 중요합니다. W5100은 TCP/IP를 칩 내부에서 처리하고 4개 하드웨어 소켓과 16KB 버퍼를 제공해, MCU가 센서/제어에 집중하도록 돕습니다. 또한 조립 가이드가 Ethernet Shield v1(W5100)을 기본 부품으로 명시해 문서/재현성이 좋습니다.
Q2. Arduino Mega 2560에서 W5100을 어떻게 연결하나요?
프로젝트는 “Arduino Mega 2560 + Arduino Ethernet Shield v1(W5100)” 스택 결합(쉴드 적층)을 전제로 합니다. 조립 단계에서 USB와 RJ45 포트가 하우징 구멍에 맞도록 각도를 줘서 삽입하고, 리셋 버튼 배선을 Ethernet Shield의 GND/RESET 핀으로 연결하는 지침도 포함됩니다. 별도 배선보다 실수 여지가 적습니다.
Q3. 이 프로젝트에서 W5100은 정확히 어떤 기능을 담당하나요?
W5100은 이더넷 물리층(10/100 MAC+PHY)과 TCP/IP를 통합해, 컨트롤러가 네트워크에 붙고 소켓 통신을 할 수 있게 만듭니다. 코드 트리에는 Ethernet_TC, EthernetServer_TC 같은 폴더가 있어, 초기화/서버 수락/응답 처리 등 네트워크 경로를 분리해 관리하는 형태로 보입니다.
Q4. 초보자도 따라 할 수 있나요?
가능합니다. 이유는 “하드웨어가 문서화된 표준 조합(Arduino Mega + Ethernet Shield v1)”이고, 조립 가이드가 부품 목록부터 배선(리셋 버튼 포함)까지 단계별로 안내하기 때문입니다. 또한 Arduino Ethernet 라이브러리는 W5100 기반 쉴드를 공식적으로 지원해, 네트워크 예제를 기반으로 디버깅하기도 쉽습니다.
Q5. W5100을 W5500으로 바꾸면 어떤 차이가 있나요?
W5500은 8 소켓과 32KB 버퍼, SPI 최대 80MHz 등 스펙이 커서 다중 연결/더 큰 트래픽에 유리합니다. 반면 이 프로젝트의 조립 문서는 W5100 쉴드(v1)를 전제로 하므로, W5500으로 가려면 쉴드(예: W5500 기반)와 라이브러리 선택까지 함께 검토해야 합니다. “더 좋다”보다 “구성 일치”가 먼저입니다.
📌 Summary
Open-Acidification TankController는 해양 산성화 연구를 위해 수조의 pH와 온도를 자동으로 제어하고, 실험 상태와 데이터를 네트워크를 통해 모니터링·기록할 수 있도록 설계된 오픈소스 컨트롤러입니다. Arduino 기반 하드웨어와 웹 인터페이스를 결합해 장기간 반복 실험에서도 안정적인 환경 제어가 가능합니다. 또한 여러 컨트롤러를 네트워크로 연결해 다수의 수조를 통합 관리할 수 있어, 실험 규모 확장과 운영 효율을 동시에 고려한 구조를 갖습니다. 저비용으로 실험 자동화와 원격 운영을 구현할 수 있다는 점에서 연구 및 교육 환경에 참고 가치가 높은 프로젝트입니다.

