All News | Boards | Chips | Devices | Software | Archive | About | Contact | Subscribe
Follow LinuxGizmos:
Twitter Facebook Pinterest RSS feed
*   get email updates   *

Tiny open-source module aims to make IoT apps easy

Jun 9, 2014 — by Eric Brown 6,017 views

WeIO is sampling a tiny open source board that runs OpenWRT Linux on an Atheros/MIPS module, and lets you control IoT applications entirely with HTML5 code.

Billed as “The Web of Things for Creators,” the fully open source, GPL3-licensed WeIO module is notable for its HTML5 programming interface and Python-based Tornado web server. Together, these let you connect and control objects from any device using only a web browser, says Paris-based WeIO. Designed for low-power Internet of Things (IoT) devices, WeIO lets developers easily connect objects so they communicate with each other, or hook up to Internet services like social networks, says the company.

(click image to enlarge)

WeIO’s “WeIO” board is approaching production phase, and is expected to be available for sale in September, possibly with the help of a crowd-funding campaign that may launch well before that, according to an email from Drasko Draskovic, the company’s co-founder and SW/HW architect. The board, which is expected to sell for 50 to 60 euros ($68 to $81 US), borders on being a complete single board computer, thanks to its onboard 10/100 Ethernet port and microSD slot.

WeIO software architecture (left) and Ace code editor with HTML5 coding
(click images to enlarge)

The WeIO module has a “deeply embedded asynchronous core” with an API that “runs multiple processes concurrently without complicated sync problems,” says WeIO. This enables multitasking, including simultaneous communications to multiple devices. Event-driven web applications can be developed using web standards like HTML5, CSS3, and jQuery-powered JavaScript, says the company.

WeIO measuring temperature (left) and controlling an LCD
(click images to enlarge)

“WeIO makes electronic prototyping as easy as making websites, because users can write only JS code embedded in the HTML user interface,” said Draskovic. “In the worst case of complexity, it becomes as hard as writing several Python scripts. There is zero installation on user’s PC, as the IDE is contained on the WeIO board, and all the tools are there. The UI can be accessed from any device, as content is HTML based. Finally, the end product can be assembled easily, as we carefully chose only low cost components that are available on the market even in single unit quantities. This way you can push your design to the mass market with very little effort.”

“Although the user has access to all Linux facilities, the WeIO solution is specially adapted to designers and makers, so we spent a lot of time on building a Python web application based around Tornado server,” Draskovic continued. “This application is basically a WeIO IDE, and all the development tools are embedded and present on the board. This way user does not have to install anything on the host (all is interpreted anyway, so there are no cross-compilers). The board acts as the development web server and no access to cloud-based services is necessary.”


WeIO hardware details

The WeIO is based on a Qualcomm Atheros AR9331, a WiFi-oriented system-on-chip found in products such as Gigastone’s SmartBox A2 mobile accessory. The SoC offers a single MIPS 24k core clocked at 400MHz, and is typically paired with the OpenWRT Linux, the same lightweight distro that runs on the WeIO. The board also integrates an 802.11n WiFi radio and an NXP Semiconductors LPC11 Cortex-M0 microcontroller, which provides analog and real-time hardware interfaces.

WeIO port detail
(click image to enlarge)

The module is also notable for its side-saddle interface connectors. The lateral connectors for SPI, ADC, PWM, and other GPIO will be supported with add-on modules. “These are really simple to make, and later we will produce these also, as we have more SW API developed to drive them,” explained Draskovic. “The benefit of lateral connectors is that your design does not grow in height, as they do when stacking Arduino shields.”

The module is further equipped with 64MB of RAM and 16MB of flash, plus USB and micro-USB, I2C, FTDI, and JTAG interfaces. The 3.3V power supply is supported with an external 5V supply.

The OpenWRT Linux stack includes the Tornado server, as well as an Ace web-based code editor, and the WebScope oscilloscope and signal generator. Other components are said to include Twitter Bootstrap, jQuery, and Python.

Specifications listed for the WeIO include:

  • Processor – Qualcomm Atheros AR9331 (1x MIPs 24K core @ 400MHz); NXP LPC11 MCU (Cortex-M0)
  • Memory:
    • 64MB DDR2 RAM
    • 16MB flash
    • MicroSD slot
  • Wireless — 802.11bgn 1×1 2.4GHz with simultaneous AP and STA modes, unlimited virtual WLAN interfaces
  • Networking — 10/100 Ethernet port
  • Other I/O:
    • USB host
    • Micro-USB FTDI serial to USB adapter
    • 32x GPIO
    • UART (serial port)
    • 2x SPI
    • I2C
    • 8x ADC (10-bit)
    • 6x PWM (16-bit)
    • FTDI
    • JTAG interfaces to AR9331 and LPC11
  • Other features — LED (via 3x PWM); digital thermometer (LM75)
  • Power — 3.3V supply; 5V tolerant GPIO except on ADC inputs; 5V DC 800mA ext. supply
  • Operating system — OpenWRT Linux

Further information

The WeIO module is about to enter production, and is expected to go on sale in September for 50 to 60 euros (approximately $68 to $81 US), with a possible crowd-funding campaign before that. More information may be found at the WeIO website.

(advertise here)

Print Friendly, PDF & Email

2 responses to “Tiny open-source module aims to make IoT apps easy”

  1. RooTer says:

    So (looks like this is exactly the daughter board used) + LPC uC making it basically alternative to arduino YUN.

    • Drasko DRASKOVIC says:

      @RooTer no, Arduino Yun and WeIO are two very different products by design (not by HW components but architecture and use cases).

      Yun makes focus on Arduino development (so, you are actually programming Atmel uC), using Linux only for WiFi. WeIO uses Linux as the main OS, runs programs on Linux, uses all Linux facilities, libraries and apps, and just delegates I/O to HW peripheral controllers of LPC (for RT performance).

      Moreover, WeIO runs Python scripts (mutiple user-defined processes can be run in parallel) that interact with electronics. And Javascript functions from the front-end can be delegated to custom written handlers, or using our standard prepared API – so that users can program electronics directly from HTML5, while making product GUI in parallel. WeIO uses websocket with asynchronous server push, so that information read on the sensors, or anything happening in elecrtonics can be pushed as the notification instantly to all connected clients (smartphones, tablets, distant computers, …).

      This SW stack, and not only the HW is the biggest added value of WeIO, making it completely different in the way of UX from everything that currently exists on the market.

Please comment here...