New firmware release 1.10.0.b1 (External 4MByte RAM support)
-
UPDATE: Some users are experiencing Guru meditation errors on the 4MByte of RAM devices with this update. An intermediate solution for this while we release a new version of the updater is to patch the current one.
Please follow these instructions:
-
Find the location where the Pycom Firmware Update application is installed. Then enter the directory (on Mac OS you need to right click and select "Show Package Contents").
-
Within the files of the app, locate the one named updater.py.
-
Inside that file find the following 3 lines which appear twice:
args.flash_size = 'detect' args.flash_mode = 'dio' args.flash_freq = '80m' -
Change the lines to read:
args.flash_size = '4MB' args.flash_mode = 'dio' args.flash_freq = '40m'
A new firmware release is out. The version is v1.10.0.b1. This release brings full external RAM support for the newer modules. With this the MicroPython heap is increased to 3 MBytes (1 Mbyte is reserved for internal use).
The Github sources have been updated as well with the changes from this release.
Here's the full change log:
- esp32: Add AWS IoT SDK as frozen modules.
- esp32: Add function to get the remaining deep sleep time after wake-up.
- esp32: Add support for frozen _main.py.
- esp32: Update IDF libraries to properly support devices with and without external RAM.
- esp32: Add .voltage() method and calibration functions to the ADC class.
As usual this new firmware can be applied using our firmware update tool: https://pycom.io/downloads/
Cheers,
Daniel -
-
@daniel Thank you for all the good new stuff. Looking into the diffs, it looks like you also addressed the glitch between OTA and USB loads.
And please also update the documentation for the new functions like ADC.voltage() and ADC.calibration(), even if some people seem to use the documentation only as last resort, if at all. -
@daniel Building fails at load time (and yes: new compiler version, new esp-idf version) with the error:
LINK build/LOPY_868/release/application.elf /home/robert/Downloads/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/bin/ld: cannot find -lpthread /home/robert/Downloads/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/bin/ld: cannot find -lesp_adc_cal collect2: error: ld returned 1 exit status application.mk:375: recipe for target 'build/LOPY_868/release/application.elf' failed make: *** [build/LOPY_868/release/application.elf] Error 1Where's the missing stuff?
-
@robert-hh thanks. We will update the docs shortly. Regarding the build error, I have just added the missing libraries: https://github.com/pycom/pycom-micropython-sigfox/commit/f81fb9aebc0d970d7c8bfe3896fa0fe7981d7475
That should fix it.
-
Thank for the update. A couple of question:
- does this idf version fix the connection problem?
- in frozen folder i found MQTT client. Can we have documentation for this new modules?
-
@paco88 said in New firmware release 1.10.0.b1 (External 4MByte RAM support):
in frozen folder i found MQTT client. Can we have documentation for this new modules?
It's the same code found at https://github.com/pycom/pycom-libraries/tree/master/examples/aws which is documented at https://docs.pycom.io/chapter/tutorials/all/aws.html
-
@paco88 said in New firmware release 1.10.0.b1 (External 4MByte RAM support):
- does this idf version fix the connection problem?
i'm interested to this too
-
The new firmware seems to use more memory again. My code is not running anymore :(
I need a simple way to downgrade to the version before... -
-
@daniel This is nothing directly affecting xxPy, but maybe useful observations for the future:
I tried to load the WiPy image to a LOLIN32 and a LOLIN32 Lite.
a) For both, the automatic enabling of pulling GP23 low does not work any more. Changing a line in application.mk to:
ESPTOOLPY_SERIAL = $(ESPTOOLPY) --port $(ESPPORT) --baud $(ESPBAUD)
made it working again.
b) The firmware does not run any more on the LOLIN32 Lite, which has aESP32D0WDQ6 (revision 1)chip.
Error trace:Rebooting... ets Jun 8 2016 00:22:57 rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff9028,len:8 load:0x3fff9030,len:932 load:0x4009fa00,len:0 ho 12 tail 0 room 4 load:0x4009fa00,len:13232 entry 0x400a04e8 abort() was called at PC 0x40081175 on core 0 Backtrace: 0x4008bfd3:0x3ffe3c40 0x4008c004:0x3ffe3c60 0x40081175:0x3ffe3c80 0x400a01da:0x3ffe3cc0 0x400a0241:0x3ffe3cf0 0x400a04e2:0x3ffe3d20 0x400a05be:0x3ffe3e70 0x40007c31:0x3ffe3eb0 0x4000073d:0x3ffe3f20 -
Looking into the diffs, it looks like you also addressed the glitch between OTA and USB loads.
No, you did not. No problem, just important to know.
-
@xykon Thx, Xykon
I just realized that it may has a context with the new deepsleep functionality of 1.10.0.b1. Does the deepsleep shield lib 1.0.1 need to be updated?
-
As some others I have problems to connect via USB after this update. I have a LoPy mounted on a PyTrack. Both with latest firmware. The host is Win7 running Atom with the Plugin before the change with the splitted sync button.
If the timing is right, data will be send from the LoPy to the PC. I can see output from my main.py and the REPL with the prompt.
The other direction seems not to work. Typing will not show echo from the LoPy. Selecting reconnect or the "show version" does not work.To see the output I have to deinstall the PyTrack in the device manager and hope that reinstall is ready before the prompt is send.
Have you changed the default settings for the serial?
-
@robert-hh the reason the board doesn’t automatically programs anymore is because we added the no_reset options to the command line arguments of esptool.
Probably the software doesn’t run anymore because it’s trying to initialize the pSRAM in a device that doesn’t have it fitted. The new firmware uses the chip revision to decide if it’s a gen1 or gen2 of our boards.Cheers,
Daniel -
@daniel said in New firmware release 1.10.0.b1 (External 4MByte RAM support):
Add .voltage() method and calibration functions to the ADC class.
Please update the Pycom docs about this new calibration method to the ADC. Many people want to use the ESP32 ADC with better readings.
-
@daniel First, thanks for the update! I was just asking about freezing main and boot, having _main.py should make it even easier.
There is one thing I noticed though: when flashing or erasing the chip, the script gets stuck at "Staying in bootloader" and then crashes. However, the chip gets erased or flashed (depending on the command) even though the crash occurs so it is not really affecting the process. I guess it just doesn't hard reset like before.

-
with the new update the machine.reset() call block the board.
[edit] the board run a pure version of the new release, updated via Pycom firmware update

-
@affoltep can you be more specific? The new firmware has the same amount of MicroPython heap available as before (67K). What is the error that you are seeing in your app?
Cheers,
Daniel -
@hay4to thanks. We will investigate this.
-
@daniel I'm getting the following error while trying to boot
Rebooting... ets Jun 8 2016 00:22:57 rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:1 load:0x3fff9028,len:8 load:0x3fff9030,len:932 load:0x4009fa00,len:0 ho 12 tail 0 room 4 load:0x4009fa00,len:13232 entry 0x400a04e8 adding frozen/lib to load path Debug print statements TRUE Debug print statements TRUE mem_free: creating ody_globals SN: c400b6f0 _main_interval: 600 boot_monitor interval: 600 starting bluetooth configuration creating new bt instance /Users/danicampora/Code/Espressif/IDF/esp-idf-20171106/components/freertos/./timers.c:670 (prvProcessReceivedCommands)- assert failed! abort() was called at PC 0x4008b864 on core 0 Backtrace: 0x4008cf33:0x3ffd9d50 0x4008cf64:0x3ffd9d70 0x4008b864:0x3ffd9d90 ================= CORE DUMP START ================= jDwAABEAAABsAQAA NJ79P5Cc/T8snv0/ wJv9P8Cd/T8AAAAA6D/8P+g//D80nv0/4D/8PxgAAABkl/0/ZJf9PzSe/T8AAAAA AQAAADCY/T9UbXIgU3ZjAHn5N0qhEt8AAAAAACye/T8AAAAAIQAGAAEAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAB4Kf0/4Cn9P0gq/T8AAAAAAAAAAAEAAAAAAAAAAny ideas?
Thanks,
Steve
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login