Accurate marine data starts with a calibrated sensor. Reefline v0.2 added a calibrate subcommand that walks you through single-point, two-point, and three-point calibration for Atlas Scientific EZO sensors. This is the workflow I use before every deployment.
Before you start
You'll need calibration solutions appropriate to your sensor type. For pH: pH 4.0, 7.0, and 10.0 standards. For DO: dry calibration cap (100% saturation) and zero oxygen solution. For temperature: an NIST-traceable reference thermometer.
All solutions should be at room temperature when you calibrate. Temperature affects probe response, and calibrating at 20°C and deploying at 12°C introduces systematic error if your sensor doesn't have internal temperature compensation (EZO probes do, but verify for your model).
pH calibration with Reefline
# Connect sensor via USB serial adapter
reefline calibrate --sensor ph --port /dev/ttyUSB0
# Reefline will prompt through each step:
# 1. Rinse and dry probe
# 2. Immerse in pH 7.0 — wait for stable reading
# 3. Immerse in pH 4.0 — wait for stable reading
# 4. Immerse in pH 10.0 — wait for stable reading
# 5. Calibration written to sensor EEPROM
The calibration data is stored in the sensor's onboard EEPROM, not in Reefline. This means the calibration survives a software reinstall and the sensor can be moved between loggers. Reefline logs the calibration event with timestamp and the millivolt offset values so you can track drift over time.