Skip to content

ConnorNoddin/ECE_Capstone_PS2_Mouse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PS/2 Mouse with ATMEGA328p

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.

Acknowledgments

Special thanks go to Professors Andrew Sheaff and Nuri Emanetoglu for their guidance and support throughout the development of this capstone project.

Exploring the Project

1. Debugging_Waveforms

  • 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.

2. PCB_Files

  • 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.

3. Pictures

  • 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.

4. main_3050, main_3360, main_3389

  • 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.

PS/2 Protocol Implementation

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.

Project Validation

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.

Code Modularity

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.

Getting Started

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.

Contributing

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.

About

Version control for ECE 406 capstone

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published