Distributed Information Systems Laboratory LSIR

Pluggable USB sensors for smartphones

Project Details

Pluggable USB sensors for smartphones

Laboratory : LSIR Semester / Master Completed


Nowadays smartphones have been added hardware features that go far beyond what has been seen on the "good old mobile phones". This plethora of sensors enabled researchers to identify the context in which these mobile devices are used, like location, activity, social neighborhood for example. In a new paradigm, called participatory sensing, these mobile sensors are now used in several projects as a complement to larger and more accurate wireless sensor boxes, like the ones deployed in the OpenSense project.

To this purpose we developed a small PCB, connected to the USB port of an Android phone, using the USB host mode to power the sensor. It allows the user to measure the level of ozone, temperature, humidity and soon also VOC (Volatile organic compound). However, this external device brought some new challenges:

  • Energy consumption: The sensor itself need to be heated to 300°C and even in idle mode some other components are using energy from the limited capacity battery of the phone. One could think of using a smarter scheduling of the sensors to limit their use or implement a "pulse response" sensing mode.
  • USB charging port of the phone is used by the sensor, so it is not possible to charge it while making measurements. The PCB could be redesigned to support switching from host mode to accessory mode and have an external power supply plug on the board itself. Or when charging the phone the sensor can be plugged to another always-on device like a router to continue sensing.
  • Sensors used on the PCB are not factory-calibrated. It means that the value measured can vary from one sensor to another, and the function mapping from sensor value to the actual ozone level is not clearly defined. We could think about using a dedicated test-bench for calibration, or propagate calibration from existing calibrated measurement station.
  • Communication protocol with the phone is not yet clearly defined. As a quick prototype, only the useful functionality where implemented so far, but a better definition of the protocol and its implementation on both the micro-controller and the phone/other device have still to be done.

You don't need to solve all of these challenges; it will depend on the kind of project you want to do and your motivation and skills.


  • Knowledge of Java and Android development
  • Knowledge of C for ATMega micro-controller / Arduino
  • Strong interest in hardware (member of the Robopoly association is a plus)

Preferred, but not required

  • Familiarity with air quality measures and air pollutant chemistry

Contact: Julien Eberle