I am trying to build a circuit that interfaces a standard pH electrode to a PIC (18F4550). I need the PIC to also use a DS18B20 for temp reading and use that data to correct the pH reading. I thought this should be OK with only software coding in the PIC since the temp data will already be digital. I have seen many schematics for the pH probe amplification but their temperature compensation seems to involve thermistors of some sort and is handled at the ADC end; or they're considering a probe with both the sample and a reference electrode lead (which I'm not using). My electrode has the single bnc connection.

Any suggestions on how to integrate the DS18B20 data into a correction routine?

Also, any experience recommendations on the ADC Amp would be SUPER helpful too. There are quite a few in the fA input biasing range, I can't decide. I'd prefer to avoid the guardrings if possible.

EDIT1: OK, thanks all for the advice. I have taken the lazy way out and bought the atlas scientific sensor interface board. It is a uart board that can do the calculations itself. I just have to figure out how to get the temp data sent to it by uart. I posted a separate question about that (atlas code was confusing). But this process should be much easier. Also, considering some other advice, I've switched to the 18f46k20.

  • \$\begingroup\$ If you have a description of how probe output varies with temperature you can "easily" implement a correction in software. If you do not have a description then you either must derive one empirically or find one (probe manufacturer etc). | If you have a thermistor or other temperature compensation circuit then it should be 'easy enough' to work out what "law" it is implementing and to them implement itin software. | If you can provide an example analog circuit that does what you want we can (probably) comment on how to acheve the same effect digitally. \$\endgroup\$
    – Russell McMahon
    Sep 30, 2012 at 12:00
  • \$\begingroup\$ Ultimately you're going to run some equation that solves for pH as a function of the probe reading and the temperature reading. You have a digital processor and plenty of instruction cycles, so a quite complicated equation is possible. You will have to figure out what that equation is, either by looking it up, inferring it from other's solutions, or outright measuring it yourself. Worst case the whole thing could be a 2D lookup table you linearly interpolate within each grid. There are lots of ways. \$\endgroup\$ Sep 30, 2012 at 13:22
  • \$\begingroup\$ This project interfaces a DS18X20 with an AVR and is quite reusable. \$\endgroup\$
    – Vorac
    Dec 10, 2012 at 8:10

1 Answer 1


Look up my answer on PH probe interfacing.

I've used LMC6001 and it works, it has a reference design in a datasheet. Be aware that PCB board has some leakage too, so that could ruin your measuremetns.

I've desoldered an input lead of DIP package of the frontend opamp and soldered it directly to BNC so it does not touch anything and there is only air and BNC isolation around the input signal.

Otherwise, I was getting wrong results. This is how I measured opamp input current. No matter how vigoriously I cleaned the PCB (the friend whom I was helping with this probe is a chemist, he knows some things about cleaning stuff), too much current was going into opamp input untill I connected the input lead directly to BNC.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.