Xbee3 Micropython and TE TSD305 Temperature Sensor


This details an example of interfacing TE Connectivity’s TSD305 contactless temperature sensor to Digi International’s XBee3 intelligent wireless module (programmed with 802.15.4 protocol firmware). The project uses the TSD305 sensor included on TE’s weather shield connected over I2C to Digi International’s Grove development board with an Xbee 3 wireless module plugged in. A Micropython script running on the Xbee3 reads active I2C addresses and communicates with the TSD305 sensor to read calibration and ADC data to convert to sensor and object temperature and print in a continuous loop.

Hardware Requirements

Supplier Documentation

Hardware Setup

TE Weather Shield

TE Connectivity’s Weather Shield is an Arduino form factor sensor evaluation board with five TE environmental sensors mounted. The five sensors are the HTU21D Humidity/Temperature Sensor, MS5637 Pressure Sensor, MS8607 Pressure Sensor, TSYS01 Temperature Sensor, and TSD305-1C55 Contactless Temperature Sensor. All five sensors communicate on the I2C bus which is routed through a CD74HC4502 mux/demux IC to provide switching of the I2C bus to the various sensors. For selection of the TSD305 sensor the inputs CB and CA are set to Vdd and EN is set “low”.

Xbee SMT Grove Board

Digi International’s Xbee SMT Grove board is a development platform allowing use of multiple SMT form factor Xbee wireless modules. Various Xbee signals, including I2C, are routed to eight grove connectors on the board to allow easy interface to external devices.

Example Code


MicroPython code that runs on a Xbee 3 wireless module connected to an TSD305 temperature sensor over I2C. The example code scans the I2C bus and prints active addresses, reads calibration data stored in onboard EEPROM and reads the ADC sensor and object data and converts to temperature in a continuous loop.

TE Connectivity TSD305 Sensor Measurement Process

Configuration settings and calculations used are based on TSD305-1C55 datasheet: