Sparkfun support will be closed from 3:00PM to 4:15PM on April 27th for a company-wide townhall meeting. We will resume regular hours on the 28th.

Creative Commons images are CC BY-NC-SA 3.0

Description: This is the MS5803-14BA Pressure Sensor Breakout, a high resolution pressure sensor with both an I2C and SPI interface. This MEMS pressure sensor measures the absolute pressure of the fluid around it which includes air, water, and anything else that acts like a viscous fluid. Depending on how you interpret the data, you can determine altitude, water depth, or any other tasks that require an accurate pressure reading. What makes the MS5803-14BA unique is the the gel membrane and antimagnetic stainless steel cap that protects against 30 bar water pressure.

We have broken out all the pins you need including GND and 3.3V for power, SDA/SDI and SCL/SCLK for an I2C interface and SD0, AD/CS, and PS for a SPI interface. The MS5803-14BA Breakout offers a resolution range of 1 / 0.6 / 0.4 / 0.3 / 0.2 mbar. Be aware that to switch between I2C and SPI interfaces a little bit of soldering between solder pads will be required, check the hookup guide below for more information.


  • Operating Voltage - 1.8 to 3.6 V
  • Peak Supply Current - 1.4 mA
  • Operating Range - 0 to 14 bar
  • Resolution - 1 / 0.6 / 0.4 / 0.3 / 0.2 mbar
  • I2C and SPI Interface
  • Gel Protected


Recommended Products

Customer Comments

  • I wrote a library for the MS5803-XX which is here: https://bitbucket.org/ryan_neve/ms5803_i2c It was also incorporated into the i2cdevlib at https://www.i2cdevlib.com/. After using about a dozen of these sensors (not the breakouts), I have found that the temperature readings have a variable offset, but are usually within their fairly loose specification.

  • Has anyone been able to use two or more MS5803-14BA sensors at the same time and on the same arduino board? Tried using a multiplexer, but it seems like it needs some low level code. Thanks.

  • All other features aside, I assume this is much more sensitive/accurate than a BMP180 when measuring atmospheric pressure, so in terms of converted altitude readings, how much finer would the resolution be with this versus the BMP180? Does anybody have practical results they can refer to instead of calculations based on the specs? I’m asking because the BMP180 has proven all but useless for altitude measurements (same situation with the HMC533L and headings), which isn’t surprising given the price, but I want to make sure the difference is significant enough to warrant the cost of the upgrade. Thanks!

  • Hi all, I have been using this breakout board for some time. Previously it has shown no error. But now this is what I get when I run the example code. And I have tried re downloading your library and code but there is no change. Any help is appreciated. Thanks.

    Temperature C = -2273.00 Temperature F = -4059.40 Pressure abs (mbar)= 6723.40 Pressure relative (mbar)= 8211.52 Altitude change (m) = -0.13

  • I pledge to write a Linux driver for the IIO subsystem if someone buys me the hardware :)

  • Neat. Super neat. A pressure transducer that can properly work with liquids.

    This USGS publication has some pretty good ideas on how to apply it in a water resources context:


    A cheap (i.e. non-reliable over the long term) transducer is described here:


    But this Sparkfun breakout board looks way more robust in water than the Motorola (now Freescale) sensor, plus the output is digital.

  • The hookup guide doesn’t seem to say what to do for SPI.

    I think you just move the 10k to the SPI position, and remove the solder blob labeled PU (since SPI doesn’t want pull-up)?

  • Anyone had success just potting it in epoxy poured up to the stainless collar? I need to submerge in about 10 ft water. Only other interface is the wires for one-wire talk I guess they can pass out of epoxy potting safely despite rubber coating on wires?

    Also, I ran into sources saying you get +-10 in water from barometric changes if you don’t have an external sensor for atmosphere, anyone know a cheap one that works ok for this purpose?

  • Can i use this sensor in a pipe of 1-2 inch diameter?

  • The sensor datasheet states that it has a pressure resolution up to ±0.036 mbar and a temperature resolution up to ±0.002 °C. Is there a way to read that kind of resolution from an Arduino board?

    • Yes, because the output is digital you can read whatever resolution you want with the Arduino board. Check out the hookup guide or the github files for sample code.

      • I tried ADC_256 through ADC_4096 and in all cases the resolution is 1 °C for temperature and 0.1 mbar for pressure. I took a peek at the MS5803_I2C.cpp code and noticed that the raw pressure integer is divided by 10 (thus the 0.1 resolution) but the raw temperature integer is divided by 100 yet it does not have a .01 resolution. C++ is a little out of my comfort zone so any help is appreciated.

        • Hmm, I’m not quite familiar enough with this board to have an answer for you but email techsupport@sparkfun.com and they should be able to help you out.

  • Anyone else notice the silkscreen on the breadboard is incorrect?

  • Who’s genuinely interested in a crowdfunded enclosure for this? I’ve got some experience working with this sensor and sealing it to ~900ft and would be happy to work something up.

  • Sweet! This has a high enough range for DIY TPMS…

  • I have though about making a dive-computer for some time now, and I have wanted to use this sensor.. But the big challenge of course is the casing on a project like this. I have seen examples of people using some spray/liquipel to make the PCB itself water resistant.. I have seen it been used in a mobile USB battery for smartphones, where it is possible to submerge this into water while it’s still charcing your phone.

    What do you think of the idea and do you think that it would be possible to do?

  • i have messed with this sensor before… please search for some videos in youtube for DIVEDUINO…

    is not easy to mount the “right way” you will need to have some precise machining lathe. and something better than a PCB to hold the pressure on the back.

    if you search on the www.uspto.gov theres a patent that uses this sensor and they are diagrams on how they did it “just to give you and idea”

    the redneck solution could be found here


  • Thinking about how to mount this sensor in a water tight case. http://i.imgur.com/yMcKlzJ.png Is that ok or did I miss something? Maybe a 2nd O-Ring?

    • this is the right way to do it.

      this document will be useful for a lot of people on how to mount the sensor https://www.dropbox.com/sh/tsbrqq5waggo561/AAD6-vIg5ubB6t51cwfPD-kma

      if someone wants to do an enclosure crowd funded i will be interested

    • I am by no means an expert, YMMV. The fluid pressure will push back on the sensor and thus on the PCB, while the screws are supposed to hold it in place. Perhaps backing up the PCB will keep the sensor from getting pushed beyond the o-ring ? I am very interested in learning an easy way to make this sensor watertight (5m would do for me). At $60, it’s too expensive to just fool around with, so calling all experts !

      • The OpenROV guys pot their version in epoxy, ensuring that the top of the sensor case stays exposed. Then they run the whole thing flooded. Here are pictures of their assembly process; but you can visualize it as:

        1. Connect wire pigtails to the breakout board
        2. Set it in a disposable tray that roughly matches the board dimensions (think a vacuum-formed blister pack for hardware)
        3. Fill the tray with enough epoxy to cover all the components on the board, but not overflow the top of the sensor.
        4. Let harden. You should have a plastic block with the sensor head and wires sticking out.

        You can then run the wires through a sealed hole or connector into your dry zone.

        • Splendid, thanks Mike. Dear Sparfun : have a look at the OpenROV pricepoint. Any chance you could throw in a few pieces of acrylic (or any other epoxy-container) for the money ? Or publish a 3d-printer file that I could just take to my local printers ? Or just watertight the whole thing already (..hey, Lennon warned you : he was not the only dreamer…) ?

  • Could it be made to read vacuum?

    • Based on the spec, yes. It is supposed to be able to resolve pressures from 0-14 bar. Standard atmosphere at sea level is ~1bar. Vacuum is 0.

  • I plan on getting one of these sensors and my game plan is to use PVC pipe or stainless steel tubing to go down to the sensor at board level and use epoxy to encapsulate around the sensor, inside the pipe etc. up to the point that you have the gel protected port that experiences the pressure. I will then seal my pipe with a cap and use a “pressure line” to go outside of the housing that the rest of my electronics are going to go in for my underwater probe package. I am debating on if to use a diaphragm at the end of my pressure line and have the entire tubing area filled with a fluid (such as oil) so I don’t have to worry about burping the line each time it submerges. If you have air in the system, it will skew your pressure readings.

    • Why would you have to go through so much trouble? Since it’s an absolute measurement, the reference is inside the device. All you have to do is keep water away from is and seal it with a pliant material. Any pressure outside the seal will be translated directly through the seal to the device.

      • Well considering that I make cables that are tested to 2000 PSI for external submarine pressure hull use … you would be amazed at how fast water will find a way into something. It really revolves around what your depth is going to be. I am looking at 100+ meters.

        As for pressure being transmitted through a potting compound, that all depends on the compound and how much pressure is actually going to be seen at the sensor. The material that you are sealing it with has to “give” in order for the pressure to be felt through it. If the material is not a pure fluid then it will resist pressure to some magnitude and once again, your pressure readings will be skewed. The bottom line is you can build it however you wish, I just know what has worked for me for the past 20+ years of dealing with enclosures at high pressure and more so in seawater … which will do some nasty things to your materials.

  • What would be needed to seal connections for underwater use?

    • I would think you could just encapsulate the whole thing in silicon once you solder wires to it for underwater use.

      It looks like it’ll go to… what? 150 feet at the least resolved setting, and 30 feet at the highest setting. That’s awesome! Put that at the bottom of a water tank and you could accurately measure the volume of water with no moving parts whatsoever.

      • According to the specification sheet it should be able to handle sea pressure or some other column of water down to around 426 feet.

        • It can handle pressure to 943' of sea water or 972' of fresh water. It only gives readings to about 423' of sea water or 436' of fresh water.

          • That is correct .. I only bothered to state the measuring range. It doesn’t matter how much overpressure the “sensor” can take, if you can’t seal the rear from getting flooded out it is kinda of a moot point. If you are going to use it in seawater like I would want to, then you have to worry about how you are going to case it because of corrosion issues. At least they made the case out of stainless steel. It is easy to match with other metals or SS to reduce galvanic action. I might machine a fitting with an internal O-ring race to mate against the sensor wall … the finish looks like it should be good enough for a soft seal.

            • From my research of the sensor, the best way to seal this is a double o-ring on the wall. My plan is to use the PCB mount holes to keep the board “pushed” onto another o-ring, just in case.

              • If you want to design your seal correctly, use the O-Ring Handbook that Parker puts out. These guys are the “Gods” when it comes to seals and seal design. I use their design guide all the time to get me in the ball park on pressure proof fittings. The directly link to their hand book is:


                If nothing else, there is some excellent reading in this very comprehensive book.

                • Thanks for the link - yet more to take in for the project! I always went with whichever o-ring seemed “right” (and on first read-through of the PDF, it’s a wonder I’m still alive! :) ) What started a simple “let’s see if I can build a dive logger and gas blending set” has turned into a major educational project (not a bad thing at all). Once I have something that works, I’ll be publishing all the details (for critique and edification).

                  • Scream if you have any issues with the handbook. I have had my share of headaches with o-rings and material selection etc. but I also have plenty of years of experience with it now. My little pet project involves a package for divers too. This sensor board will take care of at least two items that I want to be able to record etc. I have to design some sensors for the other items or pay through the nose to buy it off-the-shelf. I actually got the direction for this sensor from http://openrov.com Someone has a sensor using the main component, but with this .. it is one less board I got to bother making for now.

  • It’s almost as though you guys read my mind - I’ve been looking at this sensor for a dive logger/computer design!

Customer Reviews

4.5 out of 5

Based on 4 ratings:

Currently viewing all customer reviews.

1 of 1 found this helpful:

Easy and accurate

With the existing libraries, this was a 20 minute job to get it reading properly on my Arduino. I needed it to read pressure from a tube, so I hot-glued the bejeezus out of it and that did the trick. For that to work, I had to also seal off all the holes on the bottom of the board, basically encapsulating it into a brick of hot glue. Even so, it works great.

Very Reliable

I had this sensor running in just one hour, it’s perfect for hobbyists looking for a home-made project. There are online examples on how to use it.

Does exactly what it says on the tin.

Does exactly what it says on the tin; no fuss, no muss. What more could you ask for?

An SPI library would have been nice as well as confirmation that the one solder bridge to solder was the right one, but it’s really not at all hard to work out.

seems to work nicely

I used it in SPI mode. I’d give 5 stars except for the fact that I had to do a little intelligent guessing to figure out how to go from I2C configuration to SPI. The description said that some other doc would say how to do it, but it didn’t. It wasn’t hard to guess, but that document should be fixed to give the info or else the part description changed.

Also I wish you guys sold a watertight case with a gland and o-ring to match the collar on the sensor itself.

Related Tutorials