Turn your Nokia 3310 into a powerful car diagnostic tool! This project allows you to use a Nokia 3310 phone to send CAN bus commands to your car through an OBDLink SX adapter, either via PC or standalone with our custom adapter.
Educational Project by Khanfar
Project: https://github.com/khanfar/Nokia-3310-CAN-Bus-Interface
This project is designed for educational purposes to help people learn about:
- Vehicle diagnostics and OBD-II protocols
- Embedded systems and microcontroller programming
- Hardware interface design
- Classic Nokia phone protocols
See LICENSE for usage terms and conditions.
- Store and execute custom OBD-II commands
- Real-time vehicle data monitoring
- DTC reading and clearing
- Standalone operation (with custom adapter)
- Simple Nokia 3310 menu interface
- Command storage in phone memory
nokia3310-canbus/
├── src/ # Source code
│ ├── fbus/ # Nokia FBUS protocol
│ ├── canbus/ # CAN bus interface
│ ├── storage/ # Command storage
│ ├── ui/ # User interface
│ └── tools/ # Utility tools
├── firmware/ # Custom adapter firmware
│ └── adapter/ # Direct connection adapter
├── hardware/ # Hardware designs
│ └── schematics/ # Circuit diagrams
└── docs/ # Documentation
- User Guide - Getting started and basic usage
- Hardware Guide - Hardware setup and connections
- Nokia Protocol - FBUS protocol details
- Command Reference - OBD-II commands and usage
- Compatibility Guide - Supported devices and vehicles
- Troubleshooting Guide - Common issues and solutions
- Circuit Diagrams - Detailed schematics
- Direct Connection Guide - Standalone adapter
- Assembly Guide - Building instructions
- Alternative Access - Alternative CAN bus connection points
- Immobilizer Guide - Key programming procedures
- Install Python dependencies:
pip install -r requirements.txt
- Connect hardware:
- Nokia 3310 via FBUS cable
- OBDLink SX to car's OBD-II port
- Run the software:
python src/main.py --port COM3
- Build custom adapter following Assembly Guide
- Flash firmware using AVR programmer
- Store commands via PC
- Use standalone in garage
# Store a new command
python src/tools/store_command.py --port COM3 --name "RPM" --type 0x01 --data "010C"
# List stored commands
python src/tools/store_command.py --port COM3 --list
- Works with all OBD-II compliant vehicles (1996 and newer)
- Tested with major manufacturers:
- Toyota
- Honda
- Ford
- Volkswagen
- BMW
- Mercedes-Benz
- Nokia 3310 phone
- DKU-5 or compatible FBUS cable
- OBDLink SX adapter
- USB to Serial adapter (if needed)
- Nokia 3310 phone
- Custom adapter (DIY or purchased)
- OBDLink SX adapter
- Components listed in Circuit Diagrams
- Always connect to OBD-II port with ignition off
- Don't disconnect while engine running
- Test commands in safe conditions first
- Keep backup of stored commands
- Follow vehicle manufacturer guidelines
Common issues and solutions:
-
Connection Problems
- Check cable connections
- Verify COM port settings
- Ensure proper power supply
-
Command Issues
- Verify command format
- Check vehicle compatibility
- Test basic commands first
-
Display Problems
- Check phone battery
- Verify FBUS connection
- Reset if necessary
- Fork the repository
- Create feature branch
- Commit changes
- Push to branch
- Open pull request
This project is licensed under the MIT License - see LICENSE file.
- GitHub Issues: Report bugs and feature requests
- Documentation: Check guides and references
- Project Link: https://github.com/khanfar/Nokia-3310-CAN-Bus-Interface
- Contact: Through GitHub issues
- Nokia for the legendary 3310
- OBDLink for the SX adapter
- All contributors and testers
- The car hacking community
- OBD2-PYTHON - Python library for OBD-II diagnostics
- Pure Python implementation
- Supports multiple adapters
- Real-time data logging
- Compatible with this project
Copyright (c) 2025 Khanfar - Educational Project
https://github.com/khanfar/Nokia-3310-CAN-Bus-Interface