1 kHz per degree Kelvin temperature sensor

Fairchild 2N3904

Long ago in a galaxy far away (actually, the same galaxy but the Milky Way is moving so it must logically be far away from where it was way back then), I sketched up a simple circuit for a DC coupled amplifier that I thought (in my youthful naivety) looked very cool. See Figure 1.

It's a far better (temperature sensing) oscillator than an amplifier.
Figure 1. It’s a far better (temperature sensing) oscillator than
an amplifier.

Transistor bias is specifically chosen so:

at 300 °K.

It consists of three direct-coupled common-emitter amplifers (Q1 through Q3) for a cascaded gain of perhaps 120 dB (β3) with inverse feedback from Q3 to Q1. Capacitor C1 was intended to provide a single dominant loop bandwidth-limiting stability-promoting pole.

I couldn’t wait to wire it up and see how it worked. Spoiler alert: it (very much) did not – at least not as an amplifier.

To say it “oscillated persistently” would be (very much) an understatement. In fact, “oscillation suppression” C1 could be increased seemingly without limit, without decreasing oscillation amplitude one iota. Oscillation frequency decreased (inversely proportional to C1), but oscillation amplitude remained stubbornly unattenuated. Figure 2 shows why.

C1’s connection between Q1 and Q2 collectors effectively bypasses Q2 and its stage of signal inversion, making the net polarity of loop feedback around Q1 and Q3 positive rather than negative as I originally intended. C1 thus guarantees oscillation, instead of preventing it!

C1 provides oscillation-provoking positive feedback by bypassing Q2, as revealed by Q1 and Q2 collector waveforms.
Figure 2. C1 provides oscillation-provoking positive feedback by bypassing Q2,
as revealed by Q1 and Q2 collector waveforms.

The 4-step sequence of each oscillation cycle turned out as follows:

  1. VC3: The cycle of oscillation starts with Q3 turn-off, (green trace) driving Q3’s collector VC3 to ~4 V.
  2. VC1: This turns on Q1, driving its collector from VON = 700 mV to VSAT = 100 mV (red trace), which turns Q2 off.
  3.  VC2: Simultaneously, C1 couples the VON – VSAT = 600 mV transition at VC1 to VC2 (yellow trace), holding Q3 off. This state persists until VC2 ramps back up to Q3 VON, which drives VC3 low (green trace).
  4. This turns Q1 off, allowing VC1 (red trace) to ramp the left side of C1 up to VON. This turns on Q2, driving VC2 to VSAT (yellow trace), turning off Q3, returning VC3 to 4 V (green trace), starting the next oscillation cycle at step 1.

What’s of particular interest here is that the oscillation period is equal to the sum of the VC1 ramp period (T1) and VC2 ramp period (T2), and the oscillation frequency equals the sum’s reciprocal.

where TD is transistor-delay times.

Study of the 2N3904 datasheet reveals that VSAT = 100 mV independent of temperature and collector current (up to IC = ~10 mA), while VON varies at a predictable rate with both temperature and current. If bias current is chosen carefully, a temperature response closely approximating FOUT = 1000TABS = (1 kHz/°K) can be achieved over a useful range of temperatures. The component values shown in Figure 1 do so from 270 °K to 330 °K = –3 °C to +57 °C = 27 °F to 135 °F, this is plotted as the realized response (red curve) in Figure 3 against the ideal 1 kHz/°K (blue line).

Figure 1's output frequency versus absolute temperature (TABS). FOUT = 1 kHz (TABS ±2 °K).
Figure 3. Figure 1’s output frequency versus absolute temperature (TABS).
FOUT = 1 kHz (TABS ±2 °K).

So, instead of an amplifier, Figure 1 turned out to be the basis for an interesting digital temperature sensor.

A couple of concluding comments follow.


Of concern with all active temperature sensors is self-heating error. The 2N3904 in TO-92 warms itself by ~200 °C/Watt = 0.2 °K/mW in still air (worst case, less in moving air). Q3 dissipates < 2 mW while Q2 conducts for such a small fraction of the cycle that its heat dissipation and temperature rise are negligible.

Q3 contributes half of the oscillation period so total max self-heating error of the Figure 1 circuit is therefore 1 kHz × 0.2/2 = ~100 Hz = 0.1 °K. This is acceptable in most applications (note, however, that Q2 and Q3 should be well isolated from the ~65 mW dissipated by the resistors).


Comparing price and performance of discrete component circuits to competing ICs seldom goes well for the multi-part device, but Figure 1 doesn’t fare too badly. Its accuracy (±2° over a useful range of temperatures) and resolution (e.g., ~16 bits for a ¼ second counting interval) measure up well against typical digital temperature measurement chips (e.g., TMP125) as does the cost of its components (~$2).

All things considered; it was a very cool consolation from the disappointment of a failed amplifier design.

Materials on the topic

  1. Datasheet Fairchild 2N3904


EMS supplier