diff --git a/Arduino b/Arduino
new file mode 160000
index 0000000..9979666
--- /dev/null
+++ b/Arduino
@@ -0,0 +1 @@
+Subproject commit 99796662b861fb00b3e617685f4a8a9d7a1af412
diff --git a/README.md b/README.md
index 0317e5d..d56bb8b 100644
--- a/README.md
+++ b/README.md
@@ -1,29 +1,12 @@
-
-
-[![Contributors][contributors-shield]][contributors-url]
-[![Forks][forks-shield]][forks-url]
-[![Stargazers][stars-shield]][stars-url]
-[![Issues][issues-shield]][issues-url]
-[![MIT License][license-shield]][license-url]
-[![LinkedIn][linkedin-shield]][linkedin-url]
-
-
-
-
-
-
-
Best-README-Template
-
+
Instrument Cluster
- An awesome README template to jumpstart your projects!
-
- Explore the docs »
+ A real-time vehicle speed and data display.
+ [GIF]
- View Demo
·
Report Bug
·
@@ -31,211 +14,117 @@
-
-
- Table of Contents
-
- -
- About The Project
-
-
- -
- Getting Started
-
-
- - Usage
- - Roadmap
- - Contributing
- - License
- - Contact
- - Acknowledgments
-
-
-
-
-
-## About The Project
-
-[![Product Name Screen Shot][product-screenshot]](https://example.com)
+## Table of Contents
+1. [About The Project](#about-the-project)
+ - [Built With](#built-with)
+2. [Usage](#usage)
+3. [Roadmap](#roadmap)
+4. [Contributing](#contributing)
+5. [License](#license)
+6. [Contact](#contact)
+7. [Acknowledgments](#acknowledgments)
-There are many great README templates available on GitHub; however, I didn't find one that really suited my needs so I created this enhanced one. I want to create a README template so amazing that it'll be the last one you ever need -- I think this is it.
-
-Here's why:
-* Your time should be focused on creating something amazing. A project that solves a problem and helps others
-* You shouldn't be doing the same tasks over and over like creating a README from scratch
-* You should implement DRY principles to the rest of your life :smile:
+## About The Project
-Of course, no one template will serve all projects since your needs may be different. So I'll be adding more in the near future. You may also suggest changes by forking this repo and creating a pull request or opening an issue. Thanks to all the people have contributed to expanding this template!
+The **Instrument Cluster** is designed to provide real-time speed data from a PiRacer car on a graphical interface (GUI). The application is split across two devices: the **Jetson Nano** handles all the processing tasks, while the **Raspberry Pi** is used solely for rendering the Qt-based display. Both devices receive speed data simultaneously from the sensor via the Controller Area Network (CAN) protocol. The Jetson Nano processes the data for any necessary computations (such as filtering, calculations, etc.), and the Raspberry Pi renders the GUI with the processed speed data.
-(back to top)
+This architecture allows for improved performance by offloading processing to the Jetson Nano while simplifying the display connection on the Raspberry Pi. Check it out the pheripherals Readme to better understand about the project architecture.
-### Built With
+This project offers hands-on experience with software engineering, embedded systems, and automotive communication protocols, with a focus on performance optimization through a modular system design.
-This section should list any major frameworks/libraries used to bootstrap your project. Leave any add-ons/plugins for the acknowledgements section. Here are a few examples.
+### Project Goals:
+- **Design and implement** a Qt-based graphical user interface (GUI) for displaying speed data on the Raspberry Pi.
+- **Use the Jetson Nano** for handling all processing tasks related to speed data and mathematical calculations.
+- **Integrate** a Raspberry Pi with an Arduino-based speed sensor using the CAN protocol.
+- **Display real-time speed** data on the instrument cluster.
+- **Test the application** in realistic driving scenarios.
+- **Document** the entire project, including system architecture, software design, and implementation details.
-* [![Next][Next.js]][Next-url]
-* [![React][React.js]][React-url]
-* [![Vue][Vue.js]][Vue-url]
-* [![Angular][Angular.io]][Angular-url]
-* [![Svelte][Svelte.dev]][Svelte-url]
-* [![Laravel][Laravel.com]][Laravel-url]
-* [![Bootstrap][Bootstrap.com]][Bootstrap-url]
-* [![JQuery][JQuery.com]][JQuery-url]
+**BONUS:** Display battery level on the instrument cluster.
-(back to top)
+### Architecture Overview
-
-## Getting Started
+- **Jetson Nano:** Handles all the computational tasks and mathematical processing for the instrument cluster. It processes speed sensor data and other inputs before sending them to the Raspberry Pi.
+- **Raspberry Pi:** Dedicated to rendering the GUI with Qt, displaying the processed data received from the Jetson Nano over CAN bus.
-This is an example of how you may give instructions on setting up your project locally.
-To get a local copy up and running follow these simple example steps.
+---
-### Prerequisites
+### Built With
-This is an example of how to list things you need to use the software and how to install them.
-* npm
- ```sh
- npm install npm@latest -g
- ```
-
-### Installation
+This section lists the major frameworks, libraries, and tools used in this project.
-_Below is an example of how you can instruct your audience on installing and setting up your app. This template doesn't rely on any external dependencies or services._
+#### Technologies and Frameworks
-1. Get a free API Key at [https://example.com](https://example.com)
-2. Clone the repo
- ```sh
- git clone https://github.com/github_username/repo_name.git
- ```
-3. Install NPM packages
- ```sh
- npm install
- ```
-4. Enter your API in `config.js`
- ```js
- const API_KEY = 'ENTER YOUR API';
- ```
-5. Change git remote url to avoid accidental pushes to base project
- ```sh
- git remote set-url origin github_username/repo_name
- git remote -v # confirm the changes
- ```
+- [](https://www.qt.io/)
+- [](https://www.python.org/)
+- [](https://isocpp.org/)
-(back to top)
+#### Communication Protocols
-
-## Usage
+- [](https://www.kvaser.com/can/)
+- [](https://en.wikipedia.org/wiki/Serial_Peripheral_Interface)
+- [](https://en.wikipedia.org/wiki/I%2F2C)
-Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.
-_For more examples, please refer to the [Documentation](https://example.com)_
+#### Hardware
-(back to top)
+- [](https://developer.nvidia.com/embedded/jetson-nano)
+- [](https://www.raspberrypi.org/)
+- [](https://www.arduino.cc/)
-
-## Roadmap
+---
-- [x] Add Changelog
-- [x] Add back to top links
-- [ ] Add Additional Templates w/ Examples
-- [ ] Add "components" document to easily copy & paste sections of the readme
-- [ ] Multi-language Support
- - [ ] Chinese
- - [ ] Spanish
+### Usage
+Once the application is up and running, the instrument cluster will display `real-time speed data` and the `vehicle's battery status` on an LCD screen. The data is continuously updated as it is received **via the CAN bus**.
-See the [open issues](https://github.com/othneildrew/Best-README-Template/issues) for a full list of proposed features (and known issues).
+[**step by step usage will be attached**]
-(back to top)
+A demonstration of the running application can be seen in the GIF below:
-
-## Contributing
+[DEMONSTRATION GIF WILL BE ATTACHED]
+---
-Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.
+## Roadmap
-If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
-Don't forget to give the project a star! Thanks again!
+- **v1.0:** Initial release with basic speedometer functionality.
+- **v1.1:** Add PiRacer battery level display.
+- **v2.0:** Implement advanced features like trip data, RPM counter, and GPS integration.
+- **v3.0:** Testing and validation on various real-world driving conditions.
-1. Fork the Project
-2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
-3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
-4. Push to the Branch (`git push origin feature/AmazingFeature`)
-5. Open a Pull Request
+---
-### Top contributors:
+## The Team 🤝
+> Together, we've collaborated to bring this project to life, combining our knowledge, skills, and experience every step of the way. It has been a great journey of learning and growing as a team.
-
-
-
+ - Rui Pires
+ - Luiza Zilio
+ - Luis Filipe Carvalho
+ - Jorge Cruz
-(back to top)
+## Contributing
-
-## License
+Contributions are what make the open source community such an amazing place to learn, inspire, and create. **Any contributions you make are greatly appreciated.**
-Distributed under the MIT License. See `LICENSE.txt` for more information.
+If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
-(back to top)
+1. Fork the repository
+2. Create a new branch for your feature (`git checkout -b feature-name`)
+3. Commit your changes (`git commit -am 'Add feature'`)
+4. Push to the branch (`git push origin feature-name`)
+5. Open a pull request
-
-## Contact
+---
-Name - [@your_twitter](https://twitter.com/your_username) - email@example.com
+## License
-Project Link: [https://github.com/your_username/repo_name](https://github.com/your_username/repo_name)
+Distributed under the MIT License. See `LICENSE` for more information.
-(back to top)
+---
-
## Acknowledgments
-Use this space to list resources you find helpful and would like to give credit to. I've included a few of my favorites to kick things off!
-
-* [Choose an Open Source License](https://choosealicense.com)
-* [GitHub Emoji Cheat Sheet](https://www.webpagefx.com/tools/emoji-cheat-sheet)
-* [Malven's Flexbox Cheatsheet](https://flexbox.malven.co/)
-* [Malven's Grid Cheatsheet](https://grid.malven.co/)
-* [Img Shields](https://shields.io)
-* [GitHub Pages](https://pages.github.com)
-* [Font Awesome](https://fontawesome.com)
-* [React Icons](https://react-icons.github.io/react-icons/search)
-
-(back to top)
-
-
-
-
-
-[contributors-shield]: https://img.shields.io/github/contributors/othneildrew/Best-README-Template.svg?style=for-the-badge
-[contributors-url]: https://github.com/othneildrew/Best-README-Template/graphs/contributors
-[forks-shield]: https://img.shields.io/github/forks/othneildrew/Best-README-Template.svg?style=for-the-badge
-[forks-url]: https://github.com/othneildrew/Best-README-Template/network/members
-[stars-shield]: https://img.shields.io/github/stars/othneildrew/Best-README-Template.svg?style=for-the-badge
-[stars-url]: https://github.com/othneildrew/Best-README-Template/stargazers
-[issues-shield]: https://img.shields.io/github/issues/othneildrew/Best-README-Template.svg?style=for-the-badge
-[issues-url]: https://github.com/othneildrew/Best-README-Template/issues
-[license-shield]: https://img.shields.io/github/license/othneildrew/Best-README-Template.svg?style=for-the-badge
-[license-url]: https://github.com/othneildrew/Best-README-Template/blob/master/LICENSE.txt
-[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555
-[linkedin-url]: https://linkedin.com/in/othneildrew
-[product-screenshot]: images/screenshot.png
-[Next.js]: https://img.shields.io/badge/next.js-000000?style=for-the-badge&logo=nextdotjs&logoColor=white
-[Next-url]: https://nextjs.org/
-[React.js]: https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB
-[React-url]: https://reactjs.org/
-[Vue.js]: https://img.shields.io/badge/Vue.js-35495E?style=for-the-badge&logo=vuedotjs&logoColor=4FC08D
-[Vue-url]: https://vuejs.org/
-[Angular.io]: https://img.shields.io/badge/Angular-DD0031?style=for-the-badge&logo=angular&logoColor=white
-[Angular-url]: https://angular.io/
-[Svelte.dev]: https://img.shields.io/badge/Svelte-4A4A55?style=for-the-badge&logo=svelte&logoColor=FF3E00
-[Svelte-url]: https://svelte.dev/
-[Laravel.com]: https://img.shields.io/badge/Laravel-FF2D20?style=for-the-badge&logo=laravel&logoColor=white
-[Laravel-url]: https://laravel.com
-[Bootstrap.com]: https://img.shields.io/badge/Bootstrap-563D7C?style=for-the-badge&logo=bootstrap&logoColor=white
-[Bootstrap-url]: https://getbootstrap.com
-[JQuery.com]: https://img.shields.io/badge/jQuery-0769AD?style=for-the-badge&logo=jquery&logoColor=white
-[JQuery-url]: https://jquery.com
+- **Qt Framework:** [Qt](https://www.qt.io/) – A cross-platform framework for GUI applications.
+- **Jetson Nano:** [NVIDIA Jetson Nano](https://developer.nvidia.com/embedded/jetson-nano) – A powerful single-board computer for processing tasks.
+- **Raspberry Pi Foundation:** [Raspberry Pi](https://www.raspberrypi.org/) – The small, powerful computer that powers the display side of the project.
+- **Arduino:** [Arduino](https://www.arduino.cc/) – A versatile open-source electronics platform used for sensor data collection.
+- **CAN Bus Protocol:** [CAN Protocol](https://www.kvaser.com/can/) – The communication protocol used to connect different ECUs in the vehicle.
diff --git a/images/logo.png b/images/logo.png
new file mode 100644
index 0000000..d53f9a2
Binary files /dev/null and b/images/logo.png differ