Wio Link

Introduction

What’s the toughest part of building IoT applications? Someone says the jump wires usually make him frustrated, while the other guy says he hates soldering the most. There are even some people who don’t like breadboard. Maybe you are not one of them, but the knowledge of electronic engineering, micro-controller programming, network programming, IoT protocols handling are still great burden between you and a successful IoT project.
In order to simplify all these steps, at the end of 2015, Seeed Studio initiated Wio Link on KickStarter, defined a new way of developing IoT applications. Wio Link is an ESP8266 SoC based open-source Wi-Fi development board, the best part of it is the associated platform that allows users to create IoT applications by virtualizing plug-n-play modules to RESTful APIs with mobile Apps. It means that there will be no hardware programming, no breadboard, no jumper wires, and no soldering, just by installing an App on your mobile phone, you are able to build a simple IoT project in 5 minutes.

Features

  • No hardware programming, No breadboard, No jumper wires, No soldering required.
  • A lot of Grove modules are supported (Check the list in Mobile App).
  • Plug-n-Play Grove Modules
  • Visual configuration instead of microcontroller programming.
  • Update automatically via cloud compiling and OTA.
  • Bring real world to virtual platform. All sensors become virtual RESTful API.
  • Android & iOS Apps to manage Wio Link.
  • IFTTT supported by Seeed’s Channel

Specification


GeneralValuePower ManagementValue
Size55mm * 48mmDC Current Per I/O Pin12mA
Crystal26MHzInput Voltage (Micro USB)5V
Flash Memory4MBytes (W25Q32B)Input Voltage (Battery holder)3.4~4.2V
Wi-Fi Network Protocol802.11b/g/nOutput DC Current1000mA MAX
Wi-Fi Encryption TechnologyWEP/TKIP/AESOperating Voltage3.3V
Grove Connectors6Charge Current500mA MAX
Flash4MB (W25Q32B)

Wio Link is well designed to provide simple Wi-Fi solutions for projects like:
  • Smart Home
  • Intelligent environmental monitoring
  • Funny Toys
  • Web of Things
  • Internet of Things
In fact, we have already designed many projects in our recipe, come and visit it to find some interesting projects or even share you own projects, I am sure it will gain a lot of fans for you ~
Irrigation control systemThe internet of led wallDog feeding machine
MAKE IT NOWMAKE IT NOWMAKE IT NOW
Kickstarter MonitorMIssing Call MonitorBoss Key
MAKE IT NOWMAKE IT NOWMAKE IT NOW
Note
  • Some of the recipe are made for Wio Node, but it can apply to Wio Link too.

Hardware Overview


PartFunction
MCUESP8266
Digital Port 0GPIO 14
Digital Port 1GPIO 12
Digital Port 2GPIO 13
Analog PortA3
UART PortPin 1 & Pin 3
I2C PortPin 4 & Pin 5
Status LightBlue LED is the WiFi status indicator, Red LED indicates the working status
Configure ButtonTo configure and manage your Wio Link
Battery HolderJST2.0
Micro USBTo power the board or communicate to the PC
Reset ButtonTo reset the MCU

Status LEDs

Near to the FUNCTION button there’re 2 status Leds, a blue one and a red one. The BLUE led is the network status indicating led. It has the following blink patterns:
  • breathing Under configuration mode
  • blink twice quickly then off 1s requesting IP address from router
  • blink once quickly then off 1s connecting to the server
  • on 1s then off 1s The node is online
  • on constantly the node is dead for not getting IP or not connecting to server.
  • blink quickly (on 100ms then off 100ms) OTA
Note
  • The BLUE led is attached to GPIO2 which is also the TX pin of UART1. When downloading firmware, the UART1 dumps the data transmitting on UART0 by instinct. So the BLUE led will blink while downloading firmware. After startup the GPIO2 will be configured as a GPIO not TX of UART1.
The RED led is another status led which indicates the power status of Grove modules. All the six Grove interface’s VCC converge together and can be controlled with GPIO 15. When the node is in deep sleep mode, all the grove modules lose their power too. The RED led will light on when Grove modules are powered and will go off when Grove modules aren’t powered.

Bonus!

Wio Link has an inbuilt LiPo battery charger, so you can charge 3.7v LiPo battery through JST 2.0 Port when USB is connecting.
Note
  • Battery needs to be bought separately. Please visit Bazzar where we arranged many choices for you.

Get Started


Let us build a very basic LED application with Wio Link, in this application you will be able to control LED by your smartphone in about 5 minutes. Before we start, please make sure you have below things on hand:
Wio LinkGrove - LEDMicro USB Cable
GET ONE NOWGET ONE NOWGET ONE NOW
Note
  • A smartphone is needed as well (Android OS version 4.1 or advanced, iOS version 7 or advanced)
  • Grove - LED include a Grove cable already

STEP 1: Install Android/iOS App

You need to install the Wio Link App to manage and configure your Wio Link devices.
Download the Android or iOS App and install. Or you can go to App Store of Apple or Google Market and search “Wio Link”, you will find it.
Get Android AppGet iOS App
Note
  • Make sure your Android OS version is 4.1 or advanced, iOS version is 7 or advanced.

STEP 2: Create your Account

  • If it is your first time to use Wio APP, it may require GPS authorization, please approve it, then sign up.
  • If you already have an account, check the server location before logging in.
Note
  • Please pay attention to the server location, because wrong server location will lead to failure when connecting to Wio Link.
  • Push and hold the CONFIG button until the blue LED turns into breathing mode (i.e. blinking with fade in & fade out effect). It means that Wio Link has turned to configuration mode successfully and can be detected by the Wio App.
  • Push “Add your first Device”.
  • Choose Wio Link
  • “Go to Wi-Fi list” will lead you to the Wi-Fi setting interface of your smartphone.
  • If you have successfully made the blue LED turn into breathing mode, you will find the Wio Link in the Wi-Fi list, connect to it!(Usually it is not called Wio Link in the Wi-Fi list, in the example, mine is Wio_8B2F12, you may find one named wio_xxxxxx in your list.)
  • Once connected, you will receive a notice, then you can go back to the app
  • Next step is connecting to the Wi-Fi of your home or company
  • If there is password pf the Wi-Fi you want to connect, it may require you to enter the password
  • Consider that you may need to connect more than 1 Wio device in the future, a special name will make you distinguish them from each other easily.
  • Click the Wio Link and you will be in the main interface.
  • There are 6 grove connectors, select the first one on the left.
  • Because LED is output devices. Choose output category
  • Find the icon that looks like a bulb, choose it.
  • Then you will find the bottom rectangle button becomes red and “View API” becomes “Update Firmware”. Choose “Update Firmware”
  • Since you selected the Digital 0 port to connect with LED in the APP, you need to connect the real Grove-LED to Digital 0 port of Wio Link too.

STEP 5: Test application using APIs

  • Now that you have successfully connect the LED to Wio Link, click “View API” to check the API of Wio Link
  • Input “1” or “0” in the “Test Request” area, and click “Post” button and see what will happen.

Get started with IFTTT & DoButton


Dont’t know how to code? Don’t worry, with the help of IFTTT, even if you know nothing about coding, you are still able to build some simple projects.
IFTTT is an abbreviation of “If This Then That”, it is a free web-based service that allows users to create chains of simple conditional statements, called “recipes”, which are triggered based on changes to other web services such as Gmail, Facebook, Instagram. How does IFTTT work with Wio Link? As you can see in below pictures, Seeed provided cloud service at wio.seeed.io, which can interchange data and send instructions to IFTTT and Wio Link. So by creating some simple recipe, you are able to hack things without coding.
If you don’t have an IFTTT account, click here to sign up.
If you already have an IFTTT account,click here to connect with Seeed, or search Seeed at IFTTT website. There you will find 9 recipes by Seeed to teach you how to us e IFTTT.
What is DoButton? DoButton is one of IFTTT’s application that empowers you to create your own personalized button with just a tap, it is very suitable for building IoT projects and control it through your smartphone, here are two examples to show you how to use IFTTT&DoButton to make useful applications.

Example:

IFTTTDoButton
[Recipe]DIY an Automatic Garden Irrigation without coding[Recipe]How to feed your pets when you’re not home
[Video]How to use ITFFF[Video]How to use DoButton

Guide for advanced users


Feel those examples too simple? Wanna make more complicated projects? Here are the best guides for advanced users to hack things with Wio Link. By these guides, advanced users are able to know more detail information about Wio Link, deploy private server, even write module driver for Wio Link.
The guide covers:
  • API Reference
  • Server Deployment Guide
  • Advanced User Guide
  • How to write module driver for Wio Link?

Advanced Tutorial

If you have successfully controlled the grove-led with your smartphone, and want to try something more difficult and not that complicated, why not try this tutorial, after learning it, you will be able to build a temperature and humidity monitor and light up the RGB Led strip with Wio Link.
Before you start, please check if you have below devices on hand.
RGB Led stripGrove-Temperature and Humidity Sensor
Get One NowGet One Now
  • Step1: Remove the Grove LED from the grove connector, plug the Led strip to Wio Link and drag the same module to Wio Link in the App.
  • Update the firmware.
  • Step2:Plug the Grove-Temperature and Humidity Sensor to Wio Link and drag the same module to Wio Link in the App.
  • Update the firmware.
  • Step3: View the APIs and read the temperature & humidity in your house. Below image shows the temperature change before and after holding the grove in hand. I increased the temperature by 1 Celsius. Try and see how you can change the temperature and humidity in your house.
  • Step4: Control the light of Led strip by changing RGB value.
Because the Wio Link App read hex RGB value, RGB value need to be converted to hex value. Here I would like to recommend the website RGB t0 Hex. Just by inputting RGB value for the 3 RGB elements (Red, Green, Blue), the website will converts the RGB value to hex very easily. Here is some example. - Input 255, 0, 0
  • Convert it, then you will get the hex value as FF0000, the color is Red.
Note
  • The RGB value you input should be any nature number between 0 and 255 (Including 0 and 255)
Then input how many Leds you want to lighten and the hex value in the app, here my Led strip has 30 Leds, so I lighten all of them.
You can also specific which part of the strip be lighted and give a special color to it, or even make like blink in rainbow mode. A lot of amazing functions are waiting for your exploration!

Resource


Hardware
Software
More documentation and references

FAQ


Here are some questions that we usually received from new users. If you have any other issues when you are using Wio Link or other Wio products, welcome to the Community of Wio where there are many professional users waiting to give you advices and also many advanced users providing plenty of ideas on how to use Wio products!
1. Power & Battery - Does Wio Link come with a Lipo battery?
Nope. Each Wio Link goes with a micro USB cable for charging or you can purchase a 3.7V Lipo battery from our Bazzar. Here’s the specs for your reference: - maximum input voltage: 4.2V; - maximum charging current: 500mA.
2. Power & Battery - Can I use a power adapter with Wio Link? Which type? And common battery holders?
There are two ways to power the Wio Link, Micro USB cable or a 3.7V Lipo battery. If both Micro USB and battery are plugged into the board, the battery will be charged by the USB power. You can use all kinds of power adapter which can connect with Micro USB cable and 5Vdc output. The battery holder is a JST-2.0 connector.
3. Power Consumption - What’s the power consumption of Wio Link?
The average power consumption is 70mA. With a battery of 700mAh, it can keep alive up to 10 hours. There are Low-Power-APIs which allows you to change the Wio Link from working-mode to sleeping-mode. It will reduce average power consumption to 150uA or less.
4. Grove Cables - Are the Groves equipped with cables in all kits?
Yes, we have each Grove modules packed with one standard 4-pin Grove cable.
5. RESTful APIs - Where are the endpoints? The calls aren’t required to go through some cloud servers are they? Is it an internet connection required or can they be made all through a local network?
We deploy the REST API server to iot.seeed.cc, so you can get access to sensor and actuator from iot.seeed.cc. At the moment, Wio Link must connect to the Internet. Also, we will open-source the server so as to enable users deploy local servers in very simple Docker way. With local servers deployed, they can utilize the compiling and data exchange service locally instead of going online.
6. Programming Methods Supported - Will other programming methods be supported, such as Arduino IDE?
Wio Link can be programed with Arduino IDE, in that case it will lose the functionality of RESTful APIs except you implement another one in the same time. Wio Link is mostly expected to archive the Web of Things conversion for physical hardware, so interactions are expected to perform in web / internet. But no worries, the software architecture is flexible, you can pull down the source code to local and connect Wio Link to the local servers, then you could modify the source code which will be compiled.
If you would like to interact with Arduino or RPI, you can develop a 3rd-party module driver and here’s the guide: https://github.com/Seeed-Studio/Wio_Link/wiki/How-to-write-module-driver-for-Wio-Link%3F and example driver: https://github.com/Seeed-Studio/Wio_Link/tree/master/grove_drivers/grove_example
7. Platform Supported -Does Wio Link support Windows Platform?
By now Wio Link provides Android and iOS two mobile Apps. We have all services as RESTful API, such like user accounts and OTA, following API documents, the third-party developers can build their own applications say Mobile Apps or Desktop Apps. Wio Link is an community friendly project. It won’t be limited to a certain platform. We really expect people can play with Wio Link in their way.
8. Can I use Wio Link to interact with existing systems?
Yes. Who Link can interact with your existing system in several ways. First, connect any GPIO of Wio Link to other system, select “Generic Digital Input” or “Generic Digital Output” virtual Grove modules in the mobile App, then send/read signals to/from the existing system with RESTful API calls. Second, connect the analog port of Wio Link to other system, select “Generic Analog Input” virtual Grove module in the mobile App, then read analog measurement for some physical quantity of your existing system. Third, to interact with existing system more flexible, you can develop a 3rd party module driver in which dispatch the requests from internet to your existing system through I2C or UART interface. We have a guide[1] about how to develop 3rd party module driver and also we can provide technical support for your development.
[1]https://github.com/Seeed-Studio/Wio_Link#how-to-write-module-driver-for-wio-link
9. How many Groves supported on Wio Link?
There are 150+ kinds of plug and play Groves modules available, among which 36 were supported on Wio Link till now, and you can find most of them in the Rewards, we’re working to add more continuously.
Here’s the list of supported Groves so far:

Grove Support List

SKUNameInterfaceDriverLink
101020008Grove - Moisture SensorAnalogitselflink
101020014Grove - Light SensorAnalogGeneric Analog Inputlink
101020015Grove - Temperature SensorAnalogitselflink
101020017Grove - Rotary Angle SensorAnalogGeneric Analog Inputlink
101020022Grove - Light Sensor(P)AnalogGeneric Analog Inputlink
101020023Grove - Sound SensorAnalogifselflink
101020027Grove - Electricity SensorAnalogGeneric Analog Inputlink
101020036Grove - Slide PotentiometerAnalogGeneric Analog Inputlink
101020042Grove - 80cm Infrared Proximity SensorAnalogGeneric Analog Inputlink
101020043Grove - UV SensorAnalogitselflink
101020048Grove - Rotary Angle Sensor(P)AnalogGeneric Analog Inputlink
101020063Grove - Loudness SensorAnalogitselflink
101020076Grove - Luminance SensorAnalogitselflink
101020078Grove - Air quality sensor v1.3AnalogGeneric Analog Inputlink
101020003Grove - ButtonDigitalitselflink
101020004Grove - Switch(P)DigitalGeneric Digital Inputlink
101020005Grove - Collision SensorDigitalGeneric Digital Inputlink
101020009Grove - Line FinderDigitalGeneric Digital Inputlink
101020018Grove - Water SensorDigitalGeneric Digital Inputlink
101020020Grove - PIR Motion SensorDigitalitselflink
101020025Grove - Tilt SwitchDigitalGeneric Digital Inputlink
101020037Grove - Touch SensorDigitalGeneric Digital Inputlink
101020038Grove - Magnetic SwitchDigitalitselflink
101020046Grove - Hall SensorDigitalitselflink
101020049Grove - Flame SensorDigitalGeneric Digital Inputlink
111020000Grove - Button(P)DigitalGeneric Digital Inputlink
101020073Grove - ElectromagnetDigitalitselflink
101020090Grove - Water Atomization v1.0DigitalGeneric Digital Outputlink
103020004Grove - Solid State RelayDigitalitselflink
103020005Grove - RelayDigitalitselflink
103020008Grove - MOSFETDigitalGeneric Digital Outputlink
103020010Grove - 2-Coil Latching RelayDigitalGeneric Digital Outputlink
103020014Grove - Dry-Reed RelayDigitalitselflink
104020001Grove - Variable Color LEDDigitalGeneric Digital Outputlink
104020002Grove - Purple LED (3mm)DigitalGeneric Digital Outputlink
104020005Grove - LED String LightDigitalGeneric Digital Outputlink
104030005Grove - Red LEDDigitalGeneric Digital Outputlink
104030007Grove - Green LEDDigitalGeneric Digital Outputlink
104030009Grove - White LEDDigitalGeneric Digital Outputlink
104030010Grove - Blue LEDDigitalGeneric Digital Outputlink
104030014Grove - Multi Color Flash LED (5mm)DigitalGeneric Digital Outputlink
105020003Grove - Vibration MotorDigitalGeneric Digital Outputlink
105020004Grove - Mini FanDigitalGeneric Digital Outputlink
105020005Grove - EL DriverDigitalitselflink
107020000Grove - BuzzerDigitalGeneric Digital Outputlink
107020001Grove - SpeakerDigitalitselflink
101020034Grove - 3-Axis Digital CompassI2Citselflink
101020039Grove - 3-Axis Digital Accelerometer(±1.5g)I2Citselflink
101020050Grove - 3-Axis Digital GyroI2Citselflink
101020072Grove - Barometer Sensor (BMP180)I2Citselflink
101020083Grove - GestureI2Citselflink
101020088Grove - Multichannel Gas SensorI2Citselflink
103020013Grove - I2C ADCI2Citselflink
104030008Grove - OLED Display 1.12’‘I2Citselflink
104030011Grove - OLED Display 0.96’‘I2Citselflink
105020001Grove - I2C Motor DriverI2Citselflink
107020006Grove - I2C FM ReceiverI2Citselflink
101020192Grove - Barometer(BMP280)I2Citselflink
101020193Grove - Temp&Humi&Barometer Sensor(BME280)I2Citselflink
101020010Grove - Ultrasonic RangerDititalitselflink
101020016Grove - Infrared ReceiverDigitalitselflink
101020019Grove - Temperature&Humidity Sensor ProDigitalitselflink
101020026Grove - Infrared EmitterDigitalitselflink
101020029Grove - Infrared Reflective SensorOthersitselflink
101020030Grove - Digital Light SensorI2Citselflink
101020040Grove - IR Distance InterrupterDigitalitselflink
103020018Grove - RecorderDigitalitselflink
104020006Grove - LED Bar v2.0UARTitselflink
104030003Grove - 4-Digit DisplayUARTitselflink
316010005Grove - ServoDigitalitselflink
101020067Grove - CO2 SensorUARTitselflink

Help us make it better

Thank you for choosing Seeed. A couple of months ago we initiated a project to improve our documentation system. What you are looking at now is the first edition of the new documentation system. Comparing to the old one, here is the progresses that we made:
  • Replaced the old documentation system with a new one that was developed from Mkdocs, a more widely used and cooler tool to develop documentation system.
  • Integrated the documentation system with our official website, now you can go to Bazaar and other section like Forum and Community more conveniently.
  • Reviewed and rewrote documents for hundreds of products for the system’s first edition, and will continue migrate documents from old wiki to the new one.
An easy-to-use instruction is as important as the product itself. We are expecting this new system will improve your experience when using Seeed’s products. However since this is the first edition, there are still many things need to improve, if you have any suggestions or findings, you are most welcome to submit the amended version as our contributor or give us suggestions in the survey below, Please don’t forget to leave your email address so that we can reply.
Happy hacking