Mobile ApplicationReleased in June 2024
IMKO CONNECT
IMKO Connect Banner
Project Overview

IMKO Connect is a production mobile application used for collecting measurement data from professional hardware sensors developed by IMKO GmbH. The sensors are used in demanding environments such as construction, hydrology and the food industry, where data accuracy and connection reliability are critical.

The application is built with React Native as the shared UI layer and relies on a custom native Bluetooth communication framework implemented separately for Android and iOS. The project required close integration between mobile software and specialized hardware devices.

IMKO Connect works exclusively with IMKO's professional measurement hardware: the app is unusable without a physical sensor. Its install base therefore maps directly to active industrial deployments - every install is a customer using the system in the field, in construction, hydrology and food-safety environments.

Project Context

The primary goal of the project was to enable stable and reliable communication between mobile devices and high-precision moisture sensors. These sensors expose low-level communication protocols and require direct interaction with hardware-specific APIs.

Unlike typical mobile applications, this project involved constraints imposed by the hardware itself, including legacy Bluetooth protocols, authentication requirements and strict timing and reliability expectations.

Technical Challenges

One of the main technical challenges was the communication protocol used by the initial generation of sensors. Instead of Bluetooth Low Energy (BLE), the devices relied on Bluetooth 2.0.

Depending on the sensor ID, the app dynamically renders different layouts - because not all sensors have the same features. Users can trigger measurements manually or enable continuous mode, where readings are taken automatically at a set interval.

Because of this:

  • There were no existing React Native libraries suitable for the task
  • No open-source solutions could be reused
  • Platform-specific Bluetooth APIs had to be used directly

This required implementing a fully custom native communication layer for Bluetooth Classic and BLE, depending on sensor generation, capable of handling:

  • Device discovery
  • PIN-based authentication
  • Connection lifecycle management
  • Low-level command execution
  • Error handling and reconnection scenarios
Architecture & Implementation

The application architecture consists of three main layers:

React Native Layer

  • Shared UI and business logic
  • Session management and data visualization
  • Export functionality and localization

Android Native Layer (Kotlin)

  • Custom Bluetooth 2.0 communication module
  • Device discovery and pairing
  • Command handling and measurement triggering

iOS Native Layer (Swift)

  • Native Bluetooth communication implementation
  • Authentication handling
  • Sensor interaction and data transfer

The native layers expose a controlled and predictable API to the React Native layer, ensuring that platform-specific complexity remains isolated from the shared application logic.

Application Behavior

The application allows users to:

  • View previously paired sensors
  • Scan for and connect to new devices
  • Authenticate using a PIN-based flow
  • Trigger measurements manually or in continuous mode

Based on the connected sensor type, the UI dynamically adapts to expose only the features supported by that device.

Measurement data is grouped into sessions, allowing users to organize readings by location or context. Sessions can be exported as CSV files for further analysis and comparison.

The application supports multiple languages and is currently available in English, German and Italian.

Reliability & Offline Considerations

The application is designed to operate in environments with unstable connectivity. Measurement sessions are preserved locally, ensuring that collected data is not lost if the connection is interrupted.

The Bluetooth communication layer is built to handle reconnection scenarios gracefully and to recover from transient errors without requiring user intervention.

Key Takeaways

This project required working beyond the standard React Native abstraction layer and implementing native mobile solutions where necessary.

Key areas of experience gained include:

  • Native Bluetooth communication on Android and iOS
  • Designing custom native modules for cross-platform applications
  • Integrating mobile software with specialized hardware devices
  • Building systems that must remain reliable under real-world constraints

IMKO Connect represents a production system where stability, correctness and maintainability were essential.