$59.95

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.

Breakout of MS5803-14BA Pressure Sensor to measure the absolute pressure of the fluid around them to determine altitude, water depth, or any other tasks that require an accurate pressure reading. This includes air, water, and anything else that acts like a viscous fluid.

Video title

Board Dimensions

Height (h) from back of the PCB to the top of the MEMS sensor = ~4.63mm

Picture with more dimensions:

Compatibility Issues with ESP8266 Thing and RFDuino

last updated
about 2 years ago

The ESP8266 has the same issue as the RFDuino here.
It appears that for the ESP8266 (as with the RFDuino), Wire.begin() must be called after Serial.begin(), not before.

SPI Connection

last updated
about 2 years ago

Remove solder from the PU solder jumper to disable the resistors, and close both the other two jumpers on the board, the I2C/SPI jumper and the 0×76/0×77 jumper.

Core Skill: Soldering

This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.

2Soldering

Skill Level: Rookie - The number of pins increases, and you will have to determine polarity of components and some of the components might be a bit trickier or close together. You might need solder wick or flux.
See all skill levels

Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

2Programming

Skill Level: Rookie - You will need a better fundamental understand of what code is, and how it works. You will be using beginner-level software and development tools like Arduino. You will be dealing directly with code, but numerous examples and libraries are available. Sensors or shields will communicate with serial or TTL.
See all skill levels

Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

2Electrical Prototyping

Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels

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.

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.

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?

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.

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 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:

Connect wire pigtails to the breakout board

Set it in a disposable tray that roughly matches the board dimensions (think a vacuum-formed blister pack for hardware)

Fill the tray with enough epoxy to cover all the components on the board, but not overflow the top of the sensor.

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...) ?

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.

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.

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.

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:

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.

Customer Reviews

4.6 out of 5

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.

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.

Great for scientific research!

Used the sensor to build a machine that dilutes gas samples stored in a glass vial. The sensor is very accurate. After calibration the machine is able to dilute gas samples with an error less than 0.5%. Very happy with this breakout board!

In 2003, CU student Nate Seidle fried a power supply in his dorm room and, in lieu of a way to order easy replacements, decided to start his own company. Since then, SparkFun has been committed to sustainably helping our world achieve electronics literacy from our headquarters in Boulder, Colorado.

No matter your vision, SparkFun's products and resources are designed to make the world of electronics more accessible. In addition to over 2,000 open source components and widgets, SparkFun offers curriculum, training and online tutorials designed to help demystify the wonderful world of embedded electronics. We're here to help you start something.