As I’ve mentioned before in my own projects I’ve never used the temperature sensor. When redesigning the shield I decided to move the temperature sensor from its proximity to the LT3496 LED driver chip to the edge of the board in order to free up some surface close to the LT3496 for better cooling. The TMP421 temperature sensor has one on-die temperature sensor and one for remote temperature sensing by means of a cheap small-signal transistor. In the previous shields the on-die temperature sensor helped measuring or rather estimating the LT3496 temperature. Now that the TMP421 is moved to a different location on the shield far away from the LT3496 it still measures a temperature but it’s rather ambient temperature.
If measuring the LT3496 temperature is still desired this can still be accomplished through the remote sensing connections. In that case it is best to use a thermal adhesive and glue the transistor directly to the top of the LED driver chip. This provides much more direct measurement of the LED driver chip temperature. Another topic that just became clear to me when working on updating the documentation is that when more than one shield is used in an application, either stacked or otherwise connected to the same I2C bus, then only one shield should be populated with a temperature sensor. The current documentation mentions in more than one spot that there are two I2C components on the shield, but that is incorrect. There can be three I2C components on the board:
- The LED driver chip – LT3496 – data sheet
- The digital Analog Converter for analog dimming – MCP4728 – data sheet
- The optional temperature sensor – TMP421 – data sheet
While the LT3496 and the MCP4728 have configurable I2C addresses the TMP421 in the current version 2.5 shield only has one fixed I2C address. That means only one temperature sensor can be addressed on one I2C bus. However, if for example you have 2 or more shields on the same I2C bus and all of those shields are populated with the temperature sensor the PWM and analog dimming functions will still work. Only the temperature sensor functions cannot be used in that case. In a previous post I mentioned that all chips with the exception of the temperature sensor are FM+ components and can be operated at I2C bus frequencies of up to 1MHz. The data sheet states in the SERIAL INTERFACE section that the chip can actually be operated up to 3.4 MHz.