SparkFun Humidity and Temperature Sensor Breakout - HIH6130

It's not the heat but the humidity that gets you, at least that's what they say. Really, both are important, what you need is a sensor that combines humidity and temperature readings. How about this Honeywell HumidIcon Digital Humidity/Temperature Sensor?

The HIH6130 is a digital output-type relative humidity (RH) and temperature sensor combined in the same package. This allows the RH measurement to be temperature compensated and provides a second, standalone temperature sensor output.

This breakout board gives you standard 0.1" spaced headers for each of the pins on this SOIC package, making it a lot easier to prototype your next humidity-sensing application. Communication with the HIH6130 is easily achieved over I2C using libraries like "Wire.h"

  • Operating Voltage: 2.3-5.5v
  • Compensated humidity range: 10-90% RH
  • Compensated temp. range 5-50°C
  • True temperature-compensated digital I2C output
  • Wide operating temperature range allows for use in many applications

SparkFun Humidity and Temperature Sensor Breakout - HIH6130 Product Help and Resources

Alternate Addresses

Looks like you can change the default address of the sensor. Try looking at these resources for more information => http://forum.arduino.cc/index.php?topic=78667.0 and http://playground.arduino.cc//Main/HoneywellHumidIconTMDigitalHumidity-TemperatureSensors.


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.

1 Soldering

Skill Level: Noob - Some basic soldering is required, but it is limited to a just a few pins, basic through-hole soldering, and couple (if any) polarized components. A basic soldering iron is all you should need.
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.

3 Programming

Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
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.

2 Electrical 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


Comments

Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Member #625098 / about 9 years ago / 1

    I got this fired up easily enough, but I get all 1s in the data response. The status and ignored bits are zero, indicating that it is indeed transmitting properly, but get nothing but max values: byte1: 00111111 byte2: 11111111 byte3: 11111111 byte4: 11111100

    Anyone else see this? Is it just defective? I shouldn't need to go into command mode unless I want to change things, correct?

  • diz / about 9 years ago / 1

    Mine came with a piece of tape over the sensor. Does this need to be removed for proper operation or hydration of the sensor? Or can I leave it in place to guard against potential water splashes?

    • Joel_E_B / about 9 years ago / 1

      That tape is there for protection during production. It is intended to be removed. You could leave it in place, but know it is not the same as other polymer filters that are intended to keep particulates out.

  • diz / about 9 years ago / 1

    The referenced code is horrid.

  • Member #483098 / about 11 years ago / 2

    My sensor gives me 1 and 1 for the most significant bits (diagnostic condition). I have no idea how to proceed???

    Any ideas?

    • Member #470691 / about 11 years ago * / 1

      I had this issue when I had the data line plugged into the wrong pin.

  • I Dream of JNE / about 9 years ago * / 1

    I got this humidity sensor working and displaying the data live on a website using dygraphs. It's all hosted on the Beaglebone, too. I wrote about it with lots of code examples at the K'NEK-TEK blog.

    Dygraphs make data look super awesome and provide zooming in and out, floating legends, and lots of colors and style choices. All free, open-source software!

    • Joel_E_B / about 9 years ago / 1

      Awesome! Thanks for sharing.

      • I Dream of JNE / about 8 years ago / 1

        Unfortunately after spending nearly two years in storage, my sensor no longer works, even after placing it in a very humid container for a day. It is stuck in Diagnostic mode and only gives RH=99.94%, Temp=124.98, no matter what. :-(

        Is it possible that one of these cannot be reconditioned and I have to throw it out? Your guide says >50% RH for 5 hours, which I did.

        • Joel_E_B / about 8 years ago / 1

          If reconditioning didn't work, then I'm afraid your sensor may be bad. Long-term direct exposure to moisture without a proper PTFE Filter to protect the sensor can damage it over time. You may try contacting the sensor manufacturer to see if they have any advice. The good news is we sell a newer, more affordable temp and humidity sensor that does have a PTFE Filter installed.

          • I Dream of JNE / about 8 years ago / 1

            I tried reconditioning mine again in an actual humidity chamber and it worked. I must not have had the right conditions before.

  • PointyOintment / about 10 years ago * / 1

    The specs in the datasheet make this sensor look less accurate/precise than the HTU21D, but this one's datasheet seems to be trying to be more honest than usual about the accuracy of this sensor, and this one's more expensive, suggesting better performance. So I'm not sure which one will provide better results for applications that need very accurate or precise readings. Any insight?

    • Joel_E_B / about 9 years ago / 1

      I've used both of these products in numerous projects, and they both provided accurate results for me. I was only needing accuracy within a percent or two though, nothing on a floating point scale. Being more expensive doesn't always equate to better performance. We've been selling this sensor longer, so the technology could be different/older, thus driving the price up. What you should focus on is the feature set. For instance this sensors has upper and lower alarm thresholds that can be set independent of a microcontroller. That may be a feature you want. If not, the HTU21D might be the better choice.

  • Ogre / about 10 years ago / 1

    Anyone working on this part for Fritzing??

  • Kaeon / about 10 years ago / 1

    I'm having some trouble with this device on the Raspberry Pi. I'm using SMBus and can successfully read from the device, but I can't get it to 'wake up' and take a new measurement (even after using the write_i2c_block_data(addr, 0, [0x0000])). I see the device just fine with a command line i2cdetect and I get data back when I execute the read_i2c_block_data() command via python, but I always get back, Status: 1, Temp: -40 and Humidity: 0. Any advice?

    • Kaeon / about 10 years ago / 1

      I figured it out! It had to do with the way python assigns data types and how it performs math with those data types. After a few changes to my code I was seeing good, reliable data!

  • Member #452583 / about 11 years ago / 1

    So, for this to work, I need two capacitors (see http://playground.arduino.cc//Main/HoneywellHumidIconTMDigitalHumidity-TemperatureSensors). They are 0.1 uF and 0.22 uF. The first one is easy to find but the second one? Where do I find a 0.22 uF capacitor? For the resistors I am covered. Thanks for any help offered!

    • PalmTreesandPICs / about 11 years ago / 1

      this breakout board contains all the resistors and capacitors needed.... all you need to get this to work is 5V, GND, SDA, SCK...

      The 22uf capacitor is a bypass capacitor... it should not be a problem if you use a close approximation to the value specified.

  • PalmTreesandPICs / about 11 years ago / 1

    Sweet sensor...Thanks for carrying this.

    I tested this side by side with a SHT15 and got the same results... few +/- few %Points on the RH. It costs atleast half than a SHT15 on DigiKey, for no aparent reason.

    This breakout board is great. I mean ITS PERFECT!! The pinout matches exactly with GND, VCC and PORT B, on a 28pin PIC - I.E.: 16F886

    I wish all your breakout boards had this pin out.

    thank you sparkfun for shaving that Yak for me.

    • Joel_E_B / about 11 years ago * / 1

      Thanks for the feedback. The document you listed is also found on the link to the Arduino code. I added it to the documents section as well as the guide for command mode so they can be found more easily. Hope this helps.

      Also, if you would like to share your PIC code, I'd be more than happy to post it on the product page.

      • PalmTreesandPICs / about 11 years ago / 1

        Hmm... I got lots of code I would love to share! I use CCS to code, which is not an open source compiler.... so its not really compilable by many people.

        anyways... lemme finish up mah codes and ill wrap them up in a nice bundle for you to post.

        Again.. the pinout on this board is great... more boards with this pin out please!

  • PalmTreesandPICs / about 11 years ago / 1

    Since I am working on code for this today, I thought id share some things. I use Arduino for men, or PIC's as we call them, so the code above does not work for me. (puts down match box and waits for flames to start)

    The data sheet above is all nice about specs, precision, and Honeywell glory. However, its quite scarce on communication data, but it does make a reference to some documents that do:

    http://www.phanderson.com/arduino/I2CCommunications.pdf

    ... thats just the first link i found on google... That should help others more than the datasheet actually, especially if you are new to I2C.

  • PalmTreesandPICs / about 11 years ago / 1

    I cant seem to find this part on your Eagle library from github... is there an update?

    • Working on getting the GitHub updated with this. It should hopefully be up there by the end of the day.

      • Joel_E_B / about 11 years ago / 1

        It is now on GitHub. Look under the AnalogIC library.

        • PalmTreesandPICs / about 11 years ago / 1

          Awesome!

          Thanks guys....

          By the way, your arduino code link seems to be broken... or the page is no longer up.

          • Joel_E_B / about 11 years ago / 1

            I just clicked on it it and had no trouble getting to the page. Perhaps it was down momentarily. Let us know if you are still having trouble.

  • Member #40615 / about 12 years ago / 1

    These devices have no register numbers, unlike many 7-bit I2C devices. They will happily ignore the register index you give it, fortunately, so if you just read 4 bytes from address 0x27 register 0, you get the data.

Customer Reviews

4.8 out of 5

Based on 4 ratings:

Currently viewing all customer reviews.

2 of 2 found this helpful:

Nice and Boring

This will be a short review. What can I say? I powered it up and it works perfectly. The readings and status bits all operate as described. I drive my peripherals directly with FPGAs and so have no use for C libraries. So I appreciate the detailed datasheet(s) with accurate interface information. I kind of wish I had noticed the pullup resistors on the board, as I have other I2C peripherals on the same I2C bus and already had pullups installed. Oh well, I suppose it kind of makes sense as it compensates for the extra load added to the bus by decreasing the rise times. I'm sure it's more compensation than I needed however. I guess I can always remove them. Thanks for offering this product and please continue to make it available.

First experience with I2C

I've been a fan of MAXIM / Dallas Semiconductor 1-wire products for more than a decade and this is my first use of I2C. Easy to use and many python libraries available for use on my RPi2.

Very stable and consistant

I have been building small, battery operated wireless Remote Monitors to be placed around the house, garage and sheds to monitor a variety of environmental factors and events such as leaking water below a hot water heater, garage door open, some maintenance issues and so on. Two of the parameters are humidity and temperature to help optimize air conditioner comfort and operating cost. Since consistency of measurement is important, performance of the HIH5130 was one of the first things I wanted to know. What I have found was that the units track quite well, typically within a degree and 2% (temperature and humidity) between any two of three units that I have built so far. Secondly, the offsets appear to be fixed allowing calibration. I expect to have much more data when my next three are completed and I can put them all together test them. Having Sparkfun build them in a consistent manner is a real plus which is why I chose to use the breakout boards. Bottom line is that I am quite happy with them and of course the chip as well. Final comment, in my firmware design, I averaged my readings over a number of measurements, but with this chip, that appears to be unnecessary, so I may pull the code out.

Working well for me

The breakout and the HIH6130 are working well for me on a RPI. I have used David Hagan's Python RPI library for the HIH6130 at https://davidhagan.me/articles/ind/18