Espruino 1v85 released

Posted on
  • It should be giving you the option to update in the Web IDE now.

    Some great changes this time:

    'Official' ESP8266 and micro:bit releases

    Now available on the Download page

    There's a combined ESP8266 image for 512kB parts that should be a bit easier to flash.

    WebSocket server support

    For the Espruino Pico at the moment (other boards will need a SHA1 implementation)


    This is quite advanced, but you can now access any area of memory directly as a variable. It's really useful if you've used the Flash library to write data into your board's flash memory, and you want to be able to access it without loading it back into RAM.

    More accurate RTC on Espruino Pico

    We've changed some values, and the Pico's RTC should be more accurate now - although it's still not great.

    Better code compression

    When saving, your code is now compressed with 'heatshrink' which is much more efficient than the old RLE compression. If that fails, your command history is deleted and Espruino tries again.

    You can now also type reset();save() on one line - previously it used to just reset.

    Added decodeURIComponent

    Is it says on the tin - this is a useful function for a lot of web-bases stuff

    Tab complete improvements

    Tab complete works a lot better now, and doesn't use much memory - so it can be used on boards even if they don't have much RAM

    Networking tweaks

    • Improved memory handling means HTTPS and TLS can now be used on the Pico with ESP8266 and GSM modules. There are now more helpful error messages too.
    • A bug parsing HTTP headers for POSTed data (sometimes) was fixed
    • The handling of serial data has been tweaked to make handling network connections that send lots of data via serial (ESP8266, GSM) far more robust
    • Buffer sizes for WIZnet and ESP8266 networks have been increased, making them much faster
    • The HTTP server now closes a connection automatically after Content-Length bytes have been received.

    Power usage/speed

    • Allocating Flat Strings has got faster
    • Garbage collection now updates the free list to ensure that variables are more likely to be allocated right at the beginning of memory (leaving more free for large flat arrays)
    • Multiple clears of the same memory area have now been removed
    • Only garbage collect when we're low on memory - this allows Espruino to get back to sleep much more quickly after executing code
    • Espruino can now use direct pointers to ArrayBuffers and memoryAreas, which really speeds up internal functions that require flat memory.

    Other fixes

    • There were some bad floating point bugs on boards with very little memory (VLdiscovery, Olimexino, etc), and these have been fixed now.
    • A regression on the Original Espruino's DACs has been fixed
    • Calling clearInterval (without arguments) from within a debounced setWatch is now fine
    • Improve low speed external oscillator handling
    • Ensure that any pins set using pinMode return to their power-on state after reset()
    • After a conversation with users on Gitter it turns out most people weren't aware that there was a donation page. Espruino on boards that I don't make any money from now displays a short message pointing it out.
    • Not specifically Espruino - but the new Web IDE should have updated on to your computers now - it has a few fixes and improvements that hopefully make it a bit more polished and easier to use.
  • Thanks @Gordon for all the hard and tedious work!

  • I've just updated my perfectly working board to this because the IDE advised it, and then used save() to flash the code I wrote to the board, and now the board is no longer showing up in the USB list on the IDE and when I use various cables to get into bootloader mode I get a blue solid and red light which occasionally pulses blue then goes red and blue solid and bright...

    I really don't know what is wrong or what to do, there is no record of this issue happening before, but I am really up s*** creek right now.

  • @unknowndomain, what board do you have? a) Pico b) Original? ...what OS are you using?

  • I guess it's an Espruino Original judging by the blue LED?

    What do you mean by various cables? To get into bootloader mode you should only need to use a normal USB cable, and then hold down BTN1 while tapping RST.

    Dim blue+red means the board hasn't initialised at all, bright blue+red means it is waiting for a USB connection, and pulsing blue means it's properly in bootloader mode.

  • Yes it's an original one, the board just sits on bright red and blue solid LEDs, not dim, I've tried 3 USB leads now, they all work with phones and Arduino Leonardo.

  • Try another USB port on the computer.

  • Also, are you on Windows?

    Have you looked at the steps here?

    On Windows you can actually get to the point where you have plugged too many devices into your PC at one point or another, and there are no more COM ports available! There's a webpage with a fix for it here

  • ... also, maybe try on another computer and see if you can get past the solid LEDs? It might help to narrow down where the problem is.

  • I've tried another Espruino and it works, I am on a Mac, it's just this one, after the firmware update was 'successful' it stopped working when I typed save() in the terminal.

    Any ideas?

  • I've tried 5 USB cables, all work with the other board I have.

    I've tried flashing it in the same way as the other board.

    I cannot get the blue pulsing light for more than a second before the red light comes on, and eventually both stay solid on, not pulsing.

    I suspect the board is dead?

  • Have you tried using another computer? It sounds a little like some software on the Mac is 'hijacking' the serial port - sometimes it can happen if your Mac believes that the board is a modem, and tries to connect to the internet with it.

    I still don't know quite why that happens, but perhaps if you plug both boards in and then look at settings, you might see some difference in how the 2 boards appear to the operating system.

  • Okay, it's been a while, I have been busy forgotten, come back to this now...

    I found my other board, it works fine with one of the cables. I've managed to update the bootloader on there, and the other board is now being recognised but it will not flash, and I can't type into the REPL/Console...

    In the console when plugged in this text appears...


    Loading 11098 bytes from flash...
    ho(0); 14:35:23","GIT_COMMIT":"0671a2d91de45a0e­05c4b2b385264cf2ef16e463","BOARD":"ESPRU­INOBOARD","CHIP":"STM32F103RCT6","CHIP_F­AMILY":"STM32F1","FLASH":262144,"RAM":49­152,"SERIAL":"34ffdd05-42573838-33692143­","CONSOLE":"USB","EXPORTS":{"jsvLock":1­75045,"jsvLockAgainSafe":175033,"jsvUnLo­ck":175009,"jsvSkipName":81269,"j:21701,­"jsvMathsOpSkipNames":23465,"jsvNewFromF­loat":77665,"jsvNewFromInteger":77701,"j­svNewFromString":176305,"jsvNewFromBool"­:77685,"jsvGetFloat":81509,"jsvGetIntege­r":80673,"jsvGetBool":81773,"jspeiFindIn­Scopes":50889,"jspReplaceWith":19589,"js­peFunctionCall":54541,"jspGetNamedVariab­le":50941,"jspGetNamedField":52089,"jspG­etVarNamedField":51761,"jsvNewWithFlags"­:175189}}


    And I cannot type, and even when I now can get it into what I presume is DFU mode with the pulsing blue light, it will not update on this one board.

  • Have you tried on another computer, just in case it's some kind of configuration issue with the COM port?

    Also, when plugged in and you get that text (out of bootloader mode), try [Ctrl-C] [Ctrl-C] echo(1) [Enter] and see if a prompt appears. If it does, reset and save (but that shouldn't affect the bootloader)

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

Espruino 1v85 released

Posted by Avatar for Gordon @Gordon