{"id":22290107,"url":"https://github.com/mazenelnahla/autospectra","last_synced_at":"2026-04-11T02:15:42.141Z","repository":{"id":251367952,"uuid":"798749938","full_name":"mazenelnahla/AutoSpectra","owner":"mazenelnahla","description":"Auto Spectra is a state-of-the-art instrument cluster designed as part of my graduation project. Developed using the Qt Framework on a Raspberry Pi 5, Auto Spectra seamlessly integrates digital precision and intuitive design to provide real-time vehicle data, enhancing both safety and performance.","archived":false,"fork":false,"pushed_at":"2025-03-13T04:43:04.000Z","size":20700,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-13T05:28:01.994Z","etag":null,"topics":["arduino","bash","canbus","cpp","html5","obd2","php","pi5","pizero2","python","qt5","serialport","stm32f103"],"latest_commit_sha":null,"homepage":"","language":"QML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mazenelnahla.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-10T11:46:26.000Z","updated_at":"2025-03-13T04:41:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"b0e9b9c8-a587-4546-a8b7-299c371b5fa9","html_url":"https://github.com/mazenelnahla/AutoSpectra","commit_stats":null,"previous_names":["mazenelnahla/autospectra"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazenelnahla%2FAutoSpectra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazenelnahla%2FAutoSpectra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazenelnahla%2FAutoSpectra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazenelnahla%2FAutoSpectra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mazenelnahla","download_url":"https://codeload.github.com/mazenelnahla/AutoSpectra/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245458710,"owners_count":20618697,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","bash","canbus","cpp","html5","obd2","php","pi5","pizero2","python","qt5","serialport","stm32f103"],"created_at":"2024-12-03T17:11:30.965Z","updated_at":"2026-04-11T02:15:42.128Z","avatar_url":"https://github.com/mazenelnahla.png","language":"QML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Auto Spectra\n![Auto Spectra](https://github.com/mazenelnahla/AutoSpectra/blob/AutoSpectra-V3.0/Preview/1.engine-not-running.png)\n![Auto Spectra](https://github.com/mazenelnahla/AutoSpectra/blob/AutoSpectra-V3.0/Preview/2.no-alert.png)\n![Auto Spectra](https://github.com/mazenelnahla/AutoSpectra/blob/AutoSpectra-V3.0/Preview/3.engine-not-running-spotify-on.png)\n![Auto Spectra](https://github.com/mazenelnahla/AutoSpectra/blob/AutoSpectra-V3.0/Preview/4.autopilot-on.png)\n![Auto Spectra](https://github.com/mazenelnahla/AutoSpectra/blob/AutoSpectra-V3.0/Preview/5.dynamic-speed-color.png)\n![Auto Spectra](https://github.com/mazenelnahla/AutoSpectra/blob/AutoSpectra-V3.0/Preview/6.fota.png)\n## Table of Contents\n- [Introduction](#introduction)\n- [Features](#features)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Configuration](#configuration)\n- [Dependencies](#dependencies)\n- [Contributing](#contributing)\n- [License](#license)\n- [Acknowledgements](#acknowledgements)\n\n## Introduction\n\nThe Auto Spectra Instrument Cluster is a Qt Quick application designed for automotive use. It provides a modern, interactive interface for displaying various vehicle parameters and diagnostics. This project leverages the power of Qt Quick to deliver a responsive and visually appealing user experience.\n\n## Features\n\n- Real-time display of vehicle metrics and diagnostics.\n- Customizable widgets and layouts.\n- Smooth animations and transitions.\n- Support for different screen resolutions.\n- Integration with Python for advanced data processing and control.\n- UDP communication for JSON data exchange.\n- Support for displaying and controlling Spotify playback.\n- Bluetooth device connected to the vehicle.\n\n## Installation\n\n### Prerequisites\n\nEnsure you have the following installed:\n\n- Qt 5.15\n- C++ compiler\n- Python 3.8 (for additional scripting)\n- Raspberry Pi 3 and up (or any DevBoard), this project tested on pi 4 and pi 5\n\n### Steps\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/yourusername/autospectra-instrument-cluster.git\n\n2. Navigate to the project directory:\n   ```bash\n    cd autospectra-instrument-cluster\n\nuncomment dist in source\n   ```bash\n    sudo nano /etc/apt/sources.list\n```\n3. Install dependencies:\n    ```bash\n    sudo apt-get update\n    sudo apt-get dist-upgrade\n    sudo reboot -h now\n    sudo apt-get build-dep -y qt5-qmake libqt5gui5 libqt5webengine-data libqt5webkit5\n    sudo apt-get install libudev-dev libinput-dev libts-dev libxcb-xinerama0-dev libxcb-xinerama0 gdbserver\n    sudo apt-get install libasound2-dev libpulse-dev gstreamer1.0-omx libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev  gstreamer1.0-alsa\n    sudo apt-get install libgeoclue-2-dev libdbus-glib-1-dev libgudev-1.0-dev libbluetooth-dev\n    sudo apt-get install libudev-dev libinput-dev libts-dev libmtdev-dev libjpeg-dev libfontconfig1-dev libssl-dev libdbus-1-dev libglib2.0-dev libxkbcommon-dev libegl1-mesa-dev libgbm-dev libgles2-mesa-dev mesa-common-dev xcb libxcb-xkb-dev x11-xkb-utils libx11-xcb-dev libxkbcommon-x11-dev libwayland-dev\n    sudo apt install build-essential cmake unzip pkg-config gfortran\n    sudo apt build-dep qt5-qmake libqt5gui5 libqt5webengine-data libqt5webkit5 libudev-dev libinput-dev libts-dev libxcb-xinerama0-dev libxcb-xinerama0 gdbserver\n    sudo apt install libxcb-randr0-dev libxcb-xtest0-dev libxcb-shape0-dev libxcb-xkb-dev\n    sudo apt install libjpeg-dev libpng-dev libtiff-dev\n    sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev\n    sudo apt install libxvidcore-dev libx264-dev\n    sudo apt install libopenal-data libsndio7.0 libopenal1 libopenal-dev pulseaudio\n    sudo apt install bluez-tools\n    sudo apt install libbluetooth-dev\n    sudo apt install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio\n    sudo apt install libgstreamer1.0-dev  libgstreamer-plugins-base1.0-dev\n    sudo apt install qtbase5-dev qtdeclarative5-dev qtmultimedia5-dev qtconnectivity5-dev\n    sudo apt-get install qt5-qmake qtbase5-dev qtdeclarative5-dev libqt5gui5 libqt5quick5 qml-module-qtquick2 qtvirtualkeyboard-plugin\n    sudo apt-get install qtbase5-dev qtdeclarative5-dev libqt5quick5 qtquickcontrols2-5-dev qtvirtualkeyboard-plugin\n    sudo apt install qtcreator\n    sudo apt install build-essential libgl1-mesa-dev libpulse-dev\n    sudo apt-get install libqt5serialport5-dev\n    sudo apt-get install libqt5multimedia5-plugins qml-module-qtmultimedia\n    sudo apt-get install qtdeclarative5-* qml-module-qtquick* qtquickcontrols5-* qml-module-qtquick2\n    sudo apt-get install -y qml-module-qtquick-extras\n    sudo apt-get install libudev-dev libinput-dev libts-dev libmtdev-dev libjpeg-dev libfontconfig1-dev libssl-dev libdbus-1-dev libglib2.0-dev libxkbcommon-dev libegl1-mesa-dev libgbm-dev libgles2-mesa-dev mesa-common-dev xcb libxcb-xkb-dev x11-xkb-utils libx11-xcb-dev libxkbcommon-x11-dev libwayland-dev\n\n    sudo apt install build-essential cmake unzip pkg-config gfortran\n    sudo apt build-dep qt5-qmake libqt5gui5 libqt5webengine-data libqt5webkit5 libudev-dev libinput-dev libts-dev libxcb-xinerama0-dev libxcb-xinerama0 gdbserver\n    sudo apt install libxcb-randr0-dev libxcb-xtest0-dev libxcb-shape0-dev libxcb-xkb-dev\n    sudo apt install libjpeg-dev libpng-dev libtiff-dev\n    sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev\n    sudo apt install libxvidcore-dev libx264-dev openjdk-8-jre-headless\n    sudo apt install libopenal-data libsndio7.0 libopenal1 libopenal-dev pulseaudio\n    sudo apt install bluez-tools\n    sudo apt install libbluetooth-dev\n    sudo apt install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio\n    sudo apt install libgstreamer1.0-dev  libgstreamer-plugins-base1.0-dev\n\n    sudo apt install qtbase5-dev qtdeclarative5-dev qtmultimedia5-dev qtconnectivity5-dev\n\n    sudo apt-get install qt5-qmake qtbase5-dev qtdeclarative5-dev libqt5gui5 libqt5quick5 qml-module-qtquick2 qtvirtualkeyboard-plugin\n\n    sudo apt-get install qtbase5-dev qtdeclarative5-dev libqt5quick5 qtquickcontrols2-5-dev qtvirtualkeyboard-plugin\n    sudo apt install qtcreator\n    sudo apt install build-essential libgl1-mesa-dev libpulse-dev\n    sudo apt-get install libqt5serialport5-dev\n    sudo apt-get install libqt5multimedia5-plugins qml-module-qtmultimedia\n    sudo apt-get install qtdeclarative5-* qml-module-qtquick* qtquickcontrols5-* qml-module-qtquick2\n    sudo apt-get install -y qml-module-qtquick-extras\n\n    sudo apt-get install build-essential libgl1-mesa-dev libglu1-mesa-dev \\\n    libxcb-xinerama0-dev libfontconfig1-dev libdbus-1-dev libicu-dev \\\n    libsqlite3-dev libxslt1-dev libxml2-dev libssl-dev libpng-dev \\\n    libjpeg-dev libglib2.0-dev libxrender-dev libxi-dev \\\n    libx11-dev libxext-dev libxrandr-dev libxcursor-dev \\\n    libxcomposite-dev libxdamage-dev libxfixes-dev \\\n    libxss-dev libxft-dev libxkbcommon-dev \\\n    libinput-dev libmtdev-dev libudev-dev \\\n    libasound2-dev pulseaudio libpulse-dev \\\n    gstreamer1.0-plugins-base gstreamer1.0-plugins-good \\\n    gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly \\\n    gstreamer1.0-libav gstreamer1.0-alsa \\\n    gstreamer1.0-pulseaudio gstreamer1.0-tools \\\n    bison flex gperf libevent-dev libnss3-dev libnss3 \\\n    libxss-dev libxtst-dev libx11-xcb-dev \\\n\n    sudo apt-get install qml-module-qt-labs-folderlistmodel\n    sudo apt-get install qml-module-qtquick-controls\n\n    sudo apt install build-essential\n    sudo apt install libnss3-dev libfontconfig1-dev libdbus-1-dev libx11-xcb-dev libxcomposite-dev libxcursor-dev libxi-dev libxtst-dev libxrandr-dev libxss-dev\n\n    sudo apt install qml-module-qtlocation\n    sudo apt install qtpositioning5-dev qml-module-qtpositioning\n\n\n4. Build the project:\n    ```bash\n    qmake\n    make\n5. Run the application:\n    ```bash\n    ./autospectra\n6. Usage\n    Once the application is running, you can interact with the instrument cluster using the touchscreen (if available) or a mouse/keyboard. The interface is designed to be intuitive, with various widgets displaying different vehicle parameters.\n\n7. Starting the Application\n    To start the application, run the following command:\n\n    ```bash\n    ./autospectra\n\n## Dependencies\n- Qt 5.15: The main framework for the application.\n- Python: For scripting and advanced data processing.\n- QProcess: For handling external processes and scripts.\n- JSON: For configuration and data communication.\n- Spotipy: For Spotify integration. (not needed in Auto Spectra v2.1)\n\n## Contributing\nContributions are welcome! Please follow these steps to contribute:\n\nFork the repository.\nCreate a new branch (git checkout -b feature-branch).\nCommit your changes (git commit -am 'Add new feature').\nPush to the branch (git push origin feature-branch).\nCreate a new Pull Request.\n\n## License\nThis project is licensed under the MIT License. See the LICENSE file for details.\n\n## Acknowledgements\nQt community for providing extensive documentation and support.\nSpotipy library contributors for making Spotify integration easier.\nRaspberry Pi Foundation for providing a versatile development platform.\nAll contributors to the open-source libraries and tools used in this project.\n\nFeel free to modify any sections as needed to better fit your project specifics. Let me know if you need any further adjustments!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmazenelnahla%2Fautospectra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmazenelnahla%2Fautospectra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmazenelnahla%2Fautospectra/lists"}