4 ms·
> learning that the analog readings for a Pico and ESP32 come at a massive 16 bit precision (a number between 0 and 65536) Sigh. No they don't. RP2040 ADC has
by mordae 3y ago
> learning that the analog readings for a Pico and ESP32 come at a massive 16 bit precision (a number between 0 and 65536)
Sigh. No they don't. RP2040 ADC has output resolution of 12 bits with ENOB of about 8.7. MicroPython probably scales those up.
Also, 65535.
This is surprisingly low quality blog post for HN standards.
- deleted 3y ago[deleted]
- pclmulqdq 3y agoMost people on HN don't understand embedded systems. This blog poster is probably also a hobbyist given the choice of devices to measure.
- 05 3y agoBut the alternative is someone who's an embedded expert comparing MCUs you can't buy in quantities less than 10K or get hands on a data sheet without your company ordering a million and signing an NDA :)
- rasz 3y agoNah. Elecia is a world class embedded specialist and I dont get that component elitisms from here https://embedded.fm/episodes https://embedded.fm/episodes
- neltnerb 3y agoIt's not hidden very well [referring to "lies" in the title] when the ESP32's website about the ADC has a graph showing noise of ~10 LSBs normally, which with a proper input capacitor goes down to about 5 LSBs and down to 1 LSB with multisampling. Which is done transparently in hardware. https://docs.espressif.com/projects/esp-idf/en/release-v4.4/esp32/api-reference/peripherals/adc.html https://docs.espressif.com/projects/esp-idf/en/release-v4.4/... It even has almost the same graph showing the linearity and dead zone, none of this is a surprise. It's just not got the best ADC ever and I've chosen different parts because of it before. Other parts have better ADCs... and that Mega has a far lower sampling rate.
- deleted 3y ago[deleted]
- HeyLaughingBoy 3y ago> resolution of 12 bits with ENOB of about 8.7 Is there any microcontroller that manages to have a 16-bit ADC? And if so, are all 16 bits actually usable?
- dragontamer 3y agohttps://www.renesas.com/us/en/products/microcontrollers-microprocessors/rl78-low-power-8-16-bit-mcus/rl78i1e-high-precision-analog-microcontroller-configurable-afe#overview https://www.renesas.com/us/en/products/microcontrollers-micr... >> The RL78/I1E features a 24-bit delta-sigma A/D ------- That being said: even just 5V at 16-bits implies a LSB step of 76uV, which means you can only get to 16 usable bits if you have significant work on noise-reduction. Going to 24-usable bits is probably impossible in practice, but it does mean that the 24-bit ADC there won't be the noise problem / bottleneck in your circuit. ------ Honestly, if any EE came to me and asked about more than 12-bits of ADC precision, I'm beginning to think that they don't understand their problem lol. I kinda feel like anything beyond 12 bits is asking for a lot of noise / hardcore analog signal conditioning circuits that most hobbyists really shouldn't be doing in their projects. > And if so, are all 16 bits actually usable? If you know for sure that you have white-noise, you can oversample + decimate to reach absurdly accurate levels. Maybe not 24-bits but yeah, you can reach 16-bits with probably 100k oversamples with effectively 1Hz sample rate It really depends however. If your bandwidth is low enough then you at least have one way to do make those 16th or 18th bits usable.
- rcxdude 3y agoIt's hard, but not impossible to get to 24-bits of resolution. Some ADC/analog circuit combinations can do it, with appropriate treatment (there are 32-bit ADCs which exist in part for this reason. I suspect that is not practically reachable). Certainly not with any microcontroller I know of though.
- bsder 3y agoModern ADCs really are crappier because the power supply/reference are smaller, their power supply is also feeding a bunch of digital gunk and their pins are shared with digital I/O. Old standlone ADCs hit 16-bits pretty reliably.