Hi, we recently design a pcb with the tmp006 installed. We followed the guidelines for installing tmp006 into a pcb (or so we believe see below for details). We have good communication (no problems with I2C), but the signal is going in the opposite direction that it should (hotter shows colder, and vice versa) and is very wobbly. The die temperature seems to be showing correctly, the problem is only with the IR calculated temperature. We also have an Adafruit TMP006 module which works without any problems - so we know what 'working' looks like. The difference between our PCB design and theirs are minor, and we can't quite figure out why our signal is so much worse. See the images below for a description of the top and bottom of the pcb the tmp006 is installed on.
We recently removed the tmp006 chip from the the Adafruit board and installed a new tmp006, just to see if the problem is that we are doing a poor job soldering the unit - but the results still looked very good using our solder job. So we are pretty sure at this point it's a difference in the design of the pcb.
Note - We know that c2 (DRDY) pin should be pulled up - we had installed a 10k resistor since. Also, we've added an additional .1nF cap closeby, but that didn't seem to help either. Also, (in case you're wondering) the I2C address 0x42 (ADR1 - GND and ADR0 - SDA).
The size of the ground planes separating the tmp006 from the rest of the pcb is: the inner ground plane is 4.5 x 4.5, while the outer ground plane is 6.8 x 5.8mm. When a temperature measurement is being taken, none of the nearby traces oscillate. We are using an arduino and Adafruit's example TMP006 sketch for testing. We do not have any components nearby generating IR signal which could cause interference.
Any ideas based on looking at the layout on what our problem might be, or any other suggestions?
Thanks,
Greg
top of PCB:![]()
bottom of PCB:
![]()