A minimal embedded JavaScript engine for C/C++ that enables scripting on resource-constrained IoT devices.
V7 is an embedded JavaScript engine written in C that allows developers to execute JavaScript code within C/C++ applications, particularly on resource-constrained IoT devices. It implements the JavaScript 5.1 standard and provides a lightweight runtime for adding scripting capabilities to embedded systems.
Embedded systems engineers and IoT developers who need to integrate JavaScript scripting into C/C++ firmware for devices like Arduino, microcontrollers, or other low-resource hardware.
Developers choose V7 for its extremely small footprint, simplicity of integration, and compliance with JavaScript standards, making it the smallest viable JavaScript engine for embedded environments without requiring complex toolchains.
Embedded JavaScript engine for C/C++
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Compiled size ranges from 40k to 120k with RAM usage as low as 800 bytes, making it ideal for resource-constrained embedded devices.
Integration requires copying only two files (v7.h and v7.c), streamlining the addition of JavaScript capabilities to C/C++ projects.
Implements the full JavaScript 5.1 standard, ensuring reliable execution of core JavaScript syntax in embedded environments.
Runs on a wide range of platforms from Arduino to Windows, with only ISO C/C++ compliance required for portability.
Includes auxiliary modules for hardware, file, crypto, and network operations, reducing the need for additional dependencies.
Explicitly marked as deprecated in favor of mjs, meaning no further development, bug fixes, or community support, as noted in the README.
Lacks support for modern JavaScript features like ES6 modules, arrow functions, and promises, limiting code compatibility and developer productivity.
Dual licensing under GPL v2 and commercial can complicate use in proprietary projects, requiring license purchases or open-sourcing, as described in the README.
As a deprecated engine, it has a shrinking ecosystem with fewer third-party tools and community contributions compared to active projects like Duktape.