Learning MicroPython — Concept List
Total concepts: 420
Foundation Concepts
- Computer Program
- Source Code
- Variable
- Data Type
- Integer
- Float
- String
- Boolean
- List
- Dictionary
- Tuple
- Conditional Statement
- If-Else Statement
- For Loop
- While Loop
- Function Definition
- Function Call
- Return Value
- Module Import
- Python Syntax
- Indentation in Python
- Comment in Code
- Print Statement
- Input Validation
- Error and Exception
- Try-Except Block
- Arithmetic Operators
- Comparison Operators
- Logical Operators
- Assignment Operators
MicroPython Environment
- MicroPython
- MicroPython REPL
- MicroPython Firmware
- Flashing Firmware
- Thonny IDE
- VS Code IDE
- Thonny File Manager
- mpremote Tool
- rshell Tool
- File Transfer to Pico
- MicroPython Interpreter
- Interactive Mode
- Script Mode
- Boot.py File
- Main.py File
- MicroPython Modules
- MicroPython Standard Library
- uos Module
- utime Module
- sys Module
Microcontrollers and Hardware Platforms
- Microcontroller
- Raspberry Pi Pico
- Raspberry Pi Pico W
- RP2040 Chip
- ESP32 Microcontroller
- ESP8266 Microcontroller
- Cytron Maker Pi RP2040
- Maker Pi Pico
- Maker Nano RP2040
- Raspberry Pi 500 Keyboard
- Micro:bit
- GPIO Pin
- GPIO Numbering
- Pin Modes (Input/Output)
- Pull-Up Resistor
- Pull-Down Resistor
- USB Connection
- USB Power
- 3.3V Logic Level
- 5V Logic Level
- Ground (GND)
- VSYS Pin
- VBUS Pin
- Pico W Wireless Module
- RP2040 Dual Core
- RP2040 PIO (Programmable I/O)
- Flash Memory on Pico
- RAM on Pico
Electronics Fundamentals
- Voltage
- Current
- Resistance
- Ohm's Law
- Power (Watts)
- Series Circuit
- Parallel Circuit
- Short Circuit
- Current-Limiting Resistor
- Resistor Color Code
- Capacitor
- LED (Light Emitting Diode)
- LED Forward Voltage
- LED Current Rating
- Transistor
- NPN Transistor
- MOSFET
- Diode
- Breadboard
- Breadboard Rails
- Breadboard Rows
- Jumper Wire
- Multimeter
- Continuity Test
- Wiring Diagram
- Schematic Symbol
- Power Supply
Digital Input and Output
- Digital Output
- Digital Input
- HIGH and LOW States
- machine.Pin Class
- Pin.OUT Mode
- Pin.IN Mode
- Pin.value() Method
- LED Blink Program
- Button Input
- Button Debouncing
- Software Debouncing
- Hardware Debouncing
- Active High vs Active Low
- Internal LED
- External LED Circuit
Analog Input and Output
- Analog Signal
- Digital Signal
- Analog-to-Digital Converter (ADC)
- ADC Resolution (bits)
- machine.ADC Class
- ADC.read_u16() Method
- ADC Voltage Reference
- Potentiometer
- Potentiometer as Voltage Divider
- Voltage Divider Circuit
- Reading Analog Values
- Scaling ADC Values
- Light Sensor (Photoresistor)
- LDR (Light-Dependent Resistor)
Pulse-Width Modulation (PWM)
- Pulse-Width Modulation (PWM)
- PWM Frequency
- PWM Duty Cycle
- machine.PWM Class
- PWM.duty_u16() Method
- LED Fade with PWM
- Brightness Control
- PWM for Servo Control
- PWM for Motor Speed
- Soft PWM
Communication Protocols
- I2C Protocol
- I2C Bus SDA and SCL
- I2C Address
- I2C Scanner
- machine.I2C Class
- I2C.scan() Method
- I2C.writeto() Method
- I2C.readfrom() Method
- SPI Protocol
- SPI Bus Pins (MOSI MISO SCK CS)
- machine.SPI Class
- SPI.write() Method
- SPI.read() Method
- UART Protocol
- machine.UART Class
- 1-Wire Protocol
- I2S Protocol
- I2S for Audio
- machine.I2S Class
- Bus Frequency Setting
Sensors — Temperature and Humidity
- DHT11 Sensor
- DHT22 Sensor
- dht Module in MicroPython
- DHT.measure() Method
- DHT.temperature() Method
- DHT.humidity() Method
- BME280 Sensor
- BME280 Temperature Reading
- BME280 Humidity Reading
- BME280 Pressure Reading
- BME280 I2C Driver
- DS18B20 Temperature Sensor
- DS18B20 1-Wire Interface
- DS18B20 Multiple Sensors
- onewire Module
- ds18x20 Module
Sensors — Distance and Proximity
- HC-SR04 Ultrasonic Sensor
- HC-SR04 Trigger Pin
- HC-SR04 Echo Pin
- Speed of Sound Calculation
- Ultrasonic Ranging Formula
- VL53L0X Time-of-Flight Sensor
- VL53L0X I2C Driver
- VL53L0X.range Property
- Time-of-Flight Measurement
- IR Distance Sensor
- IR Emitter and Detector
- Collision Avoidance Logic
Sensors — Light and Color
- Photoresistor (LDR)
- APDS9960 Gesture Sensor
- APDS9960 Color Detection
- APDS9960 Proximity Detection
- APDS9960 I2C Driver
- Color Sensing Principles
- Ambient Light Sensing
Sensors — Motion and Orientation
- Accelerometer
- ADXL345 Accelerometer
- MPU6050 Accelerometer/Gyroscope
- Accelerometer X/Y/Z Axes
- Tilt Detection
- HMC5883L Compass Sensor
- QMC5883L Compass Sensor
- Compass Heading Calculation
- Magnetic Field Sensing
- Gyroscope
- IMU (Inertial Measurement Unit)
Sensors — Encoders and Touch
- Rotary Encoder
- Rotary Encoder CLK and DT Pins
- Encoder Interrupt Handler
- Quadrature Encoding
- rotary Module
- Touch Sensor TTP223
- Capacitive Touch Sensing
- Touch.value() Method
Sensors — Audio Input
- Microphone INMP441
- INMP441 I2S Interface
- Sound Level Detection
- Microphone Sensitivity
- Audio Sampling Rate
- Fast Fourier Transform (FFT)
- Spectrum Analyzer Concept
Motors and Actuators
- DC Motor
- Motor Direction Control
- Motor Speed Control
- H-Bridge Circuit
- L293D Motor Driver IC
- DRV8833 Motor Driver IC
- L298N Motor Driver IC
- Transistor Motor Control
- Motor Stall Current
- Motor Free-Run Current
- Back-EMF Protection
- Flyback Diode
Servos and Steppers
- Servo Motor
- Servo Signal (50Hz PWM)
- Servo Angle Control
- Servo Min/Max Pulse Width
- machine.PWM for Servo
- Continuous Rotation Servo
- Stepper Motor
- Stepper Motor Phases
- Half-Step vs Full-Step
- Stepper Driver (ULN2003)
- Stepper Steps Per Revolution
Robots
- Robot Chassis
- Differential Drive
- Forward/Backward Motion
- Left/Right Turn Control
- Line Follower Robot
- Line Sensor (IR)
- Collision Avoidance Robot
- Obstacle Detection
- Robot Calibration
- Motor Deadband
- Robot Speed Tuning
- Ping-Servo Scanner
- MicroSwitch Bumper Bot
NeoPixels and LEDs
- NeoPixel LED
- WS2812B Protocol
- NeoPixel Strip
- NeoPixel Matrix
- neopixel Module
- NeoPixel.fill() Method
- NeoPixel.show() Method
- RGB Color Model
- HSV Color Model
- Color Wheel Animation
- Rainbow Pattern
- Brightness Scaling
- LED Strip Wiring
- NeoPixel Power Requirements
- Level Shifter for NeoPixel
Displays — Non-Graphical
- LED as Output Indicator
- 7-Segment Display
- 7-Segment Digit Encoding
- 10-Bar LED Array
- LED Level Meter
- 8x8 LED Matrix
- MAX7219 LED Driver
- MAX7219 SPI Interface
- MAX7219 Intensity Control
- Character LCD Display
- LCD 16x2
- LCD PCF8574 I2C Backpack
- lcd_api Module
- LCD Cursor Control
- 4-Digit 7-Segment Display
- TM1637 Display Driver
Displays — OLED
- OLED Display
- OLED SSD1306 Controller
- SSD1306 I2C Interface
- SSD1306 SPI Interface
- SSD1306 128x64 Resolution
- SSD1306 128x32 Resolution
- ssd1306 Module
- SSD1306_I2C Class
- SSD1306_SPI Class
- OLED SH1106 Controller
- SH1106 I2C Interface
- sh1106 Module
- OLED SSD1352 Controller
- OLED Framebuffer
- oled.text() Method
- oled.fill() Method
- oled.show() Method
- oled.pixel() Method
- oled.line() Method
- oled.rect() Method
- oled.fill_rect() Method
- OLED Bounce Animation
- OLED Pong Game
- OLED Real-Time Sensor Display
Displays — Color and TFT
- TFT Display
- ILI9341 TFT Driver
- ILI9341 SPI Interface
- ILI9341 Color Depth (16-bit)
- ST7789V Color LCD Driver
- ST7789V SPI Interface
- ST7789V Resolution
- Graphic LCD (CU1609C)
- Waveshare LCD
- Framebuf Module
- framebuf.FrameBuffer Class
- framebuf.MONO_HLSB Format
- framebuf.RGB565 Format
- Bitmap Drawing
- Custom Drawing Functions
- Screen Coordinate System
- HSTX Display Interface
- Display Color Formats
Displays — E-Paper
- E-Paper Display
- E-Ink Technology
- E-Paper Refresh Rate
- E-Paper Low Power
- E-Paper SPI Interface
- Waveshare E-Paper Driver
Sound and Audio
- Passive Buzzer
- Active Buzzer
- Tone Generation
- Musical Note Frequencies
- Play a Scale
- Play a Melody
- Mario Theme Program
- Eight-Key Piano Program
- WAV Audio File
- MP3 to WAV Conversion
- Audio Playback
- I2S Audio Output
- I2S Standard
- DAC (Digital-to-Analog Converter)
- MIDI Protocol
- Sound Parts List
- Audio Amplifier
- Speaker Wiring
Wireless and IoT
- Wi-Fi Basics
- SSID and Password
- network Module
- network.WLAN Class
- WLAN.connect() Method
- WLAN.isconnected() Method
- IP Address
- MAC Address
- HTTP Protocol
- HTTP GET Request
- urequests Module
- JSON Parsing
- ujson Module
- Web Server on Pico W
- socket Module
- socket.socket() Class
- TCP vs UDP
- REST API Basics
- Weather API Integration
- NTP Time Sync
- WiFi Clock Project
- Web Server NeoPixel Control
- upip Package Manager
- Over-the-Air Update Concept
Advanced MicroPython
- Interrupt Handler
- IRQ (Interrupt Request)
- Pin.irq() Method
- Timer Class
- machine.Timer
- Timer Callback
- Periodic vs One-Shot Timer
- Non-Blocking Programming
- Blocking vs Non-Blocking
- machine.time_pulse_us()
- utime.sleep()
- utime.ticks_ms()
- utime.ticks_diff()
- Multi-Core Programming
- _thread Module
- Core 0 and Core 1
- Shared Memory Between Cores
- Memory Management
- Garbage Collection
- gc Module
- Heap Memory
- Stack Memory
File System and OS
- MicroPython File System
- open() Function
- File Read and Write
- os.listdir() Method
- os.mkdir() Method
- os.remove() Method
- SD Card Reader
- SPI SD Card Interface
- uos Module
- Persistent Storage
Debugging and Troubleshooting
- Debugging Strategy
- Print Debugging
- Error Message Reading
- Traceback Interpretation
- I2C Debugging
- SPI Debugging
- Debugging with Thonny
- Stack Trace Viewer
- Heap Viewer
- Minicom Serial Monitor
- Logic Probe
- Common Wiring Errors
Advanced Hardware Topics
- PIO (Programmable I/O) State Machine
- PIO Assembly Language
- PIO for WS2812B
- Assembler in MicroPython
- FFT Algorithm
- FFT Optimization
- DMA (Direct Memory Access)
- Frame Buffer
- I2C Scanner Program
- String Formatting
- Conda Virtual Environment
- CircuitPython vs MicroPython
- mpremote File Commands
- Measuring Battery Voltage
- VSYS Voltage Measurement
- Watchdog Timer
- RTC (Real-Time Clock)
- Low-Power Sleep Mode
AI and Prompt Engineering
- Generative AI for Coding
- Prompt Engineering Basics
- AI Code Generation
- AI Code Review
- Debugging with AI
- AI Concept Explanation
- AI Hardware Suggestion
Educational Kits
- Maker Pi RP2040 Kit
- Maker Pi Pico Kit
- Maker Nano RP2040 Kit
- PWM Kit Project
- Tone Generator Kit
- Spectrum Analyzer Kit
- NeoPixel Rotary Kit
- Larson Scanner Kit
- RFID RC522 Module
- RFID RC522 SPI Interface
- RFID Card Reading
- Moving Rainbow Project
Computational Thinking
- Decomposition
- Pattern Recognition
- Abstraction
- Algorithm Design
- Pseudocode
- Flowchart
- Loop Invariant
- State Machine
- Event-Driven Programming
- Modular Programming
Project Design and Build
- Project Requirements
- Prototype Design
- Breadboard Prototype
- Wiring Diagram Creation
- Component Selection
- Bill of Materials (BOM)
- Solderless Assembly
- Code Organization
- Version Control Basics
- Git Basics
- README Documentation
- Project Demonstration