No Arduino needed!
What you need:
- 5v power supply
- RaspberryPi (any version)
- Tentacle Mini (2-channel) You can attach multiple Shields to your Pi
- Atlas Scientific EZO circuits (1-2 for each Tentacle Mini)
- sensor probe(s) (1 for each EZO circuit)
Enable I2C on the Pi
- Navigate to
Advanced Options-> I2C.
- Select yes when it asks you to enable I2C
- Select yes when it tasks about automatically loading the kernel module.
- Apply settings and reboot
- After reboot, type
ls /dev/*i2c*The Pi should list its I2C bus(es), e.g.
- Install the I2C utilities:
sudo apt-get install -y i2c-tools
Enable I2C on the Atlas Scientific EZO circuits
Manually switch each of your EZO circuits to I2C. Step-by-step tutorial for this is here. TL;DR Use your breadboard, a 5V DC power supply and some jumper wires to short PGND and TX before powering the circuit with 5V. Each power cycle with shorted PGND/TX will switch from UART to I2C and back.
Connect the Tentacle Mini and the Raspberry Pi
Pins to connect are 5V, IOREF, GND, SDA, SCL. In case you don’t intend to use your Tentacle Mini with an Arduino at all, you should consider ordering the Kit version. It comes without the Arduino headers pre-soldered and you can mount your own custom connector just for the required pins.
- Tentacle 5V -> RPi 5V
(used to power the 2 isolated power circuits on the Tentacle)
- Tentacle IOREF -> RPi 3.3V
(used to power the isolated I2C communications – the Pi wants 3.3V on the I/O, so we apply 3.3V)
- Tentacle GND -> RPi GND
- Tentacle SCL -> RPi SCL
- Tentacle SDA -> RPi SDA
Once the two boards are connected, plug the EZO circuits into the Tentacle Mini and power up the Pi
Talking to the sensors
You can verify the circuits work with the i2cdetect utility:
i2cdetect -y 1
In this example, a pH and a DO circuit are plugged in. Te factory settings for the EZO circuits are as follows:
- DO: 0x60 (97)
- ORP: 0x61 (98)
- pH: 0x63 (99)
- EC: 0x64 (100)
- RTD: 0x66 (102)
If you’re using multiple of the same type of EZO circuit (e.g. 2x pH), both will have the address 0x63. I2C must be unique. You’ll want to connect only one of the circuits at first and change it’s address. You can do this in the interactive example code below by typing
i2c,105. This will give this circuit the address of 0x69 (105). You can now plug in the next circuit of the same type.
The following code is provided by Atlas Scientific. You can download it here.
Run the code above and you’ll be presented with an interactive prompt. You can use this to setup and configure your circuits and to read values from the sensors:
To connect to a circuit, use the command
Address,xx. xx is address of the circuit in decimal form. For the ph circuit with address 0x63, that’s 99.
rto read the current sensor reading
Check out the datasheet of your respective type of EZO circuit for a list of all commands. To find out what type of circuit you have attached, use the command