Development v12

Warning - Product Update

All the resources present on this section belong to Waspmote v12, Waspmote Plug & Sense! v12 and Meshlium v3.8.

If you have a Waspmote v15, Waspmote Plug & Sense! v15 or Meshlium v4.0 please go to the new Development Section.

Check what is your version and what are the differences between the old and the new one in this document.

» SWI 02: pH Sensor Reading

Turn on the Smart Water Ions Sensor Board and reads the pH sensor extracting the value from the calibration values and temperature compensation

Required Materials

1 x Waspmote
1 x Battery
1 x Smart Water Ions Sensor Board
1 x Reference Probe
1 x pH Sensor Probe (for Smart Water Ions)
1 x pH Calibration Kit (for those sensors which require calibration)
1 x PT1000 temperature sensor (for temperature compensation)


- The pH Sensor Probe for Smart Water Ions can not be used with the Smart Water Board
- The pH Sensor can be used with both references probes (Single and Double)
- Calibration process of the pH sensor is described in the Smart Water Board technical guide
- This example can be executed in Waspmote v12 and Waspmote v15.


 *  ------ [SWI_02] - pH sensor Reading for Smart Water Ions -------- 
 *  Explanation: Turn on the Smart Water Board and reads the pH sensor
 *  extracting the value from the calibration values and temperature
 *  compensation
 *  Copyright (C) 2016 Libelium Comunicaciones Distribuidas S.L. 
 *  This program is free software: you can redistribute it and/or modify 
 *  it under the terms of the GNU General Public License as published by 
 *  the Free Software Foundation, either version 3 of the License, or 
 *  (at your option) any later version. 
 *  This program is distributed in the hope that it will be useful, 
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of 
 *  GNU General Public License for more details. 
 *  You should have received a copy of the GNU General Public License 
 *  along with this program.  If not, see <>. 
 *  Version:           3.0
 *  Design:            David Gascón 
 *  Implementation:    Ahmad Saad

#include <smartWaterIons.h>

// Calibration values
#define cal_point_10 1.405
#define cal_point_7  2.048
#define cal_point_4 2.687

// Temperature at which calibration was carried out
#define cal_temp 25.0

socket1Class pHSensor; //<------ Define the connection SOCKET
pt1000Class temperatureSensor;

void setup()
  // Configure the calibration points
  pHSensor.setpHCalibrationPoints(cal_point_10, cal_point_7, cal_point_4, cal_temp);
  // Turn ON the Smart Water Ions Sensor Board and start the USB

void loop()
  // Read the pH sensor
  float pHVoltage =;

  // Read the temperature sensor
  float temperature =;

  // Print the output values
  USB.print(F("pH value: "));
  USB.print(F("volts  | "));  
  USB.print(F(" temperature: "));
  USB.print(F("degrees  | "));  
  // Convert the value read with the information obtained in calibration
  float pHValue = pHSensor.pHConversion(pHVoltage, temperature);
  USB.print(F(" pH Estimated: "));


pH value: 2.2510616779volts | temperature: 20.3847656250degrees | pH Estimated: 3.8090739250
pH value: 2.2498335838volts | temperature: 20.4285888671degrees | pH Estimated: 3.8315755844
pH value: 2.2496614456volts | temperature: 20.4486083984degrees | pH Estimated: 3.8348851203
pH value: 2.2493996620volts | temperature: 20.4590148925degrees | pH Estimated: 3.8396921157
pH value: 2.2490675449volts | temperature: 20.4725646972degrees | pH Estimated: 3.8457942008

Quick Publish: