CarBruh
A sleek BLE-powered dashboard (ESP32 + Flutter). Control audio, get navigation, weather, and speed‑camera warnings in one app.
Smart Dashboard System
CarBruh is a DIY infotainment system designed to modernize older vehicles. It acts as a bridge between your smartphone and a custom hardware unit, seamlessly displaying navigation, media, and road safety information on a dedicated dashboard screen.
About the Project
The goal of CarBruh is to provide a safe, distraction-free interface for drivers who don’t have Android Auto or CarPlay in their vehicles. Instead of mounting a distracting phone on the windshield, CarBruh offloads essential information to a dedicated ESP32-based display.
The system consists of two main parts:
- The Mobile App: Runs on your phone, handling data fetching (GPS, Weather, Spotify, OSM) and processing.
- The Hardware Unit: A custom-built device that receives data via Bluetooth Low Energy (BLE) and presents it on a physical screen.
System Overview
The Mobile Command Center
The companion app is the brain of the operation. It aggregates data from various services and prepares it for transmission. It runs in the background, allowing the driver to keep their phone in their pocket while still getting real-time updates on the dashboard.
Features & Functionality
The system is fully functional and supports several key modules designed for daily driving:
- Navigation Assistant: Integrated with OpenStreetMap (OSM) to provide real-time, turn-by-turn instructions directly on the hardware screen.
- Music Control: Full integration with the Spotify API allows you to view track information and control playback directly from the dashboard.
- Live Weather: Uses the phone’s Location Services to fetch precise, hyper-local weather conditions and temperature updates via the Open-Meteo API.
- Speed Camera Alerts: Uses data from the Overpass API to warn drivers about approaching speed cameras (currently optimized for Poland).
Hardware Setup
The project has evolved from a breadboard concept to a fully realized prototype.
Hardware Specs:
- PCB: A custom-designed Printed Circuit Board (PCB) houses the ESP32 microcontroller and power management circuits for a reliable, compact form factor.
- Housing: A custom 3D-printed enclosure manufactured using FFF technology (Fused Filament Fabrication), designed to mount securely on the dashboard.
- Display: 20x4 Alphanumerical LCD (via I2C) for high-contrast visibility in varying light conditions.
- Input: Rotary Encoder (KY-040) for safe, tactile menu navigation while driving.
![]()
Technical Architecture
The project connects high-level mobile development with low-level embedded programming.
Mobile Application (Flutter)
The app is built with Flutter (Dart), serving as the central hub for data logic.
- Connectivity: Uses
flutter_blue_plusfor stable Bluetooth Low Energy (BLE) communication with the hardware. - Backend & Telemetry: Integrated with Supabase for backend services and Azure Application Insights for tracking app performance and crash analytics.
- Integrations: Location-based services drive the Weather and Navigation modules, while the Spotify Web API handles media control.
Firmware (C++ / PlatformIO)
The hardware logic is written in C++ using the PlatformIO ecosystem and the Arduino framework.
- Optimization: The firmware is optimized for the ESP32, handling the BLE stack (Nordic UART Service) and driving the LCD display via I2C.
- Efficiency: Designed to parse incoming data packets efficiently to minimize latency between the phone and the display.