ORP EZO Datasheet
ORP EZO Datasheet
8
Revised 8/13/19
EZO-ORP
Embedded ORP Circuit
™
Reads ORP
PATENT PROTECTED
Written by Jordan Press
Designed by Noah Press This is an evolving document, check back for updates.
This is sensitive electronic equipment. Get this device working in
a solderless breadboard first. Once this device has been soldered
it is no longer covered by our warranty.
F F
G G
H H
I I
J J
1 5 10 15 20 25 30
r 0.1
Table of contents
Circuit dimensions 4 Power and data isolation 7
Power consumption 4 Correct wiring 9
Absolute max ratings 4 Calibration theory 12
Operating principle 5 Default state 14
Available data protocols 15
UART IC
2
UART mode 17 I2C mode 40
Receiving data from device 18 Sending commands 41
Sending commands to device 19 Requesting data 42
LED color definition 20 Response codes 43
UART quick command page 21 LED color definition 44
LED control 22 I2C quick command page 45
Find 23 LED control 46
Continuous reading mode 24 Find 47
Single reading mode 25 Taking reading 48
Calibration 26 Calibration 49
Export calibration 27 Export calibration 50
Import calibration 28 Import calibration 51
Naming device 29 Device information 52
Device information 30 Reading device status 53
Response codes 31 Sleep mode/low power 54
Reading device status 32 Protocol lock 55
Sleep mode/low power 33 I2C address change 56
Change baud rate 34 Factory reset 57
Protocol lock 35 Change to UART mode 58
Factory reset 36 Manual switching to UART 59
Change to I2C mode 37
Manual switching to I2C 38
Circuit footprint 60
Datasheet change log 61
Warranty 64
13.97mm
(0.55”)
20.16mm
(0.79”)
10.8mm
5.8mm 8.38mm
1mm Ø (0.4”)
(0.22”) (0.32”)
Just like a pH probe measures hydrogen ion activity in a liquid; an ORP probe measures
electron activity in a liquid. The ORP readings represents how strongly electrons are
transferred to or from substances in a liquid. Keeping in mind that the readings do not
indicate the amount of electrons available for transfer.
An ORP probe has a platinum tip that is connected to a silver wire, surrounded by
silver chloride. That silver wire is then connected to a KCL reference solution. Be-
cause platinum is an unreactive metal it can “silently observe” the electron activity
of the liquid without becoming apart of whatever reaction is occurring in the liquid.
Platinum tip
Silver chloride
Silver wire
Reference wire
When electrical noise is interfering with the ORP readings it is common to see rapidly
fluctuating readings or readings that are consistently off. To verify that electrical noise
is causing inaccurate readings, place the ORP probe in a cup of water by itself. The readings
should stabilize quickly, confirming that electrical noise was the issue.
Correct Incorrect
B B B B
C C C C
D D D D
E E E E
1 5 10 15 20 25 30 1 5 10 15 20 25 30
A A A A
F F F F
Correct Incorrect
B B B B
G G G G
C C C C
H H H H
D D D D
I I I I
E E E E
J J J J
1 5 10 15 20 25 30 1 5 10 15 20 25 30
F F F F
G G G G
H 1 5 10 15 20 25 H 30 H 1 5 10 15 20 25 H 30
A A A A
I I I I
B B B B
Basic EZO TM J
1 C
D
5 10 15 20 25 30
J
C
D
J
1 C
D
5 10 15 20 25 30
J
C
D
This technology works by using tiny transformers to induce the voltage across an air gap.
PCB layout requires special attention for EMI/EMC and RF Control, having proper ground
planes and keeping the capacitors as close to the chip as possible are crucial for proper
performance. The two data channels have a 4.7kΩ pull up resistor on both the isolated
and non-isolated lines (R1, R2, R3, and R4) The output voltage is set using a voltage
divider (R5, R6, and R,7) this produces a voltage of 3.9V regardless of your input voltage.
Isolated ground is different from non-isolated ground, these two lines should not
be connected together.
VCC
ADM3260
VCC VCC
ISO-VCC
VDDP VDDISO ISO-VCC
VIN VISO R5 R7
HDR_TOP R2 4.7K R1 4.7K
VCC
VSEL
1.5K 1.5K
HDR_BTM
RX/SCL SCL2 SCL1 VCC
TX/SDA
EN SDA2 SDA1 RX/SCL
TX/SDA
GND
VCC NC NC NC
GND
C1
GNDP
0.1uf R6
GNDP GNDISO
GND 1.5K
C4
GNDP GNDISO R4 4.7K
10uF
C5
GND
Non-isolated Isolated
10uF
ISO-GND
GND
TX
RX
VCC
B B B B PWR
C C C C RX
D D D D TX
E E E E
Atlas
F F F F Scientific
G G G G TM
H H H H
I I I I
J J J J
1 5 15 15 20 1 5 15 15 20
Part # COM-104
Part # Part #
ISCCB USB-ISO
Incorrect wiring
Extended leads Sloppy setup Perfboards or Protoboards *Embedded into your device
A B C D E F G H I J
1 1
5 5
10 10
15 15
20 20
25 25
30 30
35 35
40 40
45 45
50 50
NEVER
55 55
use Perfboards *Only after you are familar
or Protoboards with EZO TM circuits operation
60 60
A B C D E F G H I J
1 5 10 15 20
A A
B B
C C
D D
E E
F F
G G
H H
I I
J J
1 5 15 15 20
1 5 10 15 20
A A
B B
C C
D D
E E
F F
G G
H H
I I
J J
1 5 15 15 20
mode mode
10
10
10
−−60
−60
60
sec
sec
sec
342.0
315.2 Unstabilized
268.7
240.1
240.1
240.1 Stabilized
240.1 Once the readings have stabilized,
cal,225 issue the calibration command.
*OK In this case "cal,225"
225.0
225.0
Send
UART mode
Baud 9,600
Readings continuous
LED on
1,000 ms
Green Cyan
Standby Taking reading Transmitting
Default
Settings that are retained if power is cut Settings that are NOT retained if power is cut
Baud rate Find
Calibration Sleep mode
Continuous mode
Device name
Enable/disable response codes
Hardware switch to I2C mode
LED control
Protocol lock
Software switch to I2C mode
r 0.1
UART mode
8 data bits no parity
1 stop bit no flow control
Baud 300
1,200
2,400
9,600 default
19,200
38,400
57,600
115,200 TX RX
RX
Data in RX TX
TX TX RX
Data out
CPU
Vcc 3.3V – 5.5V
VCC
0V 0V
Data format
Reading ORP Data type floating point
Units mV Decimal places 1
Encoding ASCII Smallest string 2 characters
Format string Largest string 40 characters
Terminator carriage return
9,600 baud
(default)
TX RX
CPU
209.6 <cr>
Receiver
Sender
Advanced
ASCII: 2 0 9 . 6 <cr>
Hex: 32 30 39 2E 36 0D
Dec: 13
SDA SCL SDA SCL SDA SCL SDA SCL SDA SCL
50 48 57 46 54
(TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX)
TX RX
CPU
Sleep <cr>
Sender
Receiver
Short
Advanced
ASCII: S l e e p <cr>
Hex: 53 6C 65 65 70 0D
Dec: 83 108 101 101 112 13
Short
19 Copyright © Atlas Scientific LLC
r 0.1
LED color definition
LED ON
5V +2.2 mA
3.3V +0.6 mA
Example Response
L,1 <cr> *OK <cr>
L,1 L,0
Find <cr> LED rapidly blinks white, used to help find device
Example Response
Find <cr> *OK <cr>
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
Example Response
C,1 <cr> *OK <cr>
ORP (1 sec) <cr>
ORP (2 sec) <cr>
ORP (n sec) <cr>
Example Response
R <cr> 209.6 <cr>
*OK <cr>
1,000 ms
Green Cyan
Standby Taking reading Transmitting
800 ms
Example Response
Cal,225 <cr> *OK <cr>
Cal,225 <cr>
209.6 mV 225 mV
1,0001,000
ms ms
26 Copyright © Atlas Scientific LLC
Export calibration
Command syntax Export: Use this command to download calibration settings
Example Response
Export,? <cr> 10,120 <cr> Response breakdown
10, 120
# of strings to export # of bytes to export
Export <cr>
1
2 TX RX
3
4
MCU
5
6
7
8
9
10
[10,120]
*DONE
27 Copyright © Atlas Scientific LLC
r 0.2
1
Import calibration
Command syntax Import: Use this command to upload calibration
settings to one or more devices.
Example Response
Import, 59 6F 75 20 61 72 <cr> (1 of 10) *OK <cr>
1
Import, 65 20 61 20 63 6F 2
3
<cr> (2 of 10) *OK <cr>
TX RX
MCU
5
6
7
8
Import, 6F 6C 20 67 75 79 9
10
<cr> (10 of 10) *OK <cr>
[10,120]
Import,n <cr>
1
2 TX 1
RX
3
TX RX 2
4
MCU 3
5
6
7 4
MCU
8
9
5
10
6
[10,120]
7
8
9
10
[10,120]
1
TX RX 2
3
4
MCU
5
6
7
*OK <cr>
8
9
10
[10,120]
system will reboot
1
TX RX 2
MCU
3
MCU
5
6 6
7
7
8
9
10
8 accept the import, respond with *ER
9
and reboot.
[10,120]
10
[10,120]
*ER <cr>
Example Response
Name,zzt <cr> *OK <cr>
Name,zzt Name,?
Example Response
i <cr> ?i,ORP,1.97 <cr>
*OK <cr>
Response breakdown
?i, ORP, 1.97
Device Firmware
Example Response
R <cr> 209.6 <cr>
*OK <cr>
Example Response
Status <cr> ?Status,P,5.038 <cr>
*OK <cr>
Response breakdown
?Status, P, 5.038
Reason for restart Voltage at Vcc
Restart codes
P powered off
S software reset
B brown out
W watchdog
U unknown
Example Response
Sleep <cr> *OK <cr>
*SL <cr>
STANDBY SLEEP
5V 16 mA 1.16 mA
Sleep <cr>
Standby Sleep
16 mA 1.16 mA
RX TX
Command syntax
Baud,n <cr> change baud rate TX RX
300
1200
2400
n= 9600 default
19200
38400
57600
115200
Command syntax
CPU CPU
Locks device to UART mode.
Example Response
Plock,1 <cr> *OK <cr>
Plock,1 I2C,100
Short
Purple
Green
*OK <cr> Cyan
cannot Red
change to I2C Purple
White
cannot change to IRed
C 2
*ER <cr>
Changing Taking Command
ingUART standby reading Changing
Find Comma
baud rate not understood baud rate not under
35 Copyright © Atlas Scientific LLC Short
r 0.1
Factory reset
Clears calibration
Command syntax LED on
"*OK" enabled
Example Response
Factory <cr> *OK <cr>
Factory <cr>
(reboot)
36
1,000 ms
Copyright © Atlas Scientific LLC
1,000 ms r 0.1
Change to I2C mode
Command syntax Default I2C address 98 (0x62)
I2C,n <cr> sets I2C address and reboots into I2C mode
n = any number 1 – 127
Example Response
I2C,100 <cr> *OK (reboot in I2C mode)
I2C,100
(reboot)
Green Blue
Green
*OK <cr> Green Cyan Cyan Purple Pur
now in I C mode 2
UART standby
UART standby
Taking reading Changing Chan
Taking reading
baud ratebaud
37 Copyright © Atlas Scientific LLC
r 0.2
Manual switching to I2C
• Make sure Plock is set to 0
• Disconnect ground (power off)
• Disconnect TX and RX TX RX
• Connect TX to PGND
• Confirm RX is disconnected
•
•
Connect ground (power on)
Wait for LED to change from Green to Blue
CPU
• Disconnect ground (power off)
• Reconnect all data and power
Example
Short
Wrong Example
Short
Disconnect RX line
Settings that are retained if power is cut Settings that are NOT retained if power is cut
Calibration Find
Change I2C address Sleep mode
Hardware switch to UART mode
LED control
Protocol lock
Software switch to UART mode
r 0.2
0.1
I2C mode
I2C address (0x01 – 0x7F)
98 (0x62) default
4.7k resistor
VCC may be needed VCC
SDA
SDA SDA
SCL
SCL SCL
SDA
(TX)
SCL
(RX)
0V 0V
CPU
SDA
SCL
VCC
0V 0V
Data format
Reading ORP Data type floating point
Units mV Decimal places 1
Encoding ASCII Smallest string 2 characters
Format string Largest string 40 characters
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
SCL
Start I2C address Write Command (not case sensitive) Stop
VCC
98 (0x62) ASCII command string
0V 0V
Example
Start 98 (0x62) Write Sleep Stop
I2C address Command
SDA
(TX)
SCL
(RX)
SD
(TX)
SCL SDA
CPU
Advanced
Address bits The entire command as ASCII with all arguments
SDA
A6 A5 A4 A3 A2 A1 A0 W ACK First letter of command ACK Last letter of command ACK
SCL
Start I2C address Read Response code Data string Null Stop
98 (0x62) 1 byte "209.6" Terminator
(Dec 0)
SDA
(TX)
SCL
(RX)
SCL SDA
CPU
209.6
Advanced
All bytes
Address bits N bytes of data after data are Null R = High
SDA
A6 − A0 R ACK Response code ACK Data ACK Data N ACK Null ACK Null
SCL
1 50 48 57 46 54 0 = 209.6
Dec Dec
ASCII
Send
command
SDA
(TX)
SCL
(RX)
CPU
Processing delay
Receiving
data
LED ON
5V +2.2 mA
3.3V +0.6 mA
Command Function
Example Response
L,1 1 0
Wait 300ms Dec Null
L,0 1 0
Wait 300ms Dec Null
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
L,1 L,0
Example Response
Find 1 0
Wait 300ms Dec Null
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
R return 1 reading
Example Response
R 1 209.6 0
Wait 900ms Dec ASCII Null
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
Wait 900ms
Green Blue
Taking reading Transmitting Standby
Short
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
Example Response
Cal,225 1 0 SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
Cal,clear 1 0
Wait 300ms Dec Null
Cal,225
209.6 mV 225 mV
Example Response
(optional)
Response breakdown
Export,? 1 10,120 0 10, 120
Wait 300ms Dec ASCII Null # of strings to export # of bytes to export
Export 1 59 6F 75 20 61 72 0 (1 of 10)
Wait 300ms Dec ASCII Null
Export 1 65 20 61 20 63 6F 0 (2 of 10)
Wait 300ms Dec ASCII Null
(7 more)
Export
1 *DONE 0
Wait 300ms Dec ASCII Null
Example Response
Import, 59 6F 75 20 61 72 (1 of 10) 1 0
Wait 300ms Dec Null
Import, 65 20 61 20 63 6F 0
1
SDA
(TX)
SCL
(RX)
2
3
(2 of 10) Wait 300ms
1
SCL SDA
Dec Null
4
MCU
5
6
7
8
Import, 6F 6C 20 67 75 79 10
9
(10 of 10) 1 0
Wait 300ms Dec Null
[10,120]
Import,n
1 1
SCL SDA
SDA
(TX)
SCL
(RX)
2
3
SCL SDA 2 SDA
(TX)
SCL
(RX)
4
3
MCU
5
6 4
MCU
7
8 5
9
6
10
[10,120] 7
8
9
10
SCL SDA
1
SDA SCL
[10,120]
2 (TX) (RX)
3
4
MCU
5
6
7
1 *Pending 0
8
9
10
SCL SCA
1
2
system will reboot
SDA SCL(TX) (RX)
3
1
4
MCU
2 SDA
(TX)
SCL
(RX)
3 5
4
MCU
5 6
6
7
8
7
8
correctly entered, the device will not
accept the import and reboot.
9
10 9
[10,120] 10
[10,120]
reboot
51 Copyright © Atlas Scientific LLC
r 0.2
Device information
Command syntax 300ms processing delay
i device information
Example Response
i 1 ?i,ORP, 19.7 0
Wait 300ms Dec ASCII Null
Response breakdown
?i, ORP, 1.97
Device Firmware
Example Response
Status 1 ?Status,P,5.038 0
Wait 300ms Dec ASCII Null
Response breakdown
?Status, P, 5.038
Reason for restart Voltage at Vcc
Restart codes
P powered off
S software reset
B brown out
W watchdog
U unknown
Example Response
Do not read status byte after
Sleep no response issuing sleep command.
STANDBY SLEEP
5V 16 mA 1.16 mA
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
SDA SCL
(RX)(TX) (RX)
SDA
(TX)
SCL
(RX)
Sleep
Standby Sleep
Example Response
Plock,1 1 0
Wait 300ms Dec Null
Plock,0 1 0
Wait 300ms Dec Null
Plock,? 1 ?Plock,1 0
Wait 300ms Dec ASCII Null
SDA
(TX)
SDASCLSCL
(TX) (RX) (RX)
SDA
(TX)
SCL
(RX)
SDA
(TX)
SDASCLSCL
(TX) (RX) (RX)
SDA
(TX)
SCL
(RX)
SDA
(TX)
SDASCLSCL
(TX) (RX) (RX)
SDA
(TX)
SCL
(RX)
Example Response
I2C,100 device reboot
I2C,100
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
(reboot)
Example Response
Factory device reboot
Clears calibration
LED on
Response codes enabled
Factory
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
(reboot)
300
1200
2400
n= 9600
19200
38400
57600
115200
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
Baud,9600 (reboot)
Changing to
BlueBlue Green
Green Purple
Purple
UART mode White
Blue Red RedGreen Wh
C standby
I2C standbyTakingTaking
reading
readingChanging I2C standby
Changing Command
Command
Taking reading
Find F
I2C address
I2C addressnot understood
not understood
Example
Short
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
Wrong Example
Short
Disconnect RX line
SDA
(TX)
SCL
(RX)
SDA
(TX)
SCL
(RX)
17.78mm
(0.7”)
4.0
2.54mm
(0.1”)
1.05mm Ø 17.78mm
(0.7”)
Datasheet V 4.7
Updated firmware to V2.11 on pg 63.
Datasheet V 4.6
Revised response for the sleep command in UART mode on pg 33.
Datasheet V 4.5
Revised calibration theory on page 12, and added more information on the Export
calibration and Import calibration commands.
Datasheet V 4.4
Revised isolation schematic on pg. 10
Datasheet V 4.3
Changed "Max rate" to "Response time" on cover page.
Datasheet V 4.2
Removed note from certain commands about firmware version.
Datasheet V 4.1
Added information to calibration theory on pg 8.
Datasheet V 3.9
Revised isolation information on pg 9.
Datasheet V 3.8
Revised Plock pages to show default value.
Datasheet V 3.7
Added new commands:
"Find" pages 23 (UART) & 46 (I2C).
"Export/Import calibration" pages 27 (UART) & 49 (I2C).
Added new feature to continous mode "C,n" pg 24.
Datasheet V 3.6
Revised circuit illustrations throughout datasheet.
Datasheet V 3.5
Added accuracy range on cover page, and revised isolation info on pg 10.
Datasheet V 3.4
Revised entire datasheet.
It is important for the embedded systems engineer to keep in mind that the following
activities will void the EZO™ class ORP circuit warranty:
• Running any code, that does not exclusively drive the EZO™ class ORP circuit and
output its data in a serial string.
• Embedding the EZO™ class ORP circuit into a custom made device.
2. All Atlas Scientific™ devices have been designed to run indefinitely without
failure in the field.
3. All Atlas Scientific™ devices can be soldered into place, however you do so at your
own risk.
Atlas Scientific™ is simply stating that once the device is being used in your application,
Atlas Scientific™ can no longer take responsibility for the EZO™ class ORP circuits continued
operation. This is because that would be equivalent to Atlas Scientific™ taking responsibility
over the correct operation of your entire device.