diff --git a/cores/esp32/esp32-hal-ledc.c b/cores/esp32/esp32-hal-ledc.c
index 44a3667333d..4b5e136cbe6 100644
--- a/cores/esp32/esp32-hal-ledc.c
+++ b/cores/esp32/esp32-hal-ledc.c
@@ -226,3 +226,7 @@ void analogWrite(uint8_t pin, int value) {
     ledcWrite(pin_to_channel[pin] - 1, value);
   }
 }
+
+int8_t analogGetChannel(uint8_t pin) {
+    return pin_to_channel[pin] - 1;
+}
diff --git a/cores/esp32/esp32-hal.h b/cores/esp32/esp32-hal.h
index 9039d3544c8..59dca98cbb9 100644
--- a/cores/esp32/esp32-hal.h
+++ b/cores/esp32/esp32-hal.h
@@ -92,6 +92,7 @@ void yield(void);
 #include "esp32-hal-cpu.h"
 
 void analogWrite(uint8_t pin, int value);
+int8_t analogGetChannel(uint8_t pin);
 
 //returns chip temperature in Celsius
 float temperatureRead();