Healthcare / Connected sensor, AI signal analysis and cloud
Heart-signal sensor unit with patient app, cloud backend, AI analysis and doctor portalFirmware, mobile, cloud, web and AI engineering on an existing sensor
Sensocor: from a Bluetooth heart-signal sensor to a doctor's web portal
Monitoring Life, a medical-device startup, was developing Sensocor: a sensor unit that records heart signals, a mobile app for patients and a web view where doctors can review recordings remotely. The company had the sensor hardware and an Android app that read the sensor's serial stream, but no cloud backend, no doctor portal and no build pipeline.
The first request was to connect the existing Android app to Azure so heart-sensor recordings could be transmitted and stored securely for analysis. The engagement grew into the full path from sensor unit to doctor's portal, with AI analysis of the ECG, PCG and PPG recordings that points doctors to potential cardiac risks.

- Product
- Heart-signal sensor unit with patient app, cloud backend, AI analysis and doctor portal
- Buyer
- Medical-device startups connecting an existing sensor to apps, cloud storage and a clinician view
- Engagement
- Firmware, mobile, cloud, web and AI engineering on an existing sensor
- Indeema scope
- Sensor firmware and connectivity, Hardware change proposal, Patient app, Azure backend and doctor portal, DevOps, AI signal analysis
The product need
What had to become possible
The first request was to connect the existing Android app to Azure so heart-sensor recordings could be transmitted and stored securely for analysis. The engagement grew into the full path from sensor unit to doctor's portal, with AI analysis of the ECG, PCG and PPG recordings that points doctors to potential cardiac risks.
Ownership, made clear
Where the work started and what Indeema owned
Starting system
Sensor unit
Heart-monitor sensor hardware with Bluetooth Serial output and Arduino-based firmware. Once assembled, the unit could not be re-flashed without opening the enclosure.
Android app
An app that read data from the sensor's serial stream, with a limited feature set and an older design.
Dashboard definition
A description of the indicators the doctor's dashboard should display and how each should be calculated from the acquired signals.
Indeema owned
Sensor firmware and connectivity
Move the firmware from the Arduino framework to ESP-IDF, replace Bluetooth Serial with Bluetooth Low Energy and add protected pairing and BLE firmware updates.
Hardware change proposal
Review the hardware documentation and propose schematic and PCB changes so the unit can be programmed over USB without opening the enclosure.
Patient app
Specify and rework the Android app in Kotlin with Jetpack Compose and MVVM: sensor discovery, pairing, signal display, start/stop measurement, file upload and firmware updates.
Azure backend and doctor portal
Design and build a .NET backend on Azure with Entra authentication, Blob Storage for recordings and Azure SQL for calculated indicators, plus an Angular web portal for doctors.
DevOps
Set up Azure DevOps repositories and build pipelines that run unit tests on each commit and produce deployable artifacts for firmware, backend, web and mobile components.
AI signal analysis
Apply machine-learning analysis to the recorded ECG, PCG and PPG time series to highlight patterns associated with cardiac risk for the doctor's review.
Worked with
Sensor to phone over BLE
The app discovers and pairs with the sensor unit, starts and stops measurements and receives signal data over Bluetooth Low Energy.
Phone to Azure
The app uploads recording files to Azure Blob Storage through the backend's REST API.
Backend to portal
Calculated indicators are stored in Azure SQL and presented to doctors in the web portal.
Firmware delivery
New firmware images are stored in Azure Blob Storage, fetched by the app and delivered to the sensor over BLE.
Recordings to AI analysis
Recordings stored in the cloud are analysed by the AI models, and their results are shown to doctors in the portal next to the calculated indicators.
Product constraints
What made the engineering difficult
- 01
Align four layers of one data path
Sensor sampling rate, BLE throughput, the mobile app and the cloud backend had to be specified together so recordings could move from the unit to the portal without congestion.
- 02
Signal quality across hardware and software
Signal quality had to be preserved at both the hardware and the software-processing level.
- 03
Signals fit for AI analysis
AI analysis is only as good as the recordings it receives, so sampling, transfer and storage had to keep the signal intact from the sensor to the model.
- 04
Sensor units that were hard to update
Assembled units could not be re-flashed, and the Arduino-based firmware limited further development.
- 05
Battery use during recording
Continuous streaming from a battery-powered unit had to be controlled from the app.
Engineering judgement
Decisions that shaped the product
Bluetooth Low Energy instead of Bluetooth Serial
BLE addressed data-transfer congestion between the unit and the app and allowed a protected pairing process.
Native ESP-IDF instead of Arduino
Moving the ESP32 firmware to ESP-IDF was chosen for stability and to leave room for later firmware development.
Firmware updates through the app
A BLE OTA mechanism lets the app fetch firmware images from Azure Blob Storage and update units in the field; the proposed USB programming path covers bench updates.
Start and stop measurements from the app
BLE commands let users start and stop measurements, so the unit records only when needed and conserves battery.
Testable backend structure
The .NET backend uses an Onion architecture with a Chain of Responsibility pattern, documented REST endpoints and an integration test that checks the data flow after each rebuild.
AI supports the doctor
The models highlight potential risks in the recordings; the doctor reviews the signals and makes the clinical judgement.
Product system
How the product moves from signal to user
- 01
Sensor unit
ESP32 firmware on ESP-IDF records heart signals and exposes BLE measurement and update commands.
- 02
Patient app
Android app pairs with the unit, controls measurements, displays signals and uploads recordings.
- 03
Azure backend
.NET services authenticate users, store recordings in Blob Storage and indicators in Azure SQL.
- 04
AI analysis
Machine-learning models analyse ECG, PCG and PPG recordings and highlight potential cardiac risks.
- 05
Doctor portal
Angular web app shows patient details, calculated indicators and AI analysis results for the doctor's review.
Delivered product capability
What the product can do
- 01
BLE sensor firmware
ESP-IDF firmware on the ESP32-based unit with BLE data transfer, protected pairing and over-the-air firmware updates.
- 02
Patient Android app
Sensor discovery and pairing, signal display, measurement control, upload of recordings to the cloud and firmware updates, with new branding.
- 03
Azure backend
Authentication, recording storage, indicator storage and REST APIs for the app and the portal.
- 04
AI risk insights
Machine-learning analysis of heart-signal recordings that highlights potential cardiac risks for doctors to review.
- 05
Doctor web portal
An Angular portal with patient details, graphs and tables of the calculated indicators and the results of AI analysis.
- 06
Build and release pipeline
Azure DevOps pipelines with unit tests and build artifacts for firmware, backend, web and mobile components.
Product change
What changed for the product team
Before the project, recordings stayed between the sensor and a basic Android app. The product now has an end-to-end path: an ESP-IDF sensor unit communicating over BLE, a reworked patient app, an Azure backend storing recordings and indicators, AI analysis that highlights potential cardiac risks in the recordings, and a portal where doctors review them. Firmware can be updated through the app rather than by opening the enclosure.
For a team with a working medical sensor but no connected product around it, this case shows how firmware, BLE transport, the mobile app, cloud storage, AI analysis and the clinician view can be designed as one data path. Clinical interpretation and regulatory work stay with the device owner.
- The sensor unit, patient app, Azure backend and doctor portal were delivered as one connected data path.
- Sensor firmware can be updated over BLE through the app, using images stored in Azure.
- AI analysis of heart-signal recordings highlights potential cardiac risks for the doctor to review.
Product evidence
A closer look at the product


Technology, in context
Espressif ESP32 · ESP-IDF · Embedded C/C++ · Bluetooth Low Energy · Kotlin · Java · Jetpack Compose · MVVM · Firebase Crashlytics · .NET 6 · Entity Framework · Angular · PrimeNG · i18next · Azure Entra ID · Azure Blob Storage · Azure SQL Database · Azure Kubernetes Service · Azure DevOps · Machine learning for ECG, PCG and PPG analysis
A comparable product problem?
Sensocor heart-signal monitoring
Bring the product context, the system that already exists and the engineering decision you need to make.