Wio Link

First impressions of the Seeed Studio Wio Link

Today I got my Wio Link from Seeed Studio, a company from the maker capital Shenzhen in China. I love everything about this product, it’s a great piece of innovation, it’s well designed and fun to use.

Wio Link

The Wio Link is a small WiFi equipped programmable board that you can program via a web based API. It is compatible with Seeeds module system called Grove System and you configure it with a smartphone app.

I backed the development of this product on Kickstarter, and had to wait a couple of months for it to be developed and shipped, but it was well worth the wait.

So today I recieved my Wio Link Deluxe Kit. It was packed in a nicely designed box, with pins and cool stickers.

Grove modules

Installation was really easy, download the app, set up WiFi, snap on a few Grove modules, configure, and instantly an API is up and running ready to access from anywhere use.


IFTTTSeeed (and others) has made recipes for IFTTT (If This Then That), a service for connecting web-based services and make them affect each other. I tried it out and it was really simple to hook up and there were some cool but simple recipes available.

Want your plant to write on your Facebook wall when it needs water? Maybe even post a picture of how miserable and dry it looks on Instagram? Well, now that can be done in a matter of minutes without heating up the soldering iron or programming a line of code.


Another really cool thing is that the Wio Link supports websockets. So if you want events from modules on the board to trigger in real time you can use websockets from the browser, or on the server side with for example a websocket client implementation with node.js.

var websockets = require("websockets");

var socket = new websockets.WebSocket('wss://iot.seeed.cc/v1/node/event');
socket.on('open', function() {
  socket.send('...api access token....');
socket.on('message', function(message) {

Or browser based javascript:

var ws = new WebSocket('wss://iot.seeed.cc/v1/node/event');
ws.onopen = function() {
    ws.send('...api access token....');
ws.onmessage = function (evt) {

Note that you cannot use this kind of browser based websocket implementation if you need to support older versions of IE and Android browser.

Mind blown!