Espruino | |
Developer: | Gordon Williams |
License: | MPL 2.0 |
Espruino is an open-source JavaScript interpreter for single board microcontrollers. It is designed for devices with small amounts of RAM (as low as 8kB[1]).
Espruino was created by Gordon Williams in 2012 as an attempt to make microcontroller development truly multiplatform.[2] Though initially not open-source, the Espruino firmware was offered as a free download for STM32 microcontrollers.[3] It was made open-source in 2013 after a successful Kickstarter campaign[4] for a development board running the software. Since the original Espruino board, there have been a number of new official development boards including the small USB thumb-drive-sized Espruino Pico,[5] the Wifi-equipped Espruino WiFi, the Puck.js with built-in Bluetooth and the Pixl.js[6] with a built-in LC display and Arduino shield compatibility. Espruino is the operating system used on the BangleJS and BangleJS2 smartwatches. In addition to the official boards, Espruino runs on approximately 40 other types of development boards[7] [8] including the ESP8266.[9] [10]
There is a large body of reference material for Espruino including over 100 tutorials[11] as well as the book Making Things Smart[12] which contains a selection of hardware projects that can be created with Espruino-based microcontrollers.
To achieve maximal memory efficiency, Espruino executes code from source directly inside the parser, without the use of an Abstract Syntax Tree or intermediate bytecode.[13]
The first official development board was the Original Espruino. Later boards are available in a variety of form factors. The Original Espruino was followed by the Espruino Pico, Espruino WiFi, Puck.js and Pixl.js. A breakout board featuring the MDBT42Q Bluetooth LE module, the same used in the Puck.js and Pixl.js, is also available.
Espruino Web-Based IDE | |
Developer: | Gordon Williams |
License: | Apache License 2.0 |
Espruino programs are written using JavaScript. The Espruino IDE is available as a web-based app, a Google Chrome App and as a native Windows application.[14] Alternative methods of programming Espruino boards include using terminal programs such as PuTTY on Windows.[15]
All of Espruino is Open Source. The different parts are licensed as follows: