Two questions:
1) I am using ESP32-S2 QT PY (ver 8 beta). On powerup, sometimes the board goes straight to bootloader mode, and other times will boot normally through boot.py and coded.py. A warm start, say a quick power cycle, generally seems to boot ok, but if unit has been off for several seconds, it has more of a propensity to boot in bootloader mode. Overall, seems kind of random which way it will go. I have seen forum post where this same issues has been seen if pulling i2c up to 5V on a 3.3V board, but not the case here. I am using the castellated pins i2c with 4.7K pullups to 3.3V. The best I can tell, when the bootloader is invoked, both boot.py and code.py are bypassed completely. Can you think of anything that can cause the bootloader to inadvertently get triggered? The only thing I can think of is floating pin, or supply rampup?
2) On the subject of I2C, can both the castellated I2C and the Stemma QT I2C both be used at the same time on the QT PY ESP32-S2?
ESP32-S2 BOOT AND I2C
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- mikeysklar
- Posts: 13936
- Joined: Mon Aug 01, 2016 8:10 pm
Re: ESP32-S2 BOOT AND I2C
Do you see the same behavior of going into unrequested bootloader mode when nothing is connected to the board?
If you are not connected to a PC and just using a dumb USB power supply to the ESP32-S2 Qt Py does that prevent going into bootloader mode?
There should not be an issue with mixing castellated i2c and stemma i2c devices. However, not all i2c devices play nicely together (unrelated to their connection types).
If you are not connected to a PC and just using a dumb USB power supply to the ESP32-S2 Qt Py does that prevent going into bootloader mode?
There should not be an issue with mixing castellated i2c and stemma i2c devices. However, not all i2c devices play nicely together (unrelated to their connection types).
- ISI_BOB
- Posts: 40
- Joined: Tue Jan 11, 2022 3:14 pm
Re: ESP32-S2 BOOT AND I2C
boards seem to work fine stand-alone. Issue seems to be when mounted to my carrier board.
On my carrier board, I have a battery charge circuit that has a tri-state STAT pin going to the QTPY pin A3, intended for use with anolog input on the QTPY. I have found If I force the A3 input low during powerup, the board boots normally. If I let the charge controller control the pin, I get random results, sometime boot normally, sometime invoking the bootloader.
On the I2C question, can we do something like the following, using both I2C's in the same code base:
import busio
i2c1 = board.I2C()
i2c2 = busio.I2C(board.SCL1, board.SDA1)
accel = isi1547_mc3479.MC3479(i2c1)
tmp117 = adafruit_tmp117.TMP117(i2c2)
On my carrier board, I have a battery charge circuit that has a tri-state STAT pin going to the QTPY pin A3, intended for use with anolog input on the QTPY. I have found If I force the A3 input low during powerup, the board boots normally. If I let the charge controller control the pin, I get random results, sometime boot normally, sometime invoking the bootloader.
On the I2C question, can we do something like the following, using both I2C's in the same code base:
import busio
i2c1 = board.I2C()
i2c2 = busio.I2C(board.SCL1, board.SDA1)
accel = isi1547_mc3479.MC3479(i2c1)
tmp117 = adafruit_tmp117.TMP117(i2c2)
- mikeysklar
- Posts: 13936
- Joined: Mon Aug 01, 2016 8:10 pm
Re: ESP32-S2 BOOT AND I2C
Glad you were able to determine the bootloader was getting toggled from your carrier board.
You should be able to use both i2c as you have described with the two instances i2c and i2c1.
You should be able to use both i2c as you have described with the two instances i2c and i2c1.
Please be positive and constructive with your questions and comments.