EZO-O2
Notice: This page is an original repo-authored summary informed by Atlas Scientific documentation. It is not an official Atlas Scientific manual.
Purpose
This page captures the repo-relevant behavior of the EZO oxygen family.
Repo Status
This family is at the TYPED_READ tier. src/ezo_o2.h covers R, RT, T and O over I2C and UART. Calibration and Alarm are deferred; use the raw transport APIs for those. The firmware lookup in src/ezo_product.h does not cover it. None of this has been run on a circuit.
Product Summary
- reads gaseous O2 from
0to42 % - default transport mode is UART
- default I2C address is
108(0x6C) - the
ireply identifies it asO2 - ships factory calibrated, and supports temperature compensation with
TandRT Cal,low,narrived in firmware1.02
Measurement Model
A reading can report percent concentration, parts per thousand, or both, selected with O. The record sets the output schema to query-required, because the datasheet’s default state names only O2, so read O,? and pass the mask to the read helper.
The datasheet says a reading becomes a CSV string when PPT is enabled, but no page prints one. The driver parses two values as percent, then parts per thousand, inferred from the ?,O,%,PPT query reply. Confirm that on a circuit before relying on it.
Over UART, RT replies *OK and then the value, the reverse of R, so use ezo_o2_read_response_with_temp_comp_uart() after it.
Timing Notes
The I2C pages print 900 ms for R and RT, 1300 ms for Cal,n and Cal,0, and 300 ms for most other commands.