Front-end Frameworks

Elk – tiny embeddable JavaScript engine

Elk is a tiny embeddable JavaScript engine that implements a small but usable subset of ES6.

It is designed for microcontroller development. Instead of writing firmware code entirely in C/C++, Elk allows to add JavaScript customisations to the firmware developed in C.

Elk’s approach is different from other scripting environments like micropython, which provide a complete JS API for everything. Elk is completely bare, it does not even have a standard library. All required functionality is supposed to be imported from C/C++ firmware, and JS code simply orchestrates things. That leaves Elk very minimal and tunable.

This is free and open source software.

Key Features

  • Zero dependencies. Builds cleanly by ISO C or ISO C++ compilers.
  • Easy to embed: just copy elk.c and elk.h to your source tree.
  • Small and simple embedding API.
  • Does not use malloc. Operates with a given memory buffer only.
  • Small footprint: about 20KB on flash/disk, about 100 bytes RAM for core VM.
  • No bytecode. Interprets JS code directly.
  • Cross platform. Works anywhere from 8-bit microcontrollers to 64-bit servers.

Website: github.com/cesanta/elk
Support:
Developer: Cesanta Software Limited
License: GNU Affero General Public License v3.0

Elk is written in C. Learn C with our recommended free books and free tutorials.


Related Software

JavaScript Engines
V8High-performance JavaScript and WebAssembly engine
SpiderMonkeyJavaScript and WebAssembly Engine, used in Firefox, Servo and more
QuickJSSmall and embeddable Javascript engine
HermesJavaScript engine optimized for React Native
JerryScriptJavaScript engine for the Internet of Things
DuktapeEmbeddable JavaScript engine, focusing on portability and compact footprint
ElkTiny embeddable JavaScript engine

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments