V 5.8 Revised 1/21 EZO-pH™ Embedded pH Circuit

Reads pH

Range .001 − 14.000

Resolution .001

Accuracy +/– 0.002

Response 1 reading per sec

Supported probes Any & brand

Calibration 1, 2, 3 point

Temp compensation

Data protocol UART & I2C

Default I2C address 99 (0x63)

Operating voltage 3.3V − 5V

Data format ASCII 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.

This device has been designed to be soldered and can be soldered any time. Once that decision has been made, Atlas Scientific no longer assumes responsibility for the device’s continued operation. The embedded systems engineer is now the responsible party.

Get this device working in a Do not embed this device without solderless breadboard first! testing it in a solderless breadboard!

1 5 10 15 20 25 30 A A B B C C D D E E

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 6 Power consumption 4 Correct wiring 8 Absolute max ratings 4 Calibration theory 11 Operating principle 5 Default state 14 Available data protocols 15 UART I2C UART mode 17 I2C mode 43 Receiving data from device 18 Sending commands 44 Sending commands to device 19 Requesting data 45 LED color definition 20 Response codes 46 UART quick page 21 LED color definition 47 LED control 22 I2C quick command page 48 23 LED control 49 Continuous reading mode 24 Find 50 Single reading mode 25 Taking reading 51 Calibration 26 Calibration 52 Export calibration 27 Export calibration 53 Import calibration 28 Import calibration 54 Slope 29 Slope 55 Extended pH scale 30 Extended pH scale 56 Temperature compensation 31 Temperature compensation 57 Naming device 32 Naming device 58 Device information 33 Device information 59 Response codes 34 Reading device status 60 Reading device status 35 mode/low power 61 Sleep mode/low power 36 Protocol lock 62 Change baud rate 37 I2C address change 63 Protocol lock 38 Factory reset 64 Factory reset 39 Change to UART mode 65 Change to I2C mode 40 Manual switching to UART 66 Manual switching to I2C 41

Circuit footprint 67 Datasheet change log 68 Warranty 71

3 Copyright © Atlas Scientific LLC EZO TM circuit dimensions

13.97mm (0.55”)

20.16mm (0.79”)

10.8mm 5.8mm 8.38mm 1mm Ø (0.4”) (0.22”) (0.32”)

Power consumption Absolute max ratings

LED MAX STANDBY SLEEP Parameter MIN TYP MAX

5V ON 18.3 mA 16 mA 1.16 mA Storage temperature (EZO™ pH) -65 °C 125 °C OFF 13.8 mA 13.8 mA Operational temperature -40 °C 25 °C 85 °C 3.3V ON 14.5 mA 13.9 mA 0.995 mA (EZO™ pH)

OFF 13.3 mA 13.3 mA VCC 3.3V 5V 5.5V

4 Copyright © Atlas Scientific LLC r 0.1 Operating principle

A pH (potential of Hydrogen) probe measures the hydrogen ion activity in a liquid. At the of a pH probe is a glass membrane. This glass membrane permits hydrogen ions from the liquid being measured to defuse into the outer layer of the glass, while larger ions remain in the solution. The difference in the concentration of hydrogen ions (outside the probe vs. inside the probe) creates a VERY small current. This current is proportional to the concentration of hydrogen ions in the liquid being measured.

Acid: pH < 7 Neutral: pH = 7 Base: pH > 7

EXR advanced sensing glass

Silver wire Junction 1

Ceramic wick Silver chloride KCL reference solution

Reference wire

Ultem 1000 (shatter resistant) Junction 2

5 Copyright © Atlas Scientific LLC Power and data isolation The Atlas Scientific EZO™ pH circuit is a very sensitive device. This sensitivity is what gives the pH circuit its accuracy. This also means that the pH circuit is capable of reading micro-voltages that are bleeding into the water from unnatural sources such as pumps, solenoid valves or other probes/sensors.

When electrical noise is interfering with the pH 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 pH probe in a cup of water by itself. The readings should stabilize quickly, confirming that electrical noise was the issue.

When reading pH and Conductivity or Dissolved Oxygen together, it is strongly recommended that the EZO™ pH circuit is electrically isolated from ™ 1 5 10 15 20 25 30 1 5 10 15 20 25 30 the EZO Conductivity or DissolvedA Oxygen circuit. A A A 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 B B B B G G G G C CorrectC C IncorrectC 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 1 Correct5 10 15 20 25 30 Incorrect1 5 10 15 20 25 30 H H H H A A A A I I I I B B B B TM J J J J Basic EZO 1 C 5 10 15 20 25 30 C 1 C 5 10 15 20 25 30 C D D D D E E E E Inline Voltage Isolator 1 5 10 15 20 25 30 1 5 10 15 20 25 30 A A A A B F B F B F B F C G C G C G C G D H D H D H D H E I E I E I E I 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 H H H I I I I J J J J 1 5 10 15 20 25 30 1 5 10 15 20 25 30

Without isolation, Conductivity and Dissolved Oxygen readings will effect pH accuracy.

6 Copyright © Atlas Scientific LLC r 0.1 This schematic shows exactly how we isolate data and power using the and a few passive components. The ADM3260 can output isolated power up to 150 mW and incorporates two bidirectional data channels.

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 R7) 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 = 3.0v − 5.5v ISO-VCC

VCC ADM3260 VCC VCC ISO-VCC VDDP VDDISO ISO-VCC VIN VISO R5 R7 R2 4.7K R1 4.7K INPUT VSEL VCC 1.5K 1.5K OUTPUT RX/SCL SCL2 VCC TX/SDA SCL1 RX/SCL EN SDA2 SDA1 TX/SDA GND VCC NC NC NC GND C1 GNDP 0.1uf R6 GNDP GNDISO GND 1.5K R4 4.7K C4 GNDP GNDISO

GNDP GNDISO C3 R3 4.7K ISO-GND VCC 10uF PDIS GNDISO VCC R9 GND 0.1uF ISO-VCC R8 C2 D 1M 1M 0.1uF ISO-VCC G N-FET (GENERAL PURPOSE TRANSISTOR) C6 S 10uF C5 GND 10uF Non-isolated ISO-GND Isolated

7 Copyright © Atlas Scientific LLC r 0.2 Correct wiring USB Carrier board carrier board GND TX RX VCC Bread board

PWR Bread board via USB RX GND TX RX TX

1 5 10 15 20 1 5 10 15 20 A A A A B B B B C C C C D D D D

E E E E USB

F F F F G G G G H H H H I I I I Part # J J J J G2-USB-ISO 1 5 15 15 20 1 5 15 15 20 Atlas Scientific Part # Part # COM-104 ISCCB

VCC OFF GND TX RX Electrically Isolated ™ Part # EZO Carrier Board Isolated Carrier Board ISCCB-2 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

Atlas 25 25 Scientific

30 30

35 35

40 40

45 45

50 50

55 55 NEVER use Perfboards or Protoboards *Only after you are familar with EZO TM circuits operation 60 60 Flux residue and shorting wires it very hard to get accurate readings. A B C D E F G H I J

8 Copyright © Atlas Scientific LLC r 0.1 NEVER EXTEND THE CABLE WITH CHEAP JUMPER WIRES!

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

DO NOT THE PROBE CABLE WITHOUT REFERING TO THIS DOCUMENT!

9 Copyright © Atlas Scientific LLC DO NOT MAKE YOUR OWN UNSHIELDED CABLES!

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

ONLY USE SHIELDED CABLES.

10 Copyright © Atlas Scientific LLC Calibration theory

Simple calibration Advanced calibration

mode mode

The important part of calibration is watching the 2.973 readings during the calibration process. 3.141 4.594 Unstabilized 5.362 It's easiest to calibrate the device in its default state 6.080 (UART mode, with continuous readings enabled). 6.190 6.190 6.190 Switching the device to I2C mode after calibration will 6.190 Stabilized 6.190 not affect the stored calibration. If the device must be 6.190 calibrated in I2C mode be sure to continuously request Send readings so you can see the output from the probe.

Calibration order

If this is your first time calibrating the EZO™ pH circuit, we recommend that you follow this calibration order.

ASPH7P ASPH4P ASPH10P

11 Copyright © Atlas Scientific LLC Single, Two point, or Three point calibration

No calibration Single point calibration

Mid point

Two point calibration Three point calibration

14

Low point Mid point Low point Mid point High point

Two point calibration will provide high accuracy Three point calibration will provide high accuracy between 7.00 and the second point calibrated over the full pH range. Three point calibration against, such as a 4.00. at 4.00, 7.00 and 10.00 should be considered the standard.

The first calibration point must be the Mid point (pH 7.00)

Mid point calibration Remove the soaker bottle and rinse off the pH probe. Remove the of the pH 7.00 calibration solution pouch. Place the pH probe inside the pouch and let the probe sit in the calibration solution until the readings stabilize (small movement from one reading to the next is normal).

After Calibration

1 − 2 mins

ASPH7P ASPH7P

6.917 7.126 Unstabilized 7.223 7.225 Once the readings have stabilized, issue the 7.225 Mid point calibration command. "cal,mid,7" 7.225 Stabilized 7.225 cal,mid,7 After 20 mins, the calibration solution inside an *OK open pouch is no longer considered accurate. 7.000 7.000 Dispose of the unused solution, after calibration.

Send Low point calibration

• Rinse off the probe before calibrating to the low point. • Open the pouch of pH 4.00 calibration solution, and place probe inside the pouch. • for readings to stabilize (1 – 2 minutes).

2.182 2.953 Unstabilized 3.601 3.998 Once the readings have stabilized, issue the 3.998 Low point calibration command. "cal,low,4" 3.998 Stabilized 3.998 After 20 mins, the calibration solution inside an cal,low,4 *OK open pouch is no longer considered accurate. 4.000 4.000 Dispose of the unused solution, after calibration.

Send

High point calibration

• Rinse off the probe before calibrating to the high point. • Open the pouch of pH 10.00 calibration solution, and place probe inside the pouch. • Wait for readings to stabilize (1 – 2 minutes).

7.953 8.111 Unstabilized 9.320 9.640 Once the readings have stabilized, issue the 9.640 High point calibration command. "cal,high,10" 9.640 Stabilized 9.640 cal,high,10 After 20 mins, the calibration solution inside an *OK open pouch is no longer considered accurate. 10.000 10.000 Dispose of the unused solution, after calibration.

Send

Issuing the cal,mid command after the EZO™ pH circuit has been calibrated, will the other calibration points. Full calibration will have to be redone.

The EZO™ pH circuits default temperature compensation is set to 25° C. If the temperature of the calibration solution is +/- 2° C from 25° C, consider setting the temperature compensation first. Temperature changes of < 2° C are insignificant.

13 Copyright © Atlas Scientific LLC Default state UART mode Baud 9,600

Readings continuous

Speed 1 reading per second

LED on

1,000 ms

Green Cyan Standby Taking reading Transmitting

14 Copyright © Atlas Scientific LLC Available data protocols

Default

Unavailable data protocols SPI Analog RS-485 Mod Bus 4–20mA

15 Copyright © Atlas Scientific LLC r 0.1 UART mode

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 Temperature compensation Device name Enable/disable response codes Hardware switch to I2C mode LED control Protocol lock Software switch to I2C mode

r 0.1

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 Temperature compensation LED control Protocol lock Software switch to UART mode 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 pH Data type floating point Units pH Decimal places 3 Encoding ASCII Smallest string 4 characters Format string Largest string 40 characters Terminator carriage return

17 Copyright © Atlas Scientific LLC Green Cyan Purple Red White UART standby Taking reading Changing Command Find baud rate not understood Receiving data from device 2 parts

ASCII data string Carriage return Command Terminator

9,600 baud (default)

TX RX CPU

9.560

Receiver

Sender

Advanced ASCII: 9 . 5 6 0 Hex: 39 2E 35 36 30 0D

SDA SCL SDA SCL SDA SCL SDA SCL Dec: (TX) 57(RX) 46 53 54(TX) (RX)48 13 (TX) (RX) (TX) (RX)

18 Copyright © Atlas Scientific LLC r 0.1 Blue Green Purple Red White I2C standby Taking reading Changing Command Find I2C address not understood Sending commands to device 2 parts

Command (not case sensitive) Carriage return ASCII data string Terminator

TX RX CPU

Sleep

Sender

Receiver

Short Advanced ASCII: S l e e p Hex: 53 6C 65 65 70 0D Dec: 83 108 101 101 112 13

Short 19 Copyright © Atlas Scientific LLC r 0.1 TX RX

RX TX

TX RX CPU

LED color definition

Green Cyan Purple Red White UART standby Taking reading Changing Command Find baud rate not understood

LED ON 5V +2.2 mA

3.3V +0.6 mA

20 Copyright © Atlas Scientific LLC r 0.1 UART mode command quick reference

All commands are ASCII or single ASCII characters.

Command Function Default state

Baud change baud rate . 37 9,600

C enable/disable continuous reading pg. 24 enabled

Cal performs calibration pg. 26 n/a

Export export calibration pg. 27 n/a

Factory enable factory reset pg. 39 n/a

Find finds device with blinking white LED pg. 23 n/a i device information pg. 33 n/a

I2C change to I2C mode pg. 40 not set

Import import calibration pg. 28 n/a

L enable/disable LED pg. 22 enabled

Name set/show name of device pg. 32 not set pHext enable/disable extended pH scale pg. 30 disabled

Plock enable/disable protocol lock pg. 38 disabled

R returns a single reading pg. 25 n/a

Sleep enter sleep mode/low power pg. 36 n/a

Slope returns the slope of the pH probe pg. 29 n/a

Status retrieve status information pg. 35 enable

T temperature compensation pg. 31 25˚C

*OK enable/disable response codes pg. 34 enable 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 or ?L,0 *OK

L,1 L,0

22 Copyright © Atlas Scientific LLC r 0.1

1,000 ms1,000 ms

Green Green Cyan Cyan Standby StandbyTaking readingTaking readingTransmittingTransmitting Find

This command will disable continuous mode Command syntax Send any character or command to terminate find.

Find LED rapidly blinks white, used to find device

Example Response

Find *OK

SDA SCL SDA SCL SDA SCL (TX) (RX) (TX) (RX) (TX) (RX)

23 Copyright © Atlas Scientific LLC r 0.1 Continuous reading mode

Command syntax

C,1 enable continuous readings once per second default 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 pH (1 sec) pH (2 sec) pH (n sec)

C,30 *OK pH (30 sec) pH (60 sec) pH (90 sec)

C,0 *OK

C,? ?C,1 or ?C,0 or ?C,30 *OK

24 Copyright © Atlas Scientific LLC r 0.1 Single reading mode

Command syntax

R takes single reading

Example Response

R 9.560 *OK 1,000 ms

Green Cyan Standby Taking reading Transmitting

800 ms

25 Copyright © Atlas Scientific LLC r 0.1 Calibration Issuing the cal,mid command after the EZOTM pH circuit has been calibrated, will clear the other calibration points. Full Command syntax calibration will have to be redone.

Cal,mid,n single point calibration at midpoint Cal,low,n two point calibration at lowpoint Cal,high,n three point calibration at highpoint Cal,clear delete calibration data Cal,? device calibrated?

Example Response

Cal,mid,7.00 *OK

Cal,low,4.00 *OK

Cal,high,10.00 *OK

Cal,clear *OK

Cal,? ?Cal,0 or ?Cal,1 or one point ?Cal,2 or ?Cal,3 two point three point *OK

26 Copyright © Atlas Scientific LLC Export calibration

Command syntax Export: Use this command to download calibration settings

Export,? calibration string Export export calibration string from calibrated device

Example Response

Export,? 10,120 Response breakdown 10, 120 # of strings to export # of bytes to export

Export strings can be up to 12 characters long, and is always followed by

Export 59 6F 75 20 61 72 (1 of 10) Export 65 20 61 20 63 6F (2 of 10) (7 )

Export 6F 6C 20 67 75 79 (10 of 10)

Export *DONE Disabling *OK simplifies this process

Export

1 2 TX RX 3 4 5 6 MCU 7 8 9 10 [10,120] *DONE

27 Copyright © Atlas Scientific LLC r 0.2 1 TX RX 2 3 4 5 MCU 6 7 8 9 10 [10,120]

1 TX RX 2 3 4 5 MCU 6 7 8 9 10 [10,120] Import calibration

Import: Use this command to upload calibration Command syntax settings to one or more devices.

Import,n import calibration string to new device

Example Response

Import, 59 6F 75 20 61 72 (1 of 10) *OK

1 Import, 65 20 61 20 63 6F2 TX RX 3 (2 of 10) *OK 4 5 6 MCU 7 8 Import, 6F 6C 20 67 75 799 10 (10 of 10) *OK [10,120]

Import,n

1 2 TX RX1 3 TX RX 2 4 5 3 6 MCU 7 4 8 9 5 10 6 MCU[10,120] 7 8 9 10

1 TX RX 2 [10,120] 3 4 5 MCU 6 7 8 9 10 *OK [10,120] system will reboot

1 TX RX 2 3 1 TX RX 2 4 * If one of the imported strings is not 3 4 5 5 6 MCU 6 correctly entered, the device will not 7 MCU 7 8 9 8 accept the import, respond with *ER 10 [10,120] 9 10 and reboot. [10,120] *ER

28 Copyright © Atlas Scientific LLC r 0.2 Slope After calibrating a pH probe issuing the slope command will show how closely (in percentage) the calibrated pH probe is working Command syntax compared to the “ideal” pH probe.

Slope,? returns the slope of the pH probe

Example Response

Slope,? ?Slope,99.7,100.3, -0.89 *OK

Response breakdown ?Slope, 99.7 100.3 -0.89

99.7% is how closely the 100.3% is how closely the This is how many millivolts slope of the acid calibration slope of the base calibration the zero point is off from line matched the “ideal” matches the “ideal” pH true 0. pH probe. probe.

0.3% from ideal

0.3% from ideal

29 Copyright © Atlas Scientific LLC r 0.2

Fuming HCL Extended pH scale

Very strong acids and basses can exceed the traditional pH scale. This command extends the pH scale to show below 0 and above 14.

Lowest possible reading: -1.6 Command syntax Highest possible reading: 15.6 pHext,0 extended pH scale off (0 – 14) default pHext,1 extended pH scale on (-1.6 – 15.6) pHext,? extended pH scale on/off?

Example Response

0.3% from ideal 0.3% from ideal pHext,1 *OK pHext,0 *OK

0.3% from ideal 0.3% from ideal pHext,? ?pHext,1 or ?pHext,0

pHext,0 pHex t ,1

Fuming Fuming HCL HCL

pH = 0.000 pH = -1.220

30 Copyright © Atlas Scientific LLC r 0.1 Temperature compensation

Default temperature = 25°C Temperature is always in Celsius Command syntax Temperature is not retained if power is cut

T,n n = any value; floating point or int T,? compensated temperature value? RT,n set temperature compensation and take a reading*

This is a new command for firmware V2.12 Example Response

T,19.5 *OK

RT,19.5 *OK 8.91

T,? ?T,19.5 *OK

T,19.5

8.82 8.91

31 Copyright © Atlas Scientific LLC r 0.2

SDA SCL SDA SCL SDA SCL SDA SCL (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX) Naming device

Command syntax Do not use spaces in the name

Name,n set name n = ______1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Name,? show name Up to 16 ASCII characters

Example Response

Name,zzt *OK

Name,? ?Name,zzt *OK

Name,zzt Name,?

*OK Name,zzt *OK

32 Copyright © Atlas Scientific LLC r 0.1

1,000 ms 1,000 ms

Green Cyan Green Cyan Standby Taking readingStandby TransmittingTaking reading Transmitting Device information

Command syntax i device information

Example Response i ?i,pH,1.98 *OK

Response breakdown ?i, pH, 1.98 Device Firmware

33 Copyright © Atlas Scientific LLC r 0.1 Response codes

Command syntax

*OK,1 enable response default *OK,0 disable response *OK,? response on/off?

Example Response

R 9.560 *OK

*OK,0 no response, *OK disabled

R 9.560 *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.1V) These response codes *RS reset cannot be disabled *RE boot up complete, ready *SL entering sleep mode *WA wake up

34 Copyright © Atlas Scientific LLC r 0.1 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.038 Reason for restart Voltage at Vcc

Restart codes P powered off S software reset B brown out watchdog U unknown

35 Copyright © Atlas Scientific LLC r 0.1 Sleep mode/low power

Send any character or Command syntax command to awaken device.

Sleep enter sleep mode/low power

Example Response

Sleep *OK *SL

Any command *WA wakes up device

STANDBY SLEEP 5V 16 mA 1.16 mA

3.3V 13.9 mA 0.995 mA

Sleep

Standby Sleep 16 mA 1.16 mA

36 Copyright © Atlas Scientific LLC r 0.1

1,000 ms 1,000 ms

Green CyanGreen Cyan Standby TakingStandby reading TransmittingTaking reading Transmitting Change baud TXrateRX

Command syntax RX TX

Baud,n change baud rate TX RX Example Response CPU Baud,38400 *OK

Baud,? ?Baud,38400 *OK

300 1200 2400 n = 9600 default 19200 38400 57600 115200

Baud,38400 (reboot)

Standby Changing Standby Green Cyan Purplebaud rate Red White UART standby Taking reading Changing*OK Command Find baud rate not understood

37 Copyright © Atlas Scientific LLC r 0.1

1,000 ms 1,000 ms

Green Cyan Green Cyan Standby Taking reading Transmitting Standby Taking reading Transmitting TX RX TX RX

RX TX RX TX

Protocol lockTX RX TX RX

Command syntax CPU Locks device to UARTCPU mode. Plock,1 enable Plock TX RX Plock,0 disable Plock default Plock,? Plock on/off? CPU Example Response

Plock,1 *OK

Plock,0 *OK

Plock,? ?Plock,1 or ?Plock,0

Plock,1 I2C,100 Short

Green Cyan Green*OK Purple cannotCyan changeRed to I2C PurplecannotWhite change to IRed2C White *ER UART standby Taking readingUART standbyChanging Taking readingCommand ChangingFind Command Find baud rate not understood baud rate not understood 38 Copyright © Atlas Scientific LLC Short r 0.1 Factory reset

Clears calibration LED on Command syntax "*OK" enabled

Factory enable factory reset

Example Response

Factory *OK

Factory

(reboot)

*OK *RS *RE

Baud rate will not change

39 Copyright © Atlas Scientific LLC 1,000 ms 1,000 ms r 0.1

Green Cyan Green Cyan Standby Taking reading StandbyTransmitting Taking reading Transmitting TX RX TX RX

RX TX RX TX

TX RX TX RX Change to I2C mode CPUCPU Command syntax Default I2C address 99 (0x63)

I2C,n sets I2C address and reboots into I2C mode n = any number 1 – 127

Example Response

I2C,100 *OK (reboot in I2C mode)

Wrong example Response

I2C,139 n > 127 *ER

I2C ,100

(reboot)

Green Blue Green*OK Green Cyannow Cyanin I2C modePurple Purple Red Red White White UART standbyUART standbyTaking readingTaking readingChanging ChangingCommandCommand Find Find baud ratebaud ratenot understoodnot understood

40 Copyright © Atlas Scientific LLC r 0.2 Manual switching to I2C • Disconnect ground (power off) • Disconnect TX and RX

• Connect TX to PGND TX RX • 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

Manually switching to I2C will set the I2C address to 99 (0x63)

Example

Short

Wrong Example Short Disconnect RX line

41 Copyright © Atlas Scientific LLC r 0.1 I2C mode Settings thatThe are I2 Cretained protocol if power is considerably is cut Settings more complex that are NOT than retained the UART if power is cut Baud rate (RS–232) protocol. Atlas ScientificFind assumes the embedded Calibration systems engineer understandsSleep this mode protocol. Continuous mode Temperature compensation Device name To set your EZOTM device into I2C mode click here Enable/disable response codes Hardware switch to I2C mode LED control Protocol lock Software switch to I2C mode

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 Temperature compensation LED control Protocol lock Software switch to UART mode

r 0.1 I2C mode I2C address (0x01 – 0x7F) 99 (0x63) default

Vcc 3.3V – 5.5V

Clock speed 100 – 400 kHz

4.7k resistor VCC may be needed VCC SDA

SDA SDA SCL SCL SCL SDA SCL (TX) (RX)

VCC SCL SDA 0V 0V CPU SDA

SCL

VCC

0V 0V Data format Reading pH Data type floating point Units pH Decimal places 3 Encoding ASCII Smallest string 4 characters Format string Largest string 40 characters

SDA SCL SDA SCL (TX) (RX) (TX) (RX)

43 Copyright © Atlas Scientific LLC SCL SDA CPU 4.7k resistor VCC may be needed VCC

SDA SDA

SCL SCL SDA SCL (TX) (RX)

SCL SDA Sending commands to device CPU SDA 5 parts SCL Start I2C address Command (not case sensitive) Stop VCC 99 (0x63) ASCII command string Example0V 0V

Start 99 (0x63) Write Sleep Stop I2C address Command

SDA SCL SDA SCL (TX) (RX) (TX) (RX)

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 W = low Stop

44 Copyright © Atlas Scientific LLC r 0.1 SDA SCL (TX) (RX)

CPU Requesting data from device

7 parts

Start I2C address Read Response code Data string Null Stop 99 (0x63) 1 byte "9.65" Terminator (Dec 0)

SDA SCL (TX) (RX)

SCL SDA CPU

9.560

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

Start NACK Stop

1 57 46 53 54 48 0 = 9.560 Dec Dec ASCII

45 Copyright © Atlas Scientific LLC r 0.1 Response codes 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.

Send command

SDA SCL (TX) (RX)

CPU Processing delay

Receiving data

Example If there is no processing delay or the processing delay is too short, the response I2C_start; code will always be 254. I2C_address; SDA SCL I2C_write(EZO_command);(TX) (RX) I2C_stop; Response codes SCL SDA Single byte, not string delay(300); Processing delay CPU255 no data to send I2C_start; 254 still processing, not ready I2C_address; 2 syntax error Char[ ] = I2C_read; 1 successful request I2C_stop;

46 Copyright © Atlas Scientific LLC r 0.2 TX RX CPU

LED color definition

SDA SCL SDA SCL SDA SCL SDA SCL (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX)

Blue Green Purple Red White I2C standby Taking reading Changing Command Find I2C address not understood

LED ON 5V +2.2 mA

3.3V +0.6 mA

47 Copyright © Atlas Scientific LLC r 0.1 I2C mode command quick reference

All commands are ASCII strings or single ASCII characters.

Command Function

Baud switch back to UART mode pg. 65

Cal performs calibration pg. 52

Export export calibration pg. 53

Factory enable factory reset pg. 64

Find finds device with blinking white LED pg. 50 i device information pg. 59

I2C change I2C address pg. 63

Import import calibration pg. 54

L enable/disable LED pg. 49

Name set/show name of device pg. 58 pHext enable/disable extended pH scale pg. 56

Plock enable/disable protocol lock pg. 62

R returns a single reading pg. 51

Sleep enter sleep mode/low power pg. 61

Slope returns the slope of the pH probe pg. 55

Status retrieve status information pg. 60

T temperature compensation pg. 57

48 Copyright © Atlas Scientific LLC LED control

Command syntax 300ms processing delay

L,1 LED on default L,0 LED off L,? LED state on/off?

Example Response

L,1 1 0 Wait 300ms Dec Null

L,0 1 0 Wait 300ms Dec Null

L,? 1 ?L ,1 0 or 1 ?L,0 0 Wait 300ms Dec ASCII Null Dec ASCII Null

SDA SCL SDA SCL SDA SCL SDA SCL (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX)

L,1 L,0

49 Copyright © Atlas Scientific LLC r 0.1

Short Short

SDA SCL SDA SCL SDA SCL SDA SCL SDA SCL SDA SCL (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX) Find 300ms processing delay

This command will disable continuous mode Command syntax Send any character or command to terminate find. Find LED rapidly blinks white, used to help find device

Example Response

Find 1 0 Wait 300ms Dec Null

SDA SCL SDA SCL SDA SCL (TX) (RX) (TX) (RX) (TX) (RX)

50 Copyright © Atlas Scientific LLC r 0.1 Taking reading

Command syntax 900ms processing delay

R return 1 reading

Example Response

R 1 9.560 0 Wait 900ms Dec ASCII Null

SDA SCL SDA SCL SDA SCL (TX) (RX) (TX) (RX) (TX) (RX)

Wait 900ms Green Blue Taking reading Transmitting Standby

Short

SDA SCL SDA SCL SDA SCL (TX) (RX) (TX) (RX) (TX) (RX)

51 Copyright © Atlas Scientific LLC r 0.1

Short

SDA SCL SDA SCL (TX) (RX) (TX) (RX) Calibration 900ms processing delay Issuing the cal,mid command after the EZOTM pH circuit has been calibrated, will clear the other calibration points. Full Command syntax calibration will have to be redone. Cal,mid,n single point calibration at midpoint Cal,low,n two point calibration at lowpoint Cal,high,n three point calibration at highpoint Cal,clear delete calibration data Cal,? device calibrated?

Example Response

Cal,mid,7.00 1 0 Wait 900ms Dec Null

Cal,low,4.00 1 0 Wait 900ms Dec Null

Cal,high,10.00 1 0 Wait 900ms Dec Null

Cal,clear 1 0 Wait 300ms Dec Null

Cal,? 1 ?Cal,0 0 or 1 ?Cal,1 0 Wait 300ms Dec ASCII Null Dec ASCII Null one point

1 ?Cal,2 0 or 1 ?Cal,3 0 Dec ASCII Null Dec ASCII Null two point three point

52 Copyright © Atlas Scientific LLC Export calibration 300ms processing delay

Command syntax Export: Use this command to download calibration settings

Export,? calibration string info Export export calibration string from calibrated device

Example Response

Export,? 1 10,120 0 Response breakdown Wait 300ms Dec ASCII Null 10, 120 # of strings to export # of bytes to export

Export strings can be up to 12 characters long

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 6F 6C 20 67 75 79 0 (10 of 10) Wait 300ms Dec ASCII Null

1 *DONE Export 0 Wait 300ms Dec ASCII Null

53 Copyright © Atlas Scientific LLC r 0.2 Import calibration 300ms processing delay Import: Use this command to upload calibration Command syntax settings to one or more devices. Import,n import calibration string to new device

Example Response

Import, 59 6F 75 20 61 72 (1 of 10) 1 0 Wait 300ms Dec Null

1 1 SDA SCL 2 SCL SDA 0 Import, 65 20 61(TX) (RX)20 63 6F (2 of 10) 3 Wait 300ms Dec Null 4 5 6 MCU 7 8 1 Import, 6F 6C 20 67 75 799 (10 of 10) 0 10 Wait 300ms Dec Null [10,120]

Import,n

1 1 SDA SCL 2 SCL SDA (TX) (RX) 3 SCL SDA 2 SDA SCL 4 (TX) (RX) 5 3 6 MCU4 7 8 5 9 10 6 MCU[10,120] 7 8 9 10

1 SCL SDA 2 SDA SCL [10,120] (TX) (RX) 3 4 5 MCU 6 7 8 9 1 *Pending 0 10 [10,120] Dec ASCII Null

1 system will reboot SCL SCA 2 SDA SCL (TX) (RX) 3 1 SCL SCA 2 SDA SCL (TX)4 (RX) 3 4 5 * If one of the imported strings is not 5 6 MCU 6 7 MCU 7 correctly entered, the device will not 8 9 8 10 9 [10,120] accept the import and reboot. 10 [10,120] reboot 54 Copyright © Atlas Scientific LLC r 0.2 Slope 300ms processing delay After calibrating a pH probe issuing the slope command will show how closely (in percentage) the calibrated pH probe is Command syntax working compared to the “ideal” pH probe. Slope,? returns the slope of the pH probe

Example Response

Slope,? 1 ?Slope,99.7,100.3, -0.89 0 Wait 300ms Dec ASCII Null

Response breakdown ?Slope, 99.7 100.3 -0.89

99.7% is how closely the 100.3% is how closely the This is how many millivolts slope of the acid calibration slope of the base calibration the zero point is off from line matched the “ideal” matches the “ideal” pH true 0. pH probe. probe.

0.3% from ideal

0.3% from ideal

55 Copyright © Atlas Scientific LLC r 0.1

Fuming HCL Extended pH scale

300ms processing delay Very strong acids and basses can exceed the traditional pH scale. This command extends the pH scale to show below 0 and above 14.

Lowest possible reading: -1.6 Command syntax Highest possible reading: 15.6 pHext,0 extended pH scale off (0 – 14) default pHext,1 extended pH scale on (-1.6 – 15.6) pHext,? extended pH scale on/off?

Example Response

0.3% from ideal 0.3% from ideal pHext,1 1 0 Wait 300ms Dec Null pHext,0 1 0 Wait 300ms Dec Null

0.3% from ideal 0.3% from ideal pHext,? 1 ?pHex t,1 0 or 1 ?pHext,0 0 Wait 300ms Dec ASCII Null Dec ASCII Null

pHext,0 pHex t ,1

Fuming Fuming HCL HCL

pH = 0.000 pH = -1.220

56 Copyright © Atlas Scientific LLC r 0.1 Temperature compensation

Default temperature = 25°C Temperature is always in Celsius Command syntax Temperature is not retained if power is cut

T,n n = any value; floating point or int 300ms processing delay T,? compensated temperature value? RT,n set temperature compensation and take a reading*

This is a new command for firmware V2.12 Example Response

T,19.5 1 0 Wait 300ms Dec Null

RT,19.5 1 8.91 0 Wait 900ms Dec ASCII Null

T,? 1 ? T,19.5 0 Wait 300ms Dec ASCII Null

T,19.5

8.82 8.91

57 Copyright © Atlas Scientific LLC r 0.2

0.3% from ideal 0.3% from ideal

0.3% from ideal 0.3% from ideal

Fuming Fuming HCL HCL Naming device 300ms processing delay

Command syntax Do not use spaces in the name Name,n set name n = ______1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Name,? show name Up to 16 ASCII characters

Example Response

Name,zzt 1 0 Wait 300ms Dec Null

Name,? 1 ?Name,zzt 0 Wait 300ms Dec ASCII Null

Name,zzt Name,?

SDA SCL SDA SCL SDA SCL SDA SCL (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX)

1 0 1 ?Name,zzt 0

58 Copyright © Atlas Scientific LLC r 0.1

Short Short

SDA SCL SDA SCL SDA SCL SDA SCL SDA SCL SDA SCL (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX) Device information

Command syntax 300ms processing delay i device information

Example Response i 1 ?i,pH,1.98 0 Wait 300ms Dec ASCII Null

Response breakdown ?i, pH, 1.98 Device Firmware

59 Copyright © Atlas Scientific LLC r 0.1 Reading device status

Command syntax 300ms processing delay

Status voltage at Vcc pin and reason for last restart

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

60 Copyright © Atlas Scientific LLC r 0.1 Sleep mode/low power

Command syntax

Send any character or Sleep enter sleep mode/low power command to awaken device.

Example Response

Do not read status byte after Sleep no response issuing sleep command.

Any command wakes up device

STANDBY SLEEP 5V 16 mA 1.16 mA

3.3V 13.9 mA 0.995 mA

SDA SCL SDA SCLSDA SCL SDA SCL (TX) (RX) (TX) (RX)(TX) (RX) (TX) (RX)

Sleep

Standby Sleep

61 Copyright © Atlas Scientific LLC r 0.1

Short Short

SDA SCL SDASDASCLSCL SDASDASCLSCL SDA SCL (TX) (RX) (TX) (TX) (RX) (RX) (TX) (TX) (RX) (RX) (TX) (RX) SDASDASCLSCLSDA SCL SDASDASCLSCLSDA SCL (TX) (TX) (RX) (RX)(TX) (RX) (TX) (TX) (RX) (RX)(TX) (RX) Protocol lock

Command syntax 300ms processing delay

Plock,1 enable Plock Locks device to I2C mode. Plock,0 disable Plock default Plock,? Plock on/off?

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

Plock,1 Baud, 9600 ShortShortShort

SDASDASCLSCLSDA SCL SDASDASCLSCLSDA SCL SDASDASCLSCLSDA SCL (TX) (TX) (RX) (RX) (TX) (RX) (TX) (TX) (RX) (RX) (TX) (RX) (TX) (TX) (RX) (RX) (TX) (RX)

cannot change to UART cannot change to UART

62 Copyright © Atlas Scientific LLC r 0.1 I2C address change

Command syntax 300ms processing delay

I2C,n sets I2C address and reboots into I2C mode

Example Response

I2C,100 device reboot

Warning! n = any number 1 – 127 Changing the I2C address will prevent communication between the circuit and the CPU until the CPU is updated with the new I2C address.

Default I2C address is 99 (0x63).

I2C ,100

SDA SCL SDA SCL SDA SCL SDA SCL (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX)

(reboot)

63 Copyright © Atlas Scientific LLC r 0.2

Short Short

SDA SCL SDA SCL SDA SCL SDA SCL SDA SCL SDA SCL (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX) Factory reset

Command syntax Factory reset will not take the device out of I2C mode. Factory enable factory reset I2C address will not change

Example Response

Factory device reboot

Clears calibration LED on Response codes enabled

Factory

SDA SCL SDA SCL SDA SCL SDA SCL (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX)

(reboot)

64 Copyright © Atlas Scientific LLC r 0.1

Short Short

SDA SCL SDA SCL SDA SCL SDA SCL SDA SCL SDA SCL (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX) Change to UART mode

Command syntax TX RX TX RX TX RX Baud,n switch from I2C to UART CPUCPU CPU Example Response

Baud,9600 reboot in UART mode

300 1200 2400 n = 9600 19200 38400 57600 115200

SDA SCL SDA SCL SDA SCL SDA SCL SDA SCL SDA SCL SDA SCL SDA SCL SDA SCL SDA SCL SDA SCL SDA SCL (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX) (TX) (RX)

Baud,9600 (reboot)

Changing to UART Blue Blue GreenGreen PurplemodePurpleBlue Red RedGreenWhiteWhitePurple Red White I2C standbyI2C standbyTaking Takingreading readingChangingChangingI2C standbyCommandCommandTaking readingFind FindChanging Command Find I2C addressI2C addressnot understoodnot understood I2C address not understood

65 Copyright © Atlas Scientific LLC r 0.1 SDA SCL SDA SCL SDA SCL Manual(TX) (RX) switching(TX) (RX) to UART(TX) (RX) • Disconnect ground (power off) • Disconnect TX and RX • Connect TX to PGND • Confirm RX is disconnected • Connect ground (power on) • Wait for LED to change from Blue to Green • DisconnectGreen ground (power off) Blue • ReconnectTaking readingall data and power Transmitting Standby

Example

Short

SDA SCL SDA SCL SDA SCL (TX) (RX) (TX) (RX) (TX) (RX)

Wrong Example Short Disconnect RX line

SDA SCL SDA SCL (TX) (RX) (TX) (RX)

66 Copyright © Atlas Scientific LLC r 0.1 EZO TM circuit footprint

17.78mm (0.7”)

5.0

2.54mm (0.1”)

In your CAD software Place a 3 position header at both Delete the 8 position header. The two 3 1 place a 8 position header. 2 top and bottom of the 8 position. 3 position headers are now 17.78mm (0.7”) apart from each other.

1.05mm Ø 17.78mm (0.7”)

67 Copyright © Atlas Scientific LLC r 0.1 Datasheet change log

Datasheet V 5.8

Revised calibration info and art on pages 11 & 12.

Datasheet V 5.7 Added new command: "Extended pH Scale" pages 30 (UART) & 56 (I2C).

Datasheet V 5.6

Revised information on the slope command found on pages 29 & 54.

Datasheet V 5.5

Revised artwork within datasheet.

Datasheet V 5.4

Moved the Default state to pg 14.

Datasheet V 5.3

Revised response for the sleep command in UART mode on pg 35.

Datasheet V 5.2

Revised calibration theory on page 11, and added more information on the Export calibration and Import calibration commands.

Datasheet V 5.1

Revised isolation schematic on pg 10.

Datasheet V 5.0

Added more information about temperature compensation on pages 29 & 53.

Datasheet V 4.9

Changed "Max rate" to "Response time" on cover page.

68 Copyright © Atlas Scientific LLC Datasheet V 4.8

Added new command: "RT,n" for Temperature compensation located on pages 29 (UART) & 53 (I2C). Added firmware information to Firmware update list.

Datasheet V 4.7

Removed note from certain commands about firmware version.

Datasheet V 4.6

Added information to calibration theory on pg 7. Datasheet V 4.5

Revised definition of response codes on pg 44.

Datasheet V 4.4

Added resolution range to cover page.

Datasheet V 4.3

Revised isolation information on pg 9. Datasheet V 4.2

Revised Plock pages to show default value.

Datasheet V 4.1 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 4.0

Added accuracy range on cover page, and revised isolation info on pg. 10.

Datasheet V 3.9

Revised calibration theory on pg. 7.

Datasheet V 3.8

Revised entire datasheet.

69 Copyright © Atlas Scientific LLC Firmware updates

V1.5 – Baud rate change (Nov 6, 2014) • Change default baud rate to 9600

V1.6 – I2C bug (Dec 1, 2014) • Fixed I2C bug where the circuit may inappropriately respond when other I2C devices are connected.

V1.7 – Factory (April 14, 2015) • Changed “X” command to “Factory”

V1.95 – Plock (March 31, 2016) • Added protocol lock feature “Plock”

V1.96 – EEPROM (April 26, 2016) • Fixed bug where EEPROM would get erased if the circuit lost power 900ms into startup

V1.97 – EEPROM (Oct 10, 2016) • Added the option to save and load calibration.

V1.98 – EEPROM (Nov 14, 2016) • Fixed bug during calibration process.

V2.10 – (May 9, 2017) • Added "Find" command. • Added "Export/import" command. • Modified continuous mode to be able to send readings every "n" seconds.

V2.11 – (June 12, 2017) • Fixed "I" command to return "pH" instead of "PH".

V2.12 – (April 16, 2018) • Fixed “cal,clear” was not clearing stored calibration in EEPROM. • Added “RT” command to Temperature compensation.

V2.13 – (June 25, 2019) • Added calibration offset to slope. • Added calibration with temperature compensation.

V2.14 – (June 10, 2020) • Added extended pH scale

70 Copyright © Atlas Scientific LLC Warranty Atlas Scientific™ Warranties the EZO™ class pH circuit to be free of defect during the debugging phase of device implementation, or 30 days after receiving the EZO™class pH circuit ( ever comes first).

The debugging phase

The debugging phase as defined by Atlas Scientific™ is the time period when the EZO™ class pH circuit is inserted into a bread board, or shield. If the EZO™ class pH circuit is being debugged in a bread board, the bread board must be devoid of other components. If the EZO™ class pH circuit is being connected to a microcontroller, the microcontroller must be running code that has been designed to drive the EZO™ class pH circuit exclusively and output the EZO™ class pH circuit data as a serial string.

It is important for the embedded systems engineer to keep in mind that the following activities will void the EZO™ class pH circuit warranty:

• Soldering any part of the EZO™ class pH circuit.

• Running any code, that does not exclusively drive the EZO™ class pH circuit and output its data in a serial string.

• Embedding the EZO™ class pH circuit into a custom made device.

• Removing any potting compound.

71 Copyright © Atlas Scientific LLC r 0.1 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™ class pH circuit, against the thousands of possible variables that may cause the EZO™ class pH circuit to no longer function properly. Please keep this in mind:

1. All Atlas Scientific™ devices have been designed to be embedded into a custom made system by you, the embedded systems engineer.

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 pH circuits continued operation. This is because that would be equivalent to Atlas Scientific™ taking responsibility over the correct operation of your entire device.

72 Copyright © Atlas Scientific LLC r 0.1