AM2315 Encased I2C Temperature and Humidity Sensor ($23.95)0016-OTH-DSBT.main

Note:   This product has been retired.   The replacement part is the AM2315 with a Grove connector attached.   You can easily cut off the connector if you wish to connect the wires directly.   The Grove AM2315 is here.


Comments are now closed.   Please go to the Product Support Forum at the top of the page.

How to Buy SwitchDoc Labs Products

United States and Worldwide: SwitchDoc Labs Store 

Another Choice Within United States: (Free Shipping with Amazon Prime!)

 Note:    For the latest information and specifications, go to the product page on

The AM2315 I2C capacitive humidity sensing digital temperature and humidity sensor contains a temperature and humidity combined sensor calibrated digital signal device. It uses special temperature and humidity acquisition technology, to ensure that the sensor has high reliability and excellent long-term stability. The sensor includes a capacitive sensor and an integrated high-precision temperature measurement device.

This probe has been used in numerous SwitchDoc Labs projects including Project Curacao, WeatherPi and the upcoming SunRover solar powered robot.


  • 3.3V to 5.5V I2C interface and power (SwitchDoc Labs finds it works better on a 5.0V I2C bus in general, but it does IMG_3362 work with the Raspberry Pi 3.3V I2C)
  • 10 mA max current use during conversion
  • Good for 0-100% humidity readings with minimum 2% accuracy
  • Good for -20 to 80°C temperature readings ±0.1°C typical accuracy
  • Updated every 500ms (0.5 Hz)
  • Body size 98mm x 16mm diameter
  • 20 inch long – 4 wire cable
  • This board/chip uses I2C 7-bit address 0x5C.

IMG_3366SwitchDoc Labs uses these fine sensors on many of our projects, including WeatherPi, Project Curacao and SunRover (a solar powered robot).    They are working well in these designs, so we decided to search out the manufacturer and carry this part for our customers.

A small microprocessor inside the AM2315 provides the readings and adjustments to the values from the sensors and supports an I2C interface for reading the finished & calibrated data.  The sensor is in a rugged case and comes with a mounting bracket.

While it is not waterproof, it is weather resistant.  This sensor does better for sensing temperature and humidity where there might be wind and rain.   SwitchDocLabs also sells a plastic sunshield for this device, which will available shortly.

When looking for the AM2315 using i2cdetect (on the Pi) or I2CTest on the Arduino, remember that this device has a sleep mode and so you may have to look twice.0016-OTH-DSBT.aimage3

Hooking it Up

Connect the red wire to 5V (or 3.3V for the Raspberry Pi – note: it works better at 5.0V I2C) power, black to ground, yellow wire to your i2c SDA pin, and the white wire to 0016-OTH-DSBT.aimage2the i2c SCL. You cannot change the i2c address so only one sensor per i2c bus.  However, you can use the SwitchDoc Labs 4 Channel I2C Mux to support multiple devices in one project.  You can also use the 4 Channel I2C Mux to convert the Raspberry Pi 3.3V I2C bus to 5.0V I2C.

Two ~10Kohm pullup resistors on the I2C bus are required for use, connected from the SDA and SCL lines to the power wire.  Note that many devices, including the SwitchDoc Labs 4 Channel I2C Mux already have these pullup resistors.  Further note that Arduino’s DO NOT HAVE 10K Pullups on their I2C bus.


If you don’t see it on your i2cdetect on the Raspberry Pi or I2C scanner on the Arduino, remember the following two things:

1) Check your wiring. Note that the colors aren’t a reliable guide to what wire goes where. Make sure you read the label on the wires. I’m sure you have done this, but check it again. The colors vary from batch to batch.

2) The AM2315 Outdoor temperature sensor is at address 0x5C. The manufacturer of the device puts the sensor into a sleep mode except when it is going to be used to avoid self heating of the sensor. That makes sense, however, it means you have to go through a funny sequence to make sure the device is awake and responding. It doesn’t respond to an Arduino I2C scan nor a Raspberry Pi I2C scan, i2cdetect.

You can run the i2cdetect -y 1 twice quickly and it will often pick the sensor up on the second run.

The best thing to do to determine if it is actually there is run the test software and see if you are getting data. That is how we detect if it is present.

Full Specification

You can download the full specification here.


The Arduino drivers are archived on

The Python Raspberry Pi drivers, test program and installation procedure are on


Raspberry Pi

Sop with has provided an excellent tutorial for hooking up the AM2315 to a Raspberry Pi here.  Note:  We don’t recommend hooking up the Raspberry Pi I2C bus to 5.0V pull-ups as shown in the tutorial.  We recommend 3.3V as the Pi I2C lines are not 5.0V tolerant.

%d bloggers like this: