Skip to content

Phase 2

In the second phase of the project, I focused on implementing CSV data handling functionalities, external sensor integrations, and a reusable experiment framework to expand the scope of the PSLab Flutter app.


CSV features

To improve data logging, I implemented a complete CSV workflow:

  • Export
    Users can export recorded sensor readings into CSV files with timestamps and custom file names.

  • Import
    Users can import CSV files directly from device storage into the app for review and visualization.

  • Visualization
    Both recorded and imported data can be visualized using interactive charts, enabling pattern recognition and insights.

  • Sharing
    CSV files can be shared externally, making it easier for users to collaborate or analyze data in other scientific tools.


Sensor Integration

In addition to mobile built‑in sensors, I integrated the following external sensors into the PSLab Flutter app:

  • BMP180 – Atmospheric pressure & temperature measurements
  • APDS9960 – Ambient light, proximity, and gesture detection
  • ADS1115 – High-resolution analog-to-digital converter
  • VL53L0X – Time-of-flight sensor for accurate distance measurement
BMP180 APDS9960 VL53L0X
ADS1115

Experiment Framework

To standardize experiment workflows, I implemented a reusable experiment framework that includes:

  • A guided, step-by-step flow that presents clear instructions, visuals, and progress inside the instrument screen, helping users complete experiments from start to finish.
  • A floating, movable on-screen guide shows the current step, overall progress, and completion feedback, with an option to end the experiment at any time and trigger follow-up actions afterward.

This framework makes it easier to add new experiments in the future with minimal effort.


Experiments Implemented

Using the framework, I successfully built the following experiments:

  • Light Intensity vs Distance Experiment
    Demonstrates the inverse-square law of light using Lux Meter.

  • Barometer Experiment
    Tracks atmospheric pressure variations with altitude using in-built sensors or the BMP180 module.

Experiment demo