72  ADC Resolution Visualizer

Understanding Analog-to-Digital Conversion

72.1 ADC Resolution Visualizer

NoteLearning Objectives

By using this interactive tool, you will be able to:

  • Understand how bits translate to measurement steps
  • Visualize quantization error in real-time
  • Calculate voltage resolution for different ADC configurations
  • Apply ADC concepts to real sensor applications

ADC = Analog-to-Digital Converter - It turns smooth analog voltages into discrete digital numbers.

Concept Explanation
Resolution Number of bits - determines how many “steps”
8-bit ADC 256 steps (2^8)
10-bit ADC 1024 steps (2^10)
12-bit ADC 4096 steps (2^12)

Real Example: A 10-bit ADC measuring 0-3.3V:

  • Step size = 3.3V / 1024 = 3.2 mV per step
  • Temperature sensor with 10mV/C resolution needs 3+ ADC steps per degree

72.2 Quick Start Presets

Platform ADC Resolution Reference Voltage Typical Use
Arduino Uno 10-bit 5.0V Hobby projects, basic sensors
Arduino Due 12-bit 3.3V Higher precision applications
ESP32 12-bit 3.3V Wi-Fi IoT devices
STM32F4 12-bit 3.3V Industrial applications
Raspberry Pi Pico 12-bit 3.3V Education, prototyping
nRF52840 14-bit 0.6-3.6V Low-power BLE devices
ADS1115 (external) 16-bit 2.048-6.144V High-precision measurement

Choosing ADC Resolution:

  • 8-bit: Basic on/off detection, coarse measurements
  • 10-bit: General sensing, temperature, light levels
  • 12-bit: Most IoT applications, good balance of precision/speed
  • 14-16 bit: Scientific instruments, audio, precision measurement

72.3 ADC Configuration


72.4 ADC Statistics


72.5 Signal Visualization


72.6 Quantization Error Analysis


72.7 IoT Sensor Applications

How does ADC resolution affect real sensor measurements?


72.8 Resolution Comparison Table


72.9 Knowledge Check

NoteQuestion 1

A 12-bit ADC with 3.3V reference has a step size of:

  1. 0.8 mV
  2. 3.2 mV
  3. 12.9 mV
  4. 0.3 mV

A) 0.8 mV - Step size = Vref / 2^bits = 3.3V / 4096 = 0.000806V = 0.8 mV. Each digital code represents an 0.8mV change in input voltage.

NoteQuestion 2

Why might a 16-bit ADC not provide 16 bits of useful data?

  1. The math is wrong
  2. Noise, non-linearity, and other errors limit effective resolution
  3. 16-bit ADCs are fake
  4. The sensor determines ADC bits

B) Noise, non-linearity, and other errors limit effective resolution - Real ADCs have noise, offset drift, and non-linearity that reduce the Effective Number of Bits (ENOB). A 16-bit ADC might only provide 12-14 ENOB in practice.

NoteQuestion 3

You need to measure temperature with 0.1C resolution using an LM35 (10mV/C). What minimum ADC resolution is needed with 3.3V reference?

  1. 8-bit
  2. 10-bit
  3. 12-bit
  4. 14-bit

C) 12-bit - For 0.1C resolution, you need to detect 1mV changes (10mV/C x 0.1C). With 3.3V reference: 8-bit gives 12.9mV, 10-bit gives 3.2mV, 12-bit gives 0.8mV. You need at least 12-bit to resolve 1mV changes reliably.


72.10 Quick Reference

Resolution Levels 3.3V Step 5V Step SNR
8-bit 256 12.9 mV 19.5 mV 50 dB
10-bit 1,024 3.2 mV 4.9 mV 62 dB
12-bit 4,096 0.8 mV 1.2 mV 74 dB
14-bit 16,384 0.2 mV 0.3 mV 86 dB
16-bit 65,536 0.05 mV 0.08 mV 98 dB

Common Microcontroller ADCs:

  • Arduino Uno: 10-bit (1024 levels)
  • ESP32: 12-bit (4096 levels)
  • STM32: 12-bit typical (some have 16-bit)
  • Raspberry Pi Pico: 12-bit (via RP2040)