TFM: Implementation and integration of a chart engine oriented to Big Data and it’s application in domotics


IoT (Internet of Things) and Big Data are very relevant today, and they tend to appear together. This happens because the most accepted definition of of IoT is having a lot of wireless sensors generating data continuously. This requires having the infrastructure to be able to save all the data that is generated in databases. However, this presents a problem when doing queries, since queries in big databases (millions of samples) take a long time to finish. Reducing this time is the objective of the following project.

This project consists of a web application (making it cross-platform) that allows management of a database using a simple user interface. It is also able to select a small sample of data (independently of the amount of data in the database) and plotting it. Finally, it can also be used to monitor live data. These last two functions are extremely useful in domotics, since the data that’s used in those applications (temperature, pressure) are very easy to interpret when plotted.


Captura representación gráfica
Screenshot of the webpage used to chart data


In order to carry out this project we used MongoDB, a NoSQL database. This type of databases have big advantages over traditional SQL databases when taking into account the type of data we are going to store, mainly faster speed and more flexibility. For the web server we used NodeJS, this way all the code written for this project is Javascript, both server-side, using ExpressJS to simplify the development, and client-side, using the native API calls for web manipulation present in most modern web browsers.

Lastly, one of the biggest advantages of our project is the ability to add data to the database sending a HTTP request to a certain URL. With this we can save any type of data from any sensor easily, the only requirement is having a node that supports IP in order to send the HTTP request, which is something very common nowadays.

TFG: Design and development of a reliable routing protocol for Wireless Sensor Networks


Wireless Sensor Networks, or WSN, is one of the most promising fields of research when talking about Information Technology, as its use and deployment is extended in developing projects related to Internet of Things.

WSN are composed by multiple wireless tiny sensor nodes called motes, which are equipped with a microcontroller and some sensors capable to measure physical data of the parameter to be monitored. They also feature one or several radio antennas, meant to share the gathered data with the rest of the sensor nodes in the network.

Many projects have been developed using WSN, all of them with the common characteristic of the need of sharing data among nodes. This is achieved by the implementation of a network protocol on the nodes.

Different research lines have been followed and scientific papers have been published related to the field of WSN network protocols, most of them focused on the creation of algorithms and theoretical work rather than on field implementation and actual deployment of the network protocol on physical nodes.

Multihop packet sending between nodes on WSN

The final objective of this thesis is the development of a realiable routing protocol for WSN, which is meant to establish routes among the nodes which later will be used as paths for sending and receiving data. It will be ready to use for stablishing networks on any project based on WSN developed by the B105 Electronic Systems Lab Research Group, regardless of its application or purpose. Multihop will be one of the main features on this routing protocol.

This protocol has been designed to be reliable, customizable and adaptable to the different needs a WSN developer may have. Its code is portable to different motes, and has been developed as a process running within the FreeRTOS operating system, which is node sensor oriented. Besides, the Contiki netstack, Rime, and its customized layer of communication services provided by the B105 Electronic Systems Lab, have been the main sources of primitive communication modules used on the development of this routing protocol.



There is currently a boom in smart devices in all kinds of environments. This is due to the large amount of data and services that they provide us, facilitating our daily tasks. In this context, the design and implementation of an electronic system, to manage a fridge and a pantry situated in a room in the B105 Electronic Systems Lab research group, where there are products for the lab’ users, has been performed. In order to simplify the accounting, track the stock, control the consumption and facilitate the use and payment, a system based in a Raspberry Pi 2 Model B has been developed, composed of a database, a touchscreen and a fingerprint sensor. Additionally, a webpage has been developed to observe the stock and the user consumption.

In order to reach this aim, several phases have been fulfilled. First of all, an analysis of the current situation has been made to decide how to improve it. Afterwards, system requirements have been established. According to them, the available technologies have been analyzed. With the already decided requirements, the hardware and software design has been carried out. Finally, the designed system has been installed and performed all the necessary tests to determine that the system operation is the one desired.

A MySQL database has been designed to store the products, prices, stock, users and virtual wallet data. It is composed of four tables for users, products, consumptions and money movements.

In order to univocally identify the users, it has been decided to use a fingerprint sensor connected to the Raspberry’s UART. Python language has been used for sending and receiving data packets between Raspberry and sensor. It has also been considered the case of a temporary user which can log in as invited, in order to keep all the database’s tables updated and allow him to consume.

As far as communication between users and system is concerned, it has been decided that it is performed by means of a touchscreen, because it is handy, intuitive and its use is very widespread. It displays the graphical user interface that has been developed, implemented as web application. The main technologies used for this purpose have been PHP, HTML, CSS and JavaScript.

Likewise, a webpage has been implemented for queries in the own lab intranet, where users can see their own consumptions and the fridge and pantry products stock.

Finally, the system has been installed in the fridge and pantry room, resulting operative for users. For this purpose, a clamping system has been designed and printed in 3D, to provide stability and make it easy for users.

TFG: Diseño e implementación de una interfaz gráfica para gestión de una red de sensores inalámbrica

Screen Shot 2017-07-11 at 6.38.55 PM

Las redes de sensores inalámbricas constituyen una nueva tecnología que se encuentra en un momento de desarrollo creciente. Este tipo de redes están formadas por varios nodos autónomos con capacidad de comunicación inalámbrica. Dichos nodos son capaces de monitorizar y muestrear varios parámetros físicos del entorno en el que se encuentran, procesar la información obtenida y comunicarse con otros nodos para tomar decisiones.

Debido al desarrollo de esta tecnología, se han encontrado varias necesidades entre las que se encuentran la gestión de las redes, su mantenimiento o la realización de pruebas. Es por ello que en el mercado han surgido varias alternativas para cubrir estas necesidades.

En el grupo de investigación del B105 Electronic Systems Lab del Departamento de Ingeniería Electrónica se ha desarrollado un banco de pruebas que permite comprobar, de una manera eficiente, el comportamiento de las redes de sensores ante distintas configuraciones de protocolos de comunicación y de los nodos. Para poder utilizar este sistema de manera sencilla se necesita una interfaz gráfica.

Este proyecto nace con la idea de cubrir esa necesidad, con el reto añadido de desarrollarla de manera que cumpla las características de fiabilidad, comodidad, flexibilidad y escalabilidad. También se pretende que esta interfaz sea lo más genérica posible. La interfaz se tendrá que comunicar con la red de sensores para configurar parámetros de los nodos y para solicitar datos a los mismos. Estos datos se tendrán que guardar y mostrar adecuadamente al usuario.

Para la realización de la interfaz se usará el entorno de programación Visual Studio en su versión de C#. Este contiene todas las herramientas y utilidades necesarias para diseñar e desarrollar interfaces de una manera rápida y sencilla, comunicarse con otros dispositivos y almacenar datos en ficheros y bases de datos.

También se diseñará e implementará las funciones necesarias para el correcto envío de datos a la interfaz por parte de la red de sensores. Esta tarea será realizada por un nodo pasarela, que actúa de intermediario entre los miembros de la red y el PC.

Desarrollo e implementación de un sistema electrónico para medir y caracterizar el consumo de sistemas empotrados


Un reloj digital, un teléfono inteligente, una pulsera electrónica y un sensor inalámbrico son algunos ejemplos de sistemas empotrados. Es fácil observar que este tipo de dispositivos juegan un papel muy importante en la sociedad actual.

Tras analizar con detalle este tipo de dispositivos nos damos cuenta de que en numerosas ocasiones son autónomos desde un punto de vista energético, es decir, se alimentan a través de baterías o pilas. En estos casos, será de gran interés para el diseñador obtener un perfil de consumo del dispositivo con la finalidad de poder estimar un tiempo de vida del mismo.

Realizar este proceso de caracterización en ocasiones no será para nada trivial, incrementándose considerablemente cuando trabajemos con dispositivos cuyo comportamiento no sea constante a lo largo del tiempo, pudiendo existir grandes diferencias de consumo entre un momento y otro como, por ejemplo, en las redes de sensores inalámbricos.

Ante la inexistencia de herramientas comerciales económicas que nos permitan caracterizar un dispositivo similar a los presentados anteriormente, nos propondremos realizar con este proyecto una herramienta de bajo coste con dicha funcionalidad. Para ello, diseñaremos, por un lado, un dispositivo hardware que nos permitirá medir el consumo de un tercero de forma fiable y, por otro, una herramienta software a través del cual el usuario podrá acceder a los datos adquiridos y procesarlos según considere, obteniendo la información relevante para el análisis del consumo.

Entre las restricciones a las que tendremos que hacer frente destacamos lo que se conoce como tensión de Burden. La tensión de Burden se define como la tensión que cae en el instrumento de medida por el mero hecho de medir. Fruto de esta restricción, será necesario incluir en el sistema, un mecanismo de regulación que cambie el estado del sistema de forma que, en ningún caso, la caída de tensión en bornes de nuestro dispositivo supere los 0,1 V.

tensiondeburdenLimitación de la tensión de Burden.


Adicionalmente al prototipo hardware, se desarrolló una interfaz que nos permitirá trabajar con el perfil de consumo obtenido durante el proceso de adquisición, facilitando el análisis de los datos.interfaz


Interfaz de usuario

Entre las funcionalidades incluidas en la aplicación destacamos: el panel de representación, que nos permitirá hacer zoom en un intervalo de tiempo específico; el panel de datos, donde se mostrarán los valores de interés del sistema (valor mínimo, máximo y medio) y el panel de configuración de umbrales, que nos permitirá conocer cuánto tiempo ha permanecido el sistema un una banda acotada de consumo.

MDC montaje

Montaje real del sistema completo



TFM: Development of an auto-tuned mechanical energy harvester

Prototipo mecánico de energy harvester

The Wireless Sensor Networks (WSNs) field is expected to experience a disruptive development in the next few years. One of the main obstacles that designers face is the extremely low consumption requirements related to this networks, as the operational costs involved in changing empty batteries might be very high. Therefore, technologies that permit recovering residual energy from the environment –frequently referred as Energy harvesting techniques- might become a powerful enabler for WSNs, reducing the pressure exerted by the strict consumption restrictions.

The present work describes the full design and development of a mechanical Energy harvester based on an electromagnetic transducer. The system is capable of transforming mechanical energy in form of vibrations with a non-flat energy density spectrum into electrical energy that can be used to power sensors, ideally increasing their autonomy indefinitely.

In order to transform a reasonable amount of energy, the system must remain tuned with the external excitation: its natural frequency has to match the external vibration frequency. To guarantee this, the system has been designed so that it is able to auto-tune itself by changing its natural frequency within the range of 30 to 70 Hz, which typically contains the vibrations generated by engines and industrial machinery.

With this objective, an initial study of the State-of-the-art models and their working principles has been carried out, and some mechanical architectures to modify the system’s natural frequency have been introduced. The architectures have been simulated, built by means of 3D printing, measured and characterized to conclude that the most adequate one is based on changing the effective vibrating length of a steel cantilever. Strategies to determine whether the system is tuned have been then studied, and the advantages of using an algorithm based on the phase difference between the external excitation and the cantilever tip have been justified. An electronic system based on a microcontroller has been designed to implement the algorithm, and the study of the transducer has shown the need for some conditioning electronics. A voltage multiplier in a parallel topology has been used for this purpose. The multiplier has been designed so that its multiplying steps number can be altered. Finally, a supercapacitor has been proven to fit the application more adequately than a battery, so it has been used as the energy storage solution.

Once the system has been developed, a fully functional auto tuned prototype has been achieved. The prototype is able to power an electronic system. However, due to the great power consumption the electromechanical actuator imposes, the auto-powering of the system is only feasible in environments where tuning is seldom required. This would most likely change with the reduction in electromechanical actuators consumption, which would allow the use of systems as the one described in other fields where vibrations change in a more frequent fashion.




No cabe duda de que estamos siendo testigos del gran impacto que está teniendo el crecimiento del Internet de las Cosas (Internet of Things, IoT) en la actualidad. Cada vez son más el número de dispositivos wearables, de electrodomésticos inteligentes, coches sensorizados… presentes en nuestra vidas.

Se estima que para 2020 más de 250.000 vehículos y más de 245 millones de dispositivos wearables estén conectados a la red.
Es lógico pensar que tal conexión masiva de dispositivos produce y producirá más aún un uso ineficiente del espectro radioeléctrico en las bandas libres disponibles provocando un ineficiente uso de las prestaciones de la red . Por lo que un elemento clave para evitar tal fenómeno son las Redes inalámbricas de sensores cognitivas (Cognitive Wireless Sensor Network, CWSN) compuesta de nodos cognitivos capaces de modificar sus parámetros de comunicación dinámicamente para evitar interferencias dentro de la red, mejorando así las prestaciones de la misma.

Una de las principales líneas de investigación dentro del B105 Electronic Systems Lab, es el desarrollo de CWSN. Debido a ello en los últimos años se han llevado cabo en diferentes proyectos tanto el desarrollo hardware de un nodo cognitivo (cognitive Next Generation Device, cNGD) como la implementación software de la pila de protocolos que permite al nodo comunicarse en tres bandas diferentes y libres del espectro radioeléctrico, que cumplen con la legislación vigente en Europa.

Este Trabajo de Fin de Grado se centra en realizar el diseño y despliegue de un banco de pruebas (test-bed) de una CWSN. Esto implica realizar un estudio previo de los proyectos mencionados anteriormente para poder realizar un correcto montaje hardware de los nodos cognitivos que integrarán la CWSN así como el diseño, implementación y realización de una serie de pruebas para verificar el correcto montaje de los mismos. Para poder desplegar el test-bed ha sido necesario hacer un previo diseño de la CWSN teniendo en cuenta las limitaciones que presenta el protocolo de comunicaciones, las distintas funcionalidades que puede tener un cNGD y las pruebas a realizar sobre la red. Una vez realizado el despliegue se ha podido caracterizar ciertos parámetros de la red tales como el alcance, la latencia o el consumo de los nodos. Para medir este último parámetro se realizará el diseño e implementación de un módulo de expansión de la placa cNGD para medir el consumo del nodo en sus distintas funcionalidades.


Thesis: Design techniques for Wireless Neural Networks.



Gisela Mur Arroyo


Alvaro Araujo Pinto


Based on Wireless Sensor Networks (WSN),, the Wireless Neural Networks (WNN) appears with the objective to obtain, transmits and generates neural signals as the human body does. In contrast to the WSN, the WNN operates in a very critical boundary conditions. Because of been on the human body, it have to pay special attention to the energy absorption or the thermal damage that can be generate because the constant contact between the sensor and the skin. Therefore, the radiated power is limited in this type of networks.

Therefore, the main objective of this thesis is to obtain a design techniques for the generation of a wireless neural networks that allows to obtain and transmits wirelessly neural signals originated by the nervous system and generate them in another part of the human body.



The neuron generates an action potential or “spike” each time it propagates information. So, this thesis aim to  detect a spike in a neuron and transmits it to another node the existence of this action potential. Once the receptor receives the existence of the spike, it generates an electrical stimulation in another part of the human body.



TFG: Análisis y diseño de un estimulador transcutáneo de pulsos eléctricos.


El dolor es algo que nos acompaña en nuestro día a día y puede deberse a causas muy diversas como golpes, malas posturas, lesiones… Normalmente se combate mediante fármacos o tratamiento fisioterapéutico, pero gracias al desarrollo del campo de la medicina y la electrónica surgen nuevas alternativas, como es el caso del TENS (Transcutaneous Electrical Nerve Stimulator), un generador de pulsos eléctricos que, mediante unos electrodos situados sobre la piel, envía unos estímulos no dolorosos que inhiben los estímulos dolorosos que se quieren eliminar.



El objetivo de este Trabajo Fin de Grado consiste en desarrollar un TENS funcional mediante un microprocesador y un posterior circuito de amplificación, siendo posible seleccionar la frecuencia, intensidad, ancho de pulso y forma de onda del estímulo no doloroso.

Fin de PFC: Estudio de posibles diseños de sistemas de navegación para casos de ceguera o deficiencia visual grave

Bastón Blanco


Tras una tediosa etapa de recopilación y organización de información, se pone fin a este proyecto fin de carrera. Su objetivo, continuando en la linea del pasado artículo, consiste en estudiar si los últimos avances tecnológicos permitirían que todo aquel que sufre de poca o ninguna visión pueda disfrutar de una mayor autonomía al desplazarse por la ciudad o en interiores.

El documento impreso incluye en primer lugar un estudio del perfil de usuario, tratando cuestiones como cuál es el número de usuarios potenciales, qué necesitan, cuáles son sus circunstancias (empleo, educación, nivel de ingresos, etc.) o cómo se manejan con las nuevas tecnologías. En dicho estudio y a lo largo del documento se recomienda aprovechar la creciente tendencia a utilizar teléfonos inteligentes en el diseño de futuros dispositivos; proyectos clásicos como The vOICe cuentan con su propia aplicación móvil gratuita.

En segundo lugar, se ahonda en la trayectoria I+D+i de los sistemas de navegación para personas con discapacidad visual. No han sido pocas las soluciones propuestas hasta la fecha, empezando por los trabajos de Paul Bach-y-Rita, C. C. Collins et alii en el ámbito de la sustitución sensorial; las propuestas simultáneas de Collins y Jack M. Loomis acerca de recurrir al GPS para guiar a invidentes; incluso la progresiva introducción de elementos propios de la realidad aumentada, hasta sistemas más recientes que trabajan con visión artificial (Seeing AI), redes de balizas BLE (Bluetooth Low Energy, ver WayFindr), etc.

Una vez alcanzado el punto de desarrollo actual, se evalúan una lista de campos tecnológicos con amplia financiación como posibles elementos críticos en el desarrollo de futuros sistemas; a saber: realidad virtual y aumentada, wearables, conducción autónoma, drones, y otros tantos relacionados con el nuevo paradigma de las telecomunicaciones (5G, IoT, WSN, … ).

Pasados estos puntos, se propone una nueva arquitectura de sistema fundamentada en la visión artificial y las nuevas infraestructuras de telecomunicaciones, guiados por los proyectos previos, aceptación de los dispositivos desarrollados, y las necesidades y características de los futuros usuarios.

Uno de los elementos clave en dicha arquitectura consiste en la interfaz de usuario, ya que aun disponiendo de toda la información útil sobre el entorno, discernir qué necesita conocer el usuario y cómo comunicárselo de forma óptima constituye uno de los principales problemas de este tipo de sistemas.

Realidad aumentada - sonido 5

La solución propuesta es vieja, pero en un nuevo contexto técnico: la realidad aumentada. A día de hoy se podrían aprovechar tecnologías de este campo, con Tango (Google) o Microsoft Hololens como ejemplos característicos, para introducir en el entorno elementos virtuales perceptibles por el oído (imagen arriba) o por el tacto que describan el entorno al usuario de forma intuitiva.

Sin embargo, las interfaces hápticas (tacto) actuales son muy pobres como para implementar soluciones de este tipo. Es por ello que se ha diseñado una plataforma de pruebas para la estimulación nerviosa transcutánea sobre la placa de desarrollo F28377S Launchpad de Texas Instrument (imagen abajo), y una interfaz con la plataforma Matlab, de cara a continuar en otra de las viejas soluciones: la interfaz electrotáctil.

Un ejemplo de dispositivo comercial que emplea esta tecnología es el BrainPort v100, fruto (en parte) de los trabajos de Paul Bach-y-Rita et alii; pero extender el campo de acción de la interfaz electrotáctil a zonas del cuerpo más allá de la lengua conlleva complicaciones aún sin resolver.

El objetivo del dispositivo desarrollado es, por tanto, trabajar con técnicas recientes orientadas a resolver este problema, y estudiar si es posible implementar una interfaz electrotáctil que “envuelva” al usuario. Se prevé que este tipo de interfaz permitiría simular percepciones útiles para guiar al usuario de forma eficiente, tales como el contacto con objetos virtuales (ejemplo en la figura de abajo, derecha).