Skip to content

dmccreary/clocks-and-watches

Repository files navigation

MicroPython Clocks and Watches

Website License: CC BY-NC-SA 4.0

A comprehensive educational resource for designing and building clocks and watches using MicroPython, AI, and low-cost components. This project combines low-cost hands-on electronics to make teaching computational thinking principles fun!

🌟 Features

  • Comprehensive Tutorials: Step-by-step guides from basic setup to advanced projects including basic setup for students with no prior Python coding experience
  • Multiple Clock Kits: 15+ different clock implementations including OLED, LED, NeoPixel, and e-paper displays
  • MicroPython Code: Well-documented examples for various clock and watch platforms
  • AI Integration: Use generative AI prompts to create custom clock designs
  • Interactive Simulations: Browser-based microsimulations for learning concepts

🚀 Getting Started

Suggested Setup

  • Raspberry Pi Pico/Pico W or compatible microcontroller
  • Basic electronic components (displays, real-time clocks, breadboards)
  • Thonny IDE for development

Quick Start

  1. Clone the repository

    git clone https://github.com/dmccreary/clocks-and-watches.git
    cd clocks-and-watches
  2. Visit the documentation

    📖 View Full Documentation

  3. Choose your first project

🎯 Project Structure

Here are some of the main folders in the site:

├── docs/          # Documentation source files
├── docs/
│   ├── setup/     # Get your environment setup
│   ├── lessons/   # Tutorial code examples
│   ├── prompts/   # Sample prompts to generate code
│   ├── sims/      # MicroSimulators of clock and watch components
├── src/           # MicroPython source code
│   ├── kits/      # Individual clock project implementations
│   └── lib/       # Shared libraries and utilities
├── slides/        # Presentation materials
└── fonts/         # Custom fonts for displays

🛠️ Hardware Kits

Kit Difficulty Features
TM1637 LED 4-digit display, simple wiring
OLED SSD1306 ⭐⭐ I2C interface, custom fonts
NeoPixel Clock ⭐⭐⭐ RGB LEDs, creative layouts
E-Paper Display ⭐⭐⭐⭐ Ultra-low power, always-on

🎓 Educational Content

🤝 Contributing

We welcome contributions! Please see our contribution guidelines for details.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📚 Resources

📄 License

This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. See the license.md file for details.

👤 Author

Dan McCreary - Educational Technology Consultant

🙏 Acknowledgments

  • The MicroPython community for excellent documentation
  • Students and educators who have tested these projects
  • Contributors to the open-source hardware and software ecosystem

Star this repository if you find it helpful for learning MicroPython and electronics!

About

Demo code for the Waveshare RP2040 watch display

Resources

License

CC0-1.0 and 2 other licenses found

Licenses found

CC0-1.0
LICENSE
Unknown
license.md
Unknown
license.txt

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •