At Moddable, we believe individuals should have control of the software in the products they own. Some people will use that control to write their own software, while others will use that control to choose the software that delivers the behaviors and privacy they design. Moddable’s extensive work in JavaScript contributes to that goal by… Read More

The Moddable SDK now supports rotating the image shown on displays using features built into some display controllers. This allows the display to be rotated to 0, 90, 180, and 270 degrees at any time with no added overhead. Build-time Rotation with Software The Moddable SDK has always included support for drawing to displays at… Read More

The latest push of the XS JavaScript engine implements support for the forthcoming ECMAScript 2019 standard. The ECMAScript 2019 standard includes several new capabilities and refinements but no major new features. A complete summary of the changes with links to details is available on the “2ality – JavaScript and more” blog by Axel Rauschmayer. For… Read More

The JavaScript language is preparing to add built-in support for integers of arbitrary size with a new feature named BigInt. The built-in Number type is accurate to 53-bits of precision, which is insufficient for many tasks. By standardizing BigInt into the language, developers benefit from having a single API available in all environments and JavaScript… Read More

Sometimes a display is just a display. You don’t need an interactive user interface, you just need to show an image. Using the Moddable SDK, this is easy to do by building a small application to draw the image. There are examples to display a PNG, an animated GIF, and to stream JPEG images from… Read More

There’s been a lot of good work in the Moddable SDK in recent months. This blog post highlights a some of the recent additions and improvements. mDNS The mDNS protocol is arguably the most robust solution available for IoT devices connected to the same local network to discover one another. It is a mature technology… Read More

NeoPixels are strings of bright LEDs that have been popular within the maker community for adding animated illumination to objects. Several recent ESP32 based development boards have built-in NeoPixels, including the … Read More

We’ve recently enabled the JavaScript eval function on embedded devices using the XS JavaScript engine. Our long-held position is unchanged: it is almost always a bad idea to compile JavaScript on an embedded device. The reasons that eval are used on the web, for example, do not typically apply to embedded development. Still, compiling scripts… Read More

In recent months, Moddable has received inquiries for the ability to render a QR Code in the Moddable SDK. This article describes the module we created to support QR Code rendering, together with some of the design and implementation choices we made along the way to provide efficient and flexible QR Code support. What’s a… Read More

In May of 2017, Moddable Tech presented our XS JavaScript engine to at the Ecma TC-39 meeting at Google New York. We were graciously invited by Brendan Eich, the creator of JavaScript, to share our work applying JavaScript to extremely resource constrained embedded hardware. Brendan believed it would be valuable for the committee to see… Read More

Moddable is working hard to make it much easier to add displays to consumer electronics products. A display shows more information quickly and concisely than a few blinking lights or a voice interface. But, it is challenging today to build a product with a display at a reasonable cost with a modern user interface. One… Read More

The most recent push to the Moddable repository on GitHub is a big one. It includes the following:

  • New regular expression engine — A completely new regular expression engine written from scratch for use by XS, Moddable’s JavaScript engine. It is almost 10x smaller than its predecessor with more features and improved conformance. We believe…

Read More

Introduction The JavaScript language includes support for regular expressions, a compact and powerful tool to perform search and replace operations on strings. Regular expressions can be considered a separate language within JavaScript, with its own syntax and behaviors. Just as implementing a JavaScript engine is a major undertaking, properly implementing a new regular expression engine… Read More