Espruino 1v96 is here

Posted on
  • All Platforms

    • New Storage Library allows easy nonvolatile storage of user data, as well as access to saved program code and the ability to write more code than will fit in RAM
    • Added ES6 Class Support
    • this is now inherited correctly for Arrow Functions
    • Add Graphics.scroll command now scrolls graphics contents
    • Large ArrayBuffer Graphics Speed improvements
    • Add UDP support for WIZnet Ethernet modules
    • Added optional WIZnet W5100 compile target (default is W5500)
    • More robustness improvements based on weeks of Fuzzing
    • E.toString now works with no copy or allocation for Uint8Array/FlatStrings
    • Improved Exception/Ctrl-C handling
    • Fix mild memory leak that caused GC to run more often than required
    • Improve SD card reliability on all boards by trying multiple times before failing
    • Allow JS modules to be built-in by adding files to JSMODULESOURCES
    • process.env now simplified, and returns a list of the libraries provided in the firmware
    • Add 'data' option to setWatch to allow clocked data to be decoded easily

    Puck.js/BLE devices

    • Moved to SDK 12.3 - solves Windows connection issues
    • PWM output via Waveform class is now possible
    • Fix crash if I2C is used before being initialised
    • All Bluetooth/NFC events use a task queue, avoiding occasional 'MEMORY_BUSY' errors
    • Increase flash available for stored code from 12kB for 40kB
    • Online compiler now available

    Espruino WiFi

    • Added built-in WiFi library, as well as AT
    • Added UDP support
    • WIZnet Ethernet module support is now built in
    • Added more features to WiFi library (setAPIP/etc)
    • Added Flow Control for more reliable WiFi comms
    • Added turbo mode for faster Wifi communications

    All boards

    • ESP8266/ESP32 fixes and tweaks
    • Seeed WIO_LTE SD card now works correctly
    • Added STM32L496GDISCOVERY to the release builds

    More features are being added for our upcoming board, Pixl.js that is expected in April - please sign up at that link to be notified when it's available!

    There are many other tweaks too. For more information see the ChangeLog

  • Awesome!!!

  • Great! Very interesting improvements! Wish you great success with the Pixl.js!

  • So many things to play with and so little time.
    Thanks for all the improvements!

  • Hi, I'm dissapointed with the last firmware.
    1.My Espruino WIFI does not want to start the code on startup (I've changed E.On to Function onInit).
    2.The board sometimes looses connection to the IDE while uploading the code. The connection button is still on but progressstatus is stoping on the half while sending the code

    P.S. After hours of experimenting I've found the way how to launch the code on startup. I use both E.on('init'... and function onInit(){}. E.on just calls the function onInit. That was the only way to lauch on startup. I think it's quite strange. Tested with 2 Espruino WIFI boards. Both worked fine with just E.on... untill upgrade

  • @Vladimir can you post your problem as a new thread in­3/ with the code you're using?

    I just tried this:

    function onInit() {

    Saved, and it works great, so there's nothing specifically wrong with onInit. I wonder if you're using 'Save on send' in the IDE or some other option that is confusing things.

  • Hi, with the latest firmware NFR.on('connect',.... is not fired anymore on my Puck.js.
    Does anyone have the same issue?


  • Hi - yes, this looks like a regression. I've just fixed it so any of the cutting edge builds from­master/ will work

  • 1v96 (c) 2017 G.Williams


  • Is it possible to use the new Storage class to overcome the 10k limit for programs on the esp8266?

  • Yes. I just answered your other question on this on the ESP8266 forum:­316315/#14130113

  • Not sure whether to ask here or to start a new conversation, but seeing as the link in the IDE news brought me here I figured this will be a sensible option... I found my old original Espruino in a box, plugged it in and as expected it told me there was new firmware. However, the flasher in the IDE only took it to 1v94 and not 1v96. Is there a reference file somewhere that hasn't been updated for a couple of builds?

  • That's odd... it'd be­RD.json, but it looks fine to me.

    I just did an update and it seems to work fine as well, so I'm not sure what's up. Could you try and reproduce, and if you can maybe create a new post with the log messages from the IDE in it?

  • No need, I've just found what the problem was (while looking for the log messages). The Offline Mode was, somehow, switched on (and I don't know how or why). Switching that off did the trick.

    Maybe being in Offline Mode could be a bit more visible (something in the title bar perhaps) - or, failing that, just add this experience to the knowledge base :)

  • Good point about showing offline mode - I'll have a think about how to show that in the IDE...

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview

Espruino 1v96 is here

Posted by Avatar for Gordon @Gordon