Learn Computer Science the fun way with hands-on LED programming!
📚 Documentation: https://dmccreary.github.io/moving-rainbow/
The Moving Rainbow Project is a collection of MicroPython and Arduino projects designed to teach students the fundamental concepts of Computer Science through hands-on, interactive LED programming. Our carefully crafted projects provide immediate visual feedback, making learning both engaging and accessible.
- 💡 Low-cost hardware: $4 Raspberry Pi Pico + $5 LED strips
- 🎓 Progressive learning: From basic blink to complex animations
- 🌍 Battle-tested: Used with hundreds of students worldwide
- 🛠️ Multiple platforms: MicroPython and Arduino C++ support
- 📖 Comprehensive docs: Step-by-step tutorials and guides
| Resource | Description |
|---|---|
| 🚀 Getting Started | Set up your development environment |
| 🔧 Hardware Guide | Understanding the hardware components |
| 💻 Programming Guide | Learn to program LED animations |
| 👨🏫 Instructor's Guide | Teaching resources and methodology |
| 🛒 Bill of Materials | Parts to build your own kits |
| 📖 Glossary | Technical terms explained |
This project emerged from a simple observation: traditional breadboard circuits with multiple RGB LEDs often frustrate beginners with complex wiring. Addressable LED strips solve this with just three wires while delivering spectacular visual results that keep students engaged.
- 🔄 Immediate feedback: See your code changes instantly in colorful light
- 📈 Progressive complexity: Start with blink, advance to complex animations
- 🎨 Creative expression: Students build projects they're excited to show friends
- 🔧 Transferable skills: Loops and conditionals apply beyond LEDs
Our curriculum has been refined through hundreds of hours of classroom testing across multiple CoderDojo sessions worldwide. This isn't just theory—it's proven pedagogy that works with real students and real constraints.
| Component | Cost | Purpose |
|---|---|---|
| Raspberry Pi Pico | ~$4 | Microcontroller brain |
| WS2812B LED Strip (60 pixels) | ~$5 | Addressable RGB display |
| Breadboard + Jumper Wires | ~$3 | Connections |
| Push Buttons (optional) | ~$1 | User interaction |
| Total | ~$13 | Complete kit |
💡 Compatibility: Works with any Raspberry Pi Pico and WS2812B-compatible LED strip
- 🤖 STEM Robot Kits - $19 collision avoidance robots
- 📱 More IoT projects using similar educational principles
This project builds upon the incredible work of the open source community:
- MicroPython - Python 3 implementation for microcontrollers
- Adafruit NeoPixel Library - Arduino library for WS2812 LEDs
- Raspberry Pi Pico SDK - Official Pico development tools
- MkDocs - Static site generator for project documentation
- Material for MkDocs - Beautiful documentation theme
This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
📋 Full License Details | 🔗 CC BY-NC-SA 4.0
- 👤 Author: Dan McCreary
- 🐛 Issues: GitHub Issues
- 💡 Discussions: GitHub Discussions
We welcome contributions! Please see our documentation for ways to get involved.
Happy coding! 🌈✨