Espruino
   HOME

TheInfoList



OR:

Espruino is an open-source
JavaScript JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
interpreter for single board microcontrollers. It is designed for devices with small amounts of RAM (as low as 8kB).


Overview

Espruino was created by Gordon Williams in 2012 as an attempt to make microcontroller development truly multiplatform. Though initially not open-source, the Espruino firmware was offered as a free download for
STM32 STM32 is a family of 32-bit microcontroller integrated circuits by STMicroelectronics. The STM32 chips are grouped into related series that are based around the same 32-bit ARM architecture, ARM processor core, such as the ARM Cortex-M#Cortex ...
microcontrollers. It was made open-source in 2013 after a successful Kickstarter campaign 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, the Wifi-equipped Espruino WiFi, the Puck.js with built-in Bluetooth and the Pixl.js with a built-in LC display and
Arduino Arduino () is an open-source hardware and software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardware products are licensed unde ...
shield compatibility. In addition to the official boards, Espruino runs on approximately 40 other types of development boards including the
ESP8266 The ESP8266 is a low-cost Wi-Fi microchip, with built-in TCP/IP stack, TCP/IP networking software, and microcontroller capability, produced by Espressif Systems in Shanghai, China. The chip was popularized in the English-speaking maker culture ...
and BangleJS smartwatch. There is a large body of reference material for Espruino including over 100 tutorials as well as the book Making Things Smart which contains a selection of hardware projects that can be created with Espruino-based
microcontrollers A microcontroller (MCU for ''microcontroller unit'', often also MC, UC, or μC) is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs ( processor cores) along with memory and programmabl ...
. To achieve maximal memory efficiency, Espruino executes code from source directly inside the parser, without the use of an
Abstract Syntax Tree In computer science, an abstract syntax tree (AST), or just syntax tree, is a tree representation of the abstract syntactic structure of text (often source code) written in a formal language. Each node of the tree denotes a construct occurring ...
or intermediate
bytecode Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (norma ...
.


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.
File:Espruino-original.jpg, Original Espruino File:Espruino-pico.jpg, Espruino Pico File:Espruino-wifi.jpg, Espruino WiFi File:Espruino-puck.jpg, Espruino Puck.js File:Espruino-pixl.jpg, Espruino Pixl.js File:Espruino-mdbt42q.jpg, Espruino MDBT42Q Breakout


Software

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. Alternative methods of programming Espruino boards include using terminal programs such as
PuTTY Putty is a material with high plasticity, similar in texture to clay or dough, typically used in domestic construction and repair as a sealant or filler. Although some types of putty (typically those using linseed oil) slowly polymerise and be ...
on Windows.


License

All of Espruino is Open Source. The different parts are licensed as follows: * Espruino Firmware - Mozilla Public License, version 2.0 * Espruino Code Samples -
MIT License The MIT License is a permissive free software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts only very limited restriction on reuse and has, therefore, high license comp ...
* Espruino Documentation - Creative Commons Attribution-ShareAlike 3.0 * Espruino Hardware Design Files - Creative Commons Attribution-ShareAlike 3.0


References

{{reflist JavaScript Microcontrollers Microcontroller software Physical computing Internet of things