New firmware release 1.10.1.b1

  • administrators

    @robert-hh Any chance you can try without assigning a fixed IP?

  • @daniel I have a serious problem with the new release. Setup:
    Plain vanilla pycom image on a LoPy, flash was erased. I have a little script that connects as a STA:

    import network
    import time
    from uos import uname
    # setup as a station
    wlan = network.WLAN(mode=network.WLAN.STA)
    wlan.connect(ssid="my_ap", auth=(network.WLAN.WPA2, "my_passwd"))
    for _ in range (200):
        if wlan.isconnected():
            wlan.ifconfig(config=("", "", "",  ""))
        print("Could not connect")

    and add the line
    import connect
    to If I boot, then it may connect, after a few reboots, it somehow locks, in that it does not connect to the AP any more. In that state, if I press Ctrl-D a few times, if get a core dump & Reset. The core dump starts with:

    PYB: soft reboot
    Guru Meditation Error of type LoadProhibited occurred on core  0. Exception was unhandled.
    Register dump:
    PC      : 0x40113db8  PS      : 0x00060a30  A0      : 0x8011fd1a  A1      : 0x3ffbd590  
    A2      : 0x3ffc9a00  A3      : 0x3ffd609d  A4      : 0x3ffd60c7  A5      : 0x00000000  
    A6      : 0x00000000  A7      : 0x00000000  A8      : 0x80113db8  A9      : 0x3ffbd580  
    A10     : 0x3ffc9a4f  A11     : 0x00000000  A12     : 0x0000000f  A13     : 0x3ffc9a5e  
    A14     : 0x02ac0f00  A15     : 0x00000000  SAR     : 0x00000010  EXCCAUSE: 0x0000001c  
    EXCVADDR: 0x000000f1  LBEG    : 0x4009860c  LEND    : 0x40098617  LCOUNT  : 0xffffffff  
    Backtrace: 0x40113db8:0x3ffbd590 0x4011fd17:0x3ffbd5c0 0x4011c891:0x3ffbd610 0x4011d436:0x3ffbd690 0x4011dce1:0x3ffbd760 0x40127265:0x3ffbd780 0x40128e1b:0x3ffbd7d0
    ================= CORE DUMP START =================

    and finally and in a cold boot. Once in this state, the only way to recover and get WiFi again is erase flash and reload the firmware.

  • administrators

    @colateral This seems to be due to a new tool we added that puts the ESP32 into firmware update mode if a Pytrack or Pysense is being used. It seems this tool doesn't work on Windows...

    Please edit in the esp32 directory, search for flash: and comment the 4 lines as shown below:

    flash: $(APP_BIN) $(BOOT_BIN)
    #       $(ECHO) "Entering flash mode"
    #       $(Q) $(ENTER_FLASHING_MODE)
            $(ECHO) "Flashing project"
    #       $(ECHO) "Exiting flash mode"
    #       $(Q) $(EXIT_FLASHING_MODE)

    This will prevent the tool from running until we can fix it.

  • @xykon Thank you for the quick answer and sorry for the late reply (2 small kids :) ). You were right, i didn't have G23 and GND connected. I was able to reset the flash and make the lopy work again. Thank you very much

  • @xykon Thanks. It was working. The mpy-cross was built and also the binary .. but there are issues on serial writing.
    COM7 is ON and 'waiting for download'


                $ make V=1 BOARD=LOPY LORA_BAND=USE_BAND_868 flash ESPPORT=COM7
                python ../py/ build/LOPY_868/release/genhdr/mpversion.h
                Entering flash mode
                python tools/ --port COM7 --enter
                Traceback (most recent call last):
                  File "tools/", line 185, in <module>
                  File "tools/", line 173, in main
                    pic = Pypic(args.port)
                  File "tools/", line 77, in __init__
                    self.serial = serial.Serial(port, baudrate=115200, bytesize=serial.FIVEBITS, timeout=0.25)
                  File "D:/ProgramFiles/msys32/mingw32/lib/python2.7/site-packages/serial/", line 31, in __init__
                    super(Serial, self).__init__(*args, **kwargs)
                  File "D:/ProgramFiles/msys32/mingw32/lib/python2.7/site-packages/serial/", line 240, in __init__
                  File "D:/ProgramFiles/msys32/mingw32/lib/python2.7/site-packages/serial/", line 78, in open
                  File "D:/ProgramFiles/msys32/mingw32/lib/python2.7/site-packages/serial/", line 222, in _reconfigure_port
                    'Original message: {!r}'.format(ctypes.WinError()))
                serial.serialutil.SerialException: Cannot configure port, something went wrong. Original message: WindowsError(87, 'The parameter is incorrect.')
                make: *** [ flash] Error 1

    With pycom firmware update and (changed according with Daniel above guidelines) ... it is working.

                >>> import gc
                >>> uos.uname()
                (sysname='LoPy', nodename='LoPy', release='1.10.1.b1', version='v1.8.6-839-g536c958c on 2017-11-15', machine='LoPy with ESP32', lorawan='1.0.0')
                >>> import gc
                >>> gc.mem_free()

  • administrators

    @colateral Please use the following within msys2 to update the toolchain:

    # Automatically download precompiled toolchain, unpack at /opt/xtensa-esp32-elf/
    echo "Downloading precompiled toolchain ${TOOLCHAIN_ZIP}..."
    cd ~
    curl -LO --retry 10${TOOLCHAIN_ZIP}
    cd /opt
    rm -rf /opt/xtensa-esp32-elf  # for upgrades
    unzip ~/${TOOLCHAIN_ZIP}
    rm ~/${TOOLCHAIN_ZIP}

  • @xykon thanks. we are using msys2. This has to be installed in msys to work?

  • administrators

    @colateral Please download the new xtensa compiler for your OS.

    The "esp32" port requires an xtensa gcc compiler, which can be downloaded from the Espressif website:

    for 64-bit Linux::

    for 32-bit Linux::

    for Mac OS:

  • building from fresh pulled git raises errors. There is a param that shall be specified?

    $ make BOARD=LOPY TARGET=boot
    Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
    mkdir -p build/LOPY_868/release/bootloader/
    CC bootloader/bootloader.c
    xtensa-esp32-elf-gcc.exe: error: unrecognized command line option '-mfix-esp32-psram-cache-issue'
    make: *** [../py/ build/LOPY_868/release/bootloader/bootloader.o] Error 1

  • administrators

    @tudro Please make sure you have a wire connected between G23 and GND and reset the board before trying the erase. You should see a message "Waiting for download" on the serial terminal. Also make sure that all serial terminal programs & Pymakr plugins are disconnected when running esptool or the firmware update tool.

  • Hello,

    After i upgraded the firmware my lopy seems bricked. The led is red and i can't do anything with it. I tried to erase the flash with the esptool like here, but i get "A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header" I run it with: python --port COM3 --chip esp32 erase_flash

    In the console i get:
    rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
    configsip: 0, SPIWP:0xee
    mode:DIO, clock div:1
    ho 12 tail 0 room 4
    entry 0x400a070c

    I've also tried to connect G28 to 3v3 to do load the previous/factory firmware, but it doesn't do anything. I always get the red led, never the orange one. I've done this firmware 'reset' many times and it worked fine.

    I've had the lopy for about 8 months. I've upgraded it constantly and played with it a lot. Never had any problems until now.

    Any advice?

    Thank you

  • @xykon I'm also trying to reproduce the problem and I can't do it anymore. Maybe it was related to using the REPL while running the Gateway, I don't know. Thanks, I will let you know If i can reproduce it.

  • @jp00 Hi, I was also getting a similar error....

    Guru Meditation Error of type LoadProhibited occurred on core 0. Exception was unhandled.
    Register dump:
    PC : 0x400fb5d0 PS : 0x00060e30 A0 : 0x800dd2c8 A1 : 0x3ffda860
    A2 : 0x00000001 A3 : 0x00000001 A4 : 0x00000000 A5 : 0x00000001
    A6 : 0x00000000 A7 : 0x00060023 A8 : 0x800fa3e6 A9 : 0x3fff0580
    A10 : 0x00000001 A11 : 0x00000001 A12 : 0x3ffe7080 A13 : 0x3ffe7080
    A14 : 0x3fff06f0 A15 : 0x3fff0650 SAR : 0x00000020 EXCCAUSE: 0x0000001c
    EXCVADDR: 0x00000001 LBEG : 0x40098624 LEND : 0x4009862f LCOUNT : 0x00000000

    Backtrace: 0x400fb5d0:0x3ffda860 0x400dd2c5:0x3ffda880 0x400dd32f:0x3ffda8a0 0x400dd7bd:0x3ffda8d0 0x400dd9d7:0x3ffda8f0 0x400dcb69:0x3ffda930

    I placed lopy in safe mode then I connected it via IP. I saw some unwanted files in flash folder of lopy. i deleted all unnecessary files and folder. and all set, my lopy again starts working as a charm :)

  • administrators

    @jp00 I've been running the lorawan-nano-gateway for 30 minutes now without seeing any crash. Can you please erase the fs with import os; os.mkfs('/flash') to make sure this isn't a flashing problem and then check that you have the latest nano-gateway code?

    Also can you please confirm which frequency band you are using?

  • I just tested the LoPy to LoPy raw lora ping pong example and its working properly on the latest firmware

  • administrators

    @pjoerke said in New firmware release 1.10.1.b1:

    I have trouble with my LoPy's. Since I made the firmware update I can't receive any LoRa packets. I also tried the LoRa Raw Nano Gateway from your tutorials (just copy&paste) but even this won't work. It seems that something went wrong on LoRa :(

    Hello Pascal, can you please be more specific. I've tested LoPy 2 LoPy RAW connectivity and using one LoPy as a NanoGateway and another as a Node. Both tests have been successful with the latest firmware.

  • Hi,

    I have trouble with my LoPy's. Since I made the firmware update I can't receive any LoRa packets. I also tried the LoRa Raw Nano Gateway from your tutorials (just copy&paste) but even this won't work. It seems that something went wrong on LoRa :(


  • @shridattdudhat Hi, thanks for the info about safe boot! But the problem is not that I can't use the Lopy, the problem is that from time to time, the Lopy reboots itselft (and keeps working fine after that). Sorry about the little information in the other post.

  • @jp00 Put lopy in safe mode and do as per document

    make sure to remove jumper before 3 seconds.

Log in to reply

Pycom on Twitter