Strict Standards: Declaration of JParameter::loadSetupFile() should be compatible with JRegistry::loadSetupFile() in /var/www/html-techiewear/www/libraries/joomla/html/parameter.php on line 512

Combine out-door sports activities and information technology having fun and getting healthier!

With a smartphone, an accelerometer and an heart pulse sensor Wakeo permit to have fun, register your progress and share your results with your friends.
Thanks to the sensors embedded into a track suit and an Arduino Lilypad microcontroller, Walkeo system computes the burned calories during the training, the heart beat and warns for threshold heart rate crossing.
With the app you can store your training course in the Cloud, compute the covered distance, mean speed, calories burned and show all your training sessions on Walkeo website!

Mission walkeo

Main idea

WALKEO is an integrated control system designed for sport physical activities and social activities through the interaction beetween a "wearable" component worn by the user, a smartphone and an Internet connection.
Thanks to the sensors placed on a special fitness suit and an Arduino Lilypad microcontroller, you can calculate the calories burnt during the training, the heart rate and the heart risk threshold. With the help of an android app you can record your training activity, map your location, calculate the covered distance and revise all your training sessions on Walkeo cloud website!
The project is made of of three connected components that may also work separately Wearable component embeds sensors and and communicates via Bluetooth with the mobile app.
The intelligent glove signals locally the hearth beat frequency. The mobile app receives anthropometric data from wearable, integrates them with geo-location data and sends integrated training data to the server.
The mobile app shows locally real time training data even if wearable and server are not connected. The server collects the training data and allows you to review. Active server pages allow to see training in real time and to revise stored trainings. Click here for view a short post.

Block diagram
Block Diagram
Fitness suit

The "Wearable computing" is a kind of "extension" of the body that allows you to run your own training, check it, improve your well-being and interacting with friends.
The system must be able to interact with the environment through sensors fittes inside the dress.
In particular, it must be able to develop an high degree of awareness of the user's activity, its physiological and emotional state and the environment around him.
The user interface should be simple and intuitive operated with minimal mental effort and with very little operational action.
The system must be integrated in clothing so as not to interfere with the user's physical appearance or be unpleasant; however, the visibility of some components may give a perception of "technological" which is the line with the product.

Intelligent fitness suit

An intelligent suit embeds sensors, actuators, microcontrollers and communication devices. Sensors continuously collect physiological parameters of the user.
Actuators offer information to the user in simple and straight way maynly with lights and acoustic signals. Communication devices allow tha data transfer to and from remote system.
One or more microcontroller sample input signal from sensors, execute the application logic, signal info to the user and communicate with remote systems.
Walkeo is equipped with two sensors (hear beat and pace cadence), a lot of light and acoustic signals, a Bluetooth device for local communication with a smarphone and three Arduino Lilypad microcontreller.
A master microcontroller is fitted into the T-shirt, receives and sends info from slave micro and communicate with a smartphone.
A first slave microcontroller is fitted into the glove, samples heart beat, show light signals and communicate with master controller.
A second slave microcontroller is fitted into the left leg of trousers, samples pace cadence, shows light signals and communicate with master controller.


A sensor is a converter that measures a physical quantity and converts it into a signal which can be sampled by the application logic of a microcontroller.
Walkeo system embeds two sensor into the suit:

  • Heart rate pulse sensor (APDS-9800 Ambient Light Photo Sensor)
  • Pace cadence sensor (ADXL345 Triple Axis Accelerometer)
Heart rate pulse sensor
pulse sensor

The Pulse Sensor is essentially a photoplethysmograph, which is a well known medical device used for non-invasive heart rate monitoring.
The heart pulse signal that comes out of a photoplethysmograph is an analog fluctuation in voltage, and it has a predictable wave shape.
The sensor amplifies the raw signal and normalizes the pulse wave a midpoint in voltage responding to relative changes in light intensity.
If the amount of light incident on the sensor remains constant, the signal value will remain at midpoint of ADC range.
More light and the signal goes up. Less light, the opposite. Light from the green LED that is reflected back to the sensor changes during each pulse.
The application logic samples analog signal at 500 Hz rate to find to find successive moments of instantaneous heart beat and measure the time between, called the Inter Beat Interval (IBI).
When the heart pumps blood through the body, with every beat there is a pulse wave that travels along all arteries to the very extremities of capillary tissue where the Pulse Sensor is attached. Actual blood circulates in the body much slower than the pulse wave travels.
A rapid upward rise in signal value occurs as the pulse wave passes under the sensor, then the signal falls back down toward the normal point. Sometimes a downward spike (the dicroic notch) is more pronounced than others, but generally the signal settles down to background noise before the next pulse wave washes through.
The IBI is measured by timing between moments when the signal crosses 50% of the wave amplitude during upward rise.

Data sheet
Pace cadence sensor

Pedometers encourage people to compete with themselves in getting fit and losing weight.
These devices rely on inertial sensors and software to detect true steps allowing minimal spaces and low power requirements for wearable applications.

pulse sensor

Walkeo embeds a 3-axis ADXL345 accelerometer that recognize and count steps, measure distance, speed and calories burned.
The three components of motion are forward (roll), vertical (yaw), and side (pitch). The ADXL345 senses acceleration along its three axes: x, y, and z.

pulse sensor

Each step is defined as a unit cycle of walking behavior, showing the relationship between each stage of the walking cycle and the change in vertical and forward acceleration.

pulse sensor

At least one axis will have relatively large periodic acceleration changes, no matter how the pedometer is worn, so peak detection and a dynamic threshold-decision algorithm for acceleration on all three axes are essential for detecting a unit cycle of walking or running.

pulse sensor

The accelerometer is connettected to microcontroller by means of an I2C bus.

Data sheet

The user interface is simple and intuitive operated with minimal mental effort and with very little operational action.
All light signals are located in the glove:

  • heart beat
  • calories burned
  • close friends

All sound signals are located in the collar:

  • heart beath alarm
  • close friends
Light signals
pulse sensor

Heart beat monitor: an RGB LED signals the heart beat rate with a fading pulse. If the heat beat rate is below the threshold the pulse is green while If it is over the threshold the pulse is red.

pulse sensor

Burned calories: a bargraph made of six LEDs signal the amount of burned caloried; the scale is composed of two green LEDs ( less burned calories), two yellow LEDs (more burned calories) and two red LEDs( a lot of burned calories).
Close friends: a white high intensity LED, signals the presence of friends close to the user.

Sound signals
pulse sensor

Heart beat warning: a buzzer signals when the heart beat rate is over the threshold. The threshold depend also from age and weight and is computed by the Walkeo app running on the smarphone and sent to wearable by means of a Bluetooth connection. Close friends: a vibro device signals the presence of friends close to the user. The presence of friends close to the user is computed by the server and sent to the Walkeo app running on the smartphone of the user and sent to wearable by means of a Bluetooth connection..

Bluetooth communication
pulse sensor

Wearable communicate with user smartphone with a Bluetooth device

Application logic
pulse sensor

Application logic is implemente with three Arduino Lilypad connected with serial communication
A master controller is connected to two slave controller and to a bluetooth device and directly drives sound signals
A first slave controller samples heart beat and drives light signals
A secondo slave controller samples pace cadence

Cutting, cabling and sewing

Glove is derived from Zoe Romano glove design and is cut by GB Bertacchi

modified glove licensed under the Creative Commons - Attribution - Share Alike license.

pulse sensor

Sewing is implemented with conductive thread connected to terminal pins

The app
pulse sensor

We've developed an Android application wich is useful to keep your training monitored, for example it shows you how many calories you have consumed until that moment, and what is your maximum heart rate. It also calculates and shows you the path you route during the training and it stores all the training you have done with relatives informations about performance.
The application also helps you to keep in contact with your friends who are in training too, you can sign up or login with your Facebook account.
Walkeo receives data from the sensors connected to the suit through bluetooth and combines the data it has already with the data it receives, after it has processed them, Walkeo sends the data to the server to store them, so you can overhaul your trainings to keep monitorated your performance.

Main features
pulse sensor

This app can monitor all our activities during the training session. In fact with this app, using GPS and internet services, we can see all the main details about our position, consumed calories, heartbeat, weight and much more. To do this, we use the Google API and Facebook services, to improve the "social" feature and to compare all your results with other friends that use Walkeo, also during the training! An Android device is required to use Walkeo services.

Installing the app
pulse sensor

While writing the code a compressed file is generated. this file will be later used to install the walkeo application on smartphone.
On Techiewear website the apk file will be available, it will have to be downloaded either on the smartphone or transferred from Pc to smartphone through usb cable. Before installing apk file check if the unknown sources option has been enabled which can be found in: setting/security/unknown sources.
To install the application click on apk and the process will start.

Registering and configuring
pulse sensor

The registration on TechieWear website is required. It will be required to insert height, weight and age. After the application installation, it will be necessary to log in using your app credentials or your Facebook account. After registration, on the home it will be possible to configure your smartphone to get connected to your fitness suit. Tapping on "Configure", a page with a list of the essential settings will be displayed:

  • GMap: it enables the smartphone's GPS.
  • BT: it enables the bluetooth.
  • Host: it enables mobile data to connect to the cluod.

Tapping on "Device Bluetooth" all the bluetooth remote devices will be displayed. Tapping on "Confirm" to save the configuration.

Connecting to fitness suit
pulse sensor

We linked the circuit inside the suit with a bluetooth MATE SILVER to an Android smartphone. Arduino collects data from the various sensors integrated in the suit in the form of a string that contains informations concerning heartbeat and steps recorded from the digital accelerometer. Arduino also waits the data from the phone concerning caloric consume and nearby friends. Meanwhile the phone processes the data collected and sends them to the server.

Connecting to fitness suit the cloud
pulse sensor

The mobile app sends and retrieve training's information through API calls to our cloud application. We have developed APIs to retrieve or send not only user's information such as the name, surname and other fitness' personal information but also Training's details such as the harthrate, the position, the altitude and so on... On the cloud server we store all the data and will be available to our users through our web portal.

Stay connected
pulse sensor

Walkeo system implement a cloud service that allow session registering, and real time connection

Registering as user
pulse sensor

Each user is authenticated with a username and password stored in our database asked during the registration process, if you don't want to register you can sing in directly with a social network


Belluzzi Techiewear is distributed under the terms of the GNU GPL. This includes everything in the source code distribution except Arduino Hardware, Bootstrap Framework, Yii Framework and Android OS.

Arduino -> Creative Commons Attribution Share-Alike license

BootStrap Framework -> MIT license

Android -> Android Open Source Project License

Yii -> YII license

The full text of the GNU GPL follows:

 Version 2, June 1991

 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 Everyone is permitted to copy and distribute verbatim copies  of this license document, but changing it is not allowed.


The licenses for most software are designed to take away your freedom to share and change it.  By contrast, the GNU General Public License is intended to guarantee your freedom to share and  hange free software--to make sure the software is free for all its users.  This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it.  (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.)  You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price.  Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have.  You must make sure that they, too, receive or can get the source code.  And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software.  If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents.  We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the 
program proprietary.  To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. 
The precise terms and conditions for copying, distribution and modification follow.


0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License.  The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language.  (Hereinafter, translation is included without limitation in the term "modification".)  Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope.  The act of running the Program is not restricted, and the output from the  Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.

1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.

2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
    a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
    b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third    parties under the terms of this License. 
   c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an     announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under     these conditions, and telling the user how to view a copy of this License.  (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole.  If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works.  But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
    a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
    b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
    c) Accompany it with the information you received as to the offer to distribute corresponding source code.  (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for making modifications to it.  For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable.  However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts asdistribution of the source code, even though third parties are not compelled to copy the source along with the object code.

4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License.  Any attempt otherwise to copy, modify, sublicense or distribute the Program isvoid, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

5. You are not required to accept this License, since you have not signed it.  However, nothing else grants you permission to modify or distribute the Program or its derivative works.  These actions are prohibited by law if you do not accept this License.  Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.

6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions.  You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to
this License.

7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, reement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License.  If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all.  For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in othercircumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the  integrity of the free software distribution system, which is implemented by public license practices.  Many people have made generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.

8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded.  In such case, this License incorporates the limitation as if written in the body of this License.

9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time.  Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number.  If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation.  If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission.  For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this.  Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.





How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.

To do so, attach the following notices to the program.  It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.

<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 20yy  <name of author>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by     the Free Software Foundation; either version 2 of the License, or     (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License  along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
    Gnomovision version 69, Copyright (C) 19yy name of author
    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License.  Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary.  Here is a sample; alter the names:
  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
  `Gnomovision' (which makes passes at compilers) written by James Hacker.
  <signature of Ty Coon>, 1 April 1989
  Ty Coon, President of Vice
This General Public License does not permit incorporating your program into proprietary programs.  If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library.  If this is what you want to do, use the GNU Library General Public License instead of this License.