- ✨ Intuitive GUI Interface - Easy-to-use graphical interface built with PyQt5
- 📱 Multi-Partition Support - Flash BL, AP, CP, CSC, and USERDATA partitions
- 🔌 Auto-Device Detection - Automatically detects connected Samsung devices in download mode
- ⚡ T-Flash Mode - Enhanced flashing speed with T-Flash support
- 🔄 Auto-Reboot Option - Automatic reboot after successful flashing
- 🗑️ Data Erase Option - Secure data wiping capabilities
- 📊 Real-Time Logging - Comprehensive output logs for debugging
- 🎨 Dark Theme UI - Eye-friendly dark mode interface
- Linux Operating System (Ubuntu/Debian/Fedora recommended)
- Python 3.6 or higher
- PyQt5 library
- Root privileges (sudo access)
- Samsung device in Download Mode
- Ubuntu Desktop (Fully tested and compatible)
git clone https://github.com/mafiadan6/Odin5-Flash-Tool.git
cd Odin5-Flash-Tool# For Ubuntu/Debian
sudo apt-get update
sudo apt-get install python3 python3-pip
# For Fedora/RHEL
sudo dnf install python3 python3-pip
# Install Python dependencies from requirements.txt
pip3 install -r requirements.txtchmod +x start_odin5.sh
./start_odin5.shchmod +x odin5
chmod +x odin5_gui.py
sudo python3 odin5_gui.pychmod +x run_odin5.sh
./run_odin5.sh- Power off your Samsung device
- Enter Download Mode: Press Volume Down + Home + Power simultaneously
- Connect the device to your computer via USB
- Run the GUI using one of the methods above
- The tool will automatically detect your connected device
- BL: Bootloader file (.tar format)
- AP: Application/PDA file (.tar format)
- CP: Modem/Communication Processor file (.tar format)
- CSC: Consumer Software Customization file (.tar format)
- USERDATA: User data partition (optional)
- Auto Reboot: Enable automatic reboot after flashing
- Erase Data: Wipe all data during flashing (
⚠️ Irreversible!) - T-Flash Mode: Enable faster flashing speeds
- Click the 🔥 START FLASH button
- Monitor the progress in the output log
- Wait for the completion message
| Partition | Flag | Description |
|---|---|---|
| Bootloader (BL) | -b |
Device bootloader firmware |
| Application (AP) | -a |
Android OS and system files |
| Communication (CP) | -c |
Modem and radio firmware |
| CSC (Customization) | -s |
Regional carrier settings |
| User Data | -u |
Factory reset and data partition |
- 🔒 Permission Checks - Ensures proper root access
⚠️ File Validation - Verifies firmware file integrity- 🛑 Safety Warnings - Alerts for potentially dangerous operations
- 📉 Progress Monitoring - Real-time flash progress tracking
- 🚨 Error Handling - Graceful error recovery and reporting
Contributions are welcome! Here's how you can help:
- Fork the Project
- Create your Feature 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
If you encounter any issues or have suggestions for improvements, please open an issue with detailed information about:
- Your Linux distribution and version
- Python version
- Device model and firmware
- Steps to reproduce the issue
- Expected vs actual behavior
This project is licensed under the MIT License - see the LICENSE file for details.
- Special thanks to the open-source community for PyQt5
- Inspired by the original Odin tool for Samsung devices
- Created with ❤️ by 爪卂丂ㄒ乇尺爪工刀ᗪ
⚠️ WARNING: This tool is designed for advanced users. Improper use may brick your device or void warranty. Always backup your data before flashing. The author is not responsible for any damage caused by misuse of this tool.
Made with 💻 by mafiadan6
⭐ Star this repo if it helped you!
