--- title: Pi Car Companion - First Test Drive aliases: - First Test Drive Notes project: Pi Car Companion type: field-notes status: Follow-up required date: Unknown source: https://git.molberg.cloud/alex/pi-car-companion tags: - pi-car-companion - mg4 - first-test-drive - telemetry - android - networking --- # Pi Car Companion: First Test Drive > [!info] Purpose > Notes from the first real-world test drive of Pi Car Companion. This document is a pickup point for later project work. It records observations and questions, not an instruction to implement every item immediately. ## Scope and handling > [!important] Do not over-implement > The larger investigations and feature requests below must not be started automatically. They are notes for later pickup. > > Small, explicit, low-risk fixes for a specific listed problem may be made without separate approval. The inverted wheel animation in the web UI is an example of this kind of fix. > > Power, networking, ADB reliability, telemetry accuracy, Android Auto, battery-service access, new phone-app features, shell access, power controls, and map-provider changes require separate investigation and approval before implementation. ## Quick overview | Area | Observation | Status | |---|---|---| | Power | Raspberry Pi desktop showed a low-voltage warning while powered by the power bank | Investigate later | | ADB | Connection dropped during the drive | Investigate later | | Speed | Readings were a few km/h low | Investigate later | | Peak speed | Trip report missed the observed top speed | Investigate later | | Wi-Fi | Hotspot disconnected repeatedly | Investigate later | | Phone GPS | GPS should stop when the Pi is unreachable | Feature request | | Phone app | More controls and trip features requested | Feature request | | Trip map | OpenStreetMap `Referer` handling or another map solution needed | Investigate later | | Android Auto | Repeated disconnects and unstable connection | Investigate later | | Battery | Battery data could not be read | Investigate later | | Web UI | Wheel animation direction is inverted | **Simple fix candidate** | | Phone app | Wheel animation requested | Feature request | ## Detailed notes ### Raspberry Pi low-voltage warning while using the power bank - The Raspberry Pi showed a desktop-environment notification saying: **"Low voltage. Please check power supply."** - This happened while the Pi was running from the power bank. - The power bank itself did not report the warning. - Possible relation to the Pi, the AWUS1900, Wi-Fi instability, or other USB hardware is unknown. **Follow-up question:** Is the power bank providing stable and sufficient power to the Raspberry Pi under load? ### ADB connection drops - The ADB connection dropped during the test drive. - The problem was visible in the phone app and in the trip GPS data. **Follow-up questions:** - Was the ADB connection drop caused by power, Wi-Fi, USB, or the infotainment system? - How does the dropout affect trip recording and phone-app state? ### Speed and peak-speed data - Speed was a few km/h off: - Approximately `65 km/h` in reality. - Approximately `63-64 km/h` reported. - Peak speed may not be logged quickly enough: - Real top speed: `126 km/h`. - Trip report: `116 km/h`. - Phone app: `124 km/h`. **Follow-up questions:** - Is the difference caused by sampling interval, timestamp alignment, GPS smoothing, or trip aggregation? - Why was the phone-app value closer to the observed top speed than the trip report? ### Wi-Fi hotspot instability - The Wi-Fi hotspot disconnected constantly. - A power-supply problem is suspected as one possible cause. - The AWUS1900 may be rebooting because of insufficient power. **Follow-up questions:** - Does the AWUS1900 reset when the Raspberry Pi reports low voltage while powered by the power bank? - Do Wi-Fi disconnects occur at the same time as ADB and Android Auto disconnects? - Is the built-in Pi Wi-Fi adapter still stable when the AWUS1900 drops? ### Phone-app behavior when the Pi is unreachable The phone app should eventually be able to: - Stop sending GPS data when there is no connection to the Pi. - Hide its notification while disconnected. - Enter a low-power sleep state until the Pi connection returns. - Resume GPS updates and the notification after reconnecting. > [!note] Scope > This is a behavior change in the Android companion, not a simple documentation or UI correction. Leave it as a later feature unless explicitly picked up. ### Additional phone-app features requested - Edit shortcut apps. - Possibly provide shell access. - Reboot or power off the Pi. - View trip data. - Add a Settings page containing: - Hotspot settings. - Software update controls. > [!warning] Safety and scope > Shell access, reboot, and power-off are operational features with security and safety implications. Do not implement them from this note alone. Any future implementation must preserve the project's restricted, authenticated design. ### Trip-report map - The trip-report map needs a `Referer` header for OpenStreetMap requests. - Consider an alternative map provider. - Consider whether map data could be pre-baked into the Android app and web UI. **Follow-up questions:** - Can the existing map integration send the required header correctly? - Would an alternative provider or offline map data better fit the local-first design? - What attribution and licensing requirements would apply? ### Android Auto disconnects - Android Auto repeatedly disconnected. - The connection was unstable. Possible causes mentioned during the test: - ADB instability. - Wi-Fi interference. - Bluetooth interference. - Power instability. No cause has been confirmed. ### Battery telemetry unavailable - Battery data could not be read during the test. The cause is unknown. The UI should continue to show battery values as unavailable rather than substituting unrelated Android head-unit battery data. ### Wheel animation - The wheel animation is inverted in the web UI. - The phone app should also receive a wheel animation. > [!tip] Simple fix candidate > Correcting the direction of the existing web UI wheel animation is an explicitly listed, small UI fix and may be handled independently. Adding a new wheel animation to the phone app is a separate feature and should not be assumed to be included in that permission. ## Later pickup checklist ### Reliability investigation - [ ] Investigate the low-voltage warning from the power bank. - [ ] Determine whether the AWUS1900 is rebooting or losing power. - [ ] Investigate ADB connection drops. - [ ] Investigate repeated Wi-Fi hotspot disconnects. - [ ] Investigate Android Auto disconnects and possible Wi-Fi/Bluetooth interference. ### Telemetry investigation - [ ] Review the small speed discrepancy. - [ ] Review peak-speed sampling and trip aggregation. - [ ] Investigate why battery data cannot be read. ### Phone-app feature work - [ ] Design disconnected GPS behavior. - [ ] Consider shortcut editing. - [ ] Consider trip data support. - [ ] Consider a phone-app Settings page. - [ ] Evaluate whether shell, reboot, and power-off controls are appropriate. - [ ] Consider adding wheel animation to the phone app. ### Map work - [ ] Decide between fixing the OpenStreetMap request headers, using another provider, or supporting offline/pre-baked map data. ### Explicitly allowed simple fix - [ ] Correct the inverted wheel animation in the web UI. ## English rewrite - **Raspberry Pi:** The desktop environment showed a low-voltage warning saying, **"Low voltage. Please check power supply."** while the Pi was running from the power bank. - **ADB connection dropped.** - This was visible in the phone app and in the trip GPS data. - **Speed was a few km/h off.** - Approximately `65 km/h` was shown as `63-64 km/h`. - **Peak speed may not be logged quickly enough.** - Real top speed: `126 km/h`. - Trip report: `116 km/h`. - Phone app: `124 km/h`. - **The Wi-Fi hotspot disconnected constantly.** - Could this be a power-supply problem? - Could the AWUS1900 be rebooting because of insufficient power? - **The phone app should stop sending GPS data when it has no connection to the Pi.** - Hide the notification and enter a low-power sleep state until the Pi connection returns. - **The phone app needs more features.** - Edit shortcut apps. - Shell access? - Reboot or power off the Pi. - Trip data. - Settings page: - Hotspot settings. - Software updates. - **The trip-report map needs a `Referer` header for OpenStreetMap.** - Alternative map provider? - Could map data be pre-baked into the Android app and web UI? - **Android Auto repeatedly disconnected and had an unstable connection.** - Was it caused by ADB? - Wi-Fi/Bluetooth interference? - **Battery data could not be read.** - **The wheel animation is inverted in the web UI.** - Add wheel animation to the phone app. ## Original notes in Danish - Raspberry Pi desktop environment showed a low-voltage warning ("Low voltage. Please check power supply") while running through the power bank - ADB connection dropper ud - Ses på telefon app, og trip GPS data - Speed er få km/h off (65 -> 63-64 km/h) - Peak speed logges ikke hurtigt nok? - Ramte real 126 km/h top speed (trip siger 116 km/h) - Telefon app viste 124 km/h - WiFi hotspot disconnecter konstant. - Power supply problem? - Måske fordi AWUS 1900 rebooter pga lav strøm? - Telefon app skal kunne stoppe med gps data når ingen forbindelse til pi - skjul notifikation og gå i dvale indtil reconnect med pi - Telefon app skal have flere features - edit shortcut apps - shell? - Reboot/power off pi - Trip data - Settings page - Hotspot settings - Software Update - Trip report map skal have Referer header til openstreetmap. - Alternativ kort? - Prebaked ind i App og web ui? - Android Auto blev ved med at disconnect og havde sporty connection - Skyldes ADB? - WiFi/Bluetooth interference? - Battery data kan ikke læses - Wheel animation er inverted på web ui - Tilføj wheel animation på telefon app ## Related project - [[Pi Car Companion]] - Repository: [alex/pi-car-companion](https://git.molberg.cloud/alex/pi-car-companion) ## Changelog - Added as a project note under `notes/`. - Preserved the original Danish notes. - Added a structured English rewrite. - Marked broad work as later pickup and separated the simple web wheel-animation fix. > [!note] No implementation was made from this note.