Digital Barometer using PIC Microcontroller and MPX4115A Pressure Sensor – XC8

Digital Barometer

Digital Barometer using PIC Microcontroller and MPX4115A Pressure Sensor – XC8

Digital Barometer Circuit diagram

The Motorola MPX4115A is an atmospheric pressure sensor powered by 5V and delivers and output from ~0.25V to ~4.75V based on the pressure detected at room temperature (25°C). The device provides a linear output based on pressure. As the pressure rises, the output voltage of the sensor rises as well with ~0.25V represents <15 kPa pressure relative to a vacuum and ~4.75V represents >115 kPa.
Note that  1 atmosphere of pressure at sea level is equal to 101,325 Pa or 101 kPa.
The graph below shows a typical output response of an MPX4115A pressure sensor, below 15KPa and
above 115KPa the voltage doesn’t change.
The MPX4115A is thus an ideal sensor for microcontroller based barometer or altimeter applications.

Extract from the MPX4114A Datasheet

Extrait from the MPX4114A Datasheet


  • 1.5% Maximum Error over 0° to 85°C
  • Ideally suited for Microprocessor or Microcontroller– Based Systems
  • Temperature Compensated from –40° to +125°C
  • Durable Epoxy Unibody Element or Thermoplastic (PPS) Surface Mount Package

Application Examples

  • Aviation Altimeters
  • Industrial Controls
  • Engine Control
  • Weather Stations and Weather Reporting Devices

   MPX4114A Pin Configurations                 MPX4114A Pressure Sensor

The pin configurations                                  MPX4115A Pressure Sensor

More information can be found from the MPX4115A Datasheet

Circuit diagram

As shown on the circuit diagram above, it is very easy to interface the MPX4115A to a PIC, if you are using the 8-pin sensor, connect pin 2 to +5V, pin 3 to ground and the output is on pin 4 (connect to analog pin of PIC). leave the rest unconnected. If you are using the 6-pin sensor, pin 1 is the output (connect to analog pin of PIC), pin 2 to ground and pin 3 to +5V. Leave the rest unconnected.
Note: Pin 1 is noted by the notch in the lead
VDD and VSS of the pic microcontroller is not shown in the circuit diagram. VDD should be connected to +5V and VSS to GND. The MCLR is disabled in software and an internal oscillator clock is selected so no need for external crystal.
A 16 x 2 lines LCD display is connected to PORT B. refer to the Interfacing LCD Display with PIC microcontroller 


The sensor is connected to analog channel of the PIC, please refer to the article Analog to Digital Converter in PIC Microcontroller to learn more.

Configure ADC:

Start Conversion

Manipulate results:

Now we need to do some simple calculations in order to produce the value of the pressure in kiloPascals.
The transfer function: Vout = Vs x ((0.009 x P) – 0.095) ± Error
VS = 5.1 ± 0.25 Vdc
P = pressure in kiloPascals
Error = ±1.5 (kPa)
Pressure in kPa = (Vout + 0.475)/0.0475  ± Error

Full MPLAB XC8 Code


If you are using XC8 compiler v1.35 and later versions, the Peripheral Libraries which include the LCD and other peripherals like ADC, SPI, I2C libraries are no longer included in the installation file as with previous versions. You can either write your own LCD library or use this LCD library together with MPLAB code configurator to configure your peripherals as explained in this article: Interfacing LCD with PIC Microcontroller. You can also download the Peripheral Libraries as a separate download and install them. You can download them at microchip website under the MPLAB XC Compilers downloads tab. They are now called PIC18 Legacy Peripheral Libraries.
Download: PIC18 Legacy Peripheral Libraries

You can download the full project files (MPLAB XC8 source code and Proteus Schematic design) below here. All the files are zipped, you will need to unzip them (Download a free version of the Winzip utility to unzip files).

Download Digital Barometer Main C

Download Digital Barometer H

Download Digital Barometer HEX

Download Digital Barometer Proteus

Share this post

Select your currency