
I used an Arduino Mega2560 when experimenting with sensors that have analog outputs. So I'm counting on a good ADC. The Arduino seems to have a pretty good ADC. The temperature sensor I created was pretty accurate (as you might expect). I've read that the Arduino is really just a beginner's toy and the real deal for more serious work is the ESP32. So I bought this ESP32 and transferred my temperature sensor to it. Wow I was disappointed. The ADC conversion is wide and non-linear. I did a little research on this and found that the ESP32 is notorious for this. So we have a nice, more professional product with a terrible ADC, and a beginner's Arduino with a good ADC. what to do with it After further research I found a handy little program that someone had written and posted on Github to calibrate the ADC. It creates a lookup table that you can use to look up the read value and get a more realistic value. I ran this program, did the calibration and connected the generated lookup table (LUT). Now it's much closer to the accuracy of the Arduino ADC, but still significantly different. The calibration program uses one of the two DAC channels on the ESP32 to generate voltage and reads the voltage to the ADC, correcting the error between the read value and the expected value. Of course, it is assumed that the DAC on the ESP32 is not inaccurate either. I experimented a bit with the DAC and found that while it's not as bad as the ADC, it's still a bit different. I think I could buy a programmable regulated power supply and calibrate the ADC that way. But wait. Do I really want to calibrate and create a lookup table for every single ADC pin I might use? What if I buy another ESP32? I need to calibrate it so how will it be different? I understand that certain things require calibration. I just expected the ESP32 to be at least as good as the Arduino. That makes me not trust the ESP32 at all for ADC work, which is what I have done so far. I will look for an alternative. This is really really bad since the ESP32 has a lot of memory and will run FreeRTOS right away.

Vilros Raspberry Pi 4 4GB Complete Starter Kit - Black Fan-Cooled Aluminum Case for Heavy-Duty Performance
12 Review

🌐 MCIGICM 2 Channel DC 5V Relay Module: Optocoupler Low Level Trigger Expansion Board for Arduino UNO R3, DSP, ARM, PIC, AVR, STM32, Raspberry Pi
11 Review

55" TV LG OLED55C2RLA 2022 HDR, OLED, dark titanium
38 Review

Gikfun Screw Shield Expansion Board: Enhance Arduino UNO R3 with the EK7007 Add-On
11 Review

36-Pack Black Rubber PC CPU/Case Fan Screws/Rivets Set for Computer
11 Review

Glarks 660 Pieces Phillips Assortment Motherboard
10 Review

uxcell 3.5" HDD Screw Black 200pcs for Computer PC Case - Flat Phillips Head - 6#-32 - Hard Drive Fasteners
10 Review

MacBook Retina 13-inch (A1425, A1502) and 🔩 15-inch (A1398) Bottom Case Screw Set with Pentalobe Screwdriver
11 Review