Temperature Sensor Upgrade: the TSIC 306

I’ve been using the DS18B20 for a while now, but wanted something with a higher temperature range and faster update rate, but with a similar digital interface. After a lot of searching, it became clear that there are very, very few parts that fit these requirements…

Finally, I found a neat sensor called the TSIC 306. This has a temperature range of -50 °C to +150 °C and the update rate is a very respectable 10Hz. Better still, it’s available in a 3-wire TO92 package, similar to the DS18B20. It has one small disadvantage: it looks as if you can only have one device on the bus, so each sensor will need a dedicated GPIO pin. That said, it still looks ideal to upgrade the sensors in my coffee machine, so here goes!

The hardware interface to the Pi is very straightforward: it can accept 3V3 power, and the data line is actively driven low/high, so it can be wired directly to a GPIO line with no pull up resistor. However, it’s worth noting that the data suggests that 5V supply yields better measurement accuracy, so it may be preferable to power from 5V and use two resistors as a potential divider to reduce the data output to 3V3 logic levels for the Pi.

To date I have managed to read the sensor from C++ on the Pi, but it’s a little unreliable as it’s difficult to get accurate timing from user mode. It looks like a Kernel Driver may be needed…

3 thoughts on “Temperature Sensor Upgrade: the TSIC 306”

  1. Hello!

    maybe I choose the wrong place to write but I have to congratulate you for your project, it’s fantastic! I found similar stuff on the internet but never with your degree of explanation!

    I will explain my situation to you: I would like to buy a Gaggia coffee machine (I am oriented to the baby gaggia model from the 90s, so with mechanics similar to the classic, why? under normal conditions, give them general maintenance and apply a PID for coffee and cappuccino.
    For now I would like to create a basic thing so I only focus on controlling the heating and the pump, maybe then adding upgrades in the future.

    I was orientating myself for the temperature snesoro and also wanting to use the steam for the cappuccino I reluctantly discarded the ds18b20. Unfortunately your sensor costs a lot to us (about 12 €) and I wanted to opt for something cheaper! As a digital sensor I found a lmt01 (about 2 €) or I should use a pt100 thermistor with some amplification circuit but I fear that the latter will update the temperature with a higher delay.

    I ask you then, what would you recommend?

    Thanks in advance!

  2. Hi Samuel
    The LMT01 looks like it could be a good option. It appears to have a maximum of 150°C, so I think it should work. I’d be tempted to give that a try.
    Thermocouples and thermistors are a cheap option of course, but you need to calibrate them. Still a good choice though, as they are pretty indestructible!
    Kind regards

Leave a Reply

Your email address will not be published. Required fields are marked *