Binary 20 refers either to the base-2 representation of the decimal number 20 (which is 10100) or, more critically in hardware design, to a 20-bit binary resolution architecture used in precision analog-to-digital converters (ADCs) and digital-to-analog converters (DACs). Moving from a standard 12-bit microcontroller ADC to a 20-bit binary system changes your circuit's noise floor requirements entirely, forcing you to manage microvolt-level interference and rethink your PCB trace routing. Beginners commonly confuse 20-bit resolution (the total number of digital steps) with 20-bit accuracy (the actual noise-free precision), a mistake that leads to over-engineered, noisy designs.
Common confusion: Assuming a '20-bit ADC' will give you 20 bits of usable data. In reality, thermal noise and voltage reference drift often limit the Effective Number of Bits (ENOB) to 16 or 17 bits in real-world environments.
The Math: Decimal 20 to Binary 10100
Before diving into high-resolution hardware, let us establish the foundational digital logic. In embedded systems, you will frequently need to convert decimal thresholds into binary registers. The decimal number 20 converts to the 5-bit binary sequence 10100.
Here is the step-by-step division method:
- 20 ÷ 2 = 10, remainder 0 (Least Significant Bit)
- 10 ÷ 2 = 5, remainder 0
- 5 ÷ 2 = 2, remainder 1
- 2 ÷ 2 = 1, remainder 0
- 1 ÷ 2 = 0, remainder 1 (Most Significant Bit)
Reading the remainders from bottom to top gives 10100. In C++ or MicroPython, you will rarely write this out manually; instead, you will use hexadecimal (0x14) or binary literals (0b10100) when configuring 5-bit register fields on motor drivers or shift registers.
20-Bit Binary Resolution in Real Circuits
When makers talk about 'binary 20' in the context of sensors, they are talking about 20-bit resolution. A 20-bit binary system can represent $2^{20}$ unique states, which equals 1,048,576 discrete steps. To understand why this matters, we need to look at a worked numeric example comparing a standard microcontroller ADC to a dedicated 20-bit ADC.
Worked Numeric Example: Measuring a 5.000V Reference
- Standard 12-bit ADC (e.g., ESP32 internal): $2^{12} = 4,096$ steps.
Resolution = 5.000V / 4,096 = 1.22 mV per step. - Precision 20-bit ADC (e.g., Analog Devices AD7793): $2^{20} = 1,048,576$ steps.
Resolution = 5.000V / 1,048,576 = 4.768 µV per step.
If you are measuring a 2mV/V load cell powered by a 5V excitation voltage, the maximum full-scale output swing is only 10mV. On a 12-bit ADC, that 10mV swing is divided into roughly 8 usable steps—completely useless for a digital scale. On a 20-bit ADC, that same 10mV swing is divided into over 2,097 distinct steps, allowing you to detect the weight of a single coin.
Where You Meet Binary 20 in Practice
You will not find true 20-bit binary architectures inside standard hobbyist microcontrollers like the Arduino Uno or the base ESP32. You meet this architecture when you offload analog conversion to dedicated external ICs via SPI or I2C.
- Strain Gauges and Load Cells: Bridge sensors output tiny differential voltages in the millivolt range. 20-bit (and 24-bit) delta-sigma ADCs like the Texas Instruments ADS1232 are purpose-built to digitize these micro-strains without external op-amp pre-amplification.
- Precision RTD Temperature Measurement: Platinum resistance temperature detectors (like the PT100) require high-resolution ratiometric measurements to resolve temperature changes down to 0.01°C.
- High-End Digital Potentiometers: In programmable power supplies or audio preamps, 20-bit DACs and digital pots allow for micro-stepping voltage adjustments to eliminate audible 'zipper noise' or voltage ripple.
Decision Tree: Sizing Your ADC Resolution
Do not default to the highest bit-count available; higher resolution requires stricter PCB layout, lower noise voltage references, and slower sampling rates. Use this decision path to select the right architecture for your next build.
| Application | Signal Swing | Required Resolution | Concrete Part Pick |
|---|---|---|---|
| Battery Voltage Monitoring (12V/24V) | 0 - 3.3V (via divider) | 12-bit to 16-bit | ESP32 Internal ADC or TI ADS1115 |
| NTC Thermistor Temperature Logging | 0 - 3.3V | 16-bit | TI ADS1115 (I2C) |
| Audio Line-In Sampling | ±1V AC | 16-bit to 20-bit (Fast) | PCM1808 (20-bit, 96kHz SAR) |
| Load Cell / Strain Gauge Scale | 0 - 10mV | 20-bit+ (Slow) | Analog Devices AD7793 (24-bit, 20-bit ENOB) |
Hardware Gotchas: Resolution vs. Accuracy
The most expensive mistake in precision electronics is paying for 20-bit resolution but only getting 14 bits of accuracy due to poor circuit design. This is quantified as the Effective Number of Bits (ENOB).
Think of a 20-bit water tank sight-glass etched with 1,048,576 microscopic lines. The resolution is incredible, but if the water is violently sloshing from a nearby pump (electrical noise), or if the glass itself is warped (voltage reference drift), you cannot reliably read past the 14th or 16th line. The remaining lines are just noise.
To protect your 20-bit binary data, you must:
- Use a dedicated voltage reference: Never use the microcontroller's 3.3V VCC as your ADC VREF. Use a low-noise reference IC like the TI REF5050.
- Separate analog and digital grounds: Route your SPI digital return currents away from the analog sensor ground plane, joining them at a single star-ground point directly under the ADC.
- Add RC low-pass filters: Place a 100Ω resistor and a 1µF C0G/NP0 ceramic capacitor on the ADC input pins to filter out high-frequency RF interference before it hits the sampling capacitor.
FAQ: Implementing 20-Bit Systems on Microcontrollers
Can a 32-bit ESP32 read a 20-bit ADC directly?
Yes. Because the ESP32 uses a 32-bit architecture, a 20-bit binary value fits comfortably inside a standard uint32_t variable. When reading via SPI, you will typically clock in three bytes (24 bits) from the ADC, then bit-shift the result right by 4 to align the 20-bit data payload.
Why do 20-bit ADCs sample so slowly?
Most high-resolution ADCs use a Delta-Sigma ($\Delta\Sigma$) architecture. They achieve 20-bit precision by oversampling the signal at a high frequency and then applying a digital decimation filter to average out the noise. This mathematical averaging takes time, limiting typical 20-bit sampling rates to between 10 and 470 Samples Per Second (SPS).
Is binary 20 the same as a 20-pin IC?
No. 'Binary 20' strictly refers to the base-2 mathematical value 10100 or a 20-bit data width. A 20-pin IC (like the classic 74HC595 shift register in a 20-pin SOIC package) refers to physical hardware packaging and has no direct correlation to the data resolution inside the silicon.






