Welcome to the repository for my ATMEGA328p-based PS/2 mouse project, developed as part of my computer engineering capstone. This comprehensive collection encompasses the source code, PCB files, schematics, debugging waveforms, and images, providing a detailed insight into the design and implementation process. This PS/2 mouse, powered by the versatile ATMEGA328p microcontroller, seamlessly operates over the PS/2 protocol. The project has been validated to work flawlessly with three different sensors: ADNS3050, PMW3360, and PMW3389.
Special thanks go to Professors Andrew Sheaff and Nuri Emanetoglu for their guidance and support throughout the development of this capstone project.
- Dive into the intricacies of my debugging process with this directory. It hosts oscilloscope waveforms meticulously captured during the debugging phase, offering a detailed analysis of data and clock line voltages.
- Uncover the engineering behind the PS/2 mouse by exploring the Altium PCB files and schematics in this directory. These files serve as a foundation for further development, modification, or replication of the project.
- Immerse yourself in the visual journey of my project through the captivating images stored in this directory. These pictures provide a tangible representation of the final product, showcasing the physical embodiment of my ATMEGA328p-based PS/2 mouse.
- Delve into the heart of the project with these directories, each dedicated to the mouse code tailored for a specific sensor: ADNS3050, PMW3360, and PMW3389, respectively. Here, you will find firmware and related files, ensuring optimal performance for different sensor configurations.
This PS/2 mouse operates exclusively over the PS/2 protocol, and I have implemented the protocol thoroughly at the lowest level. The included code showcases my commitment to precision and reliability in interfacing with the PS/2 protocol, ensuring seamless communication between the mouse and the host system. The protocol is fully implemented, providing a robust foundation for reliable data exchange.
This PS/2 mouse has undergone rigorous testing and empirical verification, ensuring its reliability and functionality. I take pride in presenting a project that not only meets but exceeds operational expectations, providing a robust and versatile solution for diverse applications.
The source code for this PS/2 mouse is designed with modularity in mind, allowing for easy adaptation to different projects. The modular structure facilitates customization and integration into diverse applications. Feel free to explore and modify the code to suit your specific requirements.
For those interested in replicating or modifying my PS/2 mouse, detailed instructions can be found in the respective directories. The "PCB_Files" directory offers essential files for fabricating the circuit board. Be sure to review the documentation for a comprehensive understanding of the tools and components required.
While this project was developed independently, I appreciate feedback and suggestions. If you identify any issues or have ideas for improvement, please open an issue or submit a pull request.