An open-source smartwatch project developed as a school final project. This repository contains all the necessary files for building a complete smartwatch, including mechanical designs, PCB layouts, and firmware/software code.
OpenWatch/
├── Code/ # All code files
│ ├── Firmware/ # Embedded firmware code
│ └── Software/ # Application software code
├── KiCad/ # PCB design files and schematics
│ ├── Smartwatch.kicad_pcb # Main PCB layout
│ ├── Smartwatch.kicad_sch # Main schematic
│ ├── Smartwatch.kicad_pro # Project file
│ ├── Usermade.pretty/ # Custom component footprints
│ └── Smartwatch-backups/ # Backup files
└── Mechanical/ # 3D models and mechanical designs
├── Watch Assm.SLDASM # Main assembly
├── Watch Body.SLDPRT # Watch body
├── Watch Top.SLDPRT # Watch top
└── Watch PCB.SLDPRT # PCB mechanical model
- Git - Version control system
- KiCad - For PCB design and schematic editing
- SolidWorks (or compatible CAD software) - For mechanical design files
- Arduino IDE - For firmware development
- Code editor (VSCode, Cursor, etc.) - For software development
- Clone this repository to your local machine
- Install the required software listed above
- Open the appropriate files in their respective applications
All team members MUST create a branch for their work, make changes in that branch, and then merge to main. This keeps the project organized and prevents conflicts.
This section provides the essential Git commands you'll use daily. Keep it simple and follow these steps exactly.
# Clone the repository to your local machine
git clone https://github.com/willherr72/OpenWatch.git
# Navigate to the project directory
cd OpenWatch# Set your name and email
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"# 1. Get the latest changes from the team
git pull origin master
# 2. Create a new branch for your work (replace 'your-feature' with what you're working on)
git checkout -b feature/your-feature
# Example: git checkout -b feature/touch-screen
# Example: git checkout -b fix/power-bug
# Example: git checkout -b docs/update-readme# 3. Make your changes to files (edit in your code editor)
# 4. Check what files you've changed
git status
# 5. Add your changes
git add .
# 6. Save your work with a message
git commit -m "Add your feature description here"
# 7. Push your branch to GitHub
git push origin feature/your-feature| What you want to do | Command |
|---|---|
| See what files changed | git status |
| Add all changes | git add . |
| Save your work | git commit -m "Your message" |
| Upload to GitHub | git push origin feature/your-branch |
| Get team's latest work | git pull origin master |
| Create new branch | git checkout -b feature/your-name |
| Switch to master | git checkout master |
| See all branches | git branch |
- ALWAYS create a branch before making changes
- NEVER work directly in master branch
- Use descriptive branch names (feature/touch-screen, fix/power-bug, etc.)
- Write clear commit messages (what you did, not how you did it)
- Pull before you push (get latest changes first)
- Firmware: Place all embedded code in
Code/Firmware/ - Software: Place application code in
Code/Software/ - Mechanical: Keep all CAD files in
Mechanical/ - PCB: All KiCad files go in
KiCad/
feature/touch-screen-supportfix/power-management-bugdocs/update-readmefeature/watch-face-display
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Merge to master following the workflow above
This project is currently in active development as a school final project. The repository contains:
- ✅ Basic project structure
- ✅ KiCad PCB design files
- ✅ SolidWorks mechanical models
- 🔄 Firmware development
- 🔄 Software development
This project is open source. Please check the LICENSE file for details.
Happy Coding! 🚀
Remember: When in doubt, git status is your friend!