the analog-to-digital converter (ADC)
/ ADC, A-D-C /
An analog-to-digital converter is the doorway from the real, continuous world into the digital one. A microphone, a temperature sensor, a strain gauge — all produce a smoothly varying voltage. A processor can only handle numbers. The ADC reads that voltage and reports back a number proportional to it, ready for software to store, display, or compute on. It is the eye through which a digital system sees the analog world.
It does its job in two stitched-together steps. First it samples: it takes a snapshot of the input at one instant (usually freezing it with a sample-and-hold). Then it quantizes: it compares that frozen voltage against its reference and decides which of its 2^n levels it is closest to, reporting that level as a binary code. For an n-bit ADC the output code is roughly Vin / Vref times 2^n. Example: 2.50 V into a 12-bit ADC with a 5.00 V reference gives code = 2.50/5.00 times 4096 = 2048. The full-scale point and the LSB step are both set by the reference.
Why this matters: the ADC is the front end of nearly every measurement and embedded system, and its honesty bounds everything downstream — software cannot recover detail the ADC never captured. There is no single best ADC; there is a family of architectures, each an honest tradeoff of speed, resolution, power, and cost. Flash is blisteringly fast but power-hungry and low-resolution; SAR is the balanced general-purpose workhorse; sigma-delta trades speed for very high resolution; dual-slope is slow but superbly accurate and noise-rejecting. Choosing among them is a core design skill.
A 10-bit ADC with a 3.3 V reference reading a 1.65 V sensor output returns code = 1.65/3.3 times 1024 = 512 — exactly half scale, as expected for half the reference. Each code step represents 3.3/1024 = 3.22 mV.
Voltage in, a proportional number out, referenced to Vref.
An ADC reading is only as trustworthy as the reference and the anti-alias filter in front of it. A perfect 16-bit ADC fed a noisy reference, or fed frequencies above Nyquist, returns precise-looking numbers that are quietly wrong.