Sensors

A sensor is the part of a circuit that notices something about the world, such as heat, light or a nearby magnet, and turns it into an electrical change that the circuit can measure. This article explains three of the simplest and most common: thermistors, photoresistors and Hall-effect sensors. It covers how each one works, how to read and choose them, and how to connect them to a microcontroller so that a program can use what they sense.

About the analogies. Everyday comparisons appear only in shaded "Analogy" boxes, and each says where it stops working.

1. A short recap

2. What a sensor is

A sensor converts a physical quantity, something real such as temperature, brightness or magnetic field, into an electrical signal. Devices that convert energy or signals from one form to another are called transducers, so every sensor is a transducer. (The next article, Speakers, Buzzers, and Microphones, covers transducers that turn electricity into sound and back.)

Sensors come in two broad kinds:

A sensor's output is either analog, a voltage that can take any value in a range, or digital, just on or off. Whatever the kind, the job is the same: get a voltage that a microcontroller can read (Figure 1).

From the physical world to a number in a program Five boxes in a row joined by arrows. Physical quantity: heat, light or a magnetic field. Sensor: its resistance or voltage changes; a note above says resistive sensors are the thermistor and photoresistor and the active one is the Hall sensor. Interface circuit: divider, pull-up or filter. ADC: voltage becomes a number. Program: uses the number, for example 512. A bracket under the last two boxes says inside the microcontroller. Physical quantity heat, light or a magnetic field Sensor its resistance or voltage changes Interface circuit divider, pull-up or filter ADC voltage becomes a number Program uses the number, e.g. 512 inside the microcontroller the world resistive: thermistor, photoresistor; active: Hall sensor
Figure 1. The path from the world to a program. A sensor turns a physical quantity into a change of resistance or voltage; a simple circuit turns that into a voltage; the microcontroller's analog-to-digital converter turns the voltage into a number.
An NTC thermistor, a photoresistor and a Hall-effect sensor, with their symbols Top row, three drawings. An NTC thermistor: a dark epoxy-coated bead on two wire leads, with a blue dot on it. A photoresistor: a light ceramic disc on two leads, with a reddish-brown zigzag track of cadmium sulfide between two metal strips. A Hall-effect sensor: a small black three-pin TO-92 package with a flat marked face. Bottom row, symbols. Thermistor: a zigzag resistor crossed by a diagonal line with a short horizontal foot, marked t degrees. Photoresistor: a zigzag resistor with two arrows of incoming light. Hall sensor: a box marked Hall with pins V plus, GND and OUT. blue dot epoxy-coated bead NTC thermistor CdS track ceramic base Photoresistor (LDR) flat marked face 3 pins Hall-effect sensor t° Hall V+ GND OUT thermistor symbol photoresistor symbol Hall sensor as a block
Figure 2. The three sensors in this article and their schematic symbols. Top: a radial NTC thermistor (blue dot), a photoresistor with its zigzag track, and a three-pin Hall-effect sensor in a TO-92 package. Bottom: symbols. The thermistor symbol is a resistor crossed by a line with a short foot, marked t°; the photoresistor symbol is a resistor with two arrows of incoming light. Drawings not to scale.

3. NTC thermistors

A thermistor (a "thermal resistor") is a resistor made so that its resistance changes strongly with temperature. All resistors change a little; a thermistor can change by 100 Ω or more per degree.[3] There are two types: NTC (negative temperature coefficient), whose resistance falls as it warms, and PTC (positive temperature coefficient), whose resistance rises.[4] NTC types are the most widely used.[4]

How it works

Most NTC thermistors are made of a ceramic that behaves as a semiconductor.[4] As with silicon, heat breaks more electrons free to carry current, so a warmer thermistor has more carriers and lower resistance (recap).

Units and markings

An NTC thermistor is described by a few numbers. We will use a common part, the Vishay NTCLE100E3103, as an example. Its body is a small epoxy-coated bead on two wires, marked with a blue dot.[5]

The datasheet gives a table of resistance against temperature. A few rows for this part:[5]

Resistance of a 10 kΩ NTC thermistor (NTCLE100E3103)
Temperature−40 °C0 °C25 °C50 °C100 °C
Resistance332 kΩ32.6 kΩ10.0 kΩ3.61 kΩ677 Ω

The resistance falls by a factor of almost 500 between −40 and 100 °C, and the curve is far from a straight line (Figure 3).

Resistance against temperature for NTC and PTC thermistors A graph of resistance on a logarithmic scale from 100 ohms to 1 megohm against temperature from minus 40 to 150 degrees Celsius. The NTC curve falls smoothly from about 332 kilohms at minus 40 degrees through 10 kilohms at 25 degrees to about 680 ohms at 100 and 180 ohms at 150. The switching PTC curve stays near 470 ohms up to about 85 degrees, then climbs steeply through 4.7 kilohms at 105 degrees and 47 kilohms at 120 degrees, a region labeled Curie region. The linear silicon PTC is a gently rising dotted line near 1 kilohm. 100 Ω 1 kΩ 10 kΩ 100 kΩ 1 MΩ −40 0 25 50 100 150 Temperature (°C) Resistance NTC, 10 kΩ (Vishay table) switching PTC (ceramic) linear PTC (silicon) Curie region
Figure 3. Resistance against temperature, on a logarithmic scale (each grid line is ten times the one below). Teal: a 10 kΩ NTC thermistor, plotted from the Vishay table. Orange dashed: a switching ceramic PTC thermistor (Murata PRF18BC471), drawn through its data points of 470 Ω at 25 °C, 4.7 kΩ at 105 °C and 47 kΩ at 120 °C. Dotted: a linear silicon PTC rising about 0.7% per kelvin. The PTC shapes between the data points are illustrative.

From resistance to temperature

A program that has measured the resistance needs to turn it back into a temperature. The simplest method uses the B value in the B-parameter equation, with temperatures in kelvins:[3]

1/T = 1/T0 + (1/B) × ln(R/R0)

Here R0 is the resistance at the reference temperature T0 (usually 10 kΩ at 25 °C, which is 298.15 K), R is the measured resistance, and "ln" is the natural logarithm (a calculator button). For example, 3,605 Ω gives 49.7 °C, against the table's 50 °C (calculated). The equation is an approximation: at 0 °C it reads about 0.8 °C high for this part (calculated). For better accuracy, manufacturers give a fuller formula, the Steinhart-Hart equation, with extra constants, or a program can look values up in the datasheet table.[5]​[3]

Speed and self-heating

A thermistor does not change temperature instantly. Its thermal time constant is the time it takes to cover about 63% of a sudden temperature change, just like the time constant of a capacitor charging through a resistor (recap). For the Vishay part it is 15 seconds in air.[5]

The current used to read a thermistor also warms it, an error called self-heating. The datasheet's dissipation factor says how much power raises its temperature by one degree: 7 mW per kelvin for this part.[5] In a divider of 10 kΩ and the thermistor on 5 V at 25 °C, the thermistor dissipates about 0.625 mW,[3] warming it by less than 0.1 °C (calculated). Using a larger resistor, or powering the divider only while reading, reduces the error further.[3]

4. PTC thermistors

PTC thermistors rise in resistance as they warm. They come in two subclasses, linear and switching, and are made from silicon, ceramic or polymer.[4]

How a switching ceramic PTC works. It is made of barium titanate ceramic, doped (given a small amount of impurity) so that it conducts. The ceramic is made of many tiny crystals called grains. Electrical barriers form at the boundaries between the grains, but below a temperature called the Curie temperature the material's internal electrical polarization cancels them out. Above it, the polarization collapses, the barriers grow, and the resistance rises exponentially.[6] Murata defines the Curie temperature of its parts as the point where the resistance has doubled from its 25 °C value.[7]

The rise is dramatic. A Murata PRF18BC471 is 470 Ω at 25 °C, about 4.7 kΩ at 105 °C and about 47 kΩ at 120 °C: ten times more in just 15 degrees. It is sold as an overheat detector placed next to hot parts such as power transistors, and it recovers when it cools.[7]

Polymer PTC thermistors are the resettable polyfuses of the previous article (recap). Ceramic PTCs can also protect circuits as resettable fuses and, because their resistance rises as they heat, serve as self-regulating heaters, whose maximum surface temperature is limited by their own resistance curve.[6]​[8]

5. Photoresistors

A photoresistor, also called a light-dependent resistor (LDR), photocell or CdS cell, is a resistor whose value falls as more light shines on it. Most are made of cadmium sulfide (CdS), laid down as a zigzag track on a ceramic base.[9]​[10] They were introduced briefly in the LEDs article (recap).

How it works

Light arrives in small packets of energy called photons (recap). When a photon with enough energy is absorbed by the cadmium sulfide, it frees an electron and leaves a hole, an electron-hole pair (recap). More light makes more carriers, so the resistance falls. Unlike a photodiode, an LDR has no junction and no polarity; it can be connected either way round.[9]

Units and markings

Light falling on a surface is measured in lux (lx). A family living room is about 50 lux, a well-lit office 300 to 500, an overcast day about 1,000 and direct sunlight 32,000 to 130,000.[9] Photoresistors have no printed markings, so the datasheet is the only guide. For an Advanced Photonix PDV-P8103:[10]

Photoresistor resistance against light level A log-log graph of resistance from 100 ohms to 10 megohms against light from 0.1 to 10,000 lux. A straight line slopes downward with a slope of 0.75, passing about 23 kilohms at 10 lux. An orange bar at 10 lux spans 16 to 33 kilohms, the PDV-P8103 datasheet range. Dots show Adafruit typical values: 600 kilohms at 0.1 lux, 70 kilohms at 1 lux, 10 kilohms at 10 lux, 1.5 kilohms at 100 lux, 300 ohms at 1,000 lux and 100 ohms at 10,000 lux. A dashed line at upper left marks the dark resistance of at least 0.5 megohms. 100 Ω 1 kΩ 10 kΩ 100 kΩ 1 MΩ 10 MΩ 0.1 1 10 100 1,000 10,000 Light (lux) Resistance 16–33 kΩ at 10 lux (PDV-P8103) dark: at least 0.5 MΩ slope 0.75 (datasheet) Adafruit typical
Figure 4. Photoresistor resistance against light, with both scales logarithmic. The line has the PDV-P8103's slope of 0.75; the bar at 10 lux shows its datasheet range of 16 to 33 kΩ. The dots are Adafruit's typical values for a similar 5 mm cell. Individual parts vary widely.

Photoresistors are cheap, simple and durable, but inaccurate: parts from one batch can differ by 50% or more, so they suit questions such as "is it light or dark?" or "has something blocked the beam?" rather than measuring lux.[9] For speed or precision, use a photodiode or phototransistor instead (photodiodes, phototransistors).

6. Hall-effect sensors

A Hall-effect sensor detects a magnetic field without touching anything. It is named after the effect it uses, discovered by the American physicist Edwin Hall in 1879.[11]

The Hall effect

Picture a thin, flat strip of conducting material with a current flowing along it. Now bring a magnetic field through the strip at right angles. A magnetic field pushes sideways on moving charges, so the carriers are crowded toward one edge, leaving the opposite edge with the opposite charge. That separation sets up a voltage across the width of the strip, the Hall voltage. It stops growing when its electric push on the carriers exactly balances the magnetic push (Figure 5).[11]

The size of the Hall voltage is:[11]

ε = B × l × v

where B is the magnetic field strength, l the width of the strip and v the speed at which the carriers drift. Reverse the field and the voltage reverses too. In a metal the carriers are so numerous that they drift very slowly, so the voltage is tiny; a semiconductor has far fewer, so for the same current they drift faster and give a larger voltage (this follows from the formula). That is why real Hall elements are small sheets of semiconductor.[2] Even then the voltage is "quite small", so practical sensors build an amplifier onto the same chip.[2]

The Hall effect in a thin semiconductor sheet A flat rectangular sheet with current I flowing in from the left and out on the right. Circled crosses across the sheet show a magnetic field pointing into the page. A dashed orange electron path enters from the right, moving left, and curves upward toward the top edge; an arrow below says the magnetic force pushes the electrons up. Minus signs line the top edge, labeled negative charge builds up on this edge, and plus signs line the bottom edge, labeled positive charge left on this edge. Wires from the top and bottom edges go to a voltmeter labeled Hall voltage. current I V Hall voltage negative charge builds up on this edge positive charge left on this edge the magnetic force pushes the electrons up thin semi- conductor sheet magnetic field into the page path of the electrons
Figure 5. The Hall effect. A current flows along a thin semiconductor sheet, and a magnetic field passes through it at right angles (into the page). The field pushes the moving carriers toward one edge, and the charge that builds up there creates the Hall voltage across the sheet. Shown with electrons as the carriers.

Analogy: a crosswind on a highway. Cars driving along a road in a steady crosswind drift toward one side, and traffic piles up along that edge.

Where it breaks down: Cars do not repel each other, but charges do. The crowded charges create an electric field that pushes back until it balances the magnetic force, so the build-up stops at a fixed level that is proportional to the field. That steady voltage is what the sensor measures.

Units, orientation and markings

Magnetic field strength (strictly, magnetic flux density) is measured in teslas (T). Sensors work with thousandths of a tesla, millitesla (mT). Older datasheets use the gauss (G): 1 mT = 10 G.[12]​[2] A sensor responds to the field passing straight through the face of its package. Texas Instruments counts the field as positive when a magnet's south pole faces the marked (lettered) side of the package.[13]​[12] The marking is just a part code, so check the datasheet for which face is the front.

Common types

Outputs of a linear Hall sensor and a Hall switch Left graph, linear sensor: output voltage from 0 to 5 volts against field from minus 25 to plus 25 millitesla, north to the left and south to the right. A straight line rises through 1.5 volts at minus 10, 2.5 volts at zero and 3.5 volts at plus 10 millitesla. Right graph, switch: output high or low against field from 0 to 12 millitesla. Coming up from zero, the output stays high until 6.9 millitesla, the operate point, then drops low. Coming back down, it stays low until 3.2 millitesla, the release point, then returns high. The gap between the two is the hysteresis. 0 1 2 3 4 5 −20 −10 0 10 20 3.5 V 1.5 V 2.5 V Field (mT): north ← → south Output (V) Linear sensor 0 2 4 6 8 10 12 high low operate 6.9 mT release 3.2 mT Field from a south pole (mT) Switch (open-drain output)
Figure 6. Two kinds of Hall sensor output. Left: a linear sensor on 5 V (DRV5055A1) sits at 2.5 V with no field and moves 100 mV per millitesla, up for a south pole and down for a north pole. Right: a switch (DRV5023AJ) pulls its output low when the field passes 6.9 mT and releases it only below 3.2 mT; the arrows show the path. Typical values from TI's data sheets.

A reed switch, the magnet-operated contact described in the Switches article, does a similar job with moving metal contacts (recap). A Hall switch has no moving parts, so it does not bounce, is "virtually immune" to dirt and other contaminants from its surroundings, and can switch up to 100,000 times a second.[2]

7. Side by side

The three sensors compared (example parts from this article)
SensorSensesOutputKey numbersSpeed
NTC thermistorTemperatureResistance falls as it warmsR25 = 10 kΩ, B = 3977 K15 s time constant in air
PTC thermistorTemperatureResistance rises, gently (silicon) or sharply (ceramic)470 Ω at 25 °C, ×10 by 105 °C (ceramic example)Like NTC: heat must soak in
PhotoresistorLightResistance falls with more light16–33 kΩ at 10 lux, ≥0.5 MΩ darkTens of milliseconds
Hall sensorMagnetic fieldVoltage (linear) or on/off (switch)100 mV/mT; or on at 6.9 mT, off at 3.2 mTMicroseconds

The Hall speeds come from the datasheets: the DRV5055 follows field changes up to 20 kHz (20,000 cycles a second), and the DRV5023 switches about 13 to 25 microseconds after the field crosses its threshold.[13]​[12]

Other sensors build the whole job into a chip. TI's LM35, for example, outputs 10 mV for every degree Celsius, so 250 mV means 25 °C, with no calculation needed.[14] The Microcontrollers pages of this site covers sensors that send their readings as digital messages.

8. Feeding a microcontroller

A microcontroller can only measure voltages, so the first step is to turn each sensor's change into a voltage between 0 V and its supply voltage.

Resistance to voltage: the divider

A resistive sensor goes into a voltage divider with one fixed resistor.[1] With the fixed resistor RF on top, connected to the supply VCC, and the sensor RS below it to ground, the voltage at the middle is:[3]

Vout = VCC × RS / (RS + RF)

Take the 10 kΩ NTC with a 10 kΩ fixed resistor on 5 V. At 25 °C the two are equal and the output is 2.5 V. At 0 °C it is 3.83 V, at 50 °C 1.33 V and at 100 °C 0.32 V (calculated from the Vishay table). The output changes fastest when the two resistances are equal, so pick a fixed resistor close to the sensor's value in the range you care about.

An NTC thermistor divider and its output voltage Left: a schematic. A plus 5 volt terminal connects through a 10 kilohm fixed resistor to a junction, and from the junction through a 10 kilohm NTC thermistor to ground. A wire from the junction goes to analog input A0. Right: a graph of output voltage from 0 to 5 volts against temperature from minus 40 to 150 degrees Celsius. The curve falls from nearly 4.9 volts at minus 40 through 2.5 volts at 25 degrees, marked as reading 512 and the steepest point at about 11 ADC steps per degree, to 0.32 volts at 100 degrees, where it is flat, under 2 steps per degree. +5 V 10 kΩ fixed NTC 10 kΩ to analog input A0 0 1 2 3 4 5 −40 0 25 50 100 150 2.5 V at 25 °C (reads 512) steepest: about 11 steps per °C at 100 °C: 0.32 V, under 2 steps per °C Temperature (°C) Output (V)
Figure 7. Reading an NTC thermistor. Left: a 10 kΩ fixed resistor and the thermistor form a divider on 5 V; the middle goes to an analog input. Right: the output voltage against temperature, calculated from the Vishay resistance table. The curve is steepest, and the reading most sensitive, near 25 °C, where the two resistances match.

For a photoresistor, which spans a huge range, Adafruit suggests a fixed resistor equal to √(Rmin × Rmax), the square root of the brightest and darkest resistances you expect.[9] For a cell that is 1.5 kΩ in a bright room and 70 kΩ in moonlight, that gives about 10 kΩ (calculated). Adafruit puts the photocell on top, so the voltage rises with light: about 0.6 V at 1 lux and 4.3 V at 100 lux with 10 kΩ on 5 V.[9]

Never take power from a divider's output; it is for signals only (recap).

Voltage to number: the ADC

An analog-to-digital converter (ADC) turns a voltage on a pin into a number.[15] Its resolution, in bits, sets how many different numbers it can give. A 10-bit ADC, as on the classic Arduino Uno's ATmega328P microcontroller, gives 210 = 1,024 levels, from 0 to 1023.[15]​[16] It compares the input with a reference voltage VREF:[16]

ADC reading = VIN × 1024 / VREF

With a 5 V reference, each step is 5 ÷ 1024 ≈ 4.9 mV, and the thermistor's 2.5 V at 25 °C reads as 512 (calculated). Near 25 °C the divider's output changes by about 55 mV per degree, so each degree is about 11 steps; at 100 °C it is under 2 steps (calculated). The ADC only rounds to the nearest step; the thermistor's own tolerance usually limits accuracy more. Adafruit suggests assuming no better than ±0.5 °C with a 1% thermistor on an Arduino.[3] Figure 8 shows the steps.

An ADC turns a voltage into a staircase of numbers A graph of the number reported, 0 to 7 with binary 000 to 111, against input voltage from 0 volts to the reference voltage. A dashed diagonal line shows the real voltage rising smoothly. A solid staircase of eight flat steps follows it, each step one eighth of the reference voltage wide, labeled one step. Notes say step equals the reference voltage divided by 8, or by 1024 for a 10-bit converter. 0 (000) 1 (001) 2 (010) 3 (011) 4 (100) 5 (101) 6 (110) 7 (111) 0 V VREF/2 VREF one step Input voltage Number out the real voltage what a 3-bit ADC reports step = VREF / 8 (10-bit: VREF / 1024)
Figure 8. How an ADC turns a smoothly rising voltage into a staircase of numbers. A 3-bit converter (8 levels) is drawn for clarity; a 10-bit converter has 1,024 much smaller steps. Each step is VREF/2bits wide.

The ATmega328P's ADC works by successive approximation.[16] It first holds the input steady on a tiny internal capacitor (14 pF) in a sample-and-hold circuit, then tests it against a series of trial voltages, deciding one bit at a time from the largest down.[16]

Analogy: guessing a number with "higher or lower". To find a number from 0 to 1023, guess 512; told "lower", guess 256, and so on. Ten guesses always find it, one for each bit.

Where it breaks down: The "guesses" are voltages made inside the chip and judged by a circuit called a comparator in microseconds, and noise on the input can make a judgment go the wrong way.

Two practical rules follow:

A microcontroller is not always needed. A comparator, an op-amp-like chip that switches its output when one input passes another, can compare a thermistor divider with a fixed voltage and switch off a circuit that gets too hot (recap).[4]

Digital sensors and pull-ups

Many Hall switches, including the DRV5023, have an open-drain output: an internal transistor that can pull the output pin down to ground but cannot drive it high. An external pull-up resistor is required to make the high level.[12]​[2] With the magnet away, the resistor pulls the pin high; with the magnet close, the transistor pulls it low. This also lets the sensor run on, say, 12 V while the pull-up goes to the microcontroller's 3.3 V.[12]

TI gives the allowed range: the pull-up must pass no more than 30 mA when the output is low and at least 100 µA, and must be over 500 Ω.[12] On 5 V that is 167 Ω to 50 kΩ (calculated), and SparkFun's usual 10 kΩ fits well.[17] Many microcontrollers have built-in pull-ups that software can switch on; the ATmega328P's are 20 to 50 kΩ.[16]​[17] TI notes that a microcontroller's internal pull-up can be used with the DRV5023.[12]

A thermistor, a photoresistor and a Hall switch wired to a microcontroller A microcontroller box on the right with inputs A0, A1 and D2. Top row: plus 5 volts through a 10 kilohm resistor to a junction, then through an NTC thermistor to ground; the junction goes to A0. Middle row: plus 5 volts through a photoresistor to a junction, then through a 10 kilohm resistor to ground; the junction goes through a 1 kilohm resistor to a point with a 100 nanofarad capacitor to ground, and on to A1. Bottom row: a Hall sensor block powered from plus 5 volts and ground, with a 100 nanofarad capacitor across its supply; its OUT pin goes to D2, with a 10 kilohm pull-up resistor from that line to plus 5 volts. Micro- controller 5 V supply +5 V 10 kΩ NTC A0 +5 V LDR 10 kΩ 1 kΩ 100 nF A1 Hall +5 V 100 nF across V+ and GND 10 kΩ pull-up +5 V OUT D2
Figure 9. Three sensors on one microcontroller with a 5 V supply. A0: a thermistor divider. A1: a photoresistor divider with a 1 kΩ resistor and 100 nF capacitor as a low-pass filter. D2: a Hall switch with an open-drain output and a 10 kΩ pull-up. A 100 nF capacitor across the Hall sensor's supply pins keeps its supply steady. Values are typical, for illustration.

Noise, and how to tame it

Noise is unwanted, random variation on a signal. Digital circuits switching inside and outside the chip create interference, so readings flicker by a few steps even when nothing changes.[16] Common remedies:

Raw noisy readings and their five-sample average A graph of ADC reading from 490 to 560 against reading number from 0 to 79. Gray dots scatter by several steps around a slowly rising trend from about 505 to 540. A teal line, the average of the last five readings, follows the trend much more smoothly. 490 500 510 520 530 540 550 560 0 10 20 30 40 50 60 70 Reading number ADC reading raw readings average of the last 5
Figure 10. Taming noise. Gray: raw readings of a slowly rising signal, with random noise added. Teal: the same readings averaged over five samples. The noise and signal are made up for illustration; the averaging is calculated from them.

9. Testing

Always test sensors with the circuit unpowered when measuring resistance (recap).

In a microcontroller project, print the raw readings before converting them. If the temperature reading goes down when you warm a thermistor, the fixed resistor and thermistor are probably swapped, or the part is a PTC rather than an NTC.[3]

10. Everyday uses

11. Safety

The whole story in brief

Coming up in this section: 19 Speakers, Buzzers, and Microphones.

Sources

All links were checked in October 2026. External links open in a new tab.

  1. SparkFun Electronics, "Voltage Dividers" tutorial (section "Reading Resistive Sensors"): https://learn.sparkfun.com/tutorials/voltage-dividers/all
  2. Allegro MicroSystems, Hall-Effect IC Applications Guide, application note AN27701 (rev. 7, October 2023, PDF): https://www.allegromicro.com/-/media/files/application-notes/an27701-hall-effect-ic-application-guide.pdf
  3. Limor Fried (lady ada), Adafruit Learning System, "Thermistor" (updated January 2025, PDF): https://cdn-learn.adafruit.com/downloads/pdf/thermistor.pdf
  4. Texas Instruments, application report SNOAA12, "Methods to Reduce Thermistor Linearization Error, Memory, and Power Requirements Over Wide Operating Temperature Ranges" (2018, PDF): https://www.ti.com/lit/an/snoaa12/snoaa12.pdf
  5. Vishay BCcomponents, NTCLE100E3 NTC Thermistors, Radial Leaded, Standard Precision data sheet (document 29049, revised May 2025, PDF): https://www.vishay.com/docs/29049/ntcle100.pdf
  6. TDK Electronics, PTC Thermistors: General Technical Information (April 2026, PDF): https://www.tdk-electronics.tdk.com/download/539366/9efbad830a63f945a08e9836dcc81cda/pdf-general-technical-information.pdf
  7. Murata Manufacturing, PRF Series PTC Thermistor (Ceramic PTC Thermistor for Overheat Detection) application note (DM-SA16-E061, PDF): https://www.murata.com/-/media/webrenewal/products/thermistor/ptc/prf/applinote_prfseries.ashx
  8. TDK Electronics, PTC Thermistors: Application Notes (PDF): https://www.tdk-electronics.tdk.com/download/185990/ec8a01ff35b178a2a70d8012e9dc48a3/pdf-applicationnotes.pdf
  9. Limor Fried (lady ada), Adafruit Learning System, "Photocells" (updated January 2025, PDF): https://cdn-learn.adafruit.com/downloads/pdf/photocells.pdf
  10. Advanced Photonix, PDV-P8103 CdS Photocell (Light Dependent Resistor) data sheet (rev. B, PDF): https://www.advancedphotonix.com/media/pages/our-products/light-dependent-resistor-ldr/pdv-p8103/e28dce9e68-1718287431/ds-pdv-p8103.pdf
  11. OpenStax, College Physics 2e, section 22.6, "The Hall Effect": https://openstax.org/books/college-physics-2e/pages/22-6-the-hall-effect
  12. Texas Instruments, DRV5023 Digital-Switch Hall Effect Sensor data sheet (SLIS151G, PDF): https://www.ti.com/lit/ds/symlink/drv5023.pdf
  13. Texas Instruments, DRV5055 Ratiometric Linear Hall-Effect Sensor data sheet (SBAS640C, revised June 2026, PDF): https://www.ti.com/lit/ds/symlink/drv5055.pdf
  14. Texas Instruments, LM35 Precision Centigrade Temperature Sensors data sheet (PDF): https://www.ti.com/lit/ds/symlink/lm35.pdf
  15. SparkFun Electronics, "Analog to Digital Conversion" tutorial: https://learn.sparkfun.com/tutorials/analog-to-digital-conversion/all
  16. Microchip Technology, ATmega48A/PA/88A/PA/168A/PA/328/P data sheet (DS40002061B, 2020), chapter 24, "Analog-to-Digital Converter", and section 30.2, "DC Characteristics" (PDF): https://ww1.microchip.com/downloads/aemDocuments/documents/MCU08/ProductDocuments/DataSheets/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf
  17. SparkFun Electronics, "Pull-up Resistors" tutorial: https://learn.sparkfun.com/tutorials/pull-up-resistors/all
  18. U.S. Consumer Product Safety Commission, "Magnets" safety education center: https://www.cpsc.gov/Safety-Education/Safety-Education-Centers/Magnets