Developer Resources

Developers working with the Moddable SDK have an amazing amount of material to help. This page is a guide to many of the the resources available including articles, example code, reference documentation, and places to get answers to questions.

Getting Set-up

The Getting Started guide provides step-by-step instructions to install the Moddable SDK for use in development on macOS, Windows, and Linux.

The Moddable SDK supports development for a wide range of microcontrollers. There are set-up guides is for each supported microcontroller. Each guide includes step-by-step instructions to install and configure the required build tools. They also include a list of supported development boards.

Moddable SDK Repository

The Moddable SDK repository on GitHub contains the source code to the runtime and build tools. It also contains extensive documentation and example code.

Getting Started

The Moddable SDK brings together two different disciplines – embedded software engineering and JavaScript software development. Most people coming to the the Moddable SDK have experience with one of these but not the other. A great place to start is our book IoT Development for ESP32 and ESP8266 with JavaScript. For developers combing from an embedded background, it contains a fast-paced introduction to the JavaScript language written specifically for C and C++ developers. For JavaScript developers who haven't worked directly with hardware before, it introduces fundamental hardware concepts. And for developers of all backgrounds, it contains hundreds of practical code examples to perform common tasks.


Sometimes it is easier to learn by watching a video than reading a document. The Moddable YouTube channel contains tutorials and demonstrations to help.

Message tracing in xsbug

Quick demo of using message tracing in xsbug, the Moddable SDK's JavaScript debugger. The message view is a useful tool for visualizing communication in IoT projects.

mcsim, the Moddable SDK simulator

A quick look at the core features of mcsim including device selection, show controls and the information bar, rotating the screen, and light/dark mode selection.

Remote Control for Photoshop Tools

A touch screen remote for selecting Photoshop Tools that you can easily customize or adapt to support other apps!

Fetch on ESP32

Demonstration of the JavaScript Fetch API from HTML5 running on a microcontroller. It shows a GET for the text of a web page, a JSON PUT with JSON response, and GET of JPEG image data. The example script uses asynchronous JavaScript functions to simplify the code.

Moddable Hardware

Moddable Hardware is high-quality, low cost modules that are fully compatible with the Moddable SDK. Our hardware is designed to be paired with the Moddable SDK, eliminating the need for any special set‑up or configuration.

Moddable Six

Moddable Six

Moddable Six is powered by the popular ESP32-S3 microcontroller with two 240 MHz CPU cores, 8 MB PSRAM, 8 MB flashintegrated Wi‑Fi, and BLE.

Developer Guide Data sheet Product Info

Moddable Four

Moddable Four

Year-long operation on a coin cell with BLE a fast, always-on screen, and Nordic's ultra-low power nRF52.

Developer Guide Data sheet Product Info

Moddable Three

Moddable Three

Moddable Three features an ePaper screen for elegant, unobtrusive display in any environment.

Developer Guide Data sheet Product Info

Moddable Two

Moddable Two

Moddable Two is powered by the popular ESP32 microcontroller with two 240 MHz CPU cores, integrated Wi‑Fi, and BLE.

Developer Guide Data sheet Product Info

Moddable One

Moddable One

Moddable One is powered by the 80 MHz ESP8266 microcontroller with integrated Wi‑Fi and 80 KB of RAM.

Developer Guide Data sheet Product Info

Going Deeper

Some developers like to read the documentation before they start coding. Others prefer to jump in, modifying existing projects to explore how things work. The Moddable SDK has resources to support both approaches.

Examples

The examples directory contains a constantly growing collection of nearly 200 ready-to-run projects. Many run on the simulator, so no additional hardware is required. Each example is focused on demonstrating a particular capability. The example are generally less than a page of code, making them easy to understand. There's helpful video tutorial that introduces the examples and shows how to run them.


Documentation

The documentation directory contains an extensive collection of reference materials for the APIs in the Moddable SDK. These are a great resource to browse to get a better understanding of the many capabilities available for projects to use. There are also many documents describing details about the XS JavaScript engine.

Staying Up-to-Date

The Moddable SDK is constantly growing and improving thanks to the work of the Moddable team and contributions for the world-wide Moddable community. There are several ways to stay informed about the latest advances.

X

The @moddabletech X feed has the latest news for developers using the Moddable SDK. There are posts about software updates, new blog posts, and contributions from the community. Following @moddabletech is the easiest way to receive all the latest.

Blog

The Moddable blog is an extensive collection of news and articles about getting the most from the Moddable SDK. New articles are posted regularly.

GitHub

To receive a notification as soon as a new release of the Moddable SDK is available, Click the "Watch" button on the Moddable SDK repository. Each releases is accompanied by detailed release notes that summarize the additions, enhancements, and fixes.

Getting Help

Even with all the great resources available to support developers working with the Moddable SDK, there are times when the solution to a problem just isn't apparent. The Moddable community provides many ways to interact with other developers to ask questions, discuss ideas, and share knowledge.

  • Discussions

    To ask questions about the Moddable SDK, GitHub Discussions is a good place to start. Questions and ideas can be posted to the Moddable community. The Moddable team monitors Github Discussions and often answers questions there.


  • Moddable Monthly Community Call

    Every month we get together for an informal community call to talk about embedded JavaScript news including Moddable SDK updates, ECMA-419, events, and interesting projects. This is a community event so bring your announcements to share and questions to ask.


  • Issues

    To report a bug in the Moddable SDK, use GitHub Issues. Reporting bugs is very helpful, even if there's a workaround, because it ensures the problem can be fixed for all developers using the Moddable SDK.


  • Real-time chat

    The Moddable community uses Gitter for realtime conversations. This is a good place to ask a quick question before opening a Discussion or Issue.


  • X

    While a little unusual, some questions can be answered with a tweet. Mention @moddabletech in the tweet to make sure Moddable is notified.


  • Contact Us

    For questions that aren't appropriate for these communication channels, please contact Moddable directly by email. Please understand that Moddable provides technical support by email only to our commercial clients.

Other Important Information

  • Licensing. The Moddable SDK is made available under both an open source license and a commercial license. Project authors may choose either. Visit the licensing page to learn about these options and the licenses directory in the Moddable SDK for the full text of some of the open source licenses used.
  • Contributing. Moddable welcomes contributions from the community to improve the Moddable SDK. These can be documentation updates, new examples, bug fixes, or new runtime modules. Contributions may be submitted with a Pull Request. Before a contribution can be merged, a Contributor License Agreement (CLA) must be completed. There is one CLA for individual contributors and another for corporate contributors.
  • Vulnerability Disclosure Policy. Moddable welcomes reports from security researchers who identify potential vulnerabilities ini the Moddable SDK. Security and privacy are critical aspects of IoT products and Moddable appreciates assistance in making the Moddable SDK as robust and resilient as possible. Our Vulnerability Disclosure Policy explains how Moddable works with security researchers.