← index #8440Issue #7772
Off-topic · high · value 0.482
QUERY · ISSUE

Unable to use pin 20 as SCL for I2C on ESP32.

openby kattniopened 2022-03-23updated 2022-08-07
port-esp32

I submitted the fix to #8393 to expose pin 20 on ESP32. On the Adafruit Feather ESP32 V2, SCL is pin 20. I loaded the latest nightly build onto my board. I am running into the following issues.

When trying to initalise I2C, it is not accepting pin 20 as a viable option for SCL.

>>> from machine import Pin, I2C
>>> i2c = I2C(0, scl=Pin(20), sda=Pin(22))
E (2540280) i2c: /home/micropython/esp-idf-v4.2/components/driver/i2c.c:767 (i2c_set_pin):scl gpio number error

I2C set up works with pin 14 as SCL.

If I try to simply init pin 20 as an output, it also fails.

>>> from machine import Pin
>>> p20 = Pin(20, Pin.OUT)
E (19500) gpio: gpio_set_direction(263): GPIO number error

@jepler suggested that perhaps the issue is resolved in the ESP IDF v4.4, but an attempt to build MicroPython with that version resulted in a failure to fit in flash. So, I have not tested this possibility.

CANDIDATE · ISSUE

Hardware I2C fail on ESP32_C3 - timing value error

closedby haybarryopened 2021-09-11updated 2023-10-11
port-esp32

Hardware I2C fails on ESP32_C3 with i2c timing value error.

i2c=I2C(0, scl=Pin(5), sda=Pin(4))

fails with error
E (87717) i2c: i2c_set_timeout(783): i2c timing value error.

Hardware: Lilygo T-OI Plus V1.0 ESP32-C3 (revision 3)

SoftI2C instantiates, but I2C does not recognise stop condition

Micropython:
Version v1.17-20-g0a5107372
Compiled on RPi 4 with idf4.3

Same MicroPython compiled for ESP32 or ESP32_S2 successfully instantiates i2c

--Barry

Keyboard

j / / n
next pair
k / / p
previous pair
1 / / h
show query pane
2 / / l
show candidate pane
c
copy suggested comment
r
toggle reasoning
g i
go to index
?
show this help
esc
close overlays

press ? or esc to close

copied