github.com/espruino/Espruino ↗
The Espruino JavaScript interpreter - Official Repo
Open this visualization on its own page →
Contributors
122
Lines of Code
54,393
From
2013-09-26
To
2022-04-26
About espruino/Espruino
Espruino is a JavaScript interpreter designed to run on microcontrollers with extremely limited resources, supporting devices with as little as 128kB of Flash memory and 8kB of RAM. Written in C, it allows developers to program embedded systems using JavaScript rather than traditional low-level languages, making microcontroller development more accessible to web developers and beginners.
The project supports a wide range of hardware platforms including STM32, nRF51/52, ESP8266, ESP32 variants, and Linux, with official boards available for purchase that come pre-installed with the interpreter. The interpreter includes built-in libraries for common peripherals like SPI, I2C, and USB, and developers can create additional libraries by writing wrapper code that interfaces JavaScript with C implementations. The project provides comprehensive documentation, tutorials, and a forum-based support community.
Espruino is maintained as an open-source project under the MPL v2 license, with development supported through board sales and donations. The codebase is modular, allowing new boards and architectures to be added through configuration files and architecture-specific implementations. The project emphasizes community contributions while encouraging commercial users to give back improvements and maintain compatibility with the main repository rather than forking.