matt2005 / PyPSADiag-VCI

PSA/Stellantis Automotive Diagnostic Tool with VCI Support

Repository from Github https://github.commatt2005/PyPSADiag-VCIRepository from Github https://github.commatt2005/PyPSADiag-VCI

PyPSADiag - PSA/Stellantis Automotive Diagnostic Tool

Python Version Platform License

⚠️ IMPORTANT DISCLAIMER

This application is provided as is, and you use it at your own risk.
I am not responsible for any damages or injuries resulting from the use of this application.
VERY IMPORTANT: This application is for educational purposes only and should be used with extreme caution on real vehicles!


PyPSADiag is a Python application for sending diagnostic frames over CAN-BUS to PSA/Stellantis based vehicles. This educational tool supports various automotive diagnostic protocols including UDS, KWP2000, and more.

📋 Based on Original Project: This is a fork/enhanced version of the original PyPSADiag by Barracuda09 with additional VCI support and improvements.

🔧 Hardware Support

Arduino-based Adapters

Evolution XS VCI Professional Interface

  • ⚠️ VCI DRIVER REQUIREMENT: You must have VCI drivers installed
  • Required: Install Diagbox or compatible VCI drivers
  • Critical: C:\AWRoot\drv\VCIAccess.dll must be present on your system
  • 32-bit Python: Required for VCI DLL bridge communication
  • Supports multiple protocols: UDS, KWP2000, KWP_ON_CAN_FIAT

Currently supporting:

  • JSON Configuration for example BSI2010 to setup GUI
    See more JSON Configuration Files
  • Reading Zones that are listed in JSON Configuration file
  • Saving Zones to CSV file
  • Saving changed Zones (as an list) to ECU

What I would like to support:

  • More ECU JSON Files

Help

Help in any way is appreciated, just send me an email with anything you can contribute to the project, like:

  • More ECU JSON Files
  • Python coding
  • GUI design
  • ideas / feature requests
  • test reports
  • spread the word!

Build

  • Install Python 3.12 or above
  • Get code git clone https://github.com/halloworld007/PyPSADiag-VCI.git
    OR use this Download ZIP
  • Create virtual enviroment python -m venv /path/to/PyPSADiag-VCI/.venv
  • Goto virtual enviroment with /path/to/PyPSADiag-VCI/.venv/Script/activate
  • Install requirements, within path of PyPSADiag-VCI with pip install -r requirements.txt
  • Run with:
    1. python main.py --lang nl
    2. Open Zone File and select an ECU JSON file
    3. Connect to correct Arduino hardware
    4. Read Zones
    5. RISK: You can save the Zones to the ECU by using the Write Button.
      Always Check that these zones look correct

Make Translations

For example to make a translation for Dutch use this command:

  • pyside6-lupdate EcuMultiZoneTreeWidgetItem.py EcuZoneTreeView.py EcuZoneTreeWidgetItem.py PyPSADiagGUI.py DiagnosticCommunication.py main.py -source-language en_EN -ts ./i18n/PyPSADiag_nl.qt.ts
  • pyside6-linguist ./i18n/PyPSADiag_nl.qt.ts
  • pyside6-lrelease ./i18n/PyPSADiag_nl.qt.ts -qm ./i18n/translations/PyPSADiag_nl.qm
  • python main.py --lang nl

Manual Translations

For manual translation, you can use the desktop application QT Linguist.
Open, for example, the ./i18n/translations/PyPSADiag_translated_nl.qt.ts file, edit the sentences, and save the result.

About

PSA/Stellantis Automotive Diagnostic Tool with VCI Support

License:Other


Languages

Language:Python 91.1%Language:kvlang 4.8%Language:PowerShell 1.5%Language:Batchfile 1.4%Language:Shell 1.1%Language:Makefile 0.1%