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


General Value Power Management Value
Size 55mm * 48mm DC Current Per I/O Pin 12mA
Crystal 26MHz Input Voltage (Micro USB) 5V
Flash Memory 4MBytes (W25Q32B) Input Voltage (Battery holder) 3.4~4.2V
Wi-Fi Network Protocol 802.11b/g/n Output DC Current 1000mA MAX
Wi-Fi Encryption Technology WEP/TKIP/AES Operating Voltage 3.3V
Grove Connectors 6 Charge Current 500mA MAX
Flash 4MB (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 system The internet of led wall Dog feeding machine
MAKE IT NOW MAKE IT NOW MAKE IT NOW
Kickstarter Monitor MIssing Call Monitor Boss Key
MAKE IT NOW MAKE IT NOW MAKE IT NOW

Note

  • Some of the recipe are made for Wio Node, but it can apply to Wio Link too.

Hardware Overview


Part Function
MCU ESP8266
Digital Port 0 GPIO 14
Digital Port 1 GPIO 12
Digital Port 2 GPIO 13
Analog Port A3
UART Port Pin 1 & Pin 3
I2C Port Pin 4 & Pin 5
Status Light Blue LED is the WiFi status indicator, Red LED indicates the working status
Configure Button To configure and manage your Wio Link
Battery Holder JST2.0
Micro USB To power the board or communicate to the PC
Reset Button To 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 Link Grove - LED Micro USB Cable
GET ONE NOW GET ONE NOW GET 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 App Get 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:

IFTTT DoButton
[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 strip Grove-Temperature and Humidity Sensor
Get One Now Get 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

SKU Name Interface Driver Link
101020008 Grove - Moisture Sensor Analog itself link
101020014 Grove - Light Sensor Analog Generic Analog Input link
101020015 Grove - Temperature Sensor Analog itself link
101020017 Grove - Rotary Angle Sensor Analog Generic Analog Input link
101020022 Grove - Light Sensor(P) Analog Generic Analog Input link
101020023 Grove - Sound Sensor Analog ifself link
101020027 Grove - Electricity Sensor Analog Generic Analog Input link
101020036 Grove - Slide Potentiometer Analog Generic Analog Input link
101020042 Grove - 80cm Infrared Proximity Sensor Analog Generic Analog Input link
101020043 Grove - UV Sensor Analog itself link
101020048 Grove - Rotary Angle Sensor(P) Analog Generic Analog Input link
101020063 Grove - Loudness Sensor Analog itself link
101020076 Grove - Luminance Sensor Analog itself link
101020078 Grove - Air quality sensor v1.3 Analog Generic Analog Input link
101020003 Grove - Button Digital itself link
101020004 Grove - Switch(P) Digital Generic Digital Input link
101020005 Grove - Collision Sensor Digital Generic Digital Input link
101020009 Grove - Line Finder Digital Generic Digital Input link
101020018 Grove - Water Sensor Digital Generic Digital Input link
101020020 Grove - PIR Motion Sensor Digital itself link
101020025 Grove - Tilt Switch Digital Generic Digital Input link
101020037 Grove - Touch Sensor Digital Generic Digital Input link
101020038 Grove - Magnetic Switch Digital itself link
101020046 Grove - Hall Sensor Digital itself link
101020049 Grove - Flame Sensor Digital Generic Digital Input link
111020000 Grove - Button(P) Digital Generic Digital Input link
101020073 Grove - Electromagnet Digital itself link
101020090 Grove - Water Atomization v1.0 Digital Generic Digital Output link
103020004 Grove - Solid State Relay Digital itself link
103020005 Grove - Relay Digital itself link
103020008 Grove - MOSFET Digital Generic Digital Output link
103020010 Grove - 2-Coil Latching Relay Digital Generic Digital Output link
103020014 Grove - Dry-Reed Relay Digital itself link
104020001 Grove - Variable Color LED Digital Generic Digital Output link
104020002 Grove - Purple LED (3mm) Digital Generic Digital Output link
104020005 Grove - LED String Light Digital Generic Digital Output link
104030005 Grove - Red LED Digital Generic Digital Output link
104030007 Grove - Green LED Digital Generic Digital Output link
104030009 Grove - White LED Digital Generic Digital Output link
104030010 Grove - Blue LED Digital Generic Digital Output link
104030014 Grove - Multi Color Flash LED (5mm) Digital Generic Digital Output link
105020003 Grove - Vibration Motor Digital Generic Digital Output link
105020004 Grove - Mini Fan Digital Generic Digital Output link
105020005 Grove - EL Driver Digital itself link
107020000 Grove - Buzzer Digital Generic Digital Output link
107020001 Grove - Speaker Digital itself link
101020034 Grove - 3-Axis Digital Compass I2C itself link
101020039 Grove - 3-Axis Digital Accelerometer(±1.5g) I2C itself link
101020050 Grove - 3-Axis Digital Gyro I2C itself link
101020072 Grove - Barometer Sensor (BMP180) I2C itself link
101020083 Grove - Gesture I2C itself link
101020088 Grove - Multichannel Gas Sensor I2C itself link
103020013 Grove - I2C ADC I2C itself link
104030008 Grove - OLED Display 1.12’‘ I2C itself link
104030011 Grove - OLED Display 0.96’‘ I2C itself link
105020001 Grove - I2C Motor Driver I2C itself link
107020006 Grove - I2C FM Receiver I2C itself link
101020192 Grove - Barometer(BMP280) I2C itself link
101020193 Grove - Temp&Humi&Barometer Sensor(BME280) I2C itself link
101020010 Grove - Ultrasonic Ranger Ditital itself link
101020016 Grove - Infrared Receiver Digital itself link
101020019 Grove - Temperature&Humidity Sensor Pro Digital itself link
101020026 Grove - Infrared Emitter Digital itself link
101020029 Grove - Infrared Reflective Sensor Others itself link
101020030 Grove - Digital Light Sensor I2C itself link
101020040 Grove - IR Distance Interrupter Digital itself link
103020018 Grove - Recorder Digital itself link
104020006 Grove - LED Bar v2.0 UART itself link
104030003 Grove - 4-Digit Display UART itself link
316010005 Grove - Servo Digital itself link
101020067 Grove - CO2 Sensor UART itself link

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