
The Digilent Pmod HYGRO (Revision A) is a relative humidity sensor with an integrated temperature sensor for highly
accurate measurements at low power. With theTI HDC1080, you can determine the relative humidity of the environment
with up to 14 bits of resolution.
Pmod HYGRO Reference Manual

Pmod HYGRO PDF
Relative humidity accuracy ±2%
Temperature sensor accuracy 0.2 °C
Good stability at high humidity
14-bit measurement resolution
Internal resistive heating element
6-pin Pmod connector with I²C interface
Pass-through Pmod host port for daisy chaining
The Pmod HYGRO is designed to digitally report the relative humidity and ambient temperature upon request by the host
board. Up to 14-bits of resolution for each sensor may be collected by allowing for longer conversion times. A resistive
heating element can be enabled to test the sensor or drive off condensation that accumulates on the sensor after being
consistently exposed to high humidity conditions.
Download This Reference Manual
Features
Functional Description

The Pmod HYGRO communicates with the host board via theI²C protocol. By first sending the 7-bit I²C address of
1000000 (0x40) and then a read/write bit (high/low logic level, respectively), followed by the register address of interest at a
maximum clock frequency of 400kHz, users can both configure and read from the Pmod HYGRO.Header J2on the
Pmod HYGRO passes through all of the signals present on the mainHeader J1to allow for the daisy chaining of multiple
I²C compatible modules.
The Configuration register (address 0x02) allows users to control the resolution of the temperature and humidity
measurements, change the acquisition mode, enable the heater, and more. A table of the 16-bit register, recreated from
Table 4 in theHDC1080 datasheet, is provided below.
Parameter Min Typical Max
Power Supply Voltage 2.7 3 5.5
Serial Clock Frequency 10 400
Parameter Value
RH Accuracy ±2
RH Repeatability ±0.1
RH Hysteresis ±1
RH Response Time 15
Temperature Accuracy ±0.2
Sleep Mode Current Draw 100
Configuration Register Description (Address 0x02)
Bit
Name
Bit
Number
Bit Description Bit
Values
Functional Description
RST [15] Software reset bit 0¹ Normal Operation, this bit self clears
1 Software Reset
Reserved [14] Reserved 0 Reserved, must be 0
HEAT [13] Heater 0¹ Heater Disabled
Specifications
Interfacing with the Pmod
Configuration Register

¹ – This is the default value on power-up or reset
The temperature register (address 0x00) and the humidity register (address 0x01) are both 16-bit read only registers with the
14 MSBs corresponding to the 14-bit maximum resolution for both sensors. The two LSBs (bits D1 and D0) are always 0
for both registers. As the measurement resolution increases, the corresponding conversion time for each sensor also
increases. A table of typical conversion times from Section 7.5 (Electrical Characteristics) of theHDC1080 datasheet, is
provided below.
Upon device power-up, the Pmod HYGRO requires at least 15 ms prior to being able to perform a measurement. To
perform a measurement, users need to configure (or accept) the measurement settings in the Configuration Register, and
then trigger the measurement(s) by sending an I²C write transaction along with the address pointer set to the appropriate
register. After waiting theappropriate conversion times, users may then perform a read transaction, taking advantage of the
auto-incrementing pointer address for reading both the temperature and humidity registers. After the data has been read,
users need to wait at least one full second before performing another read transaction to avoid internal heating of the
sensor and the distortion of the measured temperature and humidity levels.
Note that if a write transaction is performed on either the temperature (address 0x00) or humidity (address 0x01) registers
during a conversion, the current conversion will be aborted and a new one started. If a read is performed during a
conversion, the Pmod HYGRO will respond back with aNACKindicating the measurement result is not yet available. The
typical time that it takes the output of the humidity sensor to show 63% of a step change in humidity is 15 seconds.
1 Heater Enabled
MODE [12] Acquisition Mode 0 Temperature or Humidity is acquired depending
register you choose to read
1¹ Temperature and Humidity are acquired in seque
the Temperature first
BTST [11] Battery Status 0¹ Battery voltage (Vdd) > 2.8V (read only)
1 Battery voltage (Vdd) < 2.8V (read only)
TRES [10] Temperature
Measurement Resolution
0¹ 14 bit
1 11 bit
HRES [9:8] Humidity Measurement
Resolution
00¹ 14 bit
01 11 bit
10 8 bit
Reserved [7:0] Reserved 0 Reserved, must be 0
Relative Humidity Sensor Temperature Sensor
8-bit resolution 2.50 ms 11-bit resolution 3.6
11-bit resolution 3.85 ms 14-bit resolution 6.3
14-bit resolution 6.50 ms
Temperature and Humidity Registers

Here is the series of commands to acquire relative humidity and temperature data from the Pmod HYGRO in pseudo I²C
code.
1. Power on the Pmod HYGRO and wait at least 15 ms.
2. Call the device ID with a write bit
I2CBegin(0x80); //device ID 0x40 with a write (0) bit
3. Wait to receive an ACK from the Slave Device
4. Write the device address that you want to talk to
5. Wait to receive an ACK from the Slave Device
6. Delay at least 12.85 ms (6.35 ms for the Temperature Sensor and 6.50 ms for the Humidity Sensor)
7. Read 4 bytes from the temperature and humidity registers (two 8 byte samples from each, MSB then LSB)
8. Convert the readings into usable data. Note that the two LSBs (D1 and D0) will always be set to a value of 0 . Only
the upper 14-bits in each register contains the relevant data.
9. Wait at least one full second before initiating another reading to avoid internal heating of the humidity sensor.
The Pmod HYGRO is an ideal Pmod to use in long term humidity test application. As a very low power Pmod between
measurements, long term data to measure humidity changes in an environment can easily be collected.
I2CWrite(0x00); //address 0x00 corresponds to the Temperature Register, the Humidity regist
I2CReadMultiple(4); //read four bytes, sending an ACK to the slave after each byte received
Header J1 Header J2 Jumper Blocks
Pin Signal Description Pin Signal Description Jumper State Descriptio
1 NC Not Connected 1 NC Not Connected JP1 Both
Enabled
2.2 kΩ resistors en
the SDA and SC
2 NC Not Connected 2 NC Not Connected JP1 Both
Disabled
2.2 kΩ resistors di
the SDA and SC
3 SCL Serial Clock 3 SCL Serial Clock
4 SDA Serial Data 4 SDA Serial Data
5 GND Power Supply
Ground
5 GND Power Supply
Ground
6 VCC Power Supply
(3.3V/5V)
6 VCC Power Supply
(3.3V/5V)
Quick data acquisition
T emperature(°C) = ∗ 165°C − 40°C
T emperature [15 : 00]
2
16
Relative Humidity (%RH) = ∗ 100%RH
Humidity Register[15 : 0]
2
16
Pinout Table Diagram

Any external power applied to the Pmod HYGRO must be within 2.7 V and 5.5 V to ensure that the on-board chips
operate correctly; however, it is recommended that Pmod is operated at 3.3 V.
A sample timing diagram for writing to and reading from the Pmod HYGRO taken from the HDC1080 datasheet are
provided below:
Example write to the Pmod HYGRO
Example reading from the Pmod HYGRO
The pins on the pin header are spaced 100 mil apart. The PCB is 1.25 inches long on the sides parallel to the pins on the
pin header and 0.8 inches long on the sides perpendicular to the pin header.
The schematics of the Pmod HYGRO are availablehere. Additional information about the humidity sensor including
communication modes and specific timings of the chip can be found by checking out its datasheethere.
More specific information about how to use the Pmod HYGRO can be found by checking out the additional resources on
the Pmod HYGROResource Center. Example code demonstrating how to get information from the Pmod HYGRO can
be found on its Resource Centerhere.
Timing Diagram
Physical Dimensions
Additional Information

If you have any questions or comments about the Pmod HYGRO, feel free to post them under the appropriate section
(“Add-on Boards”) of theDigilent Forum.