Close

Selecting the proper wireless technology

A project log for Mumai

Use the power of your muscles to interact with the world

alvaro-villosladaAlvaro Villoslada 05/27/2016 at 10:260 Comments

Why have I chosen the ESP8266 as the wireless module for this project? There are plenty of options to go wireless, as this complete Hackaday article illustrates. Since I want the EMG circuit to be able to connect to a range of devices as wide as possible without using additional hardware, I need a wireless technology that is present in most everyday devices, such as computers and smartphones. This leaves me with basically two choices: Bluetooth and WiFi. Because of how I envisioned the network topology, where there are several EMG nodes that send the measured signals to a central node which receives and process the incoming data, I need a technology that at least supports a star network topology. However, it would be desirable to be able to use a mesh topology, to improve the robustness of the network in case of failures.

A star network can be implemented with Bluetooth, but the master can only connect to a maximum of seven slaves, which limits the number of EMG nodes that could be used in the interface. It seems that BLE allows a large number of slave nodes, and support for mesh networks is being developed, but currently BLE modules are not as affordable nor there are as many developed libraries to program them as with other wireless modules.

For these reasons I thought that WiFi, and the ESP8266 module, was the technology that fitted my needs. With WiFi, a star network can be implemented, with all the EMG nodes connected to a single access point (either a router, a smartphone or a special node). There is even an Arduino library to implement mesh networks with the ESP8266 modules. The ESP8266 is well known for its low price, as well as for the possibility to use it as a standalone microcontroller, so it seemed that I had found the missing piece to start developing the wireless part of the EMG interface.

But (there is always a but) after some time doing tests with this module, and after much thinking on what are the pros and cons of its choice, I am not so convinced that implementing a WiFi network of sensors is the best option for this particular project. For the sake of brevity, I will explain the problems I've encountered and what options do I have to solve them in the next project log.

Discussions