Espruino is Open Source. Our work is supported by sales of our boards and donations. If you are using Espruino on another board, please donate below so we can keep improving Espruino and supporting our users.

Download Espruino

ChangeLog - Please follow us on  Twitter to be notified when new versions are released.

While Espruino can be downloaded onto many other boards, the boards we make come pre-installed with Espruino and can be easily updated straight from our Web IDE. If you want something that 'just works', or want to support what we're doing then please try Espruino on one of them!


Cutting edge

We try to release new versions of Espruino every few weeks. However if you can't wait that long,  you can get versions that are compiled directly from the repository after each commit.

If you have an Original Espruino or a Pico, you can download the absolute latest binary directly from or can browse by Git commit hash. If you want to download an old release you can also browse the binaries.

Otherwise there are nightly builds for some other boards available from



Espruino Boards

We'd strongly recommend that you use the Chrome Web IDE which has a flasher (and firmware download) built-in. Downloading up to date firmware is as easy as clicking the Settings button, then Flasher, then Flash Firmware. To flash a 'cutting edge' or older binary, simply:

  • Find the .bin file that you wish to flash online, right-click on it and Copy Link Address.
  • Click the Settings button, then Flasher.
  • Paste the URL into the text box under Advanced Firmware Update
  • Click the Advanced Flash Firmware button

If you absolutely don't want or can't do this then do the following on Linux or MacOS:

  • Open a Terminal Window
  • Make sure you have Python installed (type python --help and see if anything happens)
  • Download the Python script from
  • Run python -k -MySerialPort -evw espruino_for_your_device.bin
    • On Mac OS, MySerialPort will probably look a lot like /dev/tty.usbmodem### where ### is a number. You can use the 'Tab' key to autocomplete once you have typed /dev/tty.usbserial
    • On LinuxMySerialPort will probably look a lot like /dev/ttyACM# where # is a number. If you only have one USB-Serial device plugged in, it's almost certainly /dev/ttyUSB0
    • Note the -k flag above. This is specific to Espruino rev 1.3 Boards and helps to ensure that the USB link is reliable during flashing.

You can also completely overwrite Espruino's bootloader using the Serial Bootloader instructions, but you'll need a USB-TTL converter for this.


Other Boards

Please see the page on Other Boards for more information.


After You have Flashed Espruino

See Quick Start for instructions on how to get started!