Short answer

ESP32 ADC readings jump wildly. What should I fix first?

  • Attenuation, channel, and calibration must match the voltage range. Wrong attenuation clips or stretches the code.
  • Keep analog traces short and away from RF and switching regulators. Antenna current modulates the reading.
  • Average multiple samples and allow settling after mux changes. Single-shot polls look noisier than the sensor is.
  • Internal reference drifts with temperature. Precision products need external conditioning or a better reference path.

中文

短答

ESP32 ADC 跳得很厉害,先改什么?

  • 衰减、通道、校准要和电压范围匹配。衰减选错会削顶或被拉稀。
  • 模拟走线要短,远离射频和开关电源。天线电流会调制读数。
  • 多采样平均,切通道后留建立时间。单次轮询会比传感器本身更「闹」。
  • 内部基准随温度漂。要准的产品加调理或更好的基准路径。