Home > Hardware, Linux 3.0, NXP LPC, OpenWRT, Qualcomm Atheros, Video > WeIO is an Open Source Hardware IoT Board Programmable from a Web Browser (Crowdfunding)

WeIO is an Open Source Hardware IoT Board Programmable from a Web Browser (Crowdfunding)

September 16th, 2014 Leave a comment Go to comments

WeIO is an open source hardware board for the Internet of things with Wi-Fi connectivity and lots of I/Os designed by nodesign, a French based startup, in collaboration of 8devices, the makers of the Carambola boards. WeIO is powered by an Atheros AR9331 SoC running OpenWRT as well as an NXP LPC MCU for faster handling of I/Os and support for analog I/Os. One interesting aspect of this board is that it can be programmed via a web browser using HTML5 or Python, and it does not rely on the Cloud to store data.

WeIO

WeIO Board (Click for Larger View of the Board)

WeIO hardware specifications:

  • SoC – Atheros AR9331 MIPS 24K Wireless SoC @ 400 MHz
  • MCU – NXP LPC11xx ARM Cortex M0 MCU for analog I/O and real-time H/W interfaces
  • System Memory – 64 MB DDR2
  • Storage – 16 MB flash + micro SD slot
  • Connectivity – 802.11 b/g/n Wi-Fi with on-board antenna (AP and STA modes), solder pads for Ethernet
  • USB – 1x USB 2.0 host port (for storage, webcam, sound cards, …), 1x micro USB (FTDI) for console access.
  • Expansion Headers – 5 headers with:
    • 32x GPIO
    • 1x UART, 2x SPI, 1x I2C
    • 8x ADC with 10-bit precision
    • 6x PWM with 16-bit precision
  • Debugging – micro USB for programming, JTAG solder pads for AR9331 SoC, and LPC11xx MCU.
  • Misc – RGB LED connected to 3 PWM outputs, AP mode and soft reset buttons, LM75 digital thermometer
  • Power – 3.3V operating voltage, 5V tolerant I/Os (except ADC), external supply 5V.
  • Dimensions – 91 x 68 mm

There’s no IDE to install to program WeIO, as everything can be done from WeIO IDE hosted on the board itself, and you just need to connect using your favorite Web browser. There’s no cross-compiling, board flashing, or  programming electronics in C, unless you plan to update OpenWRT or the MCU firmware. That also means you should be able to program the board from any operating system, be it Windows, Linux, Mac OS, or even Android, FreeBSD…

WeIO IDE (Click to Enlarge)

WeIO IDE (Click to Enlarge)

The API is said to be “Arduino-like”, but using HTML5 (HTML, Javascript, CSS) and/or Python. You can find related code on weio repository on github.Some of the server technologies or protocols used include Tornado web server (written in Python), Websockets, SSH and SMB, and Bonjour zeroconf. The board is also supposed to be open source hardware, but the hardware design files do not appear to have been released just yet.

The company has made some demos using WeIO such as a smart lamp, real-time data visualizaton on iOS or Android smartphones, various displays support,  music and video streaming, interfacing with Arduino, and so on. You can watch the video for an overview of the board and have a look at some of the demos.

The project has been launched on Indiegogo, and have already reached its $10,000 funding target. A $86 pledge will get you a WeIO board, but various kits are available between $99 to $399, and there are also 1 to 2-day workshops for several thousands dollars. Shipping is either free, or $9 to Europe, and $12 to the other continents, depending on the perks, and delivery is scheduled for November 2014. You may also want to visit we-io.net for access to full documentation (work in progress), and/or join WeIO Google+ Community.

  1. Marius Cirsta
    September 16th, 2014 at 14:51 | #1

    Sounds like crap to me. I’m sorry but I don’t know any better way of saying this. It looks like almost everything gets crowd funded these days though.

  2. vpeter
    September 16th, 2014 at 17:07 | #2

    Depends on a price. For IoT devices it would need to be very, very cheap.

  3. Gaby
    September 16th, 2014 at 18:27 | #3

    actually I’m thinking to buy something like this for my kid, it should be all sorts of fun for a geeky boy

  4. xxiao
    September 17th, 2014 at 03:35 | #4

    yet another AR9331, the more the merrier

  5. September 18th, 2014 at 04:15 | #5

    @MariusCirsta can you explain more yor point of view? I am one of the WeIO authors, and naturally, I disagree qith you :). I would like to know why did you get this impression?

    WeIO is indeed AR9331 hybrid, but it hides Linux from novice users through web application, so that they can program electronics directly in Python or JavaScript, while at the same time build GUI interfaces in HTML5. Once the program is finished, it is run on the board and WeIO acts as the HTTP server, serving the GUI through which we can control the object using only web browser (thus from phone, tablet or PC). Programming is very easy and intuitive, and very complex stuff can be made very quickly without too much pain of embedded development.

    There is nothing to install on user PC, as WeIO acts as the development server also, so we access it from the browser, and start developing in it right away. There is no cross-compilation, because everything is interpreted right on the board. This helps everyone start quickly, independent of the host PC platform they are using (Windows, iOS or Linux).

    Besides AR9331 an additional uC is added (this is also transparent to the user) to expand AR9331 GPIOs and add real-time HW interfaces, as well as analog I/Os. This way we have real PWM and we can attach analog sensors.

    We ended up with something that is trivial to program, we can use Python and/or JavaScript to program electronics, and everyone can start right away. I am not aware of the similar project, and think that this approach is indeed innovative. Of course that same effect can be achieved on various Linux boards, but not at this price, and often with a lot of development that has already been done by us, and that why we are calling WeIO a platform – it is not just a Linux board, a web application that turns on it is equally important and makes complex development easy.

    I am very interested though to see other opinions and questions about WeIO.

    Best regards,
    Drasko

  6. Fran Aquino
    September 19th, 2014 at 15:32 | #6

    This self-contained concept is beautiful indeed but I think you could achieve something very similar with a Raspberry Pi and Eclipse Orion. More work involved indeed, but cheaper.

    There are other similar products out there like Pinocc.io, Rascal, Tessel.io or Espruino but I don’t know they compare to WeIO.

  7. September 19th, 2014 at 21:29 | #7

    @FranAquino, yes – WeIO system can be run with very small modifications on RPi or similar Linux boards, as it is based on Python Tornado, a powerful asynchronous WebSocket server open-sourced by Facebook. However, RPi does not have integrated WiFi, which we consider a primary connection today for our design. Off course, WiFi can be added with USB dongle, but than you would have to add this to a cost, plus postal delivery, and you would have to find and install appropriate drivers (and configuring AP mode with hostapd can be very painful). RPi and similar Linux boards are also missing analog I/Os. So, you would have to add ADC circuits in order to connect analog sensors. This also adds the costs significantly. In the end, most of these boards do not have HW timers needed for PWM, but rather use Linux SW timers which because of scheduling delays can be imprecise for these purposes. Then people start patching the kernel with Xenomai and other RT patches (http://veter-project.blogspot.fr/2012/04/precise-pwms-with-gpio-using-xenomai.html), but all this is advanced use and rarely works correctly.

    So, as you can see, achieving what we already have on WeIO board is in reality NOT cheaper, even if you try it with extra-cheap RPi.

    One more thing. Even if you achieve all of this with RPi, where do you go from there? Let’s say you are satisfied with the design and you want to go mass production – did you ever tried buying Broadcom chip that is in the heart of RPi? They will not even talk to you unless you are Apple, or ordering several million pieces. We wanted a platform where you can buy ALL components in UNIT qty – only platforms like this are truly open and DIY. AR9331 is one of the rare WiFi chips that you can buy at low price in unit quantity (we have spent months searching all over the world). With WeIO board, once you are content with the design, you can modify schematics, dump unnecessary parts and connectors and buy every component separately, as it is available on the market, so you can assemble you product and go mass market at lowest price even in small series, which is ideal for start-ups.

    Pinocc.io and Tessel.io are using small microcontrollers with very limited memory, run baremetal programs and in that sense are much less powerful than WeIO. Programming small microcontrollers is not trivial, as you probably have to programm them in C and cross-compile on host machine. Tessel.io is very nice idea, using the Lua virtual machine to execute JavaScript, but still we missed many things that Linux can offer. Not to mention that both of these products cost more than WeIO. And this is also normal – when you are using small microcontrollers, you must pack 802.11 stack in WiFi module, and these modules are then expensive – around $30. WiFi modules for Linux are much cheaper, as 802.11 stack is part of the kernel, and companies are not charging you for WiFi firmware. However, as I explained, these modules are extremely hard to find and not so easy to put together in the system. I think we succeeded it with WeIO, and consider this a great achievement.

    Rascal is nice, but again – no WiFi. Adding WiFi to this module for the final product would not be trivial, as I explained before. And it already costs 3 times WeIO, even without WiFi chip, which is usually the most expensive part of every board. Besides, WeIO has a different server and SW system, with much mature IDE and dashboard which hides Linux command line from novice users, making it extremely easy to program. In addition, we have a set of JavaScript and HTML libraries, which make it easy to make web pages as the GUIs for your products from which you can visualize and control the board, that all your users can access from smart phones or tablets via browser (no cross-platform problems).

    All in all, we are aware of all these boards, and many more. But digging for years, we coul not find anything similar to WeIO with caracteristics, performance, ease of use and at this price. So we have made our own, for our needs, then we decided to share it with the world.

    I hope that this clarifies a bit uniqueness of WeIO approach, and I will be happy to answer more questions that anyone might have about WeIO project.

    Best regards,
    Drasko

  8. Jon Smirl
    September 20th, 2014 at 01:04 | #8

    Everything Drasko says about the AR9331 is true. RT5350 and MT7620 are similar and each have their plus and minuses. Forget about designing anything around the RaspPi. It is a closed system and you are stuck with what Broadcom chooses to give you.

    I would have liked for the LPC11xx to have been a Nordic nRF51 instead. Same Cortex-M0, fewer peripherals but it has Bluetooth Low Energy. So maybe hanging a CSR8510 ($1.25) off from the USB hub would be better

    CSR8510 is inside these, but the antenna is crummy. $2.99 shipped on Aliexpress.
    http://www.aliexpress.com/item/Hot-Sale-Mini-USB-Bluetooth-Adapter-V-4-0-Dual-Mode-Wireless-Dongle-Wholesale-CSR-4/1916627686.html
    You could throw in one of these dongles and software support as a stretch goal.

  9. Fran Aquino
    September 22nd, 2014 at 19:18 | #9

    @Drasko DRASKOVIC
    Thanks a lot for your nice elaboration about the differences between WeIO and potential alternatives

  10. April 29th, 2015 at 17:44 | #10
  1. No trackbacks yet.