AtlasScientific WiFi Pool Kit Reads pH ORP and Temperature User Guide
- June 6, 2024
- AtlasScientific
Table of Contents
AtlasScientific WiFi Pool Kit Reads pH ORP and Temperature
Operating principle
The Wi-Fi Pool Kit has been designed to provide the engineer with a simple way of remotely monitoring and controlling a pools system’s chemistry. Sensor data is uploaded to ThingSpeak ™, a free, cloud-based data acquisition and visualization platform. The Wi-Fi Pool Kit has also been designed to be easily modified by the engineer. Feel free to change the sensors or functionality of the device to meet your specific needs.
Overview
CPU
The Wi-Fi Pool Kit is controlled using an Adafruit Feather HUZZAH32 as its
CPU. The HUZZAH is programmed using the Arduino IDE and uses an onboard ESP32
as its Wi-Fi transmitter. Adafruit HUZZAH32 datasheet.
Sensor ports
The Wi-Fi Pool Kit PCB has 5 sensor ports. Three of the ports are electrically
isolated. The isolated ports are marked pH, ORP, and AUX. The isolated ports
are needed to take noise-free electrochemical readings. Because the sensing
element of a temperature sensor is never in direct contact with the water,
electrical isolation is not needed for temperature sensing.
The AUX port can be used to add an additional sensor of your choice. The
terminal block marked Port 5 has been designed to connect one or more dosing
pumps to the device. However, the port could also be used to connect a gas
sensor.
PCB
he overall design of the PCB is quite simple. The CPU is powered and programmed through the panel-mount USB connector. The CPUs USB pin supplies the board’s power bus with 5V. Each of the four main sensor ports have an enable pin, which must be set correctly to power the sensor. The enable pins are found here: The first three pins (pH, ORP and Aux) must be set low to power on the sensor. The last pin (Temp) must be set high to power on the sensor.
Truth table
Pin | State | Sensor Power |
---|---|---|
pH EN | LOW | ON |
ORP EN | LOW | ON |
Aux EN | LOW | ON |
Temp EN | HIGH | ON |
Sensor port 5 (the terminal block) does not have an enable pin and can not be turned off.
Data protocol
he CPU communicates with all peripheral sensors using the I2C data protocol.
All data lines are directly connected to the CPUs I2C port. Using a different
data protocol with this circuit board is not possible.
It is important to keep in mind that all Atlas Scientific components default
to UART mode. When adding a new Atlas Scientific component to the kit, it must
first be put into I2C mode. Refer to the component’s datasheet for
instructions on how to switch it over.
Adding more of the same sensor or component type
Adding additional components of the same type, such as an additional pH or ORP sensor, is not hard to do. As mentioned above, you must set the device to I2C mode, and you must make sure that its I2C address is not the same as the already existing component.
Device | I2C Address |
---|---|
EZO pH | 99 (0x63) |
EZO ORP | 98 (0x62) |
EZO DO | 97 (0x61) |
Device | I2C Address |
--- | --- |
EZO EC | 100 (0x64) |
EZO RTD | 102 (0x66) |
EZO PMP-L | 109 (0x6D) |
**Dosing pump
**
An optional dosing pump can be added to the Wi-Fi Pool Kit. Using both the
Large Embedded Dosing Pump and our sensor bridge is the simplest way to add on
a dosingpump.
You can directly connect an EZO Pump to the Wi-Fi Pool Kit without the sensor
bridge however you must remove the data cable connector and manually put the
pump into I2C mode.
Uploading sensor data to the cloud
The Atlas-Scientific Wi-Fi Pool Kit has been designed to upload sensor data to
ThingSpeak™, a free, cloud-based data acquisition and visualization platform.
You will be required to set up a free account with ThingSpeak ™ to upload and
visualize the data. With a free account, you can upload data once every 15
seconds. A paid account lets you upload data once per-second; look here for
more info about various ThingSpeak™ services.
Atlas Scientific has no business relationship with ThingSpeak™; we just like
how it works. If you want to use a different service, modify the device as you
see fit.
Setting up your Wi-Fi kit
Step 1 Setup a ThingSpeak Account
Because the sensor data is stored / viewed on ThingSpeak, you will need to
setup a ThingSpeak account. Create your ThingSpeak account by clicking
HERE.
Step 2 Create a Channel
Your data is uploaded to ThingSpeak through a ‘Channel.’ Select New Channel
Fill out the highlighted boxes. (Be sure to click on the checkboxes to enable
field 2 and 3) For reference, this is what we entered.
Name
Field 1 :pH
Field 2 :ORP (mV)
Field 3:Temp (°C)
Scroll to the bottom of the page and click Save Channel. Atlas Sensors
Step 3 Get ThingSpeak API keys
After you saved your channel settings, you will be redirected to your channel
page. Click on API keys. Be sure to save your Channel ID and Write API Key we
are going to need these, in the next few steps.
Step 4 Make sure your Arduino IDE libraries are up to date In the IDE
go to File > Preferences Locate the Additional Boards Manager URLS text box.
Make sure this URL is in the textbox
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-
pages/package_esp32_index.json Click OK.
B Update the esp32 board In the IDE, go to Tools > Board > Boards
Manager
Download the ThingSpeak library for Arduino Click HERE to download the latest
version of the ThingSpeak library.
Don’t unzip it! Import the .ZIP file into your Arduino IDE. To import the .ZIP
file go to Sketch > Include Library > Add .ZIP Library
Add the EZO I2C Library To download the Ezo_I2c library file, click
HERE.
Step 5 Flash the Pool kit with the correct code Select,
open and adjust the code y ou want to use for your Wi-Fi Kit File> Examples>
EZO_I2C_lib-master> Examples> IOT_kits> pool_kit
Fill in your Wi- Fi / ThingSpeak credentials
Fill in your Wi-Fi name and Password, along with the Channel ID and Write API
Key to the code. (see step 3) Setting up your pump If you do not have a pump
attached, you can just skip this part. The code is rather self explanatory.
You set what parameters will trigger the pump to engage.
Step 6 Setting up the HUZZAH board
A Set the target CPU to flash Tools> Board> ESP32 Arduino > Adafruit ESP32
Feather
B Adjust CPU Settings Make sure the CPU settings on the Adafruit HUZZAH32 are correct.To adjust the CPU settings, click Tools. For reference, this is what Atlas Scientific set the CPU settings to. (your options may not be exactly the same, just try and match them as closely as possible.)
Step 7 See the readings
Open your Arduino serial monitor.If it cannot connect to your Wi-Fi you will
see this: The Wi-Fi Pool Kit will always attempt to connect to ThingSpeak on
bootup. (You must have the serial monitor set to the com port from the
Adafruit Feather HUZZAH)Entering the poll command will stop the Wi-Fi Pool Kit
from uploading the readings to thingspeak, while you debug your Wifi
problems.
Step 8 Sensor Calibration
Atlas Scientific created a list of calibration commands that are built into
the library. Type in help to see a list of commands.
The poll command Send the command poll; This will let you see the readings
once per second and it will stop uploading to ThingSpeak while you calibrate.
Calibrate pH
Remove the soaker bottle and rinse off the pH probe. Remove the top 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. This will take about 1 – 2 mins. Rinse off the probe and repeat this process for both pH 4.00 and pH 10.00.
Calibrate ORP
Remove the soaker bottle and rinse off the ORP probe. Remove the top of the
ORP 225mV calibration solution pouch. Insert the ORP probe directly into 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).
Calibrate Temperature
Calibrating the PT-1000 temperature probe is not required. However, if you
want to, a simple method to calibrate the probe is to place the PT-1000 into
boiling water. Then issue command rtd:cal,t
100 °C
Step 9
Once you are finished with calibration, issue the datalog command to resume
taking a reading every 15 seconds and uploading it to thingspeak.
To see the data on your phone, download the ThingSpeak app.
References
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>