Software:Espruino

From HandWiki
Espruino
Developer(s)Gordon Williams
Repositorygithub.com/espruino/Espruino
LicenseMPL 2.0
Websitewww.espruino.com

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 Original Espruino, the first official development board.
The Original Espruino, the first official development board, offers 44 GPIO pins, Micro SD card support, a Micro USB interface and controllable LEDs and buttons. It has 256 KB of flash and 48 KB of RAM and runs on a 72 MHz ARM Cortex M3 processor.

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.


Software

Espruino Web-Based IDE
Espruino-ide-screenshot.png
Screenshot of Espruino web-based IDE running in Google Chrome
Developer(s)Gordon Williams
Repositorygithub.com/espruino/EspruinoWebIDE
LicenseApache License 2.0
Websitewww.espruino.com/ide/

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:

References

  1. "Espruino Performance Notes" (in en). http://www.espruino.com/Performance. 
  2. Make Boards Guide 2017.. Senese, Mike. Make Books. 2017. pp. 33. ISBN 9781680453423. OCLC 987280329. 
  3. 3.0 3.1 "Espruino: The Challenges of Running an Open Source Hardware and Software Company | Make" (in en-US). Make: DIY Projects and Ideas for Makers. 2017-06-01. https://makezine.com/2017/06/01/espruino-open-for-business/. 
  4. "A JavaScript interpreter for ARM 'micros" (in en-US). Hackaday. 2012-10-05. https://hackaday.com/2012/10/05/a-javascript-interpreter-for-arm-micros/. 
  5. "Espruino: JavaScript for Things" (in en-US). https://www.kickstarter.com/projects/gfw/espruino-javascript-for-things. 
  6. Wikisource-logo.svg {{{1}}}.
  7. "Javascript by the Pico | Make" (in en-US). Make: DIY Projects and Ideas for Makers. 2014-11-11. https://makezine.com/2014/11/11/javascript-by-the-pico/. 
  8. Make. "Angetestet: Pixl.js - Espruino-Bastelboard mit Bluetooth und Display" (in de-DE). https://www.heise.de/make/meldung/Angetestet-Pixl-js-Espruino-Board-mit-Bluetooth-und-Display-4039075.html. 
  9. Make Boards Guide 2017.. Senese, Mike. Make Books. 2017. pp. 35. ISBN 9781680453423. OCLC 987280329. 
  10. Node.js for Embedded Systems.. Mulder, Patrick.. Oreilly & Associates Inc. 2015. pp. 45. ISBN 9781491928967. OCLC 965413450. 
  11. "Espruino For You Sir - Scargill's Tech Blog" (in en-GB). Scargill's Tech Blog. 2017-04-11. https://tech.scargill.net/espruino-for-you-sir/. 
  12. "Tutorials and Examples - Espruino" (in en). http://www.espruino.com/Tutorials. 
  13. 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. 
  14. "Espruino Documentation". https://www.espruino.com/Internals. 
  15. "Espruino Web IDE". https://www.espruino.com/ide/. 
  16. "Using Alternative Terminal Apps - Espruino". https://www.espruino.com/Alternative+Terminal+Apps. 
  17. "espruino/Espruino" (in en). https://github.com/espruino/Espruino/blob/master/LICENSE. 
  18. 18.0 18.1 "espruino/EspruinoDocs" (in en). https://github.com/espruino/EspruinoDocs/blob/master/LICENSE. 
  19. "espruino/EspruinoBoard" (in en). https://github.com/espruino/EspruinoBoard/blob/master/LICENSE.