I’ve been working on GlucoTrack, a Continuous Glucose Monitoring application built with .NET MAUI, C#,
ASP.NET Core, SQL Server, and native Android BLE APIs.
This week I completed the first real Bluetooth communication stage between the mobile app and the CGM architecture.
What’s implemented ✅
🔹 Native Android BLE scanning using BluetoothLeScanner
🔹 GATT communication using BluetoothGatt
🔹 Filtering only supported CGM-* devices
🔹 Service & characteristic discovery: FFF0, FFF1, FFF2
🔹 BLE notification subscription
🔹 Vendor protocol packet building & validation
🔹 Little-Endian data parsing
🔹 Checksum validation
🔹 Device command support:
E7 → Firmware Version
E8 → Device Serial Number
E1 → Battery Voltage
E2 → Device Temperature
E3 → Measurement Status & Latest Sequence Number
And one result I’m particularly happy with:
✅ 49/49 automated tests passing
The BLE implementation was built directly using native Android APIs, without adding a third-party BLE package, while keeping everything behind clean service abstractions so the app architecture remains maintainable.
One principle I’m being very careful about with this project is medical data integrity.
The device protocol provides raw sensor data, but the validated algorithm for converting raw sensor current into final glucose values is not available yet.
So instead of inventing a formula just to make the UI look complete, the production application intentionally refuses to fabricate glucose readings.
Next milestone 🎯
The next phase is physical hardware validation:
CGM Scan → Connect → GATT Verification → E7 → E8 → E1 → E2 → E3
After successful device validation, I’ll move toward live measurement handling, historical synchronization, and deeper CGM integration.
Really enjoying the challenge of combining:
Mobile Development + BLE + Hardware Protocols + Backend APIs + Healthcare Software