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.

    L01 does not run boot.py...

    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


 

Hello World?

Pylife on Kickstarter - November 2018








Back Us On Kickstarter >

Pycom on Twitter