How bad can a $2.97 ADC be?
77 comments
·October 14, 2025q3k
cheschire
It may not even be a clone. As the author said, it could just as easily be production line items that were tested and found to be outside of spec tolerances and resold off-label.
q3k
Well, that's the point of the experiment, to figure out if it's a clone or a reject :).
throwup238
TI makes all their analog stuff in house so that's unlikely. That's far more common for fabless companies that send their parts off to an outside fab.
cheschire
What does TI do with their out-of-tolerance products? Straight in the garbage?
Hasz
I have done this a bunch of different times, mostly to resolve sourcing disputes. Dissolving in boiling sulphuric acid/nitric acid will make quick work of most epoxy packaging
IMO, I have mostly seen mislabeling, rebinning, and passing off obvious QC rejects.
example from many years ago: https://www.youtube.com/watch?v=e6DfBuPwAAA
q3k
> Dissolving in boiling sulphuric acid/nitric acid will make quick work of most epoxy packaging
That's the better method of course (results wise), but it's not nearly as accessible, hence my recent evangelism of the virtues of 2000 grit sandpaper.
throwup238
I prefer Japanese sharpening stones or those DMT diamond whetstones. It’s relative easy to 3d print a jig that converts a woodworking honing guide into an IC holder and you get a feel for how many passes to do very quickly before slowing down and checking each pass.
jacquesm
I like it. I've used sandpaper to solve some interesting problems in the past as well with great success. I suspect we are only seeing the beginnings here in a trend of high-tech applications of fine grit paper.
fullstop
I don't know if we can ping people here, but this looks like something that would be right up Ken Shirriff's alley.
MountDoom
> These are cheap, relatively fast, and not particularly good. While they sport impressive-sounding 12- and 16-bit readouts, the effective number of bits (ENOB) is usually around 8 or 9.
I don't think that's quite accurate for reasonably modern MCUs. You can typically shake 10+ bits out of them, but you need to take a lot of precautions, such as providing very stable external reference voltage and shutting down unneeded subsystems of the chip.
They're still not as good as standalone ADCs, but they're at a point where you can actually use them for 90% of things that require an ADC.
In cases where you need more bits, there's a lot more that must go into the design, which is what gives me a pause about the article. There's nothing about the PSU the author is using or how he managed the MCU noise and RFI. So I don't know if the findings here are that these are knock-off devices with worse specs, or if his overhead LED lamp is causing a lot of interference.
parsimo2010
I think you might both be right- the author may be thinking of lower cost MCUs only aiming for tolerable ADC performance, while you might be thinking of all MCUs, even higher cost.
The RP2350 has 9.2 ENOB on a 12 bit ADC. Sure, you might be able to decimate multiple samples to get more bits out of them, but the spec sheet supports the author's claim (https://www.raspberrypi.com/documentation/pico-sdk/hardware....). There are even lower cost MCUs like the CH32V003 that have even worse ADC performance.
On the other hand, some MCUs can definitely do 10+ bits, such as the STM32H7 line which gets 13+ ENOB from a 16 bit ADC. This is impressive, but the H7 MCUs are literally an order of magnitude more expensive than the RP2350, so they might not be something the author tinkers with much. https://www.st.com/resource/en/application_note/dm00628458-g...
magicalhippo
I tested a few STM32F103 dev boards, using a Siglent SDM3055 multimeter and Siglent SPD330X power supply.
The chip has a 12bit SAR ADC. Layout and board design mattered a lot, but even the worst ones had 10 bits worth, and the best one had nearly 12 bits effective.
That was without doing too much on the software side, meaning the other modules weren't running, besides a single serial output. On the bad boards the serial affected it, but on the good board very little.
abraae
I'd like to know more about the world of ADCs. I've used the ADS1115 with success but only at very slow speeds.
On the current project we started with an MCP3208 via SPI. It did the job but only has 8 channels and it's slow (100K samples per sec).
To get something faster we switched to ADS7953. It has 16 channels and runs 10 times faster. It's somewhat more complex to code, and you can only get the highest sample rate if you scan the inputs in a predictable order. But it sure flies.
To me, these chips feel like cars. The ADS7953 is somewhat of a ferrari, whereas the MCP3208 feels like a Toyota, simple to use, unimpressive performance.
I'd love to know the industry background about how these varieties of ADC chips came to be and carved their own space in the world, and how widely they are used (millions? billions?).
magicalhippo
> To get something faster we switched to ADS7953. It has 16 channels and runs 10 times faster.
I recall reading about a project at CERN to design a 12bit ADC chip that could sample at tens of GHz, maybe 50 or more.
I was perplexed at how they could achieve this.
Turned out it was the same we programmers do. Parallel processing.
They had taken a 12bit SAR unit which ran at like MHz rates, and just cloned it many times. They then had a large analog multiplexer in front to route the signal to the active ADC unit in a round-robin fashion.
That takes a lot of chip real-estate, and the analog muxer had to be carefully designed.
For a simpler approach to speed there is Flash ADCs[1], which kinda brute-force it.
For precision I know multi-slope ADCs[2] are often used.
Sadly I don't know much about the history, and would also love to learn more about it. Bound to be some fascinating stories there.
[1]: https://en.wikipedia.org/wiki/Flash_ADC
[2]: https://www.analog.com/media/en/training-seminars/tutorials/...
dekhn
(CERN does a ton of cool electronics design, I didn't realize how much modern physics is electrical engineering).
cycomanic
You can buy ADCs at over 100 GS/s (keysight, teledyne and tektronix make oscilloscopes using them), however typical ENOBs are more around 5 bits for these. For people interested in this stuff, I there is a video of someone taking apart one of the high speed keysight scopes (I think signal path is the YouTube channel?).
grishka
> The ADS7953 is somewhat of a ferrari, whereas the MCP3208 feels like a Toyota, simple to use, unimpressive performance.
What about the AD9226? It only has a single channel but can do up to 65 MSa/s at 12 bits. I bought one as a module for around $12 on AliExpress to experiment with software decoding of analog video. I only run it at 20 MSa/s and only use 8 bits because, funnily enough, the limiting factor is the speed at which I could get the data into my laptop. I connected it to a Raspberry Pi Zero and use the SMI peripheral as described here: https://iosoft.blog/2020/07/16/raspberry-pi-smi/
abraae
That is very interesting, especially using SMI to talk to rpi. Never seen SMI used in anger before.
NoiseBert69
Ultra high-speed ADCs are extremely ugly to handle with microcontrollers. That's mostly FPGA territory: toggle its pins, suck the data from the ADC and offer them on a friendly parallel bus for a microcontroller (USBC->Parallel interface from FTDI).
They need a lot of pins to be toggled. Otherwise they spit out no data.
And a lot of manual stuff means it's super DMA unfriendly. And you need DMA for high-speed stuff.
Neywiny
Still unsure if the lifcl-33U will make it into these products. Integrated 5gbps phy
throwup238
> So what’s going on with the cheap parts? My best guess is that these are either quite good copies, or failed parts that somehow made their way into the hobbyist supply chain.
The vast majority of counterfeit chips I've seen were from ghost shifts but IIRC TI fabs all their analog parts in house, I doubt they're ghost shift parts or failed QC.
I think its probably a relabeled ADS1015.
q3k
Interesting, most of the counterfeits that affect me (eg. FTDI, STM32 clones) have been just straight up clones developed from scratch, not excess inventory / ghost shifts / packaged rejects. I guess it might be a digital/mixed-signal split, with the two worlds having different issues?
(also interestingly the STM32 clones I've seen had stacked die flash because they didn't fab them in a technology that could also do flash, so you can easily tell the counterfeit from sanding down the package and looking for an extra set of bonding wires; it's also a cool place to access the internal flash bus if you wanna bypass some readout protection :) )
throwup238
I remember the mess with FTDI clones back when I was still a hobbyist and buying stuff from eBay, but ever since I’ve started doing EE professionally I rarely run into anything that bad. You’re not going to make a clone Marvell processor for example, but I’ve run into several ghost shift runs from a distributor.
I don’t usually buy from electronics markets in Shenzhen either so that probably helps.
jamesbowman
Author here. I did consider this, as others have reported getting ADS1015 marked as ADS1115. If it were an ADS1015 the readout would be truncated at 12 bits. These parts definitely delivered 16 bits of readout.
hex4def6
I worry about the demo boards being radically different in terms of layout etc. Even if you're using the same interface and power supply, the PCB may be affecting performance.
Getting full spec performance out of an ADC requires having good layout power supply routing etc.
I would transplant the chips from PCB A to PCB B and vice versa. See if the performance follows the chip or the PCB.
Also check power consumption before / after board swaps. If they are fakes, that would be significantly different.
throwup238
Ah oops I missed that. Maybe an ADX111A then?
gsmecher
Oh my - good find, and also, eek.
Analogy: https://datasheet.lcsc.com/lcsc/2302211830_analogysemi-ADX11...
TI: https://www.ti.com/lit/ds/symlink/ads1115.pdf
Analogy's datasheet is directly cribbed from TI's (see TI Fig. 7-7 / Analogy Fig. 22½, pg. 18).
This already passes my "run away screaming" threshold for trust, but a decapping would help me understand whether they've stolen the physical design (bad) or just cloned it (bad).
See also: https://community.element14.com/members-area/f/forum/53365/n...
Hello9999901
The price difference could be explained by LCSC purchasing in bulk directly from TI or similar and selling them at lower margins because their volumes are larger. I've seen "clone" chips sold at LCSC, but they're listed under a different brand (I can't recall one off memory unfortunately).
NoiseBert69
Never had bigger issues ordering from LCSC. And I buy a lot of stuff from them.
null
cushychicken
OP is making comments about poor performance single cycle of a sigma delta ADC.
Single cycle readings defeat the point of sigma delta ADC setups.
You're taking many high noise samples and averaging them over time to get a better picture of the average voltage.
LeifCarrotson
OP is using the chip with the data rate set to 8 samples per second.
Natively/internally, it runs at 860 samples per second, and you can configure it to provide that data at a lower sample rate at lower noise levels by averaging multiple readings together internally.
ZeroConcerns
Well, I guess a whole-three-genuine-US-dollars is actually pretty expensive for an ADC, and that the person-in-charge-of-your-BOM in one of the countries that can actually still manufacture things can get one for way less than that.
Does it work? Well, does your design power up during factory testing, and then pass whatever things your rig (hope you made a few!) has in mind? Well, then, yes, in fact it does...
LeifCarrotson
These numbers add up fast when you have dozens or hundreds of components on your board. A $3 part is often one of the most expensive items on a board! If you're trying to get something shipped to consumers for $20 each, with an enclosure, packaging, shipping, retail markup, and profit...that's a huge price disparity.
Also, and perhaps more importantly, the test rig is a lot simpler and a lot cheaper if you can generally trust manufacturer data. Sure, send off a few samples (likely prototypes with parts from Digikey instead of LCSC) to run extended testing in an environmental chamber with thermal imaging, build an endurance test rig that pushes the button once a second for four weeks to simulate once-daily use for years, whatever you want to do...but after that, if TI says it's good from -40 to +125, you're going to trust them on a lot of the edge cases.
Do 100% testing of the things you can test in-circuit if you can - power it up at room temperature and make sure it works once - but that doesn't mean you get the actual rated performance across all published environmental conditions.
the__alchemist
Ooh this is interesting! I've seen some big price differences between Digikey and LCSC at small volumes; not sure! You can also sometimes buy direct from TI.
Of interest from early in the article: I'm curious how these external ones compare to onboard, e.g. STM32's. Btw, the TI one listed is actually pretty simple to use in comparison. The ST integrated ones have more config and hardware considerations, e.g. complicated calibration procedures, external VREF (mentioned) etc. So, if you do app the config, is the integrated one as good?
The integrated ones usually have nice ways to integrate with timers and other onboard periphs.
dazhbog
Digikey's markup is the issue.. most people in Asia buy from lcsc or agents, that can get parts 2-10 times cheaper.. In this case both parts are genuine just different batch/year/production location probably..
isoprophlex
4x the price, at approximately 4x the error (12 mV instead of ~3 mV on the spec)
Weirdly honest deal, haha.
NoiseBert69
I still have a huge trauma coming from the ESP32 ADC. Why don't they integrate good ADCs? We are waiting for ages now.
Non-linear as hell - and evil side effects once you use the calibration curves.
throwup238
> Why don't they integrate good ADCs?
There are a bunch of reasons but the primary reason is that good ADCs are made using a different mixed signal process than microcontrollers. MCU ADCs are capacitive charge-balancing successive-approximation type which limits their sensitivity and precision.
Standalone ADCs also eliminate significant sources of noise like temperature fluctuations and electronic noise (the digital logic on the chip often runs at less than 1Mhz for example)
15155
Standalone ADCs are often SARADCs as well (and are specified as such.)
throwup238
The ones I’ve used were mostly delta sigma modulation ADCs. I think charge balancing caps out at 12 bits or so.
chillingeffect
If hate the esp32 adc, let me introduce you to its "fpu." Or its external flash and memory...
NoiseBert69
But no real competition for on-chip Wifi/BLE around.
Only ugly two-chip solutions or hyper exotic stuff with no community.
bsder
> But no real competition for on-chip Wifi/BLE around.
No competition or no market?
I can't imagine Espressif is selling much volume of these chips.
The fact that they can't even fix their SPI module would tend to indicate that their engineering staff is very thin.
Should be easy to compare - sand down both the cheapo and a legit one (with a similar datecode) with fine sandpaper, clean with isoprop and shove under an optical microscope - you can then tell how similar/dissimilar the dies are, you don't even have to look for markings or anything super legible, or even sand them to the same metal layer.
Clones tend to be vastly different - different technology node, architecture, die size, etc. - that's because they are generally functional clones, not mask clones.
(also, as a general shoutout to the low tech sandpaper technique for exploratory work, here's a sanded down RP2350 thrown under a clapped out SEM: https://object.ceph-eu.hswaw.net/q3k-personal/484e7b33dbdbd9... https://object.ceph-eu.hswaw.net/q3k-personal/3290eef9b6b9ad... )