Publish-subscribe messaging
MQTT separates the component producing telemetry from the component consuming it. This reduces direct coupling, but requires an explicit interface specification so message meaning and ownership remain clear.
Telematics & Connected Vehicle
A practical engineering guide to using MQTT for vehicle telemetry, from firmware and TCU integration through LTE transport, cloud ingestion, and engineering dashboards.
Engineering model
MQTT provides a lightweight publish-subscribe model for moving telemetry between connected vehicle software and cloud systems. A useful implementation separates signal production, message exchange, connectivity, cloud API integration, and dashboard presentation so each boundary can be tested independently. The resulting telemetry pipeline depends on an interface specification, the behavior of the TCU or firmware module, available LTE connectivity, and the expectations of the connected vehicle dashboard.
Core concepts
MQTT separates the component producing telemetry from the component consuming it. This reduces direct coupling, but requires an explicit interface specification so message meaning and ownership remain clear.
The telemetry pipeline covers data production, MQTT transport, cloud API integration, and presentation in an engineering dashboard. Failures must be localized to one of these stages rather than treated as a single connectivity problem.
The TCU or firmware module depends on cellular connectivity to move telemetry beyond the vehicle. LTE availability and behavior therefore affect whether MQTT data can reach the cloud API.
An ESP32 or other hardware prototype can implement a bounded firmware module that produces telemetry and participates in the MQTT interface before full vehicle integration.
Start by identifying what produces telemetry, what transports it, and what consumes it. This prevents the MQTT connection from becoming an undefined substitute for an interface specification.
A connected vehicle telemetry path commonly contains a firmware module or TCU, an MQTT exchange, a cloud API, and an engineering dashboard. MQTT carries the telemetry between software components, while LTE provides the cellular data path used by the vehicle. The interface specification should describe the responsibility of each component and the information expected at each boundary.
| Component | Primary responsibility | Failure question |
|---|---|---|
| Firmware module | Produce defined vehicle telemetry | Is the expected data produced at the source? |
| TCU | Coordinate vehicle-side connectivity and data upload | Is the TCU connected and attempting the upload? |
| MQTT | Transport telemetry between publishing and consuming components | Is the message exchange operating as specified? |
| Cloud API | Accept or expose telemetry for software integration | Does the cloud interface receive the expected data? |
| Engineering dashboard | Present engineering status or telemetry | Is the dashboard showing current and correctly interpreted data? |
The implementation should make the telemetry contract explicit before connectivity is optimized. The same contract should be usable by a firmware module, the cloud API, and the engineering dashboard.
For every value, record whether the firmware module or TCU produces it, and define the expected meaning and update behavior in the interface specification.
Specify which software component publishes each telemetry group and which component consumes it. Keep names and responsibilities stable across development and integration.
Define how MQTT data becomes cloud-facing data through the API specification, including the information required by downstream software and the engineering dashboard.
On the hardware prototype or target platform, implement acquisition and data upload separately from dashboard presentation so the firmware module remains testable.
An ESP32 can be used as a hardware prototype for exercising the firmware module and MQTT integration. Its Wi-Fi and Bluetooth capabilities do not replace the LTE path used by a TCU, so prototype results should be interpreted against the connectivity path being tested.
An MQTT development effort is easier to diagnose when the complete path is modeled as a sequence rather than as one connection.
The firmware module or TCU obtains the engineering signal or telemetry value according to the interface specification.
The vehicle-side software organizes the value for data upload through the defined MQTT interface.
MQTT carries the telemetry while LTE provides the cellular data connection used by the connected vehicle.
The receiving software makes the telemetry available through the cloud API or another defined software boundary.
The engineering dashboard summarizes the received signals, states, or results for monitoring and troubleshooting.
Testing should distinguish message production, transport, integration, and presentation. Each test needs an expected observation at the boundary under examination.
| Test focus | Input | Expected evidence |
|---|---|---|
| Firmware module | Known telemetry condition | Produced data matches the interface specification |
| MQTT integration | Defined publish and consume path | Telemetry is available at the receiving boundary |
| LTE data upload | Vehicle-side upload attempt | The expected telemetry reaches the cloud-facing boundary |
| REST API integration | API specification and received telemetry | The software interface exposes the required data |
| Engineering dashboard | Known engineering signals or results | Displayed values correspond to the test input |
Record whether a failure occurs before MQTT, during the MQTT exchange, at the cloud API, or in the engineering dashboard. This classification is more useful than labeling every missing value as an MQTT failure.
Troubleshooting should move from the source toward the dashboard and use evidence at each interface. Avoid changing several layers at once, because that removes the ability to identify which boundary changed the result.
Check whether the firmware module or TCU is producing the expected telemetry and whether the value changes when the underlying engineering condition changes.
Check the LTE path and determine whether the TCU is able to perform the expected data upload.
Check whether the defined MQTT publisher and consumer are using the same interface expectations and whether telemetry is visible at the receiving boundary.
Compare the received telemetry with the API specification and check whether the cloud API exposes the expected information.
Compare the engineering dashboard with the cloud-facing data and determine whether the issue is presentation, timing, or missing input.
MQTT is one interface in a larger connected vehicle system. Integration work should preserve clear ownership between MQTT, the cloud API, and the engineering dashboard.
Use the API specification and interface specification as the integration contract. MQTT can transport vehicle telemetry, while a REST API can provide a resource-oriented software interface for cloud integration. The two interfaces should not be treated as interchangeable: one describes telemetry exchange, while the other describes how software accesses the resulting information.
Monitoring should show enough of the path to distinguish source, connectivity, transport, integration, and presentation conditions.
| Observation area | Useful engineering question | Interpretation |
|---|---|---|
| Firmware module | Is the expected telemetry being produced? | A source problem exists if the defined value is absent or incorrect before upload. |
| TCU and LTE | Is the vehicle connected for data upload? | A connectivity problem may prevent the telemetry from leaving the vehicle. |
| MQTT exchange | Is telemetry available at the receiving boundary? | A transport or interface problem may exist if source data is not observed there. |
| Cloud API | Is the expected telemetry exposed to software? | An integration problem may exist even when MQTT transport is operating. |
| Engineering dashboard | Does the displayed state match the source and cloud-facing data? | A presentation or interpretation problem may exist after successful ingestion. |
The engineering dashboard should support monitoring, not replace evidence from the telemetry pipeline. Correlating dashboard observations with source and cloud API observations makes troubleshooting more precise.
Engineering pitfalls
MQTT only describes one messaging boundary. A telemetry failure may instead originate in the firmware module, TCU, LTE connection, cloud API, or engineering dashboard.
Without an explicit interface specification, producers and consumers can appear connected while disagreeing about telemetry meaning or expected data.
A missing dashboard value does not identify the failing layer. Check source production, data upload, MQTT exchange, and cloud API integration separately.
An ESP32 hardware prototype can exercise MQTT integration, but its Wi-Fi and Bluetooth capabilities do not demonstrate the LTE behavior of a TCU.
Changing the firmware module, MQTT integration, cloud API, and dashboard together makes the observed improvement difficult to attribute. Isolate one boundary at a time.
Successful upload only indicates that data moved through part of the path. The value can still be incorrect, incomplete, or incorrectly presented.
FAQ
Engineering support
Need a focused MQTT implementation, telemetry pipeline, or engineering dashboard? Get practical support across firmware modules, connectivity integration, testing, and troubleshooting.