Espruino
Developer(s) | Gordon Williams |
---|---|
Repository | github |
License | MPL 2.0 |
Website | www |
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]).
Overview
Espruino was created by Gordon Williams in 2012 as an attempt to make microcontroller development truly multiplatform.[2][3] Though initially not open-source, the Espruino firmware was offered as a free download for STM32 microcontrollers.[4] It was made open-source in 2013 after a successful Kickstarter campaign[5] for a development board running the software.[6] Since the original Espruino board, there have been a number of new official development boards including the small USB thumb-drive-sized Espruino Pico,[7] the Wifi-equipped Espruino WiFi, the Puck.js with built-in Bluetooth and the Pixl.js[8] with a built-in LC display and Arduino shield compatibility. In addition to the official boards, Espruino runs on approximately 40 other types of development boards[9][3] including the ESP8266.[10][11]
There is a large body of reference material for Espruino including over 100 tutorials[12] as well as the book Making Things Smart[13] 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.[14]
Hardware
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.
-
Original Espruino
-
Espruino Pico
-
Espruino WiFi
-
Espruino Puck.js
-
Espruino Pixl.js
-
Espruino MDBT42Q Breakout
Software
Developer(s) | Gordon Williams |
---|---|
Repository | github |
License | Apache License 2.0 |
Website | www |
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.[15] Alternative methods of programming Espruino boards include using terminal programs such as PuTTY on Windows.[16]
License
All of Espruino is Open Source. The different parts are licensed as follows:
- Espruino Firmware - Mozilla Public License, version 2.0[17]
- Espruino Code Samples - MIT License[18]
- Espruino Documentation - Creative Commons Attribution-ShareAlike 3.0[18]
- Espruino Hardware Design Files - Creative Commons Attribution-ShareAlike 3.0[19]
References
- ^ "Espruino Performance Notes". www.espruino.com. Retrieved 2018-06-04.
- ^ Make Boards Guide 2017. Senese, Mike. Make Books. 2017. p. 33. ISBN 9781680453423. OCLC 987280329.
{{cite book}}
: CS1 maint: others (link) - ^ a b "Espruino: The Challenges of Running an Open Source Hardware and Software Company | Make". Make: DIY Projects and Ideas for Makers. 2017-06-01. Retrieved 2018-06-01.
- ^ "A JavaScript interpreter for ARM 'micros". Hackaday. 2012-10-05. Retrieved 2018-06-01.
- ^ "Espruino: JavaScript for Things". Kickstarter. Retrieved 2018-06-04.
- ^ {{{1}}}.
- ^ "Javascript by the Pico | Make". Make: DIY Projects and Ideas for Makers. 2014-11-11. Retrieved 2018-06-04.
- ^ Make. "Angetestet: Pixl.js - Espruino-Bastelboard mit Bluetooth und Display". Make (in German). Retrieved 2018-06-04.
- ^ Make Boards Guide 2017. Senese, Mike. Make Books. 2017. p. 35. ISBN 9781680453423. OCLC 987280329.
{{cite book}}
: CS1 maint: others (link) - ^ Node.js for Embedded Systems. Mulder, Patrick. Oreilly & Associates Inc. 2015. p. 45. ISBN 9781491928967. OCLC 965413450.
{{cite book}}
: CS1 maint: others (link) - ^ "Espruino For You Sir - Scargill's Tech Blog". Scargill's Tech Blog. 2017-04-11. Retrieved 2018-06-04.
- ^ "Tutorials and Examples - Espruino". www.espruino.com. Retrieved 2018-06-04.
- ^ F., Williams, Gordon (2017). Making things smart : easy embedded JavaScript programming for making everyday objects into intelligent machines (First ed.). San Francisco, CA. ISBN 9781680451894. OCLC 964820771.
{{cite book}}
: CS1 maint: location missing publisher (link) CS1 maint: multiple names: authors list (link) - ^ "Espruino Documentation".
- ^ "Espruino Web IDE". www.espruino.com. Retrieved 2019-05-28.
- ^ "Using Alternative Terminal Apps - Espruino". www.espruino.com. Retrieved 2019-05-28.
- ^ "espruino/Espruino". GitHub. Retrieved 2018-06-04.
- ^ a b "espruino/EspruinoDocs". GitHub. Retrieved 2018-06-04.
- ^ "espruino/EspruinoBoard". GitHub. Retrieved 2018-06-04.