Chapters

26 ADC Fundamentals: Architectures and Interfaces

electronics-controller-design
analog
digital
adc

26.1 Start With the Situation

The required resolution is known, but a bit count does not choose the converter. The team must compare architecture, speed, power, reference stability, source impedance, and noise before the sensor reading can be trusted.

26.2 Overview

This route compares ADC architectures and carries the choice into interface, noise, reference, and deployment evidence.

This is part 2 of 2. Review ADC Fundamentals: Conversion and Resolution when you need the first route.

26.3 Learning Objectives

By the end of this chapter, you will be able to:

  • compare SAR, sigma-delta, and flash ADC architectures
  • select an ADC from resolution, speed, and power requirements
  • control reference, noise, and interface errors in a sensor chain

26.4 Chapter Roadmap

Follow the original sections below in order. They begin at the reviewed split boundary and keep every worked example, figure, check, and supporting banner with the section that owns it.

26.5 ADC Architectures

Once the voltage step is clear, the next question is how the converter finds that code. The architecture determines whether the design prioritizes microsecond conversion, high resolution, low current, or simple integration.

Real-world ADCs use different conversion techniques optimized for speed, accuracy, and power consumption. The most common architecture in IoT microcontrollers is the Successive Approximation Register (SAR) ADC. In Figure 26.1, identify the proposal-and-comparison loop before reading the numbered bit decisions.

Successive approximation register ADC architecture showing comparator, DAC, and SAR logic
Figure 26.1: SAR ADCs dominate IoT applications due to their balance of speed, resolution, and power efficiency.

Follow the loop in Figure 26.1 rather than reading the blocks as a one-way chain. The sample-and-hold keeps the unknown input steady. SAR logic proposes a code, the internal DAC turns that proposal into a comparison voltage, and the comparator reports whether the proposal is above or below the held input. The logic keeps or clears one bit and repeats with a finer proposal. That feedback loop is the physical meaning of the “binary search” described next.

How SAR ADC Works (Binary Search):

The SAR ADC determines the digital output by testing each bit sequentially, starting from the Most Significant Bit (MSB) down to the Least Significant Bit (LSB):

  1. Initial State: All bits set to 0, test voltage (V_test) = 0V
  2. Test MSB (bit 11 for 12-bit ADC): Set bit to 1, DAC outputs V_test = Vref/2
    • If V_input > V_test: Keep bit = 1 (input is in upper half)
    • If V_input < V_test: Clear bit = 0 (input is in lower half)
  3. Test bit 10: Adjust next bit, DAC outputs new V_test
    • Repeat comparison and decision
  4. Continue for all 12 bits (bit 11 → bit 0)
  5. Result: 12-bit digital value represents input voltage

Example: Converting 2.0V with 12-bit SAR ADC (Vref = 3.3V)

StepBitV_testV_input vs V_testDecisionBinary Result
111 (MSB)1.650V2.0V > 1.650VKeep 11???????????
2102.475V2.0V < 2.475VClear 010??????????
392.063V2.0V < 2.063VClear 0100?????????
481.856V2.0V > 1.856VKeep 11001????????
120 (LSB)2.0005V2.0V < 2.0005VClear 0100110110010

SAR ADC Advantages for IoT:

  • Fast Conversion: Typically 1-12 us per sample depending on configuration (ESP32: ~12 us default, faster with DMA)
  • Low Power: ADC peripheral draws only a few mA during conversion
  • Moderate Complexity: Simpler than pipeline ADCs, faster than integrating ADCs
  • Widely Used: Arduino Uno (10-bit SAR), ESP32 (12-bit SAR), STM32 (12-bit SAR)

SAR is a balanced choice, not a universal winner. A flash ADC makes many comparisons in parallel, trading circuit area and power for very low conversion latency. A pipeline ADC divides a conversion across stages so that new samples can enter before earlier ones leave, which suits sustained high-throughput acquisition. A sigma-delta ADC uses oversampling, feedback, and digital filtering to favour fine low-bandwidth measurements over immediate results. These are architectural tendencies; the data sheet still decides whether a particular device meets the required bandwidth, noise, latency, and energy budget.

the linked figure in Part 1-architecture-tradeoffs places those tendencies on two axes before you choose a part. Read horizontal position as relative conversion speed and vertical position as relative resolution, then use the colour-coded power note as a third constraint. The positions are comparative, not a substitute for measured specifications.

Illustrative quadrant chart positioning Flash, Pipeline, SAR, and Sigma-Delta ADC architectures by conversion speed and resolution: Flash is fastest with the lowest resolution and high power, Sigma-Delta is slowest with the highest resolution and low power, Pipeline is fast with high resolution and high power, and SAR sits in the balanced middle as the typical IoT microcontroller default.
Figure 26.2: Flash, Pipeline, SAR, and Sigma-Delta ADC architectures positioned by relative speed and resolution, with SAR as the balanced default most IoT microcontrollers use.

In the linked figure in Part 1-architecture-tradeoffs, start with SAR near the middle: it is often the sensible built-in converter when no single extreme dominates. Move toward flash or pipeline when the signal requires much more throughput and the system can accept the implementation cost. Move toward sigma-delta when the signal changes slowly enough that filtering and conversion latency are acceptable in exchange for lower in-band noise and finer effective resolution. This comparison connects the internal conversion method to the system-level choice: select an architecture only after defining how fast the signal changes and how small a trustworthy change must be.

ADC Resolution, Speed, Power

Option A: 12-bit SAR ADC (ESP32 built-in): Resolution 0.8mV/step at 3.3V reference, conversion time ~12us (default), power consumption minimal (integrated), cost $0 (integrated), max sampling rate ~83 kSPS typical

Option B: 16-bit Sigma-Delta ADC (ADS1115 external): Resolution 0.05mV/step at 3.3V reference, conversion time 8 ms at 16-bit mode, power consumption 150uA continuous, cost $3-5, max sampling rate 860 SPS

Decision Factors: Choose 12-bit SAR for signals changing faster than 100Hz (audio, vibration, motor control) where 0.8mV resolution is adequate. Choose 16-bit Sigma-Delta for precision DC measurements (strain gauges, thermocouples, load cells) where sub-millivolt accuracy matters more than speed.

Voltage VeraCheckpoint: Architecture Choice

You now know:

  • SAR ADCs use a binary-search conversion and fit fast, moderate-resolution IoT work such as ESP32 and STM32 sensor reads.
  • Sigma-delta ADCs trade speed for high resolution, which is why load cells, thermocouples, and pH circuits often use external precision converters.
  • Flash and pipeline ADCs solve high-speed jobs, but their power and complexity make them poor default choices for ordinary low-power IoT sensing.


26.6 Analog-Digital Interface Challenges

Architecture is only part of measurement quality. The front end still has to protect the ADC from noise, source impedance, reference drift, and out-of-band signal content.

Converting real-world analogue signals to digital values introduces several practical challenges. the linked figure in Part 1-noise-sources groups the uncertainty sources around the conversion path so that each later remedy can be tied to the place where its error enters.

ADC noise sources diagram showing quantization noise, thermal noise, and jitter effects
Figure 26.3: Clean ADC readings require addressing multiple noise sources with appropriate filtering and grounding strategies.

Read the linked figure in Part 1-noise-sources from the sensor toward the code. Disturbance can enter with the signal, through the power and reference rails, through the circuit’s resistive elements, or through uncertain sampling time. Quantization then adds a different limitation: even a perfectly clean held voltage must be assigned to one available code. Because these mechanisms enter at different points, “use more bits” cannot be the universal remedy. The diagnostic order is to identify where uncertainty enters, limit it there, and only then ask whether ADC resolution is the remaining constraint.

Key Interface Challenges

1. Quantization Noise (Inherent ADC Limitation)

Quantization error is the difference between the input and the representative level selected for its code. For an ideal converter that rounds to the nearest level, its magnitude is bounded by roughly half a step: Vref/2n+1V_{ref}/2^{n+1} for a unipolar span from zero to VrefV_{ref}. A higher-resolution converter makes that ideal step smaller. Oversampling and averaging can reveal finer information when suitable noise moves the signal across code boundaries, but they do not correct reference error, clipping, or systematic nonlinearity.

2. 1/f Noise (Flicker Noise)

Flicker noise rises toward lower frequencies in many semiconductor devices, so it matters especially when measuring DC and slowly changing signals such as temperature or pressure. Simply collecting more readings may not help as much as it would for independent white noise because successive errors can be correlated. Chopper-stabilised front ends, modulation techniques, careful component choice, and a bandwidth appropriate to the signal are possible controls; the correct choice depends on whether the wanted measurement includes DC.

3. Thermal Noise (Johnson-Nyquist Noise)

Thermal noise is random voltage noise associated with resistance and temperature. Its RMS value over bandwidth ΔfΔf is described by Vrms=4kTRΔfV_{rms}=\sqrt{4kTR\Delta f}. The relationship gives two practical levers: avoid unnecessarily large resistance in noise-critical nodes and do not admit bandwidth the signal does not need. Averaging can reduce the contribution when samples are sufficiently independent, but it trades response time for lower random uncertainty.

4. Power Supply Noise

Switching regulators, radios, clocks, and actuators can couple disturbance into the input, ground return, supply, or reference. Treat the reference as part of the measurement, not merely as a power pin: movement in the reference changes the meaning of every code. Keep high-current switching paths away from sensitive analogue paths, place the manufacturer-recommended decoupling close to the relevant pins, and follow the converter data sheet’s grounding and layout guidance. A blanket split-ground rule can create a worse return path, so verify current flow on the actual board.

Best Practices for Clean ADC Readings:

The common thread is to match every remedy to a mechanism. Use an anti-alias or low-pass filter when unwanted bandwidth is entering the sample; average only when the error behaves like reducible random noise; choose and decouple the reference according to the accuracy budget; control return-current paths in the layout; and calibrate offset or gain when the product has a trustworthy reference condition. After those controls, repeated readings and known inputs can show whether the remaining uncertainty comes from the sensor, front end, reference, or converter.

Voltage VeraCheckpoint: Noise and Conditioning

You now know:

  • Quantization noise is built into finite bit depth, but supply noise, thermal noise, 1/f noise, and source impedance come from the surrounding circuit.
  • Averaging 16 to 64 samples can reduce random noise by about 4x to 8x, but it cannot fix bias, nonlinearity, or correlated interference.
  • A practical ADC input often needs an RC low-pass filter, a stable reference, calibration, and careful grounding before more bits help.


26.7 ADC Resolution Comparison Table

ResolutionTotal ValuesVoltage Step (5V)Voltage Step (3.3V)Max Error (5V)Max Error (3.3V)Typical Applications
6-bit6478.1 mV51.6 mV+/-39 mV+/-25.8 mVSimple threshold detection
8-bit25619.5 mV12.9 mV+/-9.8 mV+/-6.45 mVBasic sensors, DAC audio
10-bit1,0244.88 mV3.22 mV+/-2.44 mV+/-1.61 mVArduino, general IoT sensors
12-bit4,0961.22 mV0.806 mV+/-0.61 mV+/-0.403 mVESP32, STM32, precision sensors
14-bit16,3840.305 mV0.201 mV+/-0.15 mV+/-0.101 mVIndustrial sensors
16-bit65,5360.076 mV0.050 mV+/-0.038 mV+/-0.025 mVThermocouples, load cells
24-bit16,777,2160.298 uV0.197 uV+/-0.149 uV+/-0.098 uVHigh-precision weighing (HX711)

26.7.1 Interactive ADC Resolution Calculator

Use the sliders below to explore how bit depth, reference voltage, and input voltage affect ADC output values.


26.8 Typical Microcontroller ADCs

PlatformResolutionVrefChannelsSample RatePrecision
Arduino Uno10-bit (1024)5V6~9.6 kHz+/-2 LSB
ESP3212-bit (4096)3.3V18~83 kHz+/-6 LSB
STM3212-bit (4096)3.3V161 MHz+/-1.5 LSB
Raspberry Pi Pico12-bit (4096)3.3V3500 kHz+/-2 LSB

LSB = Least Significant Bit (smallest measurable change)

26.8.1 Arduino Uno Example

void setup() {
  Serial.begin(9600);
}

void loop() {
  // Read analog sensor on pin A0
  int sensorValue = analogRead(A0);  // Returns 0-1023

  // Convert to voltage (10-bit ADC, 5V reference)
  float voltage = sensorValue * (5.0 / 1024.0);

  // Convert to temperature (TMP36 sensor: 500mV offset, 10mV/C)
  float temperatureC = (voltage - 0.5) * 100;

  Serial.print("Sensor: ");
  Serial.print(sensorValue);
  Serial.print(" | Voltage: ");
  Serial.print(voltage);
  Serial.print("V | Temp: ");
  Serial.print(temperatureC);
  Serial.println("C");

  delay(1000);  // Read every second
}

Resolution: Each step = 5V / 1024 = 4.88mV

26.8.2 Complete ADC Workflow Visualization

The code example above begins at analogRead(), but a trustworthy measurement begins earlier and continues later. Use the linked figure in Part 1-signal-path to locate the ADC inside the complete information path. Read from the physical quantity at the top toward network transmission at the bottom, and notice which stages can still change measurement quality.

Vertical seven-stage pipeline showing physical measurement, signal conditioning, and ADC conversion as the stages that set measurement quality, followed by downstream digital processing, data formatting, packet assembly, and network transmission.
Figure 26.4: From physical measurement through signal conditioning and ADC conversion to the downstream digital stages that turn a raw reading into usable system data.

The first three stages in the linked figure in Part 1-signal-path form the analogue-to-digital measurement boundary. The sensor turns the physical quantity into an electrical signal, signal conditioning scales and filters it, and the ADC samples and quantizes it. Everything below that boundary operates on the resulting code: processing may calibrate or convert units, formatting gives the reading a data representation, and packet and network stages move it elsewhere. If a reading is already clipped, noisy, or too coarsely quantized at the ADC stage, the downstream stages can label the problem but cannot reconstruct the missing measurement. That is why ADC selection belongs in an end-to-end sensor workflow rather than as an isolated bit-depth choice.


ADC Resolution Misconceptions

The Myth: Many IoT developers believe that using a 16-bit ADC instead of a 12-bit ADC automatically improves measurement accuracy.

The Reality: Sensor accuracy, not ADC resolution, is the limiting factor in 83% of IoT applications.

Real-World Example - Soil Moisture Monitoring:

A 2019 agricultural IoT study found that upgrading from 12-bit to 16-bit ADCs provided zero measurable improvement in 83% of installations because:

  • Capacitive soil moisture sensors: +/-2% accuracy (66mV error at 3.3V)
    • 12-bit ESP32: 0.806mV resolution (82x finer than sensor accuracy)
    • 16-bit ADS1115: 0.0504mV resolution (1,310x finer than sensor accuracy)
    • Result: Both ADCs capture the same sensor limitations

When 16-bit ADC Actually Matters (the 17% where it helps):

  • Thermocouples: Type K generates 41uV/C → 16-24 bit ADC essential for 0.1C resolution
  • Load cells (precision weighing): 0.01% accuracy requires uV-level precision
  • Medical ECG: 1mV signals need high resolution to detect subtle arrhythmias
  • pH sensors: 59mV/pH unit → 16-bit ADC needed for 0.01 pH resolution

Best Practice: Match ADC resolution to sensor accuracy - don’t waste money on 16-bit ADCs for +/-2-5% accuracy sensors!



26.9 Real-World IoT ADC Applications

Understanding ADC requirements helps you select the right hardware for an IoT project, but application names alone do not select a converter. the linked figure in Part 1-iot-requirements is a circuit-level reminder of the decision inputs. Trace the sensor voltage into the ADC, locate the reference that defines the code scale, and then follow the digital output into the processor. Each connection corresponds to a question the application table must answer.

Basic ADC circuit configuration showing analog input, reference voltage, and digital output connections for common IoT sensor applications
Figure 26.5: Match your sensor application to the appropriate ADC type based on accuracy needs and signal bandwidth.

In the linked figure in Part 1-iot-requirements, the input connection prompts questions about the sensor’s voltage span, source impedance, useful bandwidth, and required smallest trustworthy change. The reference connection prompts questions about how stable and accurate the scale must be. The digital side prompts questions about how quickly results are needed and how the processor will read them. The rows below summarise common starting points, but the surrounding signal and timing requirements—not the category label—justify the final part choice.

Application CategoryExample SensorsRecommended ADCTypical Cost
Basic MonitoringDHT22, LDR, capacitive soilBuilt-in 10-12 bit$0 (integrated)
Precision MeasurementLoad cells, thermocouples, pHExternal 16-24 bit (HX711, ADS1115)$2-8
High-Speed SamplingAudio, vibration, current senseFast 12-14 bit SAR (MCP3208)$3-15
Industrial GradeProcess control, calibration18-24 bit (ADS1256)$10-50

The opening light-sensor example is a useful concrete case. Before looking at the photograph, connect it to the first row: the sensing element does not emit a digital light value. It changes resistance, so a divider or other front end must first turn that change into a voltage within the ADC’s input range.

A round light-dependent resistor (LDR) with an orange zigzag cadmium-sulfide track and two leads
An LDR (photoresistor) -- the "light sensor" from the opening example and the "Basic Monitoring" row above. Its resistance drops as light increases, so a fixed resistor in series turns that resistance swing into a 0-3.3V divider output a built-in 10-12 bit ADC can sample directly, no external ADC chip required. Photo: Suyash Dwivedi, CC BY-SA 4.0

Follow the component from its orange sensing track to its two leads. Light changes the track’s resistance; the surrounding circuit converts that resistance into a voltage; the built-in ADC assigns the voltage a code. The photograph therefore reconnects the application table to the chapter’s running pipeline: a “basic monitoring” sensor is simple only after its analogue behaviour, conditioning circuit, reference, and required resolution have been checked.

The precision logger example below uses the same workflow in a tighter setting: start from the sensor’s voltage per degree, compare that to ADC step size, then decide whether the built-in ADC is enough.


This example demonstrates the complete decision process for choosing ADC specifications based on application requirements.

Scenario: Design a temperature data logger for a laboratory freezer that must:

  • Measure -80°C to +20°C range (100°C span)
  • Detect temperature changes of 0.1°C or better
  • Log readings every 10 seconds for 7 days continuously
  • Use a thermocouple (Type K: 41 µV/°C sensitivity)

Step 1: Calculate Required Voltage Resolution

Type K thermocouple generates 41 µV per °C. To detect 0.1°C changes:

  • Minimum voltage step = 0.1°C × 41 µV/°C = 4.1 µV per step

Step 2: Determine ADC Bit Depth

The 100°C temperature span generates:

  • Total voltage range = 100°C × 41 µV/°C = 4,100 µV = 4.1 mV

To achieve 4.1 µV resolution across 4.1 mV range:

  • Required steps = 4.1 mV / 4.1 µV = 1,000 steps
  • Required bits = log₂(1000) = 9.97 bits → Round up to 10-bit minimum

But this ignores noise! With noise, we need 2-3 bits extra headroom.

Better approach: Use 16-bit ADC with appropriate voltage reference.

Step 3: Select Voltage Reference

A 16-bit ADC with 3.3V reference gives:

  • Voltage per step = 3.3V / 65,536 = 50.35 µV/step

This is 12× coarser than our 4.1 µV requirement!

Solution: Use a lower voltage reference matched to signal range:

  • With 10 mV reference voltage: 10 mV / 65,536 = 0.15 µV/step ✓ (exceeds 4.1 µV requirement)

Step 4: Choose ADC Architecture

ADC TypeResolutionSpeedSuitability
ESP32 built-in SAR12-bit~12 µs✗ Insufficient resolution for µV signals
ADS1115 (Sigma-Delta)16-bit8 ms✓ Good resolution, but 8 ms is slow
ADS1256 (Sigma-Delta)24-bit33 ms @ 30 SPS✓✓ Ideal for thermocouples

Decision: ADS1256 24-bit ADC

  • Resolution: 24-bit = 16.7 million levels
  • With 2.5V reference: 2.5V / 16,777,216 = 0.149 µV/step (about 28× better than the 4.1 µV requirement)
  • Built-in programmable gain amplifier (PGA) boosts µV signals
  • Sampling rate: 30 SPS sufficient for 10-second logging interval

Step 5: Verify Quantization Error

Quantization error = ±(Vref / 2^(n+1))

  • For ADS1256: ±(2.5V / 2^25) = ±0.0745 µV
  • Temperature error = 0.0745 µV / 41 µV/°C = ±0.0018°C (far exceeds 0.1°C requirement)

Step 6: Final BOM and Justification

ComponentCostJustification
ADS1256 24-bit ADC$15Only ADC with sufficient µV resolution for Type K thermocouple
Type K Thermocouple$8Low-cost, wide range (-270°C to +1372°C covers -80°C to +20°C)
2.5V Precision Vref (REF5025)$3±0.05% accuracy eliminates gain errors
ESP32 (Logging)$5Logs to SD card, built-in Wi-Fi for data upload
Total$31Justified by 0.1°C accuracy requirement

Alternative Rejected: Using ESP32’s built-in 12-bit ADC with RTD sensor

  • RTD (PT100) generates ~0.385 Ω/°C → requires Wheatstone bridge → complexity
  • 12-bit resolution insufficient for 0.1°C at this voltage range
  • Would need external amplifier anyway, negating cost savings

Key Lesson: Sensor output voltage and required precision dictate ADC specifications. Don’t try to force a built-in 12-bit ADC to do a 24-bit ADC’s job!

Voltage VeraCheckpoint: Selection and Applications

You now know:

  • Basic monitoring can often use the built-in 10-12 bit ADC because the sensor accuracy is much coarser than the ADC step size.
  • Precision measurements such as thermocouples and load cells need the signal range, required voltage step, architecture, and reference voltage checked together.
  • The freezer logger example rejects the ESP32 built-in ADC because the Type K thermocouple signal demands microvolt-scale resolution.

The big picture: A successive approximation register (SAR) ADC performs a 12-step binary search to determine which of 4,096 discrete voltage levels most closely matches the analog sensor input.

Picture one conversion before using the summary steps. The sample-and-hold first freezes the sensor’s 2.0 V input, giving the comparator a stable target. The SAR then proposes the midpoint code, and the internal DAC turns that code into 1.65 V. Because the held input is higher, the most-significant bit remains set. The next proposal adds half of the remaining range, producing 2.475 V; that proposal is too high, so the next bit is cleared. Each later comparison halves the unresolved interval again. By the time the least-significant bit has been tested, the register itself is the output code. Multiplying that code by the ideal step reconstructs the representative level, not a claim that the original voltage was measured without noise or error.

Step-by-step breakdown:

  1. Sample and Hold: Capture the instantaneous sensor voltage (e.g., 2.0V from temperature sensor) and hold it stable - Real example: ESP32 samples in microseconds
  2. Binary Search Iteration: Test each bit from MSB to LSB using an internal DAC - Real example: For 2.0V input with 3.3V reference, bit 11 sets to 1 (test 1.65V < 2.0V), bit 10 sets to 0 (test 2.475V > 2.0V)
  3. Digital Output: After 12 comparisons, output binary value represents closest quantization level - Real example: Final output 100110110010 (decimal 2482) → 2482 × (3.3V / 4096) = 2.000V (reconstructed from 2.0V input)

Why this matters: Understanding that ADC resolution (4,096 steps) is independent of reference voltage (3.3V max) prevents common mistakes like trying to measure 12V directly on an ESP32 without a voltage divider.

ADC and Signal Processing
ConceptRelates ToRelationship
ADC ResolutionNyquist SamplingResolution determines voltage precision, sampling rate determines time precision
Quantization ErrorSensor CalibrationCalibration corrects offset/gain errors, but cannot eliminate quantization noise
SAR ArchitecturePower BudgetMicrosecond-scale conversion with minimal current draw per reading - faster than sigma-delta but lower resolution

Cross-module connection: Nyquist Sampling Theory - Explains how fast to sample based on signal frequency (complements ADC resolution)

26.10 ADC Architecture Contracts

The main chapter above stays focused on ADC operation, resolution formulas, quantization, architectures, and selection workflow. For the deeper design contract behind SAR input settling, sigma-delta oversampling, dither requirements, and noise shaping, continue to ADC Architecture and Resolution Contracts.

26.11 Summary

This chapter covered Analog-to-Digital Converters (ADCs) - the essential bridge between analog sensors and digital microcontrollers.

26.11.1 Key Takeaways

ConceptKey PointPractical Implication
ADC FunctionConverts continuous voltage to discrete digital valuesEvery analog sensor needs an ADC to communicate with microcontrollers
ResolutionBit depth determines precision: 10-bit = 1,024 levels, 12-bit = 4,096 levelsHigher resolution ≠ always better; match to sensor accuracy
Quantization ErrorInherent error = Vref / 2^(n+1)12-bit @ 3.3V = +/-0.4mV max error per sample
SAR ArchitectureBinary search algorithm, microsecond-scale conversionStandard in ESP32, STM32, Arduino - good for most IoT sensors
Sigma-DeltaOversampling + decimation, 8 ms+ conversionUse for precision (load cells, thermocouples, pH sensors)
Noise MitigationRC filter + averaging + proper groundingSoftware averaging (16-64 samples) is free and effective

26.11.2 Decision Framework

Use the linked figure in Part 1-decision-tree as a route through the chapter’s decisions, not as a bit-depth lookup. Start at signal bandwidth, then follow the branches through sensor accuracy and power budget. At every branch, carry forward the input range, reference quality, and noise evidence established earlier.

A step-by-step ADC selection guide that starts with signal bandwidth, then checks sensor accuracy and power budget before recommending 8-bit, 10-12-bit, or 16-bit conversion paths.
Figure 26.6: Start with signal bandwidth, sensor accuracy, and power budget before deciding whether a simple 8-bit, default 10-12-bit, or precision 16-bit ADC is justified.

Read the linked figure in Part 1-decision-tree from the first question rather than jumping to a recommendation. Bandwidth constrains how quickly the converter and front end must respond. Sensor accuracy then prevents buying code resolution that the source cannot support, while the power branch tests whether the technically capable option fits the device’s energy budget. The destination boxes are starting classes for investigation; a real selection still requires data-sheet limits and measurements. This brings the running narrative together: architecture, reference, resolution, sampling, and noise form one evidence-backed choice.

Common Pitfalls

Sampling a signal at less than twice its highest frequency folds high-frequency content down into the baseband, producing false low-frequency artefacts. Always place an anti-aliasing low-pass filter before the ADC input and ensure the sample rate is at least 2× the maximum signal frequency.

The microcontroller supply voltage (3.3 V or 5 V) fluctuates with load current and decoupling quality. Using it as the ADC reference makes all readings noisy and supply-dependent. Use a dedicated precision voltage reference IC for accuracy-critical applications.

ADC input sample-and-hold capacitors need time to charge fully via the source impedance. A high-impedance sensor connected directly to the ADC will produce low or inaccurate readings. Buffer high-impedance sources with a unity-gain op-amp before the ADC input.

A 12-bit ADC has 4096 levels (resolution) but its effective number of bits (ENOB) may be only 10 due to noise, offset, and nonlinearity. Datasheet resolution is a theoretical maximum; measure actual noise floor and compare to required accuracy before selecting an ADC.

26.12 What’s Next?

Now that you understand ADC fundamentals, you have a critical question to answer: How fast should you sample? the linked figure in Part 1-complete marks that hand-off. Read it from the completed conversion concepts on the left toward sampling theory on the right; the arrow is a dependency, not just a next-page link.

Completed ADC fundamentals lead to Nyquist sampling theory and worked examples. The next question is how fast to sample to prevent aliasing.
Figure 26.7: ADC Fundamentals Complete -> Next: Nyquist Sampling Theory

The completed side of the linked figure in Part 1-complete gives you the converter vocabulary: sample, quantize, encode, and evaluate noise. The next side asks how closely sample times must be spaced so that changing signal content is represented rather than misidentified. Nyquist-Shannon sampling theory supplies that constraint, and the following chapter connects it to anti-alias filtering and practical sample-rate choice.

Continue to Nyquist Sampling Theory →

Learning Path - Analog/Digital Series:

ChapterFocusWhen to Read
Binary FundamentalsNumber systems, 2’s complementBefore ADC if binary math is unfamiliar
ADC Fundamentals (this chapter)Resolution, architectures, noiseCore knowledge for all sensor projects
ADC Architecture and Resolution ContractsSAR settling, oversampling, noise shapingDeep dive after ADC fundamentals
Nyquist Sampling TheorySample rates, aliasingNext - critical for time-varying signals
ADC/DAC Worked ExamplesCalculations, code examplesAfter Nyquist - practice problems
DAC and PWM OutputGenerating analog from digitalFor actuator control applications

Foundation Chapters (if needed):

Hands-On Practice:

Interactive Tools:

  • Sensor Calibration Tool - Interactive tool to correct ADC offset and gain errors
  • ADC Resolution Visualizer - See how bit depth affects quantization of analog signals