Skip to content

Commit

Permalink
getting started guides, update readmes for new hardware
Browse files Browse the repository at this point in the history
  • Loading branch information
lprader committed May 18, 2019
1 parent 1e05341 commit 4ad857e
Show file tree
Hide file tree
Showing 13 changed files with 312 additions and 10 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added documentation/assets/devices/moddable-one.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added documentation/assets/devices/moddable-three.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added documentation/assets/devices/moddable-two.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
103 changes: 103 additions & 0 deletions documentation/devices/moddable-one.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# Getting Started with Moddable One

Copyright 2019 Moddable Tech, Inc.<BR>
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)

<a id="about-moddable-one"></a>
## About Moddable One

<img src="../assets/devices/moddable-one.png">

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).

<a id="components"></a>
### 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.

<a id="pinout"></a>
### Pinout

<img src="../assets/devices/moddable-one-pinout.png">

<a id="setup"></a>
## 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.

<a id="building-and-deploying-apps"></a>
## 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.

<img src="../assets/devices/moddable-one-programmer.jpg">

**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&#8211;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.

<a id="development-resources"></a>
## Development Resources

<a id="examples"></a>
### 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.

<a id="documentation"></a>
### 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.

<a id="support"></a>
### 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.

<a id="updates"></a>
### 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.
89 changes: 89 additions & 0 deletions documentation/devices/moddable-three.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Getting Started with Moddable Three

Copyright 2019 Moddable Tech, Inc.<BR>
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)

<a id="about-moddable-three"></a>
## About Moddable Three

<img src="../assets/devices/moddable-three.png">

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).

<a id="components"></a>
### 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.

<a id="setup"></a>
## 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.

<a id="building-and-deploying-apps"></a>
## 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&#8211;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.

<a id="development-resources"></a>
## Development Resources

<a id="examples"></a>
### 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.

<a id="documentation"></a>
### 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.

<a id="support"></a>
### 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.

<a id="updates"></a>
### 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.
103 changes: 103 additions & 0 deletions documentation/devices/moddable-two.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# Getting Started with Moddable Two

Copyright 2019 Moddable Tech, Inc.<BR>
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)

<a id="about-moddable-two"></a>
## About Moddable Two

<img src="../assets/devices/moddable-two.png">

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).

<a id="components"></a>
### 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.

<a id="pinout"></a>
### Pinout

<img src="../assets/devices/moddable-two-pinout.png">

<a id="setup"></a>
## 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.

<a id="building-and-deploying-apps"></a>
## 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.

<img src="../assets/devices/moddable-two-programmer.jpg">

**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&#8211;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.

<a id="development-resources"></a>
## Development Resources

<a id="examples"></a>
### 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.

<a id="documentation"></a>
### 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.

<a id="support"></a>
### 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.

<a id="updates"></a>
### 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.
15 changes: 9 additions & 6 deletions examples/readme.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Moddable SDK - Examples

Copyright 2018 Moddable Tech, Inc.<BR>
Revised: April 8, 2019
Copyright 2018-2019 Moddable Tech, Inc.<BR>
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.

Expand Down Expand Up @@ -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)
Expand All @@ -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:

Expand Down Expand Up @@ -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:
Expand Down
Loading

0 comments on commit 4ad857e

Please sign in to comment.