An SDK for building IoT applications on microcontrollers using modern JavaScript with networking, graphics, and hardware APIs.
Moddable SDK is a development toolkit that enables developers to create IoT applications for microcontrollers using standard JavaScript. It provides a complete runtime environment, networking protocols, graphics libraries, and hardware APIs optimized for devices with limited memory and processing power. The SDK solves the challenge of building modern, connected products on low-cost hardware while leveraging familiar web technologies.
Embedded developers, IoT product creators, and JavaScript developers who want to build applications for microcontrollers like ESP32, ESP8266, Raspberry Pi Pico, and nRF52 boards. It's particularly valuable for teams creating connected devices with user interfaces or networking requirements.
Developers choose Moddable SDK because it brings modern JavaScript development to microcontrollers with excellent ECMAScript standard compliance, comprehensive networking and graphics APIs, and strong optimization for constrained environments. Unlike proprietary IoT platforms, it's open-source and supports a wide range of hardware while maintaining a consistent development experience across devices.
Tools for developers to create truly open IoT products using standard JavaScript on low cost microcontrollers.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses the XS engine with 99% conformance to the 2025 ECMAScript standard, allowing developers to leverage up-to-date language features on microcontrollers, as highlighted in the README.
Supports HTTP/HTTPS, WebSockets, MQTT, and BLE for both peripheral and central roles, enabling robust IoT connectivity without low-level protocol implementation.
Provides Commodetto for 2D bitmap graphics and Piu for object-based UI frameworks, optimized to minimize memory usage by eliminating frame buffers with scanline rendering.
Includes xsbug, a full-featured JavaScript debugger with real-time memory tracking and profiling, similar to tools used in web development for faster iteration.
Each supported microcontroller requires installing separate, third-party tools and SDKs (e.g., ESP8266 tools, ESP32 tools), involving multiple steps and potential compatibility issues, as noted in the Getting Started section.
The README admits that microcontroller constraints may restrict the combination of JavaScript language features usable in a single application, forcing developers to carefully optimize and potentially simplify code.
Relies on Moddable-specific APIs and build systems, making it difficult to port applications to other embedded platforms without significant rewrites, especially compared to more standardized C-based frameworks.