Moddable Two

Powerfully beautiful color touch screen with Wi-Fi and BLE

Designed and built for developers

Moddable Two is powered by the popular ESP32 microcontroller with two 160 MHz CPU cores, integrated Wi-Fi and BLE, 4 MB of flash memory, and 520 KB of RAM. Its bright 2.4" QVGA IPS display has a backlight control and a capacitive touch screen.

Moddable Two is powerful enough for the most demanding projects, and features many advanced development options because it is built on the ESP-IDF SDK.

Moddable Two Specifications

  • ESP32 microcontroller
    • Dual core, 240 MHz Xtensa processor
    • Wi-Fi
    • BLE
    • 520 KB RAM
    • 4 MB flash
  • 2.4” LCD display
    • High brightness IPS display
    • Looks great from every angle
    • 240 x 320 pixels (QVGA)
    • Portrait and landscape orientations
    • 16-bit color
    • ILI9341 display controller
    • Backlight brightness control
    • FT6206 capacitive-touch controller
  • 20 pins for external components
    • Digital, I²C, SPI, PWM, RMT, analog input
  • Fits into your project design
    • Thin form factor
    • Mounting holes
  • Power
    • 3.3V and 5V outputs
    • 5V input
  • Moddable Programmer port
    • Install project firmware
    • Connect to xsbug JavaScript debugger
  • Moddable SDK
    • Modern, industry standard JavaScript for rapid development of robust, secure firmware
    • Native C code for performance and integrating existing libraries
    • Piu UI framework for building touch user interfaces
    • Industry standard Web Workers API to make full use of both CPU cores
    • Poco graphics renderer for high performance text and animation
    • Secure TLS connections with HTTP, WebSockets, and MQTT
    • Local networking with mDNS
    • Fully open source – available on GitHub
    • Thoroughly documented
    • Hundreds of example apps

Moddable Two Pinouts

The expansion header on Moddable Two has thirteen programmable pins that allow you to communicate with variety of peripherals using digital, analog input, PWM, RMT, I²C, and SPI. There's also 3.3V and ground pins to power your peripherals.

The programmer header has two additional pins which you can use for serial or digital communication when not using the debugger.

For convenience, there's also a built-in LED and programmable push button.

Moddable Two Dimensions

Working with Moddable Two

Graphics

GIPHY Goes to ESP32

The latest addition to the Moddable SDK is a delightfully silly example app to display animated GIFs from the popular GIPHY web site. The app lets the user enter a search term, uses GIPHY’s REST API to search for a GIF, downloads it, and then displays the GIF onscreen in a continuous loop.

Continue reading...
Graphics

Introducing an Expanding Keyboard for Small Screens

This article describes my work to build a classic LED style clock using the Moddable SDK. That might surprise you because a key feature of the Moddable SDK is the ability to add interactive, animated touch screens to IoT products.

Continue reading...
JavaScript

XS: Secure, Private JavaScript for Embedded IoT

The latest release of our XS JavaScript engine puts in place fundamental new capabilities to advance Moddable’s mission of safely opening IoT products to third party software. These new capabilities are implementations of proposals on track for standardization in Ecma TC39, the JavaScript language committee.

Continue reading...
JavaScript

Building an Apple Media Service Client with the Moddable SDK

iOS devices from Apple provide BLE services for accessories to enhance user experience and interactions. The Apple Media Service (AMS) allows accessories to interact with the iOS media player. We thought it would be fun to build an ESP32 color touch screen interactive media player accessory to control the iPhone media player.

Continue reading...
Documentation

View the Developer Guide

The hardware specific Developers Guides are part of the extensive documention available on the Moddable GitHub site.

Typography

Using More Fonts More Easily in IoT Products

The fonts displayed on the screen of an IoT product are a key part of its brand, establishing the overall feel of the product. All of Moddable’s commercial clients use the custom font support in the Moddable SDK to brand their products.

Continue reading...
Networking

Building BLE Keyboards & Media Controllers with the Moddable SDK

With just a little software, you can quickly turn an inexpensive microcontroller into a powerful custom remote control for many of the devices you already own. Devices like televisions, media players, mobile phones, and computers support external keyboards and remote controls connected using Bluetooth Low Energy (BLE).

Continue reading...
UX

HACKberry Bionic Hand

HACKberry is a 3D-printable bionic arm project managed by Mission ARM Japan. The goal of HACKberry is to make inexpensive prosthetics more widely available by significantly reducing the cost. The HACKberry arm is also remarkably customizable for users because both the hardware and software are open source.

Continue reading...
Networking

Web Services Series Part 2: Making Secure Network Requests

The first article of this series describes how to issue HTTP requests in applications built with the Moddable SDK using information from REST APIs. This article builds on the concepts from the first article and explains how to use the Moddable SDK’s TLS stack in applications to make HTTPS requests.

Continue reading...
Graphics

Scalable Outlines: New Flexibility for Embedded UX

Delivering a modern user experience on low-cost embedded hardware has been a key focus of the Moddable SDK from the start. The Moddable SDK is regularly updated with new rendering capabilities to expand the kinds of user experiences that can be created.

Continue reading...
JavaScript

JavaScript for Embedded

Moddable is the only embedded engine provider on the JavaScript language committee. We joined to ensure JavaScript remains a great language for use in embedded. Here's our original presentation to the committee.

Continue reading...
JavaScript

(Very Experimental) TypeScript Support in the Moddable SDK

Moddable believes JavaScript is the best language for building IoT products. We’ve heard from many developers that they agree with us, but that it is important to them to be able to use TypeScript.

Continue reading...
Graphics

Pushing PNG Images to a Display

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.

Continue reading...
Networking

The Case for Ethernet

This article explains the benefits of using Ethernet instead of Wi-Fi. It also walks you through the steps you need to take to incorporate Ethernet into your projects built with the Moddable SDK.

Continue reading...
Graphics

A Color Picker for Microcontrollers

The color wheel is a common user interface element in desktop and mobile apps that allows the user to select a color. User interfaces to select a color are rare on displays powered by embedded microcontrollers. When present, the interface is primitive, perhaps an array of color boxes.

Continue reading...
JavaScript

Moddable SDK Improvements for ESP32 Projects

Today, we released a major update to improve our support for the popular ESP32 microcontroller. This update includes four major new features: Faster, more reliable ESP32 build system Upgrade to ESP-IDF v3.3.2, a Long Term Support release from Espressif Lightweight NimBLE Bluetooth LE stack for ESP32 Execution of individual build steps — clean, build, deploy,…

Continue reading...
Projects

A Very NeoPixel Christmas

The Christmas season brings decorations and lights. My neighborhood has an assortment of fixed multi-color incandescent and LED lights. Then there is one house with a big light show, complete with low-power FM transmission of a soundtrack to sync with the lights…

Continue reading...