diff --git a/documentation/assets/devices/moddable-one-pinout.png b/documentation/assets/devices/moddable-one-pinout.png
new file mode 100644
index 0000000000..37d905226a
Binary files /dev/null and b/documentation/assets/devices/moddable-one-pinout.png differ
diff --git a/documentation/assets/devices/moddable-one-programmer.jpg b/documentation/assets/devices/moddable-one-programmer.jpg
new file mode 100644
index 0000000000..77850ed73b
Binary files /dev/null and b/documentation/assets/devices/moddable-one-programmer.jpg differ
diff --git a/documentation/assets/devices/moddable-one.png b/documentation/assets/devices/moddable-one.png
new file mode 100644
index 0000000000..e3cc8f6f05
Binary files /dev/null and b/documentation/assets/devices/moddable-one.png differ
diff --git a/documentation/assets/devices/moddable-three.png b/documentation/assets/devices/moddable-three.png
new file mode 100644
index 0000000000..85e16967b8
Binary files /dev/null and b/documentation/assets/devices/moddable-three.png differ
diff --git a/documentation/assets/devices/moddable-two-pinout.png b/documentation/assets/devices/moddable-two-pinout.png
new file mode 100644
index 0000000000..6601145e0e
Binary files /dev/null and b/documentation/assets/devices/moddable-two-pinout.png differ
diff --git a/documentation/assets/devices/moddable-two-programmer.jpg b/documentation/assets/devices/moddable-two-programmer.jpg
new file mode 100644
index 0000000000..3b268d5447
Binary files /dev/null and b/documentation/assets/devices/moddable-two-programmer.jpg differ
diff --git a/documentation/assets/devices/moddable-two.png b/documentation/assets/devices/moddable-two.png
new file mode 100644
index 0000000000..78f9172cdc
Binary files /dev/null and b/documentation/assets/devices/moddable-two.png differ
diff --git a/documentation/assets/moddable/moddable-hardware.png b/documentation/assets/moddable/moddable-hardware.png
new file mode 100644
index 0000000000..b88be7c9a1
Binary files /dev/null and b/documentation/assets/moddable/moddable-hardware.png differ
diff --git a/documentation/devices/moddable-one.md b/documentation/devices/moddable-one.md
new file mode 100644
index 0000000000..7e26d014b9
--- /dev/null
+++ b/documentation/devices/moddable-one.md
@@ -0,0 +1,103 @@
+# Getting Started with Moddable One
+
+Copyright 2019 Moddable Tech, Inc.
+Revised: May 17, 2019
+
+This document describes how to start building Moddable applications for Moddable One. It provides information on how to configure the host build environment and how to build and deploy apps. It also provides information about development resources, including a summary of the examples available in this repository that run on Moddable One.
+
+## Table of Contents
+
+- [About Moddable One](#about-moddable-one)
+ - [Components](#components)
+ - [Pinout](#pinout)
+- [SDK and Host Environment Setup](#setup)
+
+- [Building and Deploying Apps](#building-and-deploying-apps)
+
+- [Development Resources](#development-resources)
+ - [Examples](#examples)
+ - [Documentation](#documentation)
+ - [Support](#support)
+ - [Updates](#updates)
+
+
+## About Moddable One
+
+
+
+Moddable One is a hardware module that makes it easy for developers to experiment with the Moddable SDK on inexpensive hardware. It is available to purchase on the [Moddable website](http://www.moddable.com/moddable-one).
+
+
+### Components
+
+The two main components of Moddable One are the ESP8266 module and capacitive touch screen. The ESP8266 module includes a Wi-Fi antenna and 4 MB of flash storage memory. The touch screen is a 240 x 320 QVGA IPS display driven by a MIPI Display Serial Interface compatible display controller with an FT6206 capacitive touch controller.
+
+
+### Pinout
+
+
+
+
+## SDK and Host Environment Setup
+
+The [Moddable SDK Getting Started document](../Moddable%20SDK%20-%20Getting%20Started.md) describes how to configure the host build environment and install the required SDKs, drivers, and development tools. Follow the instructions in the **Host environment setup** and **ESP8266 setup** sections for your computer's operating system.
+
+
+## Building and Deploying Apps
+
+After you've set up your host environment, take the following steps to install an application on your Moddable One.
+
+1. Attach the programmer to your Moddable One.
+
+ Make sure you have the programmer oriented correctly. The orientation should match the image below.
+
+
+
+ **Note**: The USB port on Moddable One may be used to provide power when operating without the programmer. The USB port is only for powering Moddable One. It cannot be used to program Moddable One.
+
+2. Attach the programmer to your computer with a micro USB cable.
+
+ The USB cable must be attached to the programmer, not the power-only USB port on the board. Make sure you're using a data sync–capable cable, not one that is power-only.
+
+3. Build and deploy the app with `mcconfig`.
+
+ `mcconfig` is the command line tool to build and launch Moddable apps on microcontrollers and the simulator. Full documentation of `mcconfig` is available [here](../tools/tools.md).
+
+ Use the platform `-p esp/moddable_one` with `mcconfig` to build for Moddable One. For example, to build the [`piu/balls` example](../../examples/piu/balls):
+
+ ```
+ cd $MODDABLE/examples/piu/balls
+ mcconfig -d -m -p esp/moddable_one
+ ```
+
+ The [examples readme](../../examples) contains additional information about other commonly used `mcconfig` arguments for screen rotation, Wi-Fi configuration, and more.
+
+
+## Development Resources
+
+
+### Examples
+
+The Moddable SDK has over 150 [example apps](../../examples) that demonstrate how to use its many features. The vast majority of these examples run on Moddable One.
+
+That said, not every example is compatible with Moddable One hardware. For example, the ESP8266 does not have BLE capabilities so BLE examples do not build or run. Some examples are designed to test specific display and touch drivers that are not compatible with the Moddable One display and give a build error.
+
+
+### Documentation
+
+All the documentation for the Moddable SDK is in the [documentation](../) directory. The **documentation**, **examples**, and **modules** directories share a common structure to make it straightforward to locate information. Some of the highlights include:
+
+- The `commodetto` subdirectory, which contains resources related to Commodetto--a bitmap graphics library that provides a 2D graphics API--and Poco, a lightweight rendering engine.
+- The `piu` subdirectory, which contains resources related to Piu, a user interface framework that makes it easier to create complex, responsive layouts.
+- The `networking` subdirectory, which contains networking resources related to network sockets and a variety of standard, secure networking protocols built on sockets including HTTP/HTTPS, WebSockets, DNS, SNTP, and telnet
+- The `pins` subdirectory, which contains resources related to supported hardware protocols (digital, analog, PWM, I2C, etc.). A number of drivers for common off-the-shelf sensors and corresponding example apps are also available.
+
+
+### Support
+
+If you have questions, we recommend you [open an issue](https://github.com/Moddable-OpenSource/moddable/issues). We'll respond as quickly as practical, and other developers can offer help and benefit from the answers to your questions. Many questions have already been answered, so please try searching previous issues before opening a new issue.
+
+
+### Updates
+
+The best way to keep up with what we're doing is to follow us on Twitter ([@moddabletech](https://twitter.com/moddabletech)). We post announcements about new posts on [our blog](http://blog.moddable.com/) there, along with other Moddable news.
\ No newline at end of file
diff --git a/documentation/devices/moddable-three.md b/documentation/devices/moddable-three.md
new file mode 100644
index 0000000000..ad2a56c397
--- /dev/null
+++ b/documentation/devices/moddable-three.md
@@ -0,0 +1,89 @@
+# Getting Started with Moddable Three
+
+Copyright 2019 Moddable Tech, Inc.
+Revised: May 17, 2019
+
+This document describes how to start building Moddable applications for Moddable Three. It provides information on how to configure the host build environment and how to build and deploy apps. It also provides information about development resources, including a summary of the examples available in this repository that run on Moddable Three.
+
+## Table of Contents
+
+- [About Moddable Three](#about-moddable-three)
+ - [Components](#components)
+- [SDK and Host Environment Setup](#setup)
+
+- [Building and Deploying Apps](#building-and-deploying-apps)
+
+- [Development Resources](#development-resources)
+ - [Examples](#examples)
+ - [Documentation](#documentation)
+ - [Support](#support)
+ - [Updates](#updates)
+
+
+## About Moddable Three
+
+
+
+Moddable Three is a hardware module that makes it easy for developers to experiment with the Moddable SDK on inexpensive hardware. It is available to purchase on the [Moddable website](http://www.moddable.com/moddable-three).
+
+
+### Components
+
+The two main components of Moddable Three are the ESP8266 module and ePaper screen. The ESP8266 module includes a Wi-Fi antenna and 4 MB of flash storage memory. The ePaper screen is a 122 x 250 black and white display.
+
+
+## SDK and Host Environment Setup
+
+The [Moddable SDK Getting Started document](../Moddable%20SDK%20-%20Getting%20Started.md) describes how to configure the host build environment and install the required SDKs, drivers, and development tools. Follow the instructions in the **Host environment setup** and **ESP8266 setup** sections for your computer's operating system.
+
+
+## Building and Deploying Apps
+
+After you've set up your host environment, take the following steps to install an application on your Moddable Three.
+
+1. Attach your Moddable Three to your computer with a micro USB cable.
+
+ Make sure you're using a data sync–capable cable, not one that is power-only.
+
+3. Build and deploy the app with `mcconfig`.
+
+ `mcconfig` is the command line tool to build and launch Moddable apps on microcontrollers and the simulator. Full documentation of `mcconfig` is available [here](../tools/tools.md).
+
+ Use the platform `-p esp/moddable_three` with `mcconfig` to build for Moddable Three. For example, to build the [`piu/love-e-ink` example](../../examples/piu/love-e-ink):
+
+ ```
+ cd $MODDABLE/examples/piu/love-e-ink
+ mcconfig -d -m -p esp/moddable_three
+ ```
+
+ The [examples readme](../../examples) contains additional information about other commonly used `mcconfig` arguments for screen rotation, Wi-Fi configuration, and more.
+
+
+## Development Resources
+
+
+### Examples
+
+The Moddable SDK has over 150 [example apps](../../examples) that demonstrate how to use its many features. Most of these examples run on Moddable Three.
+
+That said, many of the examples that use Commodetto and Piu are designed for colored screens with a faster refresh rate. In addition, not every example is compatible with Moddable Three hardware. For example, the ESP8266 does not have BLE capabilities so BLE examples do not build or run. Some examples are designed to test specific display and touch drivers that are not compatible with the Moddable Three display and give a build error.
+
+
+### Documentation
+
+All the documentation for the Moddable SDK is in the [documentation](../) directory. The **documentation**, **examples**, and **modules** directories share a common structure to make it straightforward to locate information. Some of the highlights include:
+
+- The `commodetto` subdirectory, which contains resources related to Commodetto--a bitmap graphics library that provides a 2D graphics API--and Poco, a lightweight rendering engine.
+- The `piu` subdirectory, which contains resources related to Piu, a user interface framework that makes it easier to create complex, responsive layouts.
+- The `networking` subdirectory, which contains networking resources related to network sockets and a variety of standard, secure networking protocols built on sockets including HTTP/HTTPS, WebSockets, DNS, SNTP, and telnet
+- The `pins` subdirectory, which contains resources related to supported hardware protocols (digital, analog, PWM, I2C, etc.). A number of drivers for common off-the-shelf sensors and corresponding example apps are also available.
+
+
+### Support
+
+If you have questions, we recommend you [open an issue](https://github.com/Moddable-OpenSource/moddable/issues). We'll respond as quickly as practical, and other developers can offer help and benefit from the answers to your questions. Many questions have already been answered, so please try searching previous issues before opening a new issue.
+
+
+### Updates
+
+The best way to keep up with what we're doing is to follow us on Twitter ([@moddabletech](https://twitter.com/moddabletech)). We post announcements about new posts on [our blog](http://blog.moddable.com/) there, along with other Moddable news.
\ No newline at end of file
diff --git a/documentation/devices/moddable-two.md b/documentation/devices/moddable-two.md
new file mode 100644
index 0000000000..7def9fed9d
--- /dev/null
+++ b/documentation/devices/moddable-two.md
@@ -0,0 +1,103 @@
+# Getting Started with Moddable Two
+
+Copyright 2019 Moddable Tech, Inc.
+Revised: May 17, 2019
+
+This document describes how to start building Moddable applications for Moddable Two. It provides information on how to configure the host build environment and how to build and deploy apps. It also provides information about development resources, including a summary of the examples available in this repository that run on Moddable Two.
+
+## Table of Contents
+
+- [About Moddable Two](#about-moddable-two)
+ - [Components](#components)
+ - [Pinout](#pinout)
+- [SDK and Host Environment Setup](#setup)
+
+- [Building and Deploying Apps](#building-and-deploying-apps)
+
+- [Development Resources](#development-resources)
+ - [Examples](#examples)
+ - [Documentation](#documentation)
+ - [Support](#support)
+ - [Updates](#updates)
+
+
+## About Moddable Two
+
+
+
+Moddable Two is a hardware module that makes it easy for developers to experiment with the Moddable SDK on inexpensive hardware. It is available to purchase on the [Moddable website](http://www.moddable.com/moddable-two).
+
+
+### Components
+
+The two main components of Moddable Two are the ESP32 module and capacitive touch screen. The ESP32 module includes a Wi-Fi/BLE antenna and 4 MB of flash storage memory. The touch screen is a 240 x 320 QVGA IPS display driven by a MIPI Display Serial Interface compatible display controller with an FT6206 capacitive touch controller.
+
+
+### Pinout
+
+
+
+
+## SDK and Host Environment Setup
+
+The [Moddable SDK Getting Started document](../Moddable%20SDK%20-%20Getting%20Started.md) describes how to configure the host build environment and install the required SDKs, drivers, and development tools. Follow the instructions in the **Host environment setup** and **ESP32 setup** sections for your computer's operating system.
+
+
+## Building and Deploying Apps
+
+After you've set up your host environment, take the following steps to install an application on your Moddable Two.
+
+1. Attach the programmer to your Moddable Two.
+
+ Make sure you have the programmer oriented correctly. The orientation should match the image below.
+
+
+
+ **Note**: The USB port on Moddable Two may be used to provide power when operating without the programmer. The USB port is only for powering Moddable Two. It cannot be used to program Moddable Two.
+
+2. Attach the programmer to your computer with a micro USB cable.
+
+ The USB cable must be attached to the programmer, not the power-only USB port on the board. Make sure you're using a data sync–capable cable, not one that is power-only.
+
+3. Build and deploy the app with `mcconfig`.
+
+ `mcconfig` is the command line tool to build and launch Moddable apps on microcontrollers and the simulator. Full documentation of `mcconfig` is available [here](../tools/tools.md).
+
+ Use the platform `-p esp32/moddable_two` with `mcconfig` to build for Moddable Two. For example, to build the [`piu/balls` example](../../examples/piu/balls):
+
+ ```
+ cd $MODDABLE/examples/piu/balls
+ mcconfig -d -m -p esp32/moddable_two
+ ```
+
+ The [examples readme](../../examples) contains additional information about other commonly used `mcconfig` arguments for screen rotation, Wi-Fi configuration, and more.
+
+
+## Development Resources
+
+
+### Examples
+
+The Moddable SDK has over 150 [example apps](../../examples) that demonstrate how to use its many features. The vast majority of these examples run on Moddable Two.
+
+That said, not every example is compatible with Moddable Two hardware. For example, some examples are designed to test specific display and touch drivers that are not compatible with the Moddable Two display and give a build error.
+
+
+### Documentation
+
+All the documentation for the Moddable SDK is in the [documentation](../) directory. The **documentation**, **examples**, and **modules** directories share a common structure to make it straightforward to locate information. Some of the highlights include:
+
+- The `commodetto` subdirectory, which contains resources related to Commodetto--a bitmap graphics library that provides a 2D graphics API--and Poco, a lightweight rendering engine.
+- The `piu` subdirectory, which contains resources related to Piu, a user interface framework that makes it easier to create complex, responsive layouts.
+- The `networking` subdirectory, which contains networking resources related to BLE, network sockets, and a variety of standard, secure networking protocols built on sockets including HTTP/HTTPS, WebSockets, DNS, SNTP, and telnet.
+- The `pins` subdirectory, which contains resources related to supported hardware protocols (digital, analog, PWM, I2C, etc.). A number of drivers for common off-the-shelf sensors and corresponding example apps are also available.
+
+
+### Support
+
+If you have questions, we recommend you [open an issue](https://github.com/Moddable-OpenSource/moddable/issues). We'll respond as quickly as practical, and other developers can offer help and benefit from the answers to your questions. Many questions have already been answered, so please try searching previous issues before opening a new issue.
+
+
+### Updates
+
+The best way to keep up with what we're doing is to follow us on Twitter ([@moddabletech](https://twitter.com/moddabletech)). We post announcements about new posts on [our blog](http://blog.moddable.com/) there, along with other Moddable news.
\ No newline at end of file
diff --git a/examples/readme.md b/examples/readme.md
index adec855dfa..30117d4389 100644
--- a/examples/readme.md
+++ b/examples/readme.md
@@ -1,7 +1,7 @@
# Moddable SDK - Examples
-Copyright 2018 Moddable Tech, Inc.
-Revised: April 8, 2019
+Copyright 2018-2019 Moddable Tech, Inc.
+Revised: May 17, 2019
The examples demonstrate how to use many of the capabilities of the Moddable SDK. Because each target platform is unique, not all examples run on every platform or device.
@@ -57,6 +57,9 @@ The `-p` command line option specifies the target platform/subplatform you are b
| lin | Linux target
| esp | ESP8266 device target
| esp/moddable_zero | [Moddable Zero](http://www.moddable.com/moddable-zero.php) device target
+| esp/moddable_one | [Moddable One](../documentation/devices/moddable-one.md) device target
+| esp32/moddable_two | [Moddable Two](../documentation/devices/moddable-two.md) device target
+| esp/moddable_three | [Moddable Three](../documentation/devices/moddable-three.md) device target
| esp/adafruit_oled | [Adafruit OLED display + ESP8266](../documentation/displays/wiring-guide-adafruit-OLED.md)
| esp/adafruit_st7735 | [Adafruit 1.8" ST7735 display + ESP8266](../documentation/displays/wiring-guide-adafruit-1.8-st7735.md)
| esp/crystalfontz\_monochrome\_epaper | [Crystalfontz monochrome ePaper display + ESP8266](../documentation/displays/wiring-guide-crystalfontz-eink.md)
@@ -78,9 +81,9 @@ The `-p` command line option specifies the target platform/subplatform you are b
| gecko/thunderboard2 | [SiLabs Thunderboard Sense 2](https://www.silabs.com/products/development-tools/thunderboard/thunderboard-sense-two-kit)
| qca4020/cdb | [Qualcomm QCA4020 CDB](https://developer.qualcomm.com/hardware/qca4020-qca4024)
-For example, to build a release app that targets Moddable Zero:
+For example, to build a release app that targets Moddable One:
- mcconfig -m -p esp/moddable_zero
+ mcconfig -m -p esp/moddable_one
To build a debug app that targets ESP32 devices:
@@ -114,10 +117,10 @@ Some example apps are designed to render on a rotated screen. Use the `-r` comma
- `-r 180`: 180 degree rotation
- `-r 270`: 270 degree rotation
-For example, the `rotated` app is designed to run at 90 degree rotation. To build a debug version for the [ESP32 device with a generic QVGA display](../documentation/displays/wiring-guide-generic-2.4-spi-esp32.md):
+For example, the `rotated` app is designed to run at 90 degree rotation. To build a debug version for [Moddable Two](../documentation/devices/moddable-two.md):
cd $MODDABLE/examples/commodetto/rotated
- mcconfig -d -m -r 90 -p esp32/moddable_zero
+ mcconfig -d -m -r 90 -p esp32/moddable_two
To build the `progress` app to run at 180 degrees rotation on the host platform:
diff --git a/readme.md b/readme.md
index ff1ca09678..67a2754dc1 100755
--- a/readme.md
+++ b/readme.md
@@ -1,7 +1,7 @@
# Moddable SDK
Copyright 2017-2019 Moddable Tech, Inc.
-Revised: April 12, 2019
+Revised: May 17, 2019
## Modern software development for microcontrollers
@@ -58,7 +58,7 @@ Similar to other debuggers, `xsbug` supports setting breakpoints, browsing sourc
### Step 1: Set up your host environment
-The [Getting Started](documentation/Moddable%20SDK%20-%20Getting%20Started.md) document provides step-by-step instructions for installing, configuring, and building the Moddable SDK for macOS, Linux, and Windows. It also includes instructions for building the example applications for Moddable Zero and the ESP8266 and ESP32 microcontrollers.
+The [Getting Started](documentation/Moddable%20SDK%20-%20Getting%20Started.md) document provides step-by-step instructions for installing, configuring, and building the Moddable SDK for macOS, Linux, and Windows. It also includes instructions for building the example applications for Moddable hardware modules and the ESP8266 and ESP32 microcontrollers.
Build and configuration instructions for the Silicon Labs Gecko devices is at [Gecko Build](documentation/devices/gecko/GeckoBuild.md).
@@ -88,9 +88,13 @@ The **documentation**, **examples**, and **modules** directories share a common
## Supported Hardware
-
+
-**Moddable Zero** is a prototype hardware module that consists of a touch screen paired with an ESP8266 microcontroller. Most of our example apps run on Moddable Zero, making it the easiest way for developers to experiment with the Moddable SDK on inexpensive hardware. You can read more and order your own Moddable Zero [here](http://www.moddable.com/moddable-zero.php).
+**Moddable One**, **Moddable Two**, and **Moddable Three** are hardware modules that make it easy for developers to explore the Moddable SDK with inexpensive hardware. A Getting Started guide is available for each device:
+
+- [Moddable One](./documentation/devices/moddable-one.md)
+- [Moddable Two](./documentation/devices/moddable-two.md)
+- [Moddable Three](./documentation/devices/moddable-three.md)
