From 99dc4029dcadc5a4dc88930223cdba4951863eb8 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Wed, 6 Apr 2022 11:33:56 -0400 Subject: [PATCH] Espressif: disable pull-up on AnalogIn creation --- ports/espressif/common-hal/analogio/AnalogIn.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ports/espressif/common-hal/analogio/AnalogIn.c b/ports/espressif/common-hal/analogio/AnalogIn.c index ba85d42735..adb8b15065 100644 --- a/ports/espressif/common-hal/analogio/AnalogIn.c +++ b/ports/espressif/common-hal/analogio/AnalogIn.c @@ -55,6 +55,10 @@ void common_hal_analogio_analogin_construct(analogio_analogin_obj_t *self, } common_hal_mcu_pin_claim(pin); self->pin = pin; + // Pull-ups are enabled by default for power-saving reasons on quiescent pins. + // Turn off the pull-up as soon as we know the pin will be used for analog reads, + // since it may take a while for the voltage to stabilize if the input is high-impedance. + gpio_pullup_dis(pin->number); } bool common_hal_analogio_analogin_deinited(analogio_analogin_obj_t *self) {