• Is it possible to update the firmware of one espruino device from another espruino device? I would imagine that I would have to store the firmware onto an sd card and have, for example, a pico read the sd card and update the other device.

  • Do mean that it would update the others while they are deployed and running? ...over some communication - serial, WiFi, BLW? - like variation of OTA but driven by an Espruino rather than an IDE or other uploading/updating tool? If it is among same Espruinos, you would not even need an SD card. It would be like dynamically inheriting/replicate own firmware to others.

  • @allObjects

    Do mean that it would update the others while they are deployed and
    running?

    Yes, Lets say there is an updated espruino firmware where I would usually open the web ide and upload the new firmware via the "Flasher" section. I was wondering if it is possible to update the firmware using another espruino device.

    The reason for my question is, I have a pixl.js which is a fun little device, but it has a minor issue when using an ethernet shield. Apparently the pixl will hang for about 30 seconds after I think a socket disconnect. I'm not sure if that issue still exists as I don't have an ethernet shield at the moment.

    To possibly mitigate against that issue, I wanted to see if I can combine my existing pico + wiznet into my pixl project. Let the pico handle the network logic and let the pixl handle the bluetooth and other logic. Or maybe this is not needed/redundant?

    The pico and] pixl will communicate I guess over i2c.. or maybe serial.... I'm not exactly sure yet.

    Now, I thought when there are firmware updates for the espruino boards, how can I update the firmware without having to connect to the IDE?

  • Apparently the pixl will hang for about 30 seconds after I think a socket disconnect

    Yes, I'm afraid that isn't fixed yet - it's on my list of things to do :)

    how can I update the firmware without having to connect to the IDE?

    For the STM32-based boards, if you have a serial connection to them then you should be able to update the firmware using a tweaked version of this code which is what the IDE uses. The nRF52's bootloader on the Espruino boards doesn't support serial flashing though so you're out of luck there I'm afraid.

    Another option would be to use the SWD connections and implement the SWD protocols yourself (which should work on any ARM), but that's probably quite a big project (although it would be amazingly cool).

    Basically it's possible, but there isn't going to be an easy way I'm afraid.

    On the other hand, updating JS on the fly should be pretty easy :)

  • Just to add that I took another look and literally just fixed the W5100 + Pixl.js issue, so your problems may have gone away now :)

  • @Gordon Thank you soooooo much for taking a look at the W5100 issue. I will be purchasing the ethernet shield from ebay in the next couple of days and report back with my findings :-)

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

Update firmware of one espruino device from another espruino device?

Posted by Avatar for d0773d @d0773d

Actions