BJT is accurate sensor for absolute temperature in Kelvin and Rankine

Simple math implemented in a (very) simple circuit. What’s not to like?
A very cool (also warm!) property of the base-emitter junction of (most) small signal BJTs is the ΔVbe temperature-sensing effect. ΔVbe temperature measurement is aptly described and applied here by famed and forever remembered analog design guru Jim Williams (see page 7):
At room temperature, the Vbe junction diode shifts 59.16mV per decade of current. The temperature dependence of this constant is 0.33%/°C, or 198μV/°C. This ΔVbe versus current relationship holds, regardless of the Vbe diode’s absolute value.
Wow the engineering world with your unique design: Design Ideas Submission Guide
Rearranging Williams’ math, since 198uV=1V/5050, 198μV/°C per current decade works out to (the easier to remember…ha!) ΔVbe/°C = Log10(Current-ratio)/5050. So, if we need any given ΔVbe/°C, the required
Current-ratio = 10^(5050 ΔVbe/°C).
For example, for ΔVbe/°C = 100uV, Current-ratio = 10^(5050 * 100uV) = 10^(0.5050) = 3.20
Of course, this trick also works for Fahrenheit, albeit with a different scale factor. Since 1 °F = 5/9 of 1°C, for Fahrenheit the corresponding Current-ratio = 10^(9090 ΔVbe/°F). Therefore, for the 100uV example, if ΔVbe/°F = 100uV, then Current-ratio = 10^(9090 * 100uV) = 10^(0.9090) = 8.11
Figure 1 shows this simple math implemented in a (very) simple circuit:

Figure 1 An ordinary BJT Q1 makes an accurate absolute temperature sensor in two different units (K and R).
Here’s how it works. Switch U1a applies alternating current ratio drive to sensor Q1 per Williams’ method. The ratio is (approximately) Current-ratio = (1/R1 + 1/R2)/(1/R2) = (R2/R1 + 1) = 3.20 for measurement in units of Celsius (Kelvin) and = 8.11 for Fahrenheit (Rankine). The “approximately” thing comes in because the resistor ratio needed to be fudged (slightly) to compensate for the few 10s of mV of varying difference between V+ and Q1’s Vbe and thus make the current ratios accurately equal to the calculated values.
The resulting 100uVpp per degree AC signal is synchronously rectified by U1b and filtered by C3 to become the 100uV per degree of absolute temperature DC output signal suitable for direct input to a DMM. A ~5kHz clock signal for current switching and rectification is provided by U1c, with a little help from one side of U1a.
Note that, per Williams’ analysis of the ΔVbe effect, accuracy of temperature measurement relies only on the accuracy of the current ratio and therefore on only the precision of R1 and R2. No other reference is required or relevant and any 2N3904 will do.
The V+ supply, for example, can vary from 3 to 6 volts without affecting accuracy. Passive output impedance is roughly 10k. So, loading by a typical 10M DMM input won’t either.
Thanks, Jim!
Stephen Woodward‘s relationship with EDN’s DI column goes back quite a long way. Over 200 submissions have been accepted since his first contribution back in 1974. They have included best Design Idea of the year in 1974 and 2001.
Related Content
- Temperature compensation with a simple resistance temperature detector
- A temperature-compensated, calibration-free anti-log amplifier
- Thermopile sensors: A guide to non-contact temperature measurement
The post BJT is accurate sensor for absolute temperature in Kelvin and Rankine appeared first on EDN.


