Problems getting L01 into bootloader mode
-
Hi all!
I've a couple of L01 boards on a custom baseboard. So far, application runs fine. I can communicate with the L01 via wired serial port and WiFi. REPL works fine. But firmware upgrade is not possible, because I can't get the L01 into the bootloader mode.
When I'm shorting P2 (G23) to GND and hard reset the L01, the serial console gives me>ets Jun 8 2016 00:22:57 rst:0x1 (POWERON_RESET),boot:0x2b (HSPI_FLASH_BOOT) flash read err, 1000 Falling back to built-in command interpreter. OK >ets Jun 8 2016 00:22:57 rst:0x10 (RTCWDT_RTC_RESET),boot:0x2b (HSPI_FLASH_BOOT) flash read err, 1000 Falling back to built-in command interpreter. OK
while the last five lines will be repeated for ever. It stops throwing these five lines, if I hit ENTER.
Any idea what's wrong?
Cheers,
Thomas
-
@thosch42
Well, you learned the hard way. It happens all the time, at least for me :)
-
@danielm
I cut the wire to the I2C bus, and the firmware upgrade works immediately :-)
And my other problem, that the L01 won't run boot.py or main.py is fixed also.Fortunately, it's only the prototype. The 2nd iteration will start next week...
Cheers,
Thomas
-
@thosch42
Glad I could help.
I am also afraid that the I2C bus will not work with such weak pull-up. Try to set lowest I2C frequency which is supported by all devices on the bus. You can also try slightly stronger pull-up.
-
@danielm
Yep! It's SCL of a I2C bus, pulles up to 3.3V with 4k7. Hmm, pretty bad. I will check if I2C is working with a 100k pull up, but I think it won't.1000 THX!!!
Cheers,
Thomas
-
@thosch42
Do you have something connected to P8?I experienced this behaviour one year ago. This is from my email communication with Daniel Campora:
Hi Daniel,
it was caused by gate pull-up of external P-channel MOSFET connected to P8 (via 150Ohm resistor). The MOSFET is used to cut power to CO2 sensor (GSS CozIR LP) from high-side because the sensor does not offer any sleep function. When the pull-up resistor (to 3.3V) was 22k it caused below-mentioned issues. When I replaced it with 100k, it now work ok. I do not exactly understand why it was causing these issues.
Best regards,
Daniel
Hello Daniel,
Thanks for the update. I checked the ESP32 datasheet and this pin (GPIO2 from the ESP32) must be low in order to enable flashing mode. The ESP32 enables a weak-pull down (around 60K) to check the state of this pin. When you replaced the pull-up with 100K the internal pull down of the ESP32 becomes stronger and allows to enter flashing mode.
Cheers,
Daniel