Maker Faire Bay Area 2018

The Moddable team recently exhibited and presented at Maker Faire Bay Area.

Exhibit and Demos

We had a booth in the Expo Hall, surrounded by other tech companies, makers, and artists.

No Maker Faire booth is complete without demos or a hands-on activity. We brought demos focused on three things: scripts, screens, and apps for things.

Scripts

JavaScript is the cornerstone of our work, so naturally all of our demos featured JavaScript applications built with the Moddable SDK. Many developers came to our booth because they were intrigued by all of the microcontrollers and displays surrounded by banners with JavaScript logos.

When we share with developers that we focus on JavaScript for embedded, we get two distinct reactions. JavaScript developers are excited to hear that JavaScript is expanding into new territory and are even more excited that XS, our JavaScript engine, supports all of the major modern features of the language.

Embedded developers often ask us, "why JavaScript?" The short answer: we want embedded programmers to benefit from the same programming language and tools that have allowed the web to evolve rapidly so we can all enjoy more powerful, more open IoT devices. Once we show that JavaScript can deliver excellent performance well on low cost hardware, they become believers.

Screens

Our eye-catching "box of screens" demo features a variety of displays paired with microcontrollers running JavaScript applications built with the Moddable SDK. All of the example applications and display drivers are included in the Moddable SDK.

Adding a screen to an IoT device can make it easier to use and allow the product to offer more features. Right now it is difficult to find inexpensive displays and the right software to build modern user interfaces on them. We wrote a blog post about our efforts to make it easier to add displays to consumer electronics products, and created this webpage to provide more information about all of the screens supported by the Moddable SDK, including links to wiring guides and driver documentation.

Apps for Things

Users expect to install apps on their computers and phones, but IoT devices rarely allow users this freedom. When you buy an IoT device, there is often no option to customize the UI, add or remove features, or opt out of using the manufacturer-owned cloud service it relies on to function. If you don't like the app that comes installed on your smart thermostat or garage door opener, you're out of luck.

We are working to open IoT products to apps. Our first step towards this goal is an experimental feature of the Moddable SDK that we call Mods.

Mods are small apps written in JavaScript that can be installed on devices to change their behavior. They don't replace the existing device firmware, but instead work together with it. Apps can be used to change the UI, swap out cloud services, or add brand-new functionality to a device.

To demonstrate the concept, we created a "Mod Store" web application (using Electron) and three device prototypes:

  1. A thermostat (ESP8266 + temperature sensor + QVGA display)
  2. A digital sign (ESP8266 + E ink display)
  3. A light (ESP8266 + DotStar light strip)

When a device is plugged in to a laptop running the web app, the Mods for that device appear on screen. Clicking on a Mod installs a new application to the device, changing the UI and functionality in just a few seconds.

Note: Wi-Fi and Bluetooth are generally unreliable at tradeshows, so we used USB to install Mods in this demo. We expect to provide wireless methods in the future.

This was our first public demonstration of Mods and we were very pleased with people's reactions. Many were surprised by the idea and found it appealing.

We are still experimenting with Mods, and support for them is not yet included in our GitHub repository. We will post an update when they are.

Presentation: "Real JavaScript on a $2 ESP8266?"

Peter Hoddie presented on the Make: Electronics stage on the final day of the show. His talk included an overview of the features of the Moddable SDK, videos of example apps running on Moddable Zero, and a brief introduction to Mods.

Audience members were impressed by how much can be done with JavaScript on inexpensive hardware. We had some great follow-up conversations with people interested in our vision, and we had a surge in orders of Moddable Zero following the presentation.

The presentation was live streamed on the Make: YouTube channel. You can watch the full talk here.

Conclusion

We were thrilled to have the opportunity to share our work and vision for IoT products with such a large and diverse audience. Thank you to Maker Media for putting on another fantastic event and to everyone that stopped by our booth. We hope to see you again next year.