© 2020

IoT Development for ESP32 and ESP8266 with JavaScript

A Practical Guide to XS and the Moddable SDK


Table of contents

  1. Front Matter
    Pages i-xxxv
  2. Peter Hoddie, Lizzie Prader
    Pages 1-24
  3. Peter Hoddie, Lizzie Prader
    Pages 25-126
  4. Peter Hoddie, Lizzie Prader
    Pages 127-184
  5. Peter Hoddie, Lizzie Prader
    Pages 185-220
  6. Peter Hoddie, Lizzie Prader
    Pages 221-254
  7. Peter Hoddie, Lizzie Prader
    Pages 255-294
  8. Peter Hoddie, Lizzie Prader
    Pages 295-317
  9. Peter Hoddie, Lizzie Prader
    Pages 319-355
  10. Peter Hoddie, Lizzie Prader
    Pages 357-406
  11. Peter Hoddie, Lizzie Prader
    Pages 407-518
  12. Peter Hoddie, Lizzie Prader
    Pages 519-563
  13. Back Matter
    Pages 565-593

About this book


This book introduces a new approach to embedded development, grounded in modern, industry-standard JavaScript. Using the same language that powers web browsers and Node.js, the Moddable SDK empowers IoT developers to apply many of the same tools and techniques used to build sophisticated websites and mobile apps.

The Moddable SDK enables you to unlock the full potential of inexpensive microcontrollers like the ESP32 and ESP8266. Coding for these microcontrollers in C or C++ with the ESP-IDF and Arduino SDKs works for building basic products but doesn't scale to handle the increasingly complex IoT products that customers expect. The Moddable SDK adds the lightweight XS JavaScript engine to those traditional environments, accelerating development with JavaScript while keeping the performance benefits of a native SDK.

Building user interfaces and communicating over the network are two areas where JavaScript really shines. IoT Development for ESP32 and ESP8266 with JavaScriptshows you how to build responsive touch screen user interfaces using the Piu framework. You'll learn how easy it is to securely send and receive JSON data over Wi-Fi with elegant JavaScript APIs for common IoT protocols, including HTTP/HTTPS, WebSocket, MQTT, and mDNS. You'll also learn how to integrate common sensors and actuators, Bluetooth Low Energy (BLE), file systems, and more into your projects, and you'll see firsthand how JavaScript makes it easier to combine these diverse technologies.

If you're an embedded C or C++ developer who has never worked in JavaScript, don't worry. This book includes an introduction to the JavaScript language just for embedded developers experienced with C or C++.


JavaScript ESP8266 ESP32 JavaScript for ESP8266/ESP32 ESP8266/ESP32 application development JavaScript for microcontrollers embedded JavaScript embedded application development IoT JavaScript for IoT Internet of Things Node.js

Authors and affiliations

  1. 1.Menlo ParkUSA
  2. 2.Menlo ParkUSA

About the authors

Peter Hoddie is an engineer and entrepreneur focused on client software. He is recognized for crafting compact and efficient code that pushes the boundaries of user experience on consumer hardware. The software he and his teams have built has powered mass-market consumer products from companies including Apple, Palm, Sling, HP, and Sony. Peter recognizes that the first users of any product are the developers creating it, and that those developers cannot build compelling consumer products on a foundation that’s unstable, complex, or confusing. He therefore champions investments in great tools and a simple runtime architecture.

Peter has founded several companies, including Kinoma, which merged into Marvell Semiconductor. He led QuickTime development at Apple during the 1990s as a Distinguished Engineer. He contributed to the development of the QuickTime file format and its adoption by ISO into the MPEG-4 standard. He is currently a member of the JavaScript language standards committee (ECMA TC39) and chair of ECMA TC53 for "Smart wearable systems and sensor-based devices". Peter is particularly proud of his work putting both the KinomaJS framework and Darwin Streaming Server into open source. He continues to come to terms with the 10 patents that bear his name.

Lizzie Prader is an engineer whose educational background is in theoretical computer science, but is currently better described as an engineer focused on developers’ needs. She recognizes the importance of customer support during all stages of a project, and enjoys working with developers to smooth the on-ramp to embedded development. Working with users of all skill levels—from professional engineers to makers and hobbyists to absolute programming beginners—has made her an advocate of well-organized documentation and readable code.

Prior to Moddable, Lizzie worked as a developer relations engineer at Kinoma. Her main goal was to help customers get the most out of Kinoma’s software and hardware prototyping products, both through direct contact with developers and by creating a variety of resources including sample code, tutorials, and blog posts

Bibliographic information

Industry Sectors
IT & Software
Consumer Packaged Goods
Materials & Steel
Finance, Business & Banking
Energy, Utilities & Environment
Oil, Gas & Geosciences