ReDrive is an open-source application for working with OBD2 adapters, allowing you to connect to your car via Bluetooth, Wi-Fi, or USB, read sensor data, diagnose errors, and much more.
Table of Contents
ReDrive is created for those who want to have full control over their car through a modern, fast, and convenient interface. The application reads telemetry from the ECU in real-time, translates it into a readable format, and allows for basic diagnostics.
Key Features:
- Read and Clear Errors (DTC): Scanning for fault codes (Check Engine) with detailed decoding and the ability to clear them.
- Real-time Monitoring (Live Data): Monitoring RPM, speed, coolant temperature, voltage, and dozens of other parameters without delays.
- Modern Dashboard: A customizable instrument panel with a clean UI that doesn't distract from the road.
- Stable Connection: Support for various communication protocols such as Bluetooth, Wi-Fi, USB, and automatic connection recovery.
The OBD2 application market is overflowing with outdated solutions, cluttered with ads, complicated interfaces, or hidden subscriptions.
We are creating an alternative based on three principles:
- Open-Source: Completely open source code. You can check the security, fork the project, or help in its development.
- UI/UX First: No visual clutter. Only the data you need right now, in a pleasant design.
- Free and Without Ads: All diagnostic functionality is available "out of the box" without paywalls.
The application works with most popular diagnostic scanners:
- Any ELM327-compatible adapters (Bluetooth, Wi-Fi, USB).
- Adapters version v1.5 (on PIC18F25K80 chips) are recommended for maximum compatibility with all vehicle protocols.
To build the project, you will need the Flutter SDK installed.
- Clone the repository
git clone https://github.com/iUnreallx/ReDrive.git- Navigate to the directory
cd ReDrive- Install dependencies
flutter pub get- Run the project on a connected device
flutter runReDrive/
├── android/ # Android platform
├── ios/ # iOS platform
├── assets/ # Images, icons, and fonts
├── docs/ # Website, roadmap, and screenshots
├── lib/ # Flutter source code
│ ├── main.dart # Application entry point and providers
│ ├── core/ # Colors and themes
│ ├── obd/ # Transport-independent OBD-II core
│ │ ├── connection/ # OBD transport interface
│ │ ├── demo/ # Demo data generator
│ │ ├── elm/ # ELM327 commands, queue, client, and parser
│ │ ├── models/ # Vehicle telemetry data
│ │ ├── pid/ # PID registry, definitions, and decoders
│ │ ├── polling/ # Watchlists and PID polling
│ │ ├── session/ # ELM327 session initialization
│ │ └── source/ # Live OBD source and states
│ ├── providers/ # Bluetooth and OBD application state
│ ├── screens/ # Home, connection, car, settings, and navigation
│ ├── services/bluetooth/ # Bluetooth connection, devices, and permissions
│ └── widget/ # Reusable UI components
│ ├── bottom_bar/ # Bottom navigation
│ ├── connection/ # Connection screen widgets
│ ├── home_screen/ # Home screen widgets
│ └── reconnection_banner.dart # Reconnection status banner
├── test/ # OBD layer and provider tests
│ ├── obd/
│ └── providers/
├── pubspec.yaml # Packages and Flutter assets
├── README.md # English project description
├── README_ru.md # Russian project description
└── LICENSE # Project license
- Connect the OBD2 adapter (ELM327) to the car's diagnostic port.
- Turn on the ignition or start the engine.
- Pair your smartphone with the adapter (Bluetooth/Wi-Fi/USB).
- Open ReDrive, go to the connection section and select your adapter.
- You can also use our emulator for tests: https://github.com/iUnreallx/ELM327-Emulator
A detailed development plan, current tasks, and future features are described in a separate document:
Community contributions make open-source better. Your suggestions and pull requests are welcome.
- Fork the repository.
- Create your branch ('git checkout -b feature/AmazingFeature').
- Commit your changes ('git commit -m 'Add some AmazingFeature'').
- Push to the branch ('git push origin feature/AmazingFeature').
- Open a Pull Request.
The project is distributed under the GNU GPLv3 license. See the LICENSE file for details.
GitHub: @iUnreallx
Project Link: https://github.com/iUnreallx/ReDrive
Telegram: Unreallx


