Developing a Cross-Platform App for Portable Lab Equipment
Overview of Our Client
Our client specialized in field research equipment and educational technology, producing compact portable laboratories equipped with built-in sensors and universal expansion ports for environmental, chemical, and physical analysis.
To make these laboratories accessible to different research and educational environments, the client required a versatile portable lab equipment app capable of running across mobile and desktop systems. .
- Region: Europe
- Industry: Hardware & IoT / Laboratory Equipment
- Timeline: ~2 years
Challenge
Traditional laboratory software is often fragmented, with separate applications required for mobile fieldwork and desktop-based laboratory analysis. This separation creates compatibility problems and higher development costs. For this project, the primary challenges included:
- Supporting Android, iOS, Windows, and Linux from a single codebase.
- Supporting Bluetooth and USB communication with laboratory equipment.
- Overcoming BlueZ and USB library limitations with a custom low-level communication layer.
- Managing simultaneous data streams from changing sensor configurations.
- Supporting touch interactions on mobile and precise mouse-based controls on desktop.
- Providing advanced desktop features for annotations, chart markers, and statistical analysis.
- Identifying trends, anomalies, and significant changes in high-frequency sensor data.
- Enabling complete experiments, including data, charts, annotations, and metadata, to be exported, imported, and replicated.
Main Goals
To build a digital ecosystem around the client's portable laboratory equipment, we established the following goals:
- Develop a cross-platform application for Android, iOS, Windows, and Linux from a single Flutter codebase
- Implement reliable Bluetooth Low Energy and USB connectivity across mobile and desktop environments
- Apply IoT sensor management app development principles to support flexible sensor configurations and real-time data acquisition
- Create a flexible measurement configuration wizard supporting different sensor combinations, sample counts, and polling frequencies
- Build a responsive, high-performance charting interface for real-time multi-variable data visualization
- Integrate AI-driven analytics to help users evaluate and interpret measurement charts
- Deliver an advanced desktop workspace for data annotation, custom markers, and statistical distribution analysis
- Enable complete experiment portability through import and export of measurements, metadata, images, and annotations
- Improve research accuracy through one-click measurement replication for evaluating equipment tolerance and data dispersion
Project Overview
We developed a high-performance cross-platform lab equipment app using Flutter, enabling deployment to Android, iOS, Windows, and Linux from a single codebase.
The application served as a digital command center for the client's portable lab equipment software, connecting laboratory units through Bluetooth or USB, managing historical records, and orchestrating live measurement workflows.
Users could configure experiments with different sensor combinations, sample counts, and polling frequencies, then monitor results through live time-series charts.
AI-powered analysis and a desktop workspace supported deeper research, annotation, and statistical analysis, while complete experiments could be imported and exported with their data, charts, and annotations.
Solution
The delivered solution was a cross-platform laboratory application combining a Flutter interface and native C/C++ components. The platform provided a unified environment for hardware control, sensor data acquisition, and real-time experiment visualization across the client's portable lab equipment.
Core Platform Capabilities
- Cross-platform Android, iOS, Windows, and Linux application
- Bluetooth Low Energy and USB hardware connectivity
- Dynamic internal and external sensor configuration
- Real-time multi-channel sensor data acquisition
- Interactive time-series charting and visualization
- AI-assisted trend and anomaly detection
- Desktop-exclusive data annotation and statistical analysis
- Image-backed chart annotations and custom markers
- One-click measurement repetition
- Complete experiment import and export
- CSV and XML-based research data portability
- Offline storage of measurement and analysis data
User Workflow
- Users connected the portable laboratory to the application through Bluetooth or USB.
- The application detected available sensors and allowed users to select the required combination, sample count, and polling frequency.
- Users configured the measurement workflow according to the research requirements.
- The application collected telemetry from multiple sensors and displayed measurements through real-time charts.
- AI-assisted analytics identified trends, anomalies, and significant changes in the collected data.
- Researchers could add comments, images, markers, and statistical distribution plots to measurement results on Windows and Linux.
- Users could repeat an experiment with the same configuration to evaluate equipment tolerance and data dispersion.
- Complete experiment datasets, including measurements and annotations, could be exported in standardized formats for reporting or further analysis.
Technology Stack
In order to support high-performance cross-platform operation, real-time data visualization, hardware communication, and local analytics, we used the following stack:
Framework
- Flutter for Android, iOS, Windows, and Linux
Languages
- Dart
- C/C++
State Management
- BLoC / Provider
Native Integration
- Dart FFI
Hardware Communication
- Bluetooth Low Energy (BLE)
- USB serial API
Linux Hardware Communication
- DBus
Local Storage
- Isar Database
Cloud / Network Database
- PocketBase
Data Formats
- CSV
- XML
- JSON
AI & Analytics
- ONNX Runtime / TensorFlow Lite
Data Processing
- Native C/C++ modules for telemetry parsing and DSP
Results
The resulting laboratory equipment software development solution provided researchers and educators with a unified environment for controlling portable laboratory equipment, collecting sensor data, and analyzing experiments across mobile and desktop platforms.
- True Multi-Platform Deployment: A single application was successfully deployed for Android, iOS, Windows, and Linux, reducing development costs by up to 50% compared with maintaining separate native apps.
- Stable Linux Hardware Communication: Direct DBus integration achieved 100% stable hardware communication on Linux, overcoming a major OS-level connectivity limitation.
- Hardware Control: Users could acquire live data from multiple onboard and external sensors through both wireless and wired connections.
- Advanced Desktop Analysis: Researchers gained access to image-backed annotations, custom chart markers, and automated statistical distribution plotting.
- Intelligent Data Insights: Integrated AI models accelerated chart analysis by identifying trends and anomalies directly within the application.
- Reliable Data Portability: Complete experiment datasets could be shared, backed up, and transferred using standardized CSV and XML formats
Related Cases
- Objective-C
- SQLite
- C#
- WPF
- Microsoft SQL
- System Integration
- Data Orchestration
Core Team
- Solution Architect: Developed the cross-platform abstraction layer, native C/C++ core, Bluetooth/USB communication bridges, and PocketBase synchronization architecture.
- UI/UX Designer: Created an adaptive interface supporting high-density desktop workflows alongside touch-oriented mobile interactions.
- Flutter Developers: Built the cross-platform application, hardware workflows, charting interfaces, and platform-specific interactions.
- AI/Data Engineers: Integrated time-series machine learning models for chart analysis, trend detection, and anomaly identification.
- DevOps & Backend Engineers: Managed the PocketBase infrastructure and synchronization of sensor profiles, metadata, and configuration data.
- QA Engineers: Performed hardware-in-the-loop testing across Android, iOS, Windows, and Linux to validate measurement accuracy and Bluetooth/USB stability.