MicrOBU V2X Companion — Phase 02 English Deutsch Dashboard Sensors Record Log V2X Settings Connection GNSS IMU OBU Connection Acquiring fix… Permission required Tap V2X to connect Connected MQTT connected Connecting to broker… Broker unreachable — check V2X settings Recording samples Start Driving Session Initialising… Pressure Altitude Heading Accuracy Sensor Monitor Phone GNSS Accelerometer Gyroscope Magnetometer Barometer Latitude Longitude Altitude Speed Heading Accuracy Pressure Est. altitude Waiting for location fix… Initialising… Sensor not present on this device Connection Setup Connect to the micrOBU hardware via Bluetooth (primary) or USB-C (fallback). USB-C tethering is the primary transport in Phase 02. Plug the OBU in and tap Connect. Bluetooth Bluetooth Bluetooth connection is planned for Phase 03 and is not yet implemented. ESP32-C5 (USB Serial) USB-serial connection to the ESP32-C5 is scaffolded for Phase 03 but not yet functional — it needs the ESP32 firmware protocol translated to Kotlin first. Not connected — plug the ESP32-C5 into the native USB-C port and tap Connect. Device detected, opening… Waiting for USB permission… Connected Connection error — check the cable and native USB-C port, then try again. Connect to ESP32-C5 Scan for Devices Scanning… USB-C (Primary) Connect via USB-C (not yet implemented) Cable detected No cable OBU IP Detecting… IP source Auto-detected Manual override ⚠ Connect the USB-C cable to detect the OBU, or disable auto-detect in Settings → Connection to use a manual IP. Connect Connect to OBU Disconnect Selected Connected (stub) ⚠ Bluetooth stack not yet implemented. This screen shows the target UI layout. Recording Session Ready to record %1$d samples captured Active Streams STOP REC Phone GNSS Accelerometer Gyroscope Magnetometer Barometer OBU / MQTT Session Log %1$d session stored on device %1$d sessions stored on device Session #%1$d Share CSV Save to device Export trip CSV Delete session No sessions yet Go to Record and start a session Delete session? This will permanently remove the session recorded on %1$s from the device. Delete Cancel Export session GNSS Location Open in Maps App Opens in your preferred maps application View in App Show current location on an in-app map No GPS fix yet — move to an open area Location Map Current Location %1$d tracked remote road user(s) Own (ego) Remote #%1$d Remote #%1$d · Info Remote #%1$d · Awareness Remote #%1$d · Warning Settings Language Appearance Dark theme Sensor Streams Phone GNSS Accelerometer Gyroscope Magnetometer Barometer Units Metric (m, km/h, hPa) MQTT Broker Broker IP Port Username Password optional Show Hide Developer Developer mode Wi-Fi OBU connection Dev mode only — not implemented About App version 0.5.0 (Phase 03 — ESP32-C5 serial link + phone-built CAM) Connection Auto-detect OBU via USB-C Manual OBU IP OBU Hardware CiT One ESP32-C5 ESP32-C5 acts as a "dumb" transceiver: CAM is built and encoded on the phone, sent to the ESP32 over USB serial, and broadcast over ITS-G5. No MQTT broker or DENM use-case engine on this path — see the V2X Monitor screen\'s CAM Pinger for a manual test tool. Active transport USB-C Wi-Fi Save Broker Settings V2X Monitor Connect Disconnect Auto-scroll to latest No messages yet List Map Connect to the OBU and wait for V2X traffic No messages on this topic yet Last transmitted payload: DENM Transmission (Manual Test) Send Test DENM Stop DENM Aftermarket Stationary Vehicle (causeCode 94) Connect to the OBU to enable DENM triggering DENM active — OBU broadcasting via ITS-G5 Manual antenna/RSU range test — publishes uca-denmctrl (retained) to v2x-uca/input/denmtrg. Not triggered by detected events or use case alerts. Show last TX Hide CAM Pinger (Manual Test) 1 Hz CAM ping built from live GNSS and IMU data — verifies the serial link and ESP32 radio path without needing a trip recording. Waiting for GNSS fix — nothing transmitted yet %1$d station(s) in range — latest CAM per station No CAMs received Decoded CAMs from nearby stations appear here as they arrive over the serial link. Station %1$d · %2$s %1$.1f km/h · heading %2$.0f° %1$.0f m — m %1$d dBm Hazard: cause %1$d/%2$d (station %3$d) Hazard from station %1$d Pedestrian Cyclist Car Bus Truck Roadside unit Type %1$d Connect the ESP32-C5 to enable the CAM pinger Pinging — 1 CAM/s over the serial link Sent: %1$d Write failures: %1$d consecutive — CAMs are not reaching the ESP32 ESP32: tx fail %1$d · oversize %2$d · crc err %3$d Start Pinger Stop Pinger CAM Use Case Alerts Connect to the OBU to evaluate CAM-based use cases No active use case alerts Station %1$d · %2$.0f m · closing %3$.1f m/s · TTC %4$.1f s · %5$s Crossing vehicle ahead — %1$.0f s to conflict Stopped vehicle may pull out — %1$.0f s Car turning right toward you — %1$.0f s Car turning left toward you — %1$.0f s Fast-closing vehicle nearby — %1$.0f s Use Case Alerts Per-use-case enable/disable for the CAM-based Use Case Alert panel on the V2X Monitor screen. All use cases are CAM-only — none of them trigger a DENM. Alert level thresholds (read-only) Warning Awareness Info ≤ %1$.0f s to conflict USB-C USB Serial Wi-Fi BT ⚠ OBU stationType ≠ 2 (cyclist) — VRU detection may be impaired at equipped intersections Platform Android / Kotlin / Jetpack Compose Project MicrOBU — HAW Hamburg & consider it GmbH Trips Detected Events Braking Turning Stopping Event Detection CSV Session Log Trip History %1$d trip stored on device %1$d trips stored on device Trip #%1$d Delete trip? This will permanently remove the trip recorded on %1$s. No trips yet Go to Record and start a session Trip Review