LCD voltmeter based on ADS1015 with Raspberry Pi

LCD voltmeter with Raspberry Pi and ADS1015 is the topic of this project. Similar design for Arduino platform is available at this link. ADS1015 is a 12 bit ADC chip with 4 analog input channels. The interface with Raspberry Pi is done via I2C . This chip also has an adjustable input gain. This option can be useful for example to control input signal attenuation for automatic range selection. However for this simple design the max voltage of 3.3V is taken directly from Raspberry Pi board so this option is not used here. 1k potentiometer is used as a voltage divider to show circuit operation. Design schematic is shown next.

LCD voltmeter based on ADS1015 with Raspberry Pi Schematic

In addition to normal voltage readings I’ve also added a bar graph display. It is normalized for 16 columns display but can be easily adjusted to other popular LCD modules like 4×20 or similar. See attached Python code here. I’ve limited voltage output to 2 significant digits using a standard round() function.

LCD-voltmeter-based-on-ADS1015-with-Raspberry-Pi-Board

One possible improvement is to add MAX and MIN values. Also you can output the voltage reading to a file thus creating a basic voltage data logging capability.