PyPSADiag
An Python application for sending diagnostic frames over CAN-BUS to PSA/Stellantis based cars
Install / Use
/learn @Barracuda09/PyPSADiagREADME
PyPSADiag
IMPORTANT!
This application is as is, and you use it at your own risk.<br/> I am not responsible for any damages or injuries resulting from the use of this application.<br/> VERY IMPORTANT: This application is for educational purposes only and should be used with care!.
PyPSADiag is an Python application for sending diagnostic frames over CAN-BUS to PSA/Stellantis based cars <br/> See for additional Hardware/Info: ludwig-v arduino-psa-diag
Currently supporting:
- JSON Configuration for example BSI2010 to setup GUI<br/>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
- Flashing of CAL and ULP Files to ECU
What I would like to support:
- More ECU JSON Files
Need Help?
If you need some help, try to look at the Wiki
Help the Project
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!
Use a Release
- Get release a from Download Release There is Windows, Linux and macOS versions
- Extract archive to your hardrive
- Run with PyPSADiag-windows.exe or any other distibution you downloaded:
PyPSADiag-windows.exe --lang nlOpen Zone Fileand select an ECU JSON fileConnectto correct Arduino hardwareReadZones- <b> RISK: You can save the Zones to the ECU by using the
WriteButton.<br/> Always Check that these zones look correct </b>
Build Yourself
To build and run PyPSADiag locally:
- Install Python:
Make sure you have Python 3.12 or newer installed.
You can check with:python --version - Get the code:
Clone the repository:
git clone https://github.com/Barracuda09/PyPSADiag.git<br> OR use this Download ZIP - Enter the project directory:
cd /path/to/PyPSADiag - Create a virtual environment:
python -m venv .venv --prompt PyPSADiag - Activate your virtual environment:
<br>for Windows:
/path/to/PyPSADiag/.venv/Script/activate<br>for Linux/MacOS:source .venv/Script/activate - Install required dependencies, within the path of PyPSADiag:
pip install -r requirements.txt - Run with:
python main.py --lang nlOpen Zone Fileand select an ECU JSON fileConnectto correct Arduino hardwareReadZones- <b> RISK: You can save the Zones to the ECU by using the
WriteButton.<br/> Always Check that these zones look correct </b>
- On MacOs app bundle will be blocked because it’s unsigned.
If you see a security warning, allow it via:<br>
System Settings → Privacy & Security → Allow Anyway<br>Note: <br>On macOS, the packaged .app will place resources inside the Contents/Resources directory, following Apple’s bundle structure.
CAL/ULP File Information
To show information of a CAL or ULP File.
- Run with one of these:
python DecodeCalUlpFile.py --path ulp/9698105080.ulpShow only S0 and S1 recordspython DecodeCalUlpFile.py --all --path cal/9694212680.calShow All S records
Make Translations
For example to make a translation for Dutch NL use these commands:
i18n/Languages.jsonAdd the language code and name like:"nl": {"name": "Nederlands"}i18n/flags/nl.pngAdd the .PNG flag for the NL language (About 128 x 84 Pixels)python buildi18n.py --lang nl--> Build the NL qt.ts filepython translate.py --input ./i18n/PyPSADiag_nl.qt.ts--> Google Translate to NL and release qm file
Only for translation corrections use this:
pyside6-linguist ./i18n/PyPSADiag_translated_nl.qt.ts--> Correct translation if requiredpython translate.py --releaseonly --input ./i18n/PyPSADiag_nl.qt.ts--> Only Release translation qm file
Start PyPSADiag with a specific language:
python main.py --lang nl--> Run with nl language
Donate
If you like my work then please consider making a donation, to support my effort in developing this application.<br> Many thanks to all who donated already.<br>
Contact
If you like to contact me, you can do so by sending an email to:
mpostema09 -at- gmail.com
Related Skills
node-connect
344.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
96.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
