Connected vehicle technology is increasingly central to the shared mobility business model. Real-time visibility into vehicle health, location, driver behaviour, and usage patterns enables fleet operators to optimise utilisation, reduce maintenance costs, and deliver a better end-user experience. However, many shared mobility providers find themselves dependent on third-party telematics platforms that limit their ability to own, customise, and evolve their connected vehicle data strategy.
A shared mobility solutions provider with an ambitious connected vehicle ecosystem roadmap approached Embien with a clear objective, to design and develop a complete BLE-based On-Board Diagnostics device and companion Android application that they would own outright. Rather than integrating a third-party OBD dongle with fixed firmware and a vendor-controlled data pipeline, the customer wanted every layer of the ecosystem, hardware design, firmware, BLE protocol, and mobile application, to be their own intellectual property, giving them full control over feature evolution, data ownership, and integration with their broader platform.
The core challenge was not technical novelty but technical completeness and ownership. The customer needed a full-stack delivery, from the OBD hardware and firmware through to the Android application, that could serve as a production-ready foundation for their connected vehicle platform. Every component had to be designed for extensibility, as the customer's roadmap included adding features and integrating additional data sources over time.
On the firmware side, the vehicle data acquisition strategy had to be carefully designed. Modern vehicles expose data through two overlapping channels, the CAN bus, which carries raw ECU messages at high frequency, and the OBD-II PID interface, which provides a standardised diagnostic query-response mechanism. Both had to be supported, with configurable filter sets defining which CAN message IDs and OBD-II PIDs were acquired and transmitted, avoiding the bandwidth and power overhead of indiscriminate data collection.
The BLE interface between the OBD device and the Android application had to be defined as a proprietary GATT profile, one the customer owned and could extend, rather than a generic serial-over-BLE passthrough. This required careful design of service and characteristic structures to support both real-time telemetry streaming and configuration command exchange within the constraints of BLE's connection-oriented data model.
Power management was a further consideration. An OBDII-connected device draws power from the vehicle's 12V battery through the OBD port. In shared mobility contexts where vehicles may be parked for extended periods between uses, unmanaged power draw from a persistently active device risks draining the vehicle battery, making intelligent power state management essential.

eStorm-B1 Based Hardware Design
The OBD device is built around Embien's eStorm-B1, an automotive-grade BLE module designed for vehicle connectivity applications. The eStorm-B1 provides a production-proven BLE 4.2 radio, an ARM-based microcontroller with sufficient processing headroom for CAN and OBD-II data handling, and automotive-grade component ratings appropriate for the temperature and electrical environment of the vehicle OBD port. A standard OBDII connector provides the physical and electrical interface to the vehicle, delivering both CAN bus access and 12V power from the vehicle battery. A power management circuit regulates the 12V supply to the module's operating voltage while implementing the sleep and wake logic required to protect the vehicle battery during extended parking periods.
CAN and OBD-II PID Data Acquisition
Vehicle data acquisition operates across two parallel channels. The CAN acquisition channel monitors the vehicle CAN bus continuously, applying a configurable filter set that defines which CAN message IDs are captured. Raw CAN frames matching the filter are buffered and processed, signal values extracted according to a pre-configured DBC-style mapping, before being queued for BLE transmission. This channel is suited to high-frequency vehicle state data, speed, RPM, throttle position, and other parameters broadcast continuously by vehicle ECUs.
The OBD-II PID channel operates on a request-response basis, issuing standard OBD-II service requests for specific PIDs, engine load, coolant temperature, fuel trim, fault codes, and emissions-related parameters, at configured polling intervals and processing the responses. The PID filter set defines which PIDs are polled and at what frequency, allowing the customer to balance data richness against BLE bandwidth and power consumption. Both filter sets, CAN message IDs and OBD-II PIDs, are configurable from the Android application over BLE, enabling the customer to adjust the data acquisition profile remotely without a firmware update.
Proprietary BLE GATT Profile
The BLE interface between the OBD device and the Android application is built on a proprietary GATT profile defined and owned by the customer. The profile defines dedicated characteristics for real-time telemetry streaming, delivering processed CAN and OBD-II data to the application at configurable intervals, alongside characteristics for device configuration, filter set management, diagnostic command exchange, and OTA firmware update control. Notifications are used for telemetry streaming, enabling the Android application to receive data efficiently without polling. The proprietary profile design gives the customer full control over adding new characteristics as their data requirements evolve, without dependency on a third-party protocol definition.
Power Management
The firmware implements a multi-state power management scheme keyed to vehicle ignition state, detected through the OBDII port's ignition sense line. When the vehicle is running, the device operates in full active mode, continuously acquiring CAN and OBD-II data and maintaining the BLE connection. When ignition is off, the device transitions through a configurable parking mode, reducing acquisition frequency and BLE advertising interval, before entering a deep sleep state that cuts power consumption to a level safe for extended parking periods. A configurable wake-up interval allows the device to periodically surface status data even while parked, supporting fleet monitoring use cases where vehicle state during parking is relevant.
Secure OTA Firmware Update
Firmware updates are delivered over the air through the BLE connection, using a secure update mechanism that validates image authenticity and integrity before programming. The OTA process is protected against interruption, a failed or incomplete update does not leave the device in an unbootable state, with the bootloader retaining the last known good firmware as a fallback. This ensures the customer can safely roll out firmware updates across their deployed device fleet without risk of bricking devices in the field.
Companion Android Application
The companion Android application, developed by Embien in Java, provides the complete user-facing interface for the OBD ecosystem. The application handles BLE device discovery and pairing, real-time display of acquired vehicle data, CAN and OBD-II filter configuration, fault code reading and clearing, and OTA firmware update initiation. The data acquisition from the OBD device is made available to the customer's broader platform through the application, which serves as the gateway between the vehicle-side BLE device and the customer's cloud backend. The application architecture was designed with extensibility as a first principle, using a modular service structure that allows new data sources, display widgets, and backend integrations to be added as the customer's connected vehicle roadmap progresses.
This BLE On-Board Diagnostics project demonstrates Embien's ability to deliver complete, production-ready connected vehicle ecosystems where the customer owns every layer of the technology stack. By designing the eStorm-B1 based OBD hardware, defining a proprietary BLE GATT profile, implementing CAN and OBD-II PID data acquisition with configurable filtering, and developing the companion Android application as a cohesive, extensible system, Embien gave its shared mobility customer a genuine foundation for their connected vehicle platform, one they control, can evolve on their own terms, and can integrate deeply with their broader mobility ecosystem. This project reflects Embien's strength in delivering turnkey automotive connectivity solutions that serve not just the immediate requirement but the customer's longer-term product vision.
Partner with Embien to develop custom OBD devices, BLE vehicle connectivity, and companion mobile applications as fully owned intellectual property.