Use the PDF as the visual schematic reference in EasyEDA Pro, the BOM for part values/packages, and the netlist as a connectivity reference while recreating the schematic.
Arduino-compatible, through-hole-friendly pH probe interface using a high-impedance analog front end and ADS1115 16-bit I2C ADC breakout/module. The pH channel is designed for improved sensitivity, while ADS1115 AIN2 and AIN3 remain available for additional analog sensors.
Through-Hole Revision Summary
Replaced the SMD ADS1115 VSSOP IC with U1: ADS1115 Module, a 10-pin 2.54 mm breakout/module-style part.
Replaced the SMD LMC6482 op amp with U2: MCP6002-I/P, a through-hole 8-PDIP dual CMOS rail-to-rail op amp.
Changed all generic resistors to axial through-hole packages.
Changed small capacitors to ceramic disc through-hole packages and bulk capacitors to radial through-hole packages.
Kept BNC probe connector and Arduino/sensor header as through-hole parts.
Selected Architecture
pH probe connector: BNC jack J1.
pH probe center: routed through 1 MΩ series protection resistor R3 into MCP6002 op amp U2A configured as a unity-gain buffer.
Probe reference/shield: biased to VBIAS, not GND, so the pH electrode can swing around mid-supply while all circuit nodes stay within the ADS1115 input range.
Mid-supply bias: R1/R2 create VREF_DIV, buffered by U2B, then isolated by R4 to create VBIAS.
ADS1115 silicon operates from 2 V to 5.5 V, so a 5 V Arduino rail is valid for the ADS1115 module when the module supports 5 V operation.
ADS1115 analog inputs must stay between GND and VDD. Biasing the pH probe shield to VBIAS keeps the pH signal safely inside that range.
MCP6002-I/P operates from 1.8 V to 6.0 V, supports rail-to-rail input/output, and is available in 8-PDIP.
MCP6002 input bias current is low for a DIP/prototyping op amp, but it is not as ultra-low as LMC6482. For highest pH accuracy, keep the input clean and dry and avoid breadboards at the pH probe input.
MCP6002 VDD needs a local bypass capacitor; C2 provides 100 nF decoupling and C3 provides rail bulk capacitance.
pH Front-End Leakage and Bias-Current Audit
The through-hole revision uses U2: MCP6002-I/P. From the MCP6002 datasheet, input bias current is typically +/-1.0 pA at +25 deg C, 19 pA at +85 deg C, and 1100 pA at +125 deg C. The common-mode input impedance is listed as 10^13 ohms || 6 pF, and the differential input impedance is listed as 10^13 ohms || 3 pF.
This is suitable for an Arduino/student prototype if the input area is kept very clean and dry, but it is not a true electrometer-grade pH front end. Glass pH probes can have very high source impedance, so the bias-current error depends strongly on probe impedance and temperature. At +25 deg C, 1 pA through 100 Mohm is about 0.1 mV, roughly 0.0017 pH at 25 deg C. At +85 deg C, 19 pA through 100 Mohm is about 1.9 mV, roughly 0.032 pH. With a 1 Gohm probe, the same +85 deg C bias current could become about 19 mV, roughly 0.32 pH. PCB leakage, flux residue, fingerprints, humidity, and breadboard leakage can easily become worse than the op-amp bias current.
Design actions already included for leakage control:
J1 BNC center enters U2A through R3 = 1 Mohm series protection.
The pH input is buffered before the ADS1115, so the ADC input impedance does not load the probe directly.
The BNC shield/reference is biased to VBIAS rather than hard-grounded, keeping the signal centered in the ADC range.
Layout/build requirements for best pH accuracy:
Do not build the pH input node on a solderless breadboard.
Keep J1 center, R3, U2 pin 3, and PH_IN short, guarded where possible, and physically away from digital/I2C traces.
Clean the PCB thoroughly after soldering; no flux residue around J1/R3/U2A input.
Add a driven guard ring tied to VBIAS/PH_IN-adjacent low-impedance guard during PCB layout if very high stability is needed.
For laboratory-grade accuracy or hot/humid operation, consider replacing MCP6002 with an ultra-low-input-bias electrometer/CMOS op amp if a suitable through-hole or module option is available.
DS18B20 Temperature Compensation Addition
Added a waterproof DS18B20 probe interface for pH temperature compensation:
J3: 3-pin through-hole DS18B20 probe connector.
J3 pin 1 = VCC_5V, probe red wire.
J3 pin 2 = DS18B20_DATA, probe yellow or white data wire.
J3 pin 3 = GND, probe black wire.
R11 = 4.7 kohm pull-up from DS18B20_DATA to VCC_5V, required for the 1-Wire data bus.
J4: 2-pin Arduino digital GPIO breakout. J4 pin 1 is DS18B20_DATA and should connect to an Arduino digital input such as D2 or D3. J4 pin 2 is GND reference.
DS18B20 firmware use:
Power the sensor in normal 3-wire mode, not parasite-power mode.
Read temperature in deg C and compensate the pH slope using the Nernst relationship: ideal slope = 59.16 mV/pH at 25 deg C and scales by absolute temperature, approximately slope(T) = 59.16 * (T + 273.15) / 298.15 mV/pH.
Calibrate with buffer solutions at the same temperature as the sample when possible.
Header J2 Pin Map
Table
Pin
Net
Function
1
VCC_5V
Arduino 5 V supply input
2
GND
Ground
3
I2C_SDA
Arduino SDA
4
I2C_SCL
Arduino SCL
5
ADS_ALERT
Optional ADS1115 ALERT/RDY output
6
ADS_ADDR
ADS1115 address-select pin; wire externally to GND/VCC/SDA/SCL as desired
7
AUX_SENSOR_AIN2_IN
Auxiliary sensor input to ADS1115 A2 via R9/C9
8
AUX_SENSOR_AIN3_IN
Auxiliary sensor input to ADS1115 A3 via R10/C10
ADS1115 Module U1 Pin Mapping
Table
Module Pin
Net
Function
VCC
VCC_5V
Module supply
GND
GND
Ground
SDA
I2C_SDA
I2C data
SCL
I2C_SCL
I2C clock
ADDR
ADS_ADDR
I2C address select
ALRT
ADS_ALERT
Optional alert/ready output
A0
ADC_PH_PLUS
Buffered pH signal
A1
ADC_PH_MINUS
VBIAS reference for pH differential measurement
A2
ADS_AIN2
Auxiliary sensor channel
A3
ADS_AIN3
Auxiliary sensor channel
Suggested ADS1115 Firmware Settings
Read pH using differential mode: A0 - A1.
Recommended PGA: ±1.024 V for pH measurement.
Expected pH probe signal at 25 °C is about 59.16 mV/pH, roughly ±414 mV over pH 0 to 14.
ADS1115 ±1.024 V range gives 31.25 µV/count, about 0.00053 pH/count ideal resolution before real-world probe noise, calibration error, and temperature effects.
Use low data rate, such as 8 SPS or 16 SPS, and average readings because pH probes respond slowly.
Calibration
Use at least 2-point calibration:
Measure pH 7 buffer and record voltage V7.
Measure pH 4 or pH 10 buffer and record voltage V4 or V10.
Calculate slope in pH/V and apply: pH = 7.00 + slope * (Vmeas - V7).
For better results, use 3-point calibration with pH 4, pH 7, and pH 10 buffers.
Important Usage Notes
Do not connect BNC shield/VBIAS to Arduino GND externally.
Keep the BNC center input trace short and clean; flux residue can cause leakage and measurement drift.
Use the spare A2/A3 pins only for sensors whose output stays between 0 V and VCC_5V.
If the ADS1115 breakout/module already includes I2C pull-ups, do not populate R7/R8 to avoid overly strong parallel pull-ups.
If external sensor boards already include filters or strong output drivers, C9/C10 may be reduced or omitted.
Review Status
The schematic has been revised for a through-hole/module build and revalidated after replacing U1/U2 and changing passive packages. Full PCB layout/manufacturing review can only be completed after board placement and routing.
Goal
Through-Hole Revision Summary
Selected Architecture
Key Datasheet-Grounded Design Points
pH Front-End Leakage and Bias-Current Audit
DS18B20 Temperature Compensation Addition
Header J2 Pin Map
ADS1115 Module U1 Pin Mapping
Suggested ADS1115 Firmware Settings
Calibration
Important Usage Notes
Review Status
Reviews
Documents
ADS1115 pH Sensor Design Notes
ESP32 and Arduino Uno Datasheet Summary
ADS1115 pH Sensor Validation and Firmware Handoff Report
Assets
No assets added.
Arduino ADS1115 pH Sensor Interface
Arduino-compatible pH probe interface using a high-impedance analog buffer and ADS1115 16-bit I2C ADC for improved pH measurement sensitivity.
Properties
Properties describe core aspects of the project.
Pricing & Availability
Distributor
Qty 1
Arrow
$1.56–$2.01
Digi-Key
$3.12
LCSC
$2.97
Mouser
$0.44
TME
$0.41
Verical
$1.69–$3.03
Controls
Welcome 👋
Flux helps you build PCBs faster with an AI teammate!
Create your account to collaborate, stay updated, fork your own version, and get instant answers from our AI agent.