V 1.3 Revised 10/20 EZO-O2 ™ Embedded Oxygen Sensor Reads Gaseous O2 Range 0 – 42% (2x atmospheric O2 levels) Calibration Response time Resolution Accuracy Connector Cable length Data protocol Default I2C address Data format Factory calibrated 1 reading per second 0.01 +/- 0.01 (0.02 PPT) 5 lead data cable 1 meter UART & I2C 108 (0x6c) ASCII Operating voltage 3.3V − 5V Life expectancy ~3.
Table of contents Operating principle Physical properties Pin out Power consumption Absolute max ratings 4 4 5 5 5 UART UART mode Receiving data from device Sending commands to device LED color definition UART quick command page LED control Find Continuous mode Single reading mode Alarm Calibration Temperature compensation Enable/disable parameters Naming device Device information Response codes Reading device status Sleep mode/low power Change baud rate Protocol lock Factory reset Change to I2C mode Manu
Attention The EZO-O2™ is 100% operational out of the box. CALIBRATION IS UNNECESSARY This sensor detects GASEOUS O 2 This sensor does not read dissolved O2 DO NOT SUBMERGE! Click here for our line of Dissolved Oxygen sensors.
Operating principle The Atlas Scientific EZO-O2™ Embedded Oxygen Sensor is an electrochemical sensing device that detects the partial pressure of oxygen through reduction. The sensor can be thought of as a small fuel cell. When the oxygen comes in contact with the sensor, the “fuel cell” begins to produce a current. A teflon membrane ensures that the oxygen enters the sensor at a steady rate. Pt Pb KOH Physical properties The EZO-O2™ sensor only detects gaseous oxygen levels.
Pin out Data and power cable pinout White Green Black Red Blue – – – – – RX/SCL TX/SDA GND VCC ALM The alarm pin will go high when a set O2 level has been crossed. 15.5% *Alarm set to 15.5% If unused leave ALM floating. Do not connect ALM to VCC or GND. See page 19 to enable O2 level alarm in UART mode. See page 43 to enable O2 level alarm in I2C mode. Power consumption Absolute max ratings 5V 3.3V 5 LED MAX ON 14.6 mA OFF 13.9 mA ON 13.7 mA OFF 13.
Calibration theory The Atlas Scientific EZO-O2™ Embedded Oxygen Sensor comes pre-calibrated. As part of the manufacturing process Atlas Scientific performs a two-point factory calibration. CALIBRATION COMPLETE Low point calibration = 0% O 2 High point calibration = 20.95% The factory calibration data is permanently stored in the sensor and cannot be erased. Custom calibration After ~12 months of operation the EZO-O2™ Embedded Oxygen Sensor may need to be re-calibrated.
Default state UART mode Baud 9,600 Readings continuous Speed 1 second LED on 1 second 7 Green Cyan Standby Taking reading Copyright © Atlas Scientific LLC Transmitting
Available data protocols default Unavailable data protocols SPI Analog RS-485 Mod Bus 4–20mA 8 Copyright © Atlas Scientific LLC
UART mode Settings that are retained if power is cut Baud rate Calibration Continuous mode Device name Enable/disable response codes Hardware switch to I2C mode LED control Protocol lock Software switch to I2C mode Settings that are NOT retained if power is cut Sleep mode r 0.
UART mode 8 data bits 1 stop bit Baud no parity no flow control RX TX 300 1,200 2,400 9,600 default 19,200 38,400 57,600 115,200 RX Data in TX RX RX TX TX Data out RX Vcc 3.
Receiving data from device 2 parts ASCII data string Carriage return Command Terminator 9,600 baud (default) RX TX TX RX TX TX RX RX CPU Sender Receiver 20.95 Advanced ASCII: 2 5 Hex: 32 30 2E 39 35 0D Dec: 50 48 46 57 53 13 11 0 . 9 Copyright © Atlas Scientific LLC r 0.
Sending commands to device 2 parts Command (not case sensitive) Carriage return ASCII data string Terminator RX TX TX RX TX TX RX RX CPU Receiver Sender Sleep Advanced ASCII: S l e e p Hex: 53 6C 65 65 70 0D Dec: 83 108 101 101 112 13 12 Copyright © Atlas Scientific LLC r 0.
LED color definition Green Cyan Purple Red White UART standby Taking reading Changing baud rate Command not understood Find LED ON 5V +0.7 mA 3.3V +0.
UART mode command quick reference All commands are ASCII strings or single ASCII characters. Command Function Default state Alarm enable/disable alarm pg. 19 n/a Baud change baud rate pg. 28 9,600 C enable/disable continuous mode pg. 17 enabled Cal performs calibration pg. 20 n/a Factory enable factory reset pg. 30 n/a Find finds device with blinking white LED pg. 16 n/a i device information pg. 24 n/a I2C change to I2C mode pg. 31 not set L enable/disable LED pg.
LED control Command syntax L,1 LED on default L,0 LED off L,? LED state on/off? Example Response L,1 *OK L,0 *OK L,? ?L,1 *OK L,1 15 or ?L,0 L,0 Copyright © Atlas Scientific LLC r 0.
Find Command syntax Find LED rapidly blinks white, used to help find device Example Response Find *OK 16 This command will disable continuous mode Send any character or command to terminate find. Copyright © Atlas Scientific LLC r 0.
Continuous mode Command syntax C,1 enable continuous readings once per second C,n continuous readings every n seconds (n = 2 to 99 sec) C,0 disable continuous readings C,? continuous reading mode on/off? Example Response C,1 *OK O2 (1 sec) O2 (2 sec) O2 (n sec) C,30 *OK O2 (30 sec) O2 (60 sec) O2 (90 sec) C,0 *OK C,? ?C,1 or ?C,0 or ?C,30 *OK 17 default Copyright © Atlas Scien
1 second Single reading mode Command syntax R takes single reading Example Green ResponseCyan R Standby 20.95 Taking reading *OK Transmitting Green Cyan Standby Taking reading Transmitting 1 second 18 Copyright © Atlas Scientific LLC r 0.
Alarm Command syntax The alarm pin will = 1 when O2 levels are > alarm set point. Alarm tolerance sets how far below the set point O2 levels need to drop before the pin will = 0 again. Alarm,en,[1,0] enable / disable alarm Alarm,n sets alarm Alarm,tol,n sets alarm tolerance (0 – 60) Alarm,? alarm set? Example Alarm,en,1 Alarm,5.5 Response *OK Enable alarm *OK O2 level must fall one percentage point below set point for alarm to reset.
Calibration Command syntax After ~1 year the sensor may need re-calibration. A single point calibration to atmospheric O2 levels is all thats needed. 0 point calibration can also be done if accuracy at low O2 levels is needed. Cal,nn.nn calibration to O2 levels at your altitude. Cal,0 calibrate device to 0 oxygen Cal,clear delete calibration data Cal,? device calibrated? Example Response Cal,20.
Temperature compensation Air temperature affects how the senor works, not the actual O2 concentration in the air. Command syntax T,n n = any value; floating point or int T,? compensated temperature value? RT,n set temperature compensation and take a reading Example Response T,19.5 *OK RT,19.5 T,? 21 *OK 20.95 Temperature compensated O2 reading ?T,19.5 *OK Copyright © Atlas Scientific LLC r 0.
Enable/disable parameters from output string Command syntax O, [parameter],[1,0] enable or disable output parameter O,? enabled parameter? Example Response O,PPT,1 / O,PPT,0 *OK enable / disable PPT O,%,1 *OK enable / disable percent concentration / O,%,0 O,? Parameters PPT O2 in parts per thousand % O2 in percent concentration ?,O,%,PPT if both are enabled * If you disable all possible data types your readings will display “no output”.
Naming device Command syntax Name,n set name Name, clears name Name,? show name Example Do not use spaces in the name n= ________________ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Up to 16 ASCII characters Response Name, *OK name has been cleared Name,zzt *OK Name,? ?Name,zzt *OK Name,zzt Green *OK UART standby 23 Copyright © Atlas Scientific LLC Name,? Cyan GreenPurple Cyan Red ?Name,zzt Taking reading
Device information Command syntax i device information Example Response i ?i,O2,1.0 *OK Response breakdown ?i, 24 O2, 1.
Response codes Command syntax *OK,1 enable response *OK,0 disable response *OK,? response on/off? default Example Response R 20.95 *OK *OK,0 no response, *OK disabled R 20.95 *OK disabled *OK,? ?*OK,1 or ?*OK,0 Other response codes *ER unknown command *OV over volt (VCC>=5.5V) *UV under volt (VCC<=3.
Reading device status Command syntax Status voltage at Vcc pin and reason for last restart Example Response Status ?Status,P,5.038 *OK Response breakdown ?Status, P, 5.
Sleep mode/low power Command syntax Sleep Send any character or command to awaken device. enter sleep mode/low power Example Response Sleep *OK *SL *WA Any command MAX SLEEP 5V 14.6 mA 0.5 mA 3.3V 13.7 mA 0.
Change baud rate Command syntax Baud,n change baud rate Example Baud,38400 Baud,? Response ?Baud,38400 *OK n= *OK 300 1200 2400 9600 default 19200 38400 57600 115200 Baud,38400 Green Green Standby Cyan Cyan UART UARTstandby standby Taking Takingreading reading 28 Copyright © Atlas Scientific LLC (reboot) Purple Purple Changing baud rate Changing Changing baud baud rate rate *OK Red Red Green White White Standby Command Command Find UART Find stan
Protocol lock Command syntax Locks device to UART mode.
Factory reset Command syntax Factory Clears custom calibration "*OK" enabled enable factory reset Example Response Factory *OK Factory (reboot) Green Cyan Green Purple Cyan UART standby Taking reading Changing Taking reading Com UART standby *RE baud rate not un *OK Baud rate will not change 30 Copyright © Atlas Scientific LLC *RS R
Change to I2C mode Command syntax I2C,n Default I2C address 108 (0x6C) sets I2C address and reboots into I2C mode 1 second 1 second n = any number 1 – 127 Example Response I2C,100 *OK (reboot in I2C mode) Wrong example I2C,139 Response n > 127 Green*ER Cyan Green Cyan Standby Standby Taking reading Taking readingTransmitting Transm I2C,100 (reboot) Green Green Cyan Cyan Standby Standby Taking reading TakingBlue readingTransmitting Transm Green *OK 31 now in I2C
Manual switching to I2C • • • • • • • • Disconnect ground (power off) Disconnect TX and RX Connect TX to ALM Confirm RX is disconnected Connect ground (power on) Wait for LED to change from Green to Blue Disconnect ground (power off) Reconnect all data and power Manually switching to I2C will set the I2C address to 108 (0x6C) Example Wrong Example ALM TX Short Disconnect RX line RX Short 32 Copyright © Atlas Scientific LLC r 0.
I C mode 2 Settings that are NOT if power is cut Settings that areI2C retained if power is cut The protocol is considerably more complex thanretained the UART assumes the embedded Baud rate (RS–232) protocol. Atlas Scientific Sleep mode Calibration systems engineer understands this protocol.
I2C mode I2C address (0x01 – 0x7F) 108 (0x6C) default 3.3V – 5.
Sending commands to device 5 parts Start I2C address Write Command (not case sensitive) Stop ASCII command string 108 (0x6C) Example Start Sleep Write 108 (0x6C) I C address Stop Command 2 SDA SDA SDA SCL SDA SCL SCL CPU SCL Advanced Address bits SDA A6 A5 A4 A3 A2 The entire command as ASCII with all arguments A1 A0 W ACK First letter of command ACK Last letter of command ACK SCL Start 35 W = low Stop Copyright © Atlas Scientific LLC r 0.
Requesting data from device 7 parts Start I2C address Read Response code Data string 1 byte 108 (0x6C) 413 SDA "413" Stop Terminator (Dec 0) SDA SDA SCL SDA SCL SCL Null CPU SCL Advanced Address bits SDA A6 − A0 All bytes after data are Null N bytes of data R ACK Response code ACK Data ACK Data N ACK Null ACK R = High Null SCL Start 1 Dec 36 52 49 51 ASCII NACK Stop 0 = 413 Dec Copyright © Atlas Scientific LLC r 0.
Response codes & processing delay After a command has been issued, a 1 byte response code can be read in order to confirm that the command was processed successfully. Reading back the response code is completely optional, and is not required for normal operation.
LED color definition Blue Green Purple Red White I2C standby Taking reading Changing I C address Command not understood Find 2 LED ON 5V +0.7 mA 3.3V +0.
I2C mode command quick reference All commands are ASCII strings or single ASCII characters. Command Function Alarm enable/disable alarm pg. 43 Baud switch back to UART mode pg. 54 Cal performs calibration pg. 44 Factory enable factory reset pg. 53 Find finds device with blinking white LED pg. 41 i device information pg. 47 I2C change I2C address pg. 52 L enable/disable LED pg. 40 Name set/show name of device pg. 47 O enable/disable internal temp pg.
LED control Command syntax L,1 LED on 300ms processing delay default L,0 LED off L,? LED state on/off? Example Response L,1 1 Wait 300ms L,0 Wait 300ms L,? Wait 300ms L,1 40 0 Dec Null 1 0 Dec Null 1 ?L,1 Dec 0 ASCII Null 1 or Wait 300ms Dec ?L,0 0 ASCII Null L,0 Copyright © Atlas Scientific LLC r 0.
Find 300ms processing delay Command syntax Find LED rapidly blinks white, used to help find device Example Response Find 1 Wait 300ms 41 Copyright © Atlas Scientific LLC Dec 0 Null
Taking reading Command syntax 900ms processing delay R return 1 reading Example Response R Wait 900ms Wait 900ms GreenGreenGreen 1 20.
Alarm 300ms Command syntax The alarm pin will = 1 when O2 levels are > alarm set point. Alarm tolerance sets how far below the set point O2 levels need to drop before the pin will = 0 again. Alarm,en,[1,0] enable / disable alarm Alarm,n sets alarm Alarm,tol,n sets alarm tolerance (0 – 60) Alarm,? alarm set? Example Alarm,en,1 Alarm,5.5 Alarm,tol,1 Alarm (5.
Calibration 1300ms processing delay After ~1 year the sensor may need re-calibration. A single point calibration to atmospheric O2 levels is all thats needed. 0 point calibration can also be done if accuracy at low O2 levels is needed. Command syntax Cal,nn.nn calibration to O2 levels at your altitude. nn.nn =%o2 Cal,0 calibrate device to 0 dissolved oxygen Cal,clear delete calibration data Cal,? device calibrated? Example Response Cal,20.
Temperature compensation Air temperature affects how the senor works, not the actual O2 concentration in the air. Command syntax T,n n = any value; floating point or int T,? compensated temperature value? 300ms processing delay RT,n set temperature compensation and take a reading Example Response T,19.5 1 Wait 300ms RT,19.5 Wait 900ms T,? Wait 300ms 45 Copyright © Atlas Scientific LLC Dec 0 Null 1 20.95 Dec ASCII 1 ?T,19.
Enable/disable parameters from output string Command syntax 300ms processing delay O, [parameter],[1,0] enable or disable output parameter O,? enabled parameter? Example Response O,PPT,1 / O,PPT,0 O,%,1 / Dec 0 Null enable / disable PPT 1 0 enable / disable percent concentration 1 Wait 300ms O,%,0 Wait 300ms O,? Wait 300ms Parameters PPT O2 in parts per thousand % O2 in percent concentration Dec Null 1 ?,O,%,PPT Dec ASCII 0 if both are enabled Null * If you disable all possibl
Naming device Command syntax Name,n set name Name, clears name Name,? show name Example Do not use spaces in the name n= ________________ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Up to 16 ASCII characters Response 1 Name, Wait 300ms Name,zzt Wait 300ms Name,? Wait 300ms 0 Dec Null 1 0 Dec name has been cleared Null 1 ?Name,zzt Dec ASCII Name,zzt 1 47 processing delay 300ms 0 0 Null Name,? 1 ?Name,zzt 0 Copyright © Atlas Scientific LLC r 0.
Device information Command syntax 300ms processing delay i device information Example Response i Wait 300ms 1 ?i,O2,1.00 Dec ASCII 0 Null Response breakdown ?i, 48 O2, 1.00 Device Firmware Copyright © Atlas Scientific LLC r 0.
Reading device status Command syntax processing delay 300ms Status voltage at Vcc pin and reason for last restart Example Response Status Wait 300ms 1 ?Status,P,5.038 Dec ASCII Response breakdown ?Status, P, 5.
Sleep mode/low power Command syntax Sleep enter sleep mode/low power Example Response Sleep no response Any command wakes up device STANDBY SLEEP 5V 14.6 mA 0.5 mA 3.3V 13.7 mA 0.4 mA Send any character or command to awaken device. Do not read status byte after issuing sleep command. Sleep Standby 50 Sleep Copyright © Atlas Scientific LLC r 0.
Protocol lock Command syntax 300ms Plock,1 enable Plock Plock,0 disable Plock processing delay Locks device to I2C mode.
I2C address change Command syntax 300ms processing delay I2C,n sets I2C address and reboots into I2C mode Example Response I2C,101 device reboot (no response given) Warning! Green Changing the I2C address will prevent communication between the circuit and the CPU until the CPU is updated with the new I2C address. Taking reading n = any number 1 – 127 Green Taking reading Transmitting Default I2C address is 108 (0x6C). I2C,101 (reboot) 52 Copyright © Atlas Scientific LLC r 0.
Factory reset Command syntax Factory reset will not take the device out of I2C mode. Factory enable factory reset Example Response Factory device reboot I2C address will not change Green Green (no response given) Taking reading Clears custom calibration LED on Response codes enabled Taking reading Transmitting Factory (reboot) 53 Copyright © Atlas Scientific LLC r 0.
Change to UART mode Command syntax Baud,n switch from I2C to UART Example Response Baud,9600 reboot in UART mode (no response given) GreenGreen Cyan Cyan Green Red Red Purple Purple Cyan Whit 300 Taking Taking readingreadingChanging Changing Command Command Taking reading Find RT standby UART standby UART standby 1200 baud rate baud ratenot understood not understood 2400 9600 n= 19200 38400 57600 115200 Baud,9600 Blue Blue GreenGreen (reboot) Changing to UART mode Purple Purple Blue Red Red Gr
Manual switching to UART • • • • • • • • Disconnect ground (power off) Disconnect TX and RX Connect TX to ALM Confirm RX is disconnected Connect ground (power on) Wait for LED to change from Blue to Green Disconnect ground (power off) Reconnect all data and power Example Wrong Example ALM RX Short Disconnect RX line RX Short 55 Copyright © Atlas Scientific LLC r 0.
Datasheet change log Datasheet V 1.3 Revised naming device info on pages 23 & 47. Datasheet V 1.2 Revised info for “Pin out” on page 5. Datasheet V 1.1 Revised info for the Alarm command on pages 19 & 43. Datasheet V 1.0 New datasheet Firmware updates V1.0 – Initial release (June 3, 2020) V1.01 – Initial release (June 18, 2020) • Fixed bug with the alarm command not working in certain circumstances.
Warranty Atlas Scientific™ Warranties the EZO-O2™ Embedded Oxygen Sensor to be free of defect during the debugging phase of device implementation, or 30 days after receiving the EZO-O2™ Embedded Oxygen Sensor (which ever comes first). The debugging phase The debugging phase as defined by Atlas Scientific™ is the time period when the EZO-O2™ Embedded Oxygen Sensor is connected into a bread board, or shield.
Reasoning behind this warranty Because Atlas Scientific™ does not sell consumer electronics; once the device has been embedded into a custom made system, Atlas Scientific™ cannot possibly warranty the EZO-O2™ Embedded Oxygen Sensor, against the thousands of possible variables that may cause the EZO-O2™ Embedded Oxygen Sensor to no longer function properly. Please keep this in mind: 1.