Moving Rainbow: Concept List
485 concepts derived from full content analysis of the Moving Rainbow repository.
Python Programming Fundamentals (1–55)
- Python Programming Language
- Variable
- Variable Assignment
- Integer Data Type
- Float Data Type
- String Data Type
- Boolean Data Type
- List Data Type
- Tuple Data Type
- None Value
- Type Conversion
- Mathematical Operators
- Comparison Operators
- Logical Operators
- Boolean Expressions
- if Statement
- elif Clause
- else Clause
- Nested Conditionals
- for Loop
- while Loop
- Infinite Loop
- break Statement
- continue Statement
- Loop Counter Variable
- range() Function
- len() Function
- int() Function
- float() Function
- print() Function
- Function Definition
- Function Parameters
- Function Return Value
- Function Call
- Variable Scope
- Local Variable
- Global Variable
- Import Statement
- Module System
- Code Indentation Rules
- Python Comments
- String Concatenation
- List Indexing
- List Iteration
- Tuple Immutability
- Modulo Operator
- Integer Division
- SyntaxError
- NameError
- IndentationError
- TypeError
- IndexError
- Off-by-One Error
- Code Readability
- DRY Principle
MicroPython and Raspberry Pi Pico (56–100)
- MicroPython
- Raspberry Pi Pico
- Raspberry Pi Pico W
- RP2040 Microcontroller
- ARM Cortex M0+ Processor
- Dual-Core Processing
- 264 KB SRAM
- 2 MB Flash Storage
- GPIO Pins
- Pin Numbering System
- machine.Pin Class
- Digital Output Mode
- Digital Input Mode
- Pin.high() Method
- Pin.low() Method
- Pin.value() Method
- Pulse Width Modulation
- PWM Frequency Setting
- PWM Duty Cycle
- Analog to Digital Converter
- 16-Bit ADC Resolution
- ADC.read_u16() Method
- utime Module
- sleep() Function
- ticks_ms() Function
- ticks_us() Function
- localtime() Function
- urandom Module
- randint() Function
- neopixel Module
- NeoPixel Class
- Firmware
- UF2 File Format
- BOOTSEL Button
- Drag-and-Drop Flashing
- REPL
- main.py Auto-Run
- Pico File System
- Serial Console
- USB Connectivity
- Thonny IDE
- Thonny File Manager
- Uploading Files to Pico
- Running Scripts on Pico
- Serial Console Debugging
NeoPixel and LED Hardware (101–140)
- NeoPixel LED
- WS2812B Integrated Circuit
- Addressable LED
- Single-Wire Serial Protocol
- 24-Bit Color Data Format
- LED Data Chaining
- Data Stripping
- Three-Wire LED Connection
- 5V Power Requirement
- 20 mA Per Pixel
- LED Strip Form Factor
- LED Ring Form Factor
- LED Matrix Form Factor
- NeoPixel Fairy Lights
- IP20 Weather Rating
- IP65 Weather Rating
- IP67 Weather Rating
- Pixel Indexing
- strip.write() Method
- RGB Tuple Format
- Color Value Range
- 8-Bit Color Depth
- Number of Pixels Parameter
- Data Pin Parameter
- NeoPixel Class Instantiation
- LED Strip Polarity
- Setting Individual Pixels
- Clearing All Pixels
- WS2811 vs WS2812B
- SK6812 RGBW Variant
- LED Refresh Rate
- Maximum Strip Brightness
- LED Power Scaling
- LED Strip Density
- LED Chain Data Timing
- Data Signal Voltage Level
- Level Shifter for 5V Data
- LED Strip Segmentation
- Pixel Group Operations
- NeoPixel Library Overview
Color Theory (141–180)
- RGB Color Model
- Additive Color Mixing
- Subtractive Color Mixing
- Red as Primary Light Color
- Green as Primary Light Color
- Blue as Primary Light Color
- Black Color (0,0,0)
- White Color (255,255,255)
- Color Wheel
- Spectral Color Sequence
- Named Color Constants
- Color Mixing by Channel
- Color Interpolation
- Smooth Color Transition
- Hue
- Saturation
- Value (Brightness Level)
- HSV Color Model
- RGB to HSV Conversion
- HSV to RGB Conversion
- Complementary Colors
- Analogous Colors
- Color Temperature
- Warm Colors
- Cool Colors
- Color Contrast
- Color Harmony
- Gamma Correction
- Gamma Value
- Perceived Brightness
- Linear Brightness
- Gamma Lookup Table
- Normalized Color Values
- Color Psychology
- Color Perception
- Triadic Color Scheme
- Color Palette Design
- Color Fade Effect
- Color Gradient
- Color Sequence Array
Animation Patterns and Techniques (181–245)
- Blink Pattern
- Fade In and Out
- Heartbeat Pattern
- Color Wipe Animation
- Moving Pixel Animation
- Bounce Animation
- Moving Bands Pattern
- Rainbow Static Pattern
- Moving Rainbow Pattern
- Rainbow Cycle
- Comet Tail Animation
- Larson Scanner Pattern
- Theater Chase Pattern
- Ripple Animation
- Twinkle Effect
- Candle Flicker Animation
- Random Colors Animation
- Random Walk Animation
- Clock Display Animation
- Frame-Based Animation
- Animation Delay
- Animation Speed Control
- Position Tracking Variable
- Direction Variable
- Bounce Logic
- Modulo Wrapping
- Brightness Scaling Factor
- Color Trail with Fading
- Pixel Offset Calculation
- Sequential Pixel Lighting
- Parallel Pixel Update
- Animation Loop Structure
- Frame Rate Concept
- Timing with utime Module
- Comet Trail Length
- Scanner Width Parameter
- Chase Group Size
- Ripple Decay Rate
- Flicker Randomness
- Pattern Composition
- Multi-Pattern Program
- Pattern Switching Logic
- Animation State Variable
- Brightness Array
- Animation Parameterization
- Color Palette Selection
- Speed Parameter
- Delay Function Selection
- Brightness Envelope
- Step Size in Animation
- Offset and Phase
- Time-Based Animation
- Clock with localtime()
- Seconds and Minutes Display
- Color Mapping to Time
- LED as Clock Hands
- Photo-Reactive Animation
- Button-Triggered Animation
- Sensor-Driven Animation
- Mode-Based Animation
- Animation Restart Logic
- Single-Color Scan
- Dual-Direction Scan
- Alternating Pixel Groups
- Expanding Ripple Rings
Electronics and Circuits (246–315)
- Voltage
- Electrical Current
- Resistance
- Ohm's Law
- Power Formula
- Electrical Polarity
- Ground (GND)
- Complete Circuit Path
- Short Circuit
- Open Circuit
- Breadboard
- Jumper Wires
- Current-Limiting Resistor
- Pull-Up Resistor
- Pull-Down Resistor
- Potentiometer
- Potentiometer Wiper
- Light-Dependent Resistor
- Photoresistor Curve
- NPN Transistor
- 2N2222 Transistor
- Transistor Base Terminal
- Transistor Collector Terminal
- Transistor Emitter Terminal
- Transistor Current Gain
- Transistor as Switch
- Voltage Divider Circuit
- Voltage Divider Formula
- Static LED Circuit
- Dynamic LED Circuit
- LED Dimmer Circuit
- Transistor Driver Circuit
- Analog Nightlight Circuit
- Multimeter Overview
- Resistance Measurement
- Voltage Measurement
- Series Circuit
- Parallel Circuit
- Milliamps (mA)
- Milliamp-Hours (mAh)
- Battery Capacity
- Battery Life Formula
- Coin Cell Battery
- AA Alkaline Battery
- AAA Alkaline Battery
- 9-Volt Battery
- USB Power Bank
- LiPo Battery
- 18650 Lithium Cell
- Series Battery Configuration
- Parallel Battery Configuration
- Battery Charging Circuit
- TC4056 Charger IC
- Overcharge Protection
- Over-Discharge Protection
- Charging Current Setting
- LED Current Draw
- Total System Current Draw
- Power Consumption Calculation
- Heat Dissipation
- Component Power Rating
- Voltage Regulator
- Buck Converter
- Capacitor for Power Smoothing
- Diode for Polarity Protection
- Solderless Circuit Assembly
- Circuit Diagram Reading
- Wire Color Conventions
- LED Forward Voltage
- LED Series Resistor Calculation
Computational Thinking (316–345)
- Decomposition
- Pattern Recognition
- Abstraction
- Algorithm Design
- Pseudocode Writing
- Flowchart Creation
- Problem-Solving Steps
- Breaking Down Problems
- Identifying Repeated Code
- Hiding Implementation Details
- Generalizing a Solution
- Template-Based Solving
- Code Reuse via Functions
- Event-Based Thinking
- State-Based Thinking
- Iterative Development
- Test Cases
- Edge Case Identification
- Boundary Conditions
- Debugging Methodology
- Systematic Troubleshooting
- Divide and Conquer
- Bottom-Up Problem Solving
- Top-Down Problem Solving
- Documentation as Communication
- Code Commenting Strategy
- Readable Variable Names
- Meaningful Function Names
- Separation of Concerns
- Modular Program Design
Input and Interactivity (346–380)
- Momentary Push Button
- Button Wiring to GPIO
- GPIO Input Mode Setup
- Pin.PULL_UP Configuration
- Pin.PULL_DOWN Configuration
- Polling a Button State
- Button Debouncing
- Debounce Delay Value
- Software Debounce Pattern
- Multiple Button Handling
- Mode Variable
- Mode Cycling Logic
- Mode Switching on Button
- State Machine Pattern
- Current Mode Tracking
- State Transition Logic
- Event-Driven Programming
- Photoresistor Sensor
- ADC Voltage Reading
- Sensor Value Mapping
- Light Threshold Setting
- Automatic Nightlight Trigger
- Analog Value Smoothing
- Sensor Calibration Steps
- Interrupt vs Polling
- Button Long-Press Logic
- Two-Button Combination
- Button LED Test Pattern
- Interactive Mode Controller
- Real-Time Input Response
- Input Validation
- Sensor Data Range Mapping
- Hysteresis in Sensor Reading
- Capacitive Touch Concept
- Input Abstraction Layer
Development Tools and Workflow (381–410)
- Thonny IDE Overview
- Thonny REPL Panel
- Thonny Run Controls
- Syntax Highlighting
- Code Autocomplete
- Serial Console in Thonny
- REPL Interactive Testing
- File Upload Workflow
- Running Script on Pico
- Git Version Control
- git clone Command
- git add Command
- git commit Command
- git push Command
- git pull Command
- git status Command
- GitHub Repository
- Repository Structure
- README File Creation
- File Organization in Repo
- Firmware Flashing Workflow
- UF2 Drag-and-Drop Process
- Python Module Paths
- config.py Module Pattern
- Hardware Abstraction Layer
- Cross-Kit Compatibility
- Thonny Package Manager
- MicroPython Standard Library
- Code Backup with GitHub
- Commit Message Writing
Project Design and Capstone (411–445)
- Project Ideation
- Requirements Specification
- Circuit Connection Diagram
- Algorithm Pseudocode Plan
- Milestone Planning
- Timeline Creation
- Iterative Development Cycle
- Build-Test-Revise Cycle
- Peer Code Review
- Code Review Criteria
- Inline Code Comments
- Project Documentation
- Technical Presentation Skills
- Project Reflection
- Wearable Electronics Design
- LED Costume Project
- Room Decoration Project
- Interactive Art Installation
- Practical Device Project
- Solar-Powered LED System
- LED Clock Project
- LED Nightlight Project
- Bike Safety Light Project
- Project Proposal Document
- Component Parts List
- Project Testing Protocol
- User Experience Design
- Project Iteration
- Final Project Demo
- Capstone Presentation
- Project Peer Feedback
- Design Constraint Analysis
- Project Complexity Estimate
- Feature Prioritization
- Minimum Viable Project
Mathematics for LED Programming (446–475)
- Modulo Arithmetic
- Integer Arithmetic
- Floating-Point Arithmetic
- Linear Interpolation
- Sine Wave Function
- math.pow() Function
- Normalization (0.0 to 1.0)
- Mapping Value Ranges
- Random Number Generation
- Pseudorandom Numbers
- Uniform Distribution
- Weighted Random Selection
- Array Index Calculation
- Brightness Formula
- Ohm's Law Arithmetic
- Battery Life Calculation
- Time Delay Calculation
- Percentage Calculations
- Ratio and Proportion
- Sequence Generation
- Step Size Calculation
- Phase Offset Calculation
- Exponential Decay
- Brightness Gamma Function
- Sine-Based Breathing Effect
- Coordinate Mapping
- Wrap-Around Arithmetic
- Scaling Between Ranges
- Floor and Ceiling Functions
- Absolute Value Function
Hardware Platforms and Safety (476–485)
- RP2040-Zero Form Factor
- 8x8 NeoPixel Matrix
- 16x16 LED Matrix
- Raspberry Pi 500 Keyboard
- Pi Keyboard RGB Effects
- Electrical Safety Rules
- Short Circuit Prevention
- LiPo Battery Safe Handling
- Wearable Safety Standards
- USB Power Safety Limits