What 16 bits buys you
The chip returns a signed number, because it always measures a difference. Tie one side to ground and half that number can never happen — so a single-ended reading is fifteen bits and a sign bit that is always zero. Nobody prints this, and it changes what you expect.
It measures a difference, always
There is one converter inside the ADS1115, and it does exactly one thing: it subtracts the voltage on its negative input from the voltage on its positive input, and returns the answer as a signed number.
Full scale is ±FSR, where FSR is whichever of the six ranges you selected. At ±2.048 V, −2.048 V comes back as −32768 and +2.048 V comes back as +32767. One count is 62.5 µV.
"Four analog inputs" is that same converter with its negative input switched to ground four times over. And ground is where the sixteenth bit goes.
Switch between the two wirings. The step size does not move — it is the same 62.5 µV either way. What moves is how much of the scale you can reach.
Why the negative half is unreachable
These inputs cannot go below ground. TI is direct about it: the analog input range is GND to VDD, and a negative voltage is not something the part accepts. So if the negative side of the converter is tied to ground, the difference it measures can never be negative, the output runs 0 to 32767, and the sign bit is always zero.
Fifteen bits, plus a bit you paid for and cannot use.
This is not a defect and it is not worth avoiding. It is worth knowing, because it is the difference between expecting 65536 steps across your signal and getting 32768, and because it explains why every scale and thermocouple amplifier you will ever see is wired across two pins.
What a count is worth
| Range | One count | Single-ended top |
|---|---|---|
| ±6.144 V | 187.5 µV | the supply, not 6.144 V |
| ±4.096 V | 125 µV | the supply, not 4.096 V |
| ±2.048 V | 62.5 µV | 2.048 V |
| ±1.024 V | 31.25 µV | 1.024 V |
| ±0.512 V | 15.625 µV | 0.512 V |
| ±0.256 V | 7.8125 µV | 0.256 V |
The right-hand column is the one to read twice. On a board running from 3.3 V, the two widest ranges cannot reach their own full scale, because an input above the supply damages the chip rather than reading high. The gain is a range, not an amplifier is about that, and it is the single most expensive misunderstanding about this part.
The number you actually care about
Not bits. The step size in whatever unit you are working in.
A 12 V battery through a divider that cuts it by 4.6 arrives at the pin as 2.6 V. At ±4.096 V one count is 125 µV at the pin, which is 125 µV × 4.6 = 575 µV of battery — about half a millivolt. That is the resolution of your battery monitor, and it came from two numbers: the range, and the divider.
Sixteen was never one of them.
When it does not work
They never will. The conversion register is a signed 16-bit number covering −32768 to +32767 across the whole range, and the positive half is all a single-ended reading can reach. If you are storing it in an unsigned variable and seeing enormous values instead, that is the sign bit being misread — use int16_t.
On a single-ended channel a small negative number around zero is normal: the offset error is a few counts and a pin at exactly 0 V can land either side of it. If it is a large negative number on a differential channel, the two inputs are the other way round — swap them, or take the absolute value if you do not care about direction.
Because you lose range, not resolution. The step is set by the full-scale range alone — 62.5 µV at ±2.048 V, whatever the wiring. Single-ended just means the reading cannot go below zero, so you get 32767 of those steps instead of 65535.
Four of them analog, and four parts already fitted that decide how the board behaves.
The ten pins →Edit this page — content/books/ads1115/what-16-bits-buys-you.mdx
Questions about this product
See what other owners have asked, and read their solutions.
This page covers several products. Choose yours to see the right discussions.
Discuss this article
Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.