Project Background
OWidgets Smell Digital is a pioneering enterprise promising to advance the field of sensor technology. Their olfactometer offers a significant leap forward in delivering tailored olfactory experiences.

Our joint project with OWidgets Smell Digital aims to leverage the versatile and low cost metal oxide (MOX) sensors from Bosch to automise the process for data synthesis, feature extraction, training, and deployment by offering a streamlined package that lays the foundational work for quantifying and analysing unique scent experiences that is suited for our client’s various pursuits in fragrance design, healthcare, environmental monitoring, and immersive VR experiences.

Challenges
  • Lack a standardised system to quantify scents present in the environment.
  • Current methods to identify chemical compounds rely on laboriously hand crafted features.
  • Once developed, the use cases are often narrow, lacking a general process to synthesise features to analyse a wide variety of compounds.
  • MOX sensors have poor selectivity.
  • MOX sensors are prone to poisoning and drift over time, requiring frequent recalibration.
Our Solution
  • A data collection system which is easily customisable using OWidget's olfactometer and can be accessed remotely.
  • Automatize feature extraction for all use cases which can be cross analysed later with convenience.
  • Utilise machine learning for one click training for a scent classification algorithm tailored specifically for the use case.
  • Scent database which serves as a digital library of scents for analysis at a later date.
  • All functionalities can be accessed through an user friendly UI that streamlines the entire process.
Client Requirements
In collaboration with OWidgets, we organized a series of meetings to clarify project requirements and ensure alignment with their objectives. Establishing weekly meetings allowed for regular updates and continuous feedback, facilitating efficient progress tracking. These discussions helped us in developing our comprehensive MoSCoW list outlining the project's priorities. This systematic approach ensures that tasks are prioritized effectively, laying a solid foundation for successful project execution.

Here are a few of the client requirements:
  • Develop a user-friendly interface for the olfactometer
  • Integrate the BME680 sensor with the olfactometer
  • Implement machine learning algorithms for scent identification
  • Facilitate real-time data capture and analysis
  • Ensure seamless hardware and software integration
Project Goal
Our project aims to develop a data synthesis system that leverages the customisability of scent combination offered by OWidget's proprietary olfactometer and the versatility of Bosch's BME680 metal oxide sensor for environment monitoring, to offer a standardised and automised data synthesis process that is suited for the analysis for any compound present in the environment.

The collected data will be stored in a scent database to facilitate further analysis for quality control and research purposes.

We aim to offer a machine learning algorithm which can be trained for classification tasks involving any combination of scents from their features in the scent database, which is lightweight and can be deployed on less capable devices. The algorithm approximates the necessary size of the network depending on the number of input features, aiming to balance model size and accuracy.

All functionalities will be able to be accessed from a webpage UI, which allows remote access to the system, while equally maintaining ease-of-use and customisability by offering both one-click options and advanced configurations depending on the user's needs.
User Interviews
We then conducted semi-structured interviews with the user, to capture the requirements by allowing the user to elaborate their holistic needs in detail, and probe for technical requirements where necessary.

Q: What is your background/experience?
  • Worked with a startup company developing environmental sensors specifically for gas detection - optical sensing (optical absoption due to gas absorption) and detection using metal oxides.
  • Then worked in a University on embedded systems and ML for 1.5 years before OW smell digital - sensor integration.

Q: What is your role in the company? Please describe in detail. R&D on problems w electronics, hardware, etc. (How to control system & airflow, how to integrate bosche sensor into electronics, how to distribute odour from device better to allow user to detect it (currently using fluid simulations))

Q: Can you describe your experience with data analysis and machine learning?
  • Worked with ML in university, but not much experience with it in the industry.
  • Review on techniques to do w sensors (e.g. feature extraction, pattern identification)

Q: What are some immediate uses of the gas sensor calibration platform for the company? If so, can you further elaborate in detail on how this platform will impact your work?
  • Useful diagnostic tool for understanding what is coming out of system (odours can age over time, useful to understanding this process). Can help see if odour cartridge needs replacing or if characteristics are changing.
  • Can be used to detect odours in background, apart from the one emitted from device - useful in places with a lot of background contamination.
  • Quantify what the user is perceiving, as it can be subjective.

Q: What are some requirements (hardware and software) that would help you achieve this?
  • Interface for configuring sensor (setting parameters like temperature ramp, timing, repetition rate for sampling).
  • Extracting data from sensor.
  • Controlling olfactometer (sync release of odour with sensor capturing) (scheduler).
  • Interface for recording data:
    • Sensor Configuration.
    • Button for turning on data collection + olfactometer.
    • Could have file (csv) to give timings and activate olfactometer channels.
  • Second interface for processing data + training & gas identification (separate collection & analysis):
    • Load data file into the system for training & identification.
    • Tag training data to associate w different gases.
    • System monitors sensor to estimate what gases are in environment w trained algorithm → display what gas it has identified + metrics of e.g. probability of that gas being in the environment.
Personas
Based on our conversation with the target user, we constructed personas to fully understand the requirements of the product that suits our user's goal and needs.
Storyboard
Then, with the storyboards we simulate the user's interaction with the product in a variety of use cases to understand more intricately what features beyond the rudimentary requirements would maximize the chances for a pleasant user experience.

Storyboard 1 Storyboard 2
MoSCoW List
Finally, based upon our conversation with the user and simulation of the use cases, we develop a comprehensive MoSCoW list outlining the project's functional requirements. This systematic approach ensures that tasks are prioritized effectively, laying a solid foundation for successful project execution.

Must Have

  • ML system to identify gas based on pattern of change in resistance across different sensor heater temperatures.
  • Interface for interacting with olfactometer and reading from sensor, with synchronised starting and stopping for the setup.
  • Data-synthesis system which collects data to establish unique fingerprints for different scents through feature extraction pipeline.

Should Have

  • Feature extraction through different wavelengths of gases recorded.
  • Scents database to uniquely identify and store scents.

Could Have

  • Support vector machines to identify scents.
  • ML algorithm to recognise and identify scents in real time.

Won't Have

  • Other applications such as establishing concentration of chemicals.
  • Automate selection and evaluation of best heater profile for specific applications and more accurate identification.
  • Hyperparameter search.
Some details were changed in the requirements of lesser importance to further enhance the overall functionality, suiting the requirements of higher priority. Overall, the requirements were strictly adhered to to ensure the delivery of the product that best suits our user's needs. Changes were made with mutual agreement with our partner.