Now that our ranges and requirements are better understood, we can start to build a circuit out of the simplified block diagram. Not only do we need 2 op amps(A dual package like ST's TL072 will suffice for the simple/cheap circuit) one for the amp stage and one for the offset stage. We also need either a negative Vreg or charge pump/invertor (cl7660,TPS60400) since the amp stage is required to swing into the negatives.
As shown above, there isn't really much to this very basic circuit. If you are familiar with op amps you will see a standard non-inverting configuration hooked up to a differential amplifier(configured as an offset stage) the net result of this circuit will mimic what we designed in the block diagram. The capacitors are added for stability(and noise blocking at certain Fqs) and aren't tuned in this schematic nor are the values of the resistors. The ratios are the important part(G=1+(R2/R1)=5.7, G2=1+(R4/R3)=2) as we can see from the schematic and prior math, the offset voltage is doubled which is why we halved it earlier.
With our basic schematic ready lets build a breadboard version and takes some samples from a few probes(old and new) and see how the results stack up to what we should expect to see from the Ideal Probe Model. We will account for the ph calibration in software, calibrating with pH7 and pH4 reference solutions. Once we have our calibration numbers we can map new readings based on the reference readings to calculated unknown pH.
The only thing needed to wire up at this point is the offset voltage, positive and negative rails. Once we feed in our input from the pH probe we can read the voltage out from the end of the 3.3k Resistor at top col 15.(Note trimmer shown is set to proper offset, and is assumed fixed, but well be using this in the adjustable circuit so I just left it on there)
With a bit of quick programming in the Arduino environment, we can perform a calibration step to allow us to use the map function. This is a quick and dirty method of getting our ADC reading into a useful range based on the max/min calibration reading(reading at pH4 and at pH7). after running the calibration a dip in my tap water shows it at about 7.3 pH (map(analogRead(A0),pH4cal,pH7cal,400,700)) my pH pen shows it to be about 7.2, putting us in a reasonable shooting distance which isn't bad for such a cheap un tuned circuit.
Some improvements with filtering caps and possibly a slightly higher gain to account for aged probes can be made at very little cost and effort. Also tuning the resistor values will help quit a bit in both power consumption and over signal quality. Recommended values R1-47K,R2-200K,R3-200K,R4-200K, R5-3.3-4.7K, C1-.47uF,C2-.47uF(additional caps can be place at probe input to ground, and final output to ground these can be 100pF to .1uF depending on noise characteristics)