Tuesday, August 4, 2009

pHduino - An pHmeter using Arduino Board


pHduino is a open hardware and open software for pH measuments using a glass electrode sensor for hydrogen ion and a Arduino board.


Just after I returned from my last post-doc project at San Antonio, Texas, I decided not restart my last project. I did it to finish some works and make an open hardware project in electrochemistry. After some tests, a friend called Denis Vidal, suggested me to construct a pHmeter. I made the project in a weekend and I spent more three weekend to adjust the layout and documentation. I made this project just for fun.


This pHmeter can be powered by a power supply and display the data using a LCD. Also, you can control it and power it up by USB port. The offset and slope can be adjust manually by potentiometers or by an auto calibration code (not implemented, yet). There is a temperature sensor for temperature compensation.

It is inferior and a little bit more expensive from a portable low resolution pHmeter. However, it is interfaceable, programmable, expansible, and, the more important, open and free!

Again, it is not intent to be a high resolution analytical instrument to compete with a commercial pHmeter. It is different.

Current stage

I am improving the hardware and the software. I need make some tests and some benchmarks. I will publish the electronic scheme, PCB layout, and the code as soon as possible. I will write a program to run in the computer (cross-plataform) to read, plot, and save the data. At the moment, I am using a serial terminal to display the data by USB port.


In a Chemistry Lab, the pHmeter is typically used to adjust pH of solutions and buffers. In Environment Chemistry we can use it for monitoring the water of rivers, sea, dams, reservoirs, rain, and etc. For a not technician end users, he can monitoring the pH of an aquarium. There are many other possible applications. It is very important to know the pH glass electrode sensor limitations to make the write use. It is possible substitute the pH electrode by a different ion-selective electrode.


This project was possible by the idea from my friend Denis, the space that my supervisor gave me, prof. Dr. Emanuel Carrilho, BioMicS Group, Institute of Chemistry from São Carlos, University of São Paulo and by facilities and suggestions from prof. Dr. Claudimir Lucio do Lago, LAIA Laboratory, Institute of Chemistry of University of São Paulo. I would like to thank Fapesp - Fundação de Amparo à Pesquisa do Estado de São Paulo by the financial support for my different projects during my academic life.




Discussion group


  1. Hi Carlos, it´s awesome! Thanks for your contribution. I´ve been looking for a ph meeter using arduino on the net and I didnt found.
    What kind of probe fits on this board? I found this one:
    http://www2.ciashop.com.br/instrutherm/product.asp?template_id=60&old_template_id=60&partner_id=&tu=b2c&dept%5Fid=600&pf%5Fid=03663 . Will it work? thanks Pedro

  2. Hi Pedro,

    Any probe with a reference electrode will work.

    Sorry about delay. I saw this post today. I need change the configuration of this blog to send me a message for new posts.

    This glass electrode, from the Instrutherm, has a measurement of 7+/-1 at the zero point. It means we will have a pH value between 6 and 8 without calibration. For a precise measurement (something about 0.01pH) we need calibrate it.

    This glass electrode is a very good suggestion.
    Thanks Pedro.

  3. Where can I buy a fully assembled and ready to go version? And how much does it cost?

  4. I don´t have a kit, yet. I am thinking in a solution for the people that want to make one and don´t have experience with PCB making or buy one.

    About the cost, all this components are cheap. But, you can spend a little bit more if you don´t have tools: PCB, etching solution, sold, etc. There are some tutorials on the internet. I will write a document describing how to mount one.

  5. This comment has been removed by a blog administrator.

  6. Hi Carlos, i want to know which arduino board are you using..because i check the website & dont see any arduino board that has BNC connector to connect the pH probe..
    Do you made it yourself?

  7. I am using any Arduino board with Atmega328. The code does not fit in an Atmega168.

    The pHduino shield is a board that we connnect on the Arduino board. So, to have a pHmeter, you need an Arduino board and a pHduino shield. In adiction, you need the glass electrode pH probe.

    Yes, I made it by my self.

  8. Sir Carlos, how did you connect the ATMEGA328 and your pHduino shield?
    thank you for the reply

  9. The pHduino is a shield, a board that we connect on the Arduino Board. So, you need a Arduino board with a Atmega328 or better (the code does not fit in a Atmega 168) to control the pHduino shield.

    1. Sir Carlos
      Where can I get a copy of the codes you input in the arduino for the function to be displayed in the lcd? I'm trying to build this type of circuit Thank you for the great help..

    2. Hi Joseph,

      The last version of the code is the 0.4.1 and it is labeled with a star at the pHduino project. Check the Downloads out.


  10. Sir Carlos, May I know the codes you used in the arduino circuit for it to function as ph meter., (codes for the LCD Display) I really have no Idea in programming that part