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
- Resistance is opposition to current, measured in ohms (Ω). Ohm's law links it to voltage and current: V = I × R (recap).
- Two resistors in series across a supply make a voltage divider: the voltage at the point between them depends on the ratio of their resistances (recap).
- Heat frees more charge carriers in a semiconductor, so its resistance falls as it warms, while a metal's resistance rises (recap).
- A current flowing through a wire creates a magnetic field around it, and a magnetic field pushes sideways on moving charges (recap).
- A microcontroller is a small programmable computer on one chip. Many contain an analog-to-digital converter that measures a voltage and turns it into a number (recap).
- A pull-up resistor holds a digital input high until something pulls it low (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:
- Resistive sensors are simply resistors whose value changes with the quantity being sensed. Thermistors and photoresistors are resistive. They make no voltage of their own, so the circuit must pass a small current through them to read them.[1]
- Active sensors are small integrated circuits with their own power pins that produce an output voltage directly. Hall-effect sensors are active: a tiny sensing element shares a chip with an amplifier and other circuits.[2]
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).
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]
- R25, the resistance at 25 °C. For this part it is 10,000 Ω, or 10 kΩ. The "103" in the part number is the usual resistor code: 10 followed by three zeros.[5]
- Tolerance on R25, here ±2, 3 or 5%.[5]
- The B value, in kelvins (K), describes how steeply the resistance falls with temperature. It is written with the two temperatures it is measured between, such as B25/85 = 3977 K for this part.[5] A bigger B means a steeper curve. The kelvin is the scientific unit of temperature; a change of 1 K equals a change of 1 °C, and 0 °C is 273.15 K.
- Temperature coefficient, the percentage change per degree: −4.38% per kelvin at 25 °C.[5] For a 10 kΩ part, that is about 438 Ω per degree (calculated).
The datasheet gives a table of resistance against temperature. A few rows for this part:[5]
| Temperature | −40 °C | 0 °C | 25 °C | 50 °C | 100 °C |
|---|---|---|---|---|---|
| Resistance | 332 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).
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]
- Linear PTC thermistors, made of silicon and also called silistors, rise steadily, by about 0.6 to 0.8% per kelvin. They are much more linear than NTC types and are used for sensing.[4] The trade-off is a smaller change: under a fifth of an NTC's 4.4% per kelvin (calculated).
- Switching PTC thermistors barely change until a set temperature, then rise very steeply. They are used for current limiting and thermal protection.[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]
- Dark resistance: at least 0.5 MΩ (half a million ohms).
- Light resistance at 10 lux: 16 to 33 kΩ, a two-to-one spread between parts.
- Sensitivity (often called gamma): 0.75, the slope of the resistance-versus-light line on a log-log graph. Ten times more light divides the resistance by about 5.6 (calculated, 100.75).
- Speed: about 60 ms to respond when light arrives and 25 ms when it goes.
- Limits: 150 V peak and 90 mW.
- Color response: 400 to 700 nm, similar to the human eye.
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]
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
- Linear (analog) sensors give a voltage proportional to the field. TI's DRV5055 outputs half its supply voltage with no field present. A south pole raises the output and a north pole lowers it. The A1 version changes by 100 mV per millitesla on a 5 V supply, over a range of ±21 mT.[13] So a field of +10 mT gives 2.5 + 1.0 = 3.5 V, and −10 mT gives 1.5 V (calculated). Its output is ratiometric: it scales with the supply voltage, a property explained in section 8.[13]
- Switches give a digital output. Inside, a Schmitt trigger, a circuit with two thresholds, turns the amplified Hall voltage into a clean on or off, without the bounce of a mechanical switch.[2] TI's DRV5023 (AJ version) turns on when the field rises past its operate point of typically 6.9 mT and turns off only when it falls below its release point of typically 3.2 mT.[12] The gap between them, called hysteresis, stops the output chattering when the magnet hovers near one threshold.[2]
- Latches turn on with a south pole and stay on after the magnet leaves; only a north pole turns them off. Spinning magnets pass a latch's face alternately north and south, so latches are used to track the rotor position in brushless motors.[2]
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
| Sensor | Senses | Output | Key numbers | Speed |
|---|---|---|---|---|
| NTC thermistor | Temperature | Resistance falls as it warms | R25 = 10 kΩ, B = 3977 K | 15 s time constant in air |
| PTC thermistor | Temperature | Resistance rises, gently (silicon) or sharply (ceramic) | 470 Ω at 25 °C, ×10 by 105 °C (ceramic example) | Like NTC: heat must soak in |
| Photoresistor | Light | Resistance falls with more light | 16–33 kΩ at 10 lux, ≥0.5 MΩ dark | Tens of milliseconds |
| Hall sensor | Magnetic field | Voltage (linear) or on/off (switch) | 100 mV/mT; or on at 6.9 mT, off at 3.2 mT | Microseconds |
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.
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.
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:
- Keep the source resistance moderate. The ADC is designed for sources of about 10 kΩ or less; higher resistance charges the hold capacitor slowly and can give errors.[16] A divider's effective source resistance is its two resistors in parallel, 5 kΩ for two 10 kΩ parts (calculated). When switching between several sensors, Adafruit's tip is to read each pin twice and discard the first reading.[9]
- Use the same voltage for the sensor and the reference. If the divider and the ADC reference share one supply, the supply voltage cancels out of the result; this is called a ratiometric measurement, and most thermistor circuits use it.[4][3] The DRV5055 Hall sensor is ratiometric for the same reason.[13] A sensor with a fixed output, such as the LM35, needs a steady reference instead (voltage references).
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]
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:
- Average several readings. Adafruit takes about five readings in a row and averages them.[3] Random noise partly cancels out; slow signals such as temperature lose nothing.
- Filter in hardware. A resistor in series and a capacitor to ground form a low-pass filter that passes slow changes and blocks fast ones (recap). Microchip advises removing fast components before the ADC input.[16] TI suggests the same at a DRV5055's output, but warns never to connect a capacitor directly without a resistor, as that can make the output unstable.[13] With 1 kΩ and 100 nF, the filter's cutoff frequency, the point where it starts to block, is 1/(2πRC) ≈ 1.6 kHz (calculated). That passes any change in light level but blocks fast switching noise; a larger capacitor filters more but responds more slowly.
- Use a quiet reference and supply. Adafruit found an Arduino's 3.3 V line quieter than its USB 5 V and uses it as the reference.[3] Decoupling capacitors next to each chip help too (recap).
- Keep analog wiring short and away from fast-switching digital lines, and avoid switching nearby output pins during a conversion.[16]
- Add hysteresis to decisions. A program that turns a fan on at 30 °C should turn it off at, say, 28 °C, not 30, just as a Hall switch does in hardware.[2]
9. Testing
Always test sensors with the circuit unpowered when measuring resistance (recap).
- Thermistors. Measure the resistance with a multimeter. A 10 kΩ NTC should read close to 10 kΩ at room temperature; Adafruit read 8 kΩ in a 30 °C room,[3] in line with the table's 8.06 kΩ at 30 °C.[5] Pinch it between your fingers, away from the metal probes, and the reading should fall steadily.[3] An open circuit or an unchanging reading means a broken part.
- PTC thermistors. Measure cold and compare with the datasheet's 25 °C value. A switching type should barely change in your hand.
- Photoresistors. Measure the resistance while shading the cell with your hand or switching lights off; the value should change many times over. Try ranges from 1 kΩ to 1 MΩ on a manual meter.[9]
- Hall switches. Power the sensor from 5 V with a 10 kΩ pull-up on its output, and measure the output with a multimeter. Bring a magnet's south pole to the marked face: the output should drop near 0 V, and rise again as the magnet moves away.[12] If nothing happens, flip the magnet; a unipolar switch ignores the north pole.
- Linear Hall sensors. With no magnet nearby, the output should sit at half the supply voltage; it should rise for one pole and fall for the other.[13]
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
- NTC thermistors measure temperature in consumer and industrial products,[5] and limit the inrush current at switch-on in power supplies.[4]
- Ceramic PTC thermistors start refrigerator compressor motors, protect motors and transformers from overheating, and serve as self-regulating heaters in glue guns, hair curlers and car carburetor preheaters.[6]
- Photoresistors switch night lights and solar street lights on at dusk, and appear in light meters, flame detectors and audio compressors.[10]
- Hall sensors appear in car ignition systems, keyboards, speed sensors, current sensors and brushless motors,[2] and detect doors opening or a device sitting in its dock.[12]
11. Safety
- Most sensor projects are low-voltage and safe. Keep them that way: power them from a 3.3 or 5 V supply or batteries, not from mains (recap).
- Never feed an input more than its supply voltage. The ATmega328P's ADC reads 0 V to its supply voltage;[16] a sensor on a higher supply, such as a 12 V Hall switch, must have its pull-up connected to the microcontroller's supply, not the sensor's.[12]
- A thermistor's coating is not insulation. Vishay states that its coating "has no specified insulation properties".[5] Never press a bare thermistor against anything connected to mains or a high voltage, and use a sealed, waterproof probe for liquids. Respect the probe's limits: Adafruit's probe is rated to 125 °C but its cable only to 105 °C.[3]
- PTC heaters and inrush limiters run hot. PTC heating elements are designed with surface temperatures from 40 up to 280 °C, depending on the part.[8] Do not touch them in operation, and keep them away from plastics. A thermistor in a mains power supply is also live.
- Stay within a photoresistor's limits of voltage and power (150 V and 90 mW for the PDV-P8103), and treat sensors as sensitive to static.[10] More on handling chips in Integrated Circuits.
- Keep strong magnets away from children. Magnets used to test Hall sensors are often small and powerful. If a child swallows two or more, they can attract each other inside the body and cause serious injury; seek medical help immediately.[18]
The whole story in brief
- A sensor turns a physical quantity into an electrical change; resistive sensors change resistance, active sensors produce a voltage.
- NTC thermistors fall in resistance as they warm, steeply and nonlinearly; R25 and the B value describe them.
- PTC thermistors rise: gently and linearly (silicon) or sharply above the Curie temperature (ceramic), which suits protection and heaters.
- Photoresistors fall in resistance with light; they are cheap and simple but slow and imprecise.
- Hall sensors detect magnetic fields through the Hall effect, giving a proportional voltage or a clean on/off with hysteresis.
- A divider turns resistance into voltage; an ADC turns voltage into a number; ratiometric wiring cancels supply changes.
- Open-drain outputs need pull-ups; averaging, filtering and short wiring tame noise.
Coming up in this section: 19 Speakers, Buzzers, and Microphones.
Sources
- SparkFun Electronics, "Voltage Dividers" tutorial (section "Reading Resistive Sensors"): https://learn.sparkfun.com/tutorials/voltage-dividers/all
- 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
- Limor Fried (lady ada), Adafruit Learning System, "Thermistor" (updated January 2025, PDF): https://cdn-learn.adafruit.com/downloads/pdf/thermistor.pdf
- 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
- 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
- TDK Electronics, PTC Thermistors: General Technical Information (April 2026, PDF): https://www.tdk-electronics.tdk.com/download/539366/9efbad830a63f945a08e9836dcc81cda/pdf-general-technical-information.pdf
- 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
- TDK Electronics, PTC Thermistors: Application Notes (PDF): https://www.tdk-electronics.tdk.com/download/185990/ec8a01ff35b178a2a70d8012e9dc48a3/pdf-applicationnotes.pdf
- Limor Fried (lady ada), Adafruit Learning System, "Photocells" (updated January 2025, PDF): https://cdn-learn.adafruit.com/downloads/pdf/photocells.pdf
- 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
- OpenStax, College Physics 2e, section 22.6, "The Hall Effect": https://openstax.org/books/college-physics-2e/pages/22-6-the-hall-effect
- Texas Instruments, DRV5023 Digital-Switch Hall Effect Sensor data sheet (SLIS151G, PDF): https://www.ti.com/lit/ds/symlink/drv5023.pdf
- Texas Instruments, DRV5055 Ratiometric Linear Hall-Effect Sensor data sheet (SBAS640C, revised June 2026, PDF): https://www.ti.com/lit/ds/symlink/drv5055.pdf
- Texas Instruments, LM35 Precision Centigrade Temperature Sensors data sheet (PDF): https://www.ti.com/lit/ds/symlink/lm35.pdf
- SparkFun Electronics, "Analog to Digital Conversion" tutorial: https://learn.sparkfun.com/tutorials/analog-to-digital-conversion/all
- 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
- SparkFun Electronics, "Pull-up Resistors" tutorial: https://learn.sparkfun.com/tutorials/pull-up-resistors/all
- U.S. Consumer Product Safety Commission, "Magnets" safety education center: https://www.cpsc.gov/Safety-Education/Safety-Education-Centers/Magnets