Moddable Zero is part of an experiment. We believe adding displays to IoT devices will make them easier to use and the improved user interface will allow the product to offer more features. If you have ever had to configure Wi-Fi on a device without a touch screen, it is easy to understand why we believe in screens.
Unfortunately, adding a touch screen to an IoT device today is impractical. To start, the hardware is too expensive. If the product can sustain a high price display, the next problem is software. The CPUs typically used to drive screens are more powerful, and consequently more expensive, than what most IoT devices can tolerate. Beyond that, the graphics software available to render a user interface on these devices typically gives results that look like poor imitations of the PC in the 1980s. And finally, the application frameworks for building the user interface are equally primitive. The result is an expensive product that works like an antique.
Our first experiments with small touch screens and inexpensive microcontrollers were built by wiring them together with jumpers. This worked, the results were interesting, but it was fragile. We moved on to soldering smaller jumper wires directly to the components. This too worked, and the resulting device was self contained and less fragile. But they are time consuming to properly assemble and the large number of wires was still fragile.
Finally we arrived at Moddable Zero. We replaced the wires with a custom printed circuit board. Assembling the components is considerably faster and easier, and the result has proven sturdy enough to carry around in a backpack.
All the components in Moddable Zero have been selected to keep the cost low. The two main components are the NodeMCU board and the touch screen. The NodeMCU module carries the ESP8266, Wi-Fi antenna, Flash ROM, FTDI chip, and USB connector. The touch screen is an unbranded QVGA (240 x 320) display with 16-bit pixels driven by an ILI9341 display controller and an XPT2046 resistive touch controller. We’d like to use a capacitive touch display, but the prices are still considerably higher. That said, our touch driver delivers reliable touch input with the XPT2046.
The Moddable SDK has four key features that make it realistic to build modern user experiences on Moddable Zero.
If you are comfortable assembling components yourself, whether with jumpers or soldering, we’ve published instructions on how to wire together an ESP8266 and display in a way that is easily compatible with the Moddable SDK.