The Electrically Isolated EZO™ Carrier Board, manufactured by Atlas Scientific, is a specialized circuit board designed to interface seamlessly with EZO™ electrochemical sensors. This carrier board provides electrical isolation, which is critical for preventing noise and interference in sensor readings. By isolating the sensor from the rest of the circuit, it ensures highly accurate and reliable measurements, even in electrically noisy environments.
The Electrically Isolated EZO™ Carrier Board features two sets of pins: one for the microcontroller side and one for the sensor side. Below is the pin configuration:
Pin Name | Description |
---|---|
VCC | Power input (3.3V to 5V DC) |
GND | Ground connection |
TX | UART transmit pin (connects to RX of the microcontroller) |
RX | UART receive pin (connects to TX of the microcontroller) |
SCL | I2C clock line (connects to SCL of the microcontroller) |
SDA | I2C data line (connects to SDA of the microcontroller) |
Pin Name | Description |
---|---|
VCC | Power output to the EZO™ sensor (3.3V or 5V, selectable via jumper) |
GND | Ground connection |
TX | UART transmit pin (connects to RX of the EZO™ sensor) |
RX | UART receive pin (connects to TX of the EZO™ sensor) |
SCL | I2C clock line (connects to SCL of the EZO™ sensor) |
SDA | I2C data line (connects to SDA of the EZO™ sensor) |
Powering the Board:
Connecting the Microcontroller:
Connecting the EZO™ Sensor:
Communication Protocol:
Mounting:
Below is an example of how to interface the Electrically Isolated EZO™ Carrier Board with an EZO™ pH sensor using UART communication:
#include <SoftwareSerial.h>
// Define the RX and TX pins for SoftwareSerial
#define RX_PIN 10 // Connect to TX of the carrier board
#define TX_PIN 11 // Connect to RX of the carrier board
SoftwareSerial ezoSerial(RX_PIN, TX_PIN);
void setup() {
Serial.begin(9600); // Start the serial monitor
ezoSerial.begin(9600); // Start communication with the EZO™ sensor
Serial.println("EZO™ Carrier Board Example");
}
void loop() {
// Send a command to the EZO™ sensor
ezoSerial.println("R"); // "R" command requests a reading from the sensor
delay(1000); // Wait for the sensor to process the command
// Check if data is available from the sensor
if (ezoSerial.available()) {
String sensorData = "";
while (ezoSerial.available()) {
char c = ezoSerial.read();
sensorData += c;
}
Serial.println("Sensor Reading: " + sensorData);
}
}
No Data from the Sensor:
Inaccurate Readings:
Sensor Not Responding:
I2C Communication Issues:
Can I use multiple EZO™ sensors with one carrier board?
What is the purpose of electrical isolation?
Can I use this board with a 3.3V microcontroller?
Is the carrier board compatible with all EZO™ sensors?