Skip to content

Learning MicroPython — Concept List

Total concepts: 420


Foundation Concepts

  1. Computer Program
  2. Source Code
  3. Variable
  4. Data Type
  5. Integer
  6. Float
  7. String
  8. Boolean
  9. List
  10. Dictionary
  11. Tuple
  12. Conditional Statement
  13. If-Else Statement
  14. For Loop
  15. While Loop
  16. Function Definition
  17. Function Call
  18. Return Value
  19. Module Import
  20. Python Syntax
  21. Indentation in Python
  22. Comment in Code
  23. Print Statement
  24. Input Validation
  25. Error and Exception
  26. Try-Except Block
  27. Arithmetic Operators
  28. Comparison Operators
  29. Logical Operators
  30. Assignment Operators

MicroPython Environment

  1. MicroPython
  2. MicroPython REPL
  3. MicroPython Firmware
  4. Flashing Firmware
  5. Thonny IDE
  6. VS Code IDE
  7. Thonny File Manager
  8. mpremote Tool
  9. rshell Tool
  10. File Transfer to Pico
  11. MicroPython Interpreter
  12. Interactive Mode
  13. Script Mode
  14. Boot.py File
  15. Main.py File
  16. MicroPython Modules
  17. MicroPython Standard Library
  18. uos Module
  19. utime Module
  20. sys Module

Microcontrollers and Hardware Platforms

  1. Microcontroller
  2. Raspberry Pi Pico
  3. Raspberry Pi Pico W
  4. RP2040 Chip
  5. ESP32 Microcontroller
  6. ESP8266 Microcontroller
  7. Cytron Maker Pi RP2040
  8. Maker Pi Pico
  9. Maker Nano RP2040
  10. Raspberry Pi 500 Keyboard
  11. Micro:bit
  12. GPIO Pin
  13. GPIO Numbering
  14. Pin Modes (Input/Output)
  15. Pull-Up Resistor
  16. Pull-Down Resistor
  17. USB Connection
  18. USB Power
  19. 3.3V Logic Level
  20. 5V Logic Level
  21. Ground (GND)
  22. VSYS Pin
  23. VBUS Pin
  24. Pico W Wireless Module
  25. RP2040 Dual Core
  26. RP2040 PIO (Programmable I/O)
  27. Flash Memory on Pico
  28. RAM on Pico

Electronics Fundamentals

  1. Voltage
  2. Current
  3. Resistance
  4. Ohm's Law
  5. Power (Watts)
  6. Series Circuit
  7. Parallel Circuit
  8. Short Circuit
  9. Current-Limiting Resistor
  10. Resistor Color Code
  11. Capacitor
  12. LED (Light Emitting Diode)
  13. LED Forward Voltage
  14. LED Current Rating
  15. Transistor
  16. NPN Transistor
  17. MOSFET
  18. Diode
  19. Breadboard
  20. Breadboard Rails
  21. Breadboard Rows
  22. Jumper Wire
  23. Multimeter
  24. Continuity Test
  25. Wiring Diagram
  26. Schematic Symbol
  27. Power Supply

Digital Input and Output

  1. Digital Output
  2. Digital Input
  3. HIGH and LOW States
  4. machine.Pin Class
  5. Pin.OUT Mode
  6. Pin.IN Mode
  7. Pin.value() Method
  8. LED Blink Program
  9. Button Input
  10. Button Debouncing
  11. Software Debouncing
  12. Hardware Debouncing
  13. Active High vs Active Low
  14. Internal LED
  15. External LED Circuit

Analog Input and Output

  1. Analog Signal
  2. Digital Signal
  3. Analog-to-Digital Converter (ADC)
  4. ADC Resolution (bits)
  5. machine.ADC Class
  6. ADC.read_u16() Method
  7. ADC Voltage Reference
  8. Potentiometer
  9. Potentiometer as Voltage Divider
  10. Voltage Divider Circuit
  11. Reading Analog Values
  12. Scaling ADC Values
  13. Light Sensor (Photoresistor)
  14. LDR (Light-Dependent Resistor)

Pulse-Width Modulation (PWM)

  1. Pulse-Width Modulation (PWM)
  2. PWM Frequency
  3. PWM Duty Cycle
  4. machine.PWM Class
  5. PWM.duty_u16() Method
  6. LED Fade with PWM
  7. Brightness Control
  8. PWM for Servo Control
  9. PWM for Motor Speed
  10. Soft PWM

Communication Protocols

  1. I2C Protocol
  2. I2C Bus SDA and SCL
  3. I2C Address
  4. I2C Scanner
  5. machine.I2C Class
  6. I2C.scan() Method
  7. I2C.writeto() Method
  8. I2C.readfrom() Method
  9. SPI Protocol
  10. SPI Bus Pins (MOSI MISO SCK CS)
  11. machine.SPI Class
  12. SPI.write() Method
  13. SPI.read() Method
  14. UART Protocol
  15. machine.UART Class
  16. 1-Wire Protocol
  17. I2S Protocol
  18. I2S for Audio
  19. machine.I2S Class
  20. Bus Frequency Setting

Sensors — Temperature and Humidity

  1. DHT11 Sensor
  2. DHT22 Sensor
  3. dht Module in MicroPython
  4. DHT.measure() Method
  5. DHT.temperature() Method
  6. DHT.humidity() Method
  7. BME280 Sensor
  8. BME280 Temperature Reading
  9. BME280 Humidity Reading
  10. BME280 Pressure Reading
  11. BME280 I2C Driver
  12. DS18B20 Temperature Sensor
  13. DS18B20 1-Wire Interface
  14. DS18B20 Multiple Sensors
  15. onewire Module
  16. ds18x20 Module

Sensors — Distance and Proximity

  1. HC-SR04 Ultrasonic Sensor
  2. HC-SR04 Trigger Pin
  3. HC-SR04 Echo Pin
  4. Speed of Sound Calculation
  5. Ultrasonic Ranging Formula
  6. VL53L0X Time-of-Flight Sensor
  7. VL53L0X I2C Driver
  8. VL53L0X.range Property
  9. Time-of-Flight Measurement
  10. IR Distance Sensor
  11. IR Emitter and Detector
  12. Collision Avoidance Logic

Sensors — Light and Color

  1. Photoresistor (LDR)
  2. APDS9960 Gesture Sensor
  3. APDS9960 Color Detection
  4. APDS9960 Proximity Detection
  5. APDS9960 I2C Driver
  6. Color Sensing Principles
  7. Ambient Light Sensing

Sensors — Motion and Orientation

  1. Accelerometer
  2. ADXL345 Accelerometer
  3. MPU6050 Accelerometer/Gyroscope
  4. Accelerometer X/Y/Z Axes
  5. Tilt Detection
  6. HMC5883L Compass Sensor
  7. QMC5883L Compass Sensor
  8. Compass Heading Calculation
  9. Magnetic Field Sensing
  10. Gyroscope
  11. IMU (Inertial Measurement Unit)

Sensors — Encoders and Touch

  1. Rotary Encoder
  2. Rotary Encoder CLK and DT Pins
  3. Encoder Interrupt Handler
  4. Quadrature Encoding
  5. rotary Module
  6. Touch Sensor TTP223
  7. Capacitive Touch Sensing
  8. Touch.value() Method

Sensors — Audio Input

  1. Microphone INMP441
  2. INMP441 I2S Interface
  3. Sound Level Detection
  4. Microphone Sensitivity
  5. Audio Sampling Rate
  6. Fast Fourier Transform (FFT)
  7. Spectrum Analyzer Concept

Motors and Actuators

  1. DC Motor
  2. Motor Direction Control
  3. Motor Speed Control
  4. H-Bridge Circuit
  5. L293D Motor Driver IC
  6. DRV8833 Motor Driver IC
  7. L298N Motor Driver IC
  8. Transistor Motor Control
  9. Motor Stall Current
  10. Motor Free-Run Current
  11. Back-EMF Protection
  12. Flyback Diode

Servos and Steppers

  1. Servo Motor
  2. Servo Signal (50Hz PWM)
  3. Servo Angle Control
  4. Servo Min/Max Pulse Width
  5. machine.PWM for Servo
  6. Continuous Rotation Servo
  7. Stepper Motor
  8. Stepper Motor Phases
  9. Half-Step vs Full-Step
  10. Stepper Driver (ULN2003)
  11. Stepper Steps Per Revolution

Robots

  1. Robot Chassis
  2. Differential Drive
  3. Forward/Backward Motion
  4. Left/Right Turn Control
  5. Line Follower Robot
  6. Line Sensor (IR)
  7. Collision Avoidance Robot
  8. Obstacle Detection
  9. Robot Calibration
  10. Motor Deadband
  11. Robot Speed Tuning
  12. Ping-Servo Scanner
  13. MicroSwitch Bumper Bot

NeoPixels and LEDs

  1. NeoPixel LED
  2. WS2812B Protocol
  3. NeoPixel Strip
  4. NeoPixel Matrix
  5. neopixel Module
  6. NeoPixel.fill() Method
  7. NeoPixel.show() Method
  8. RGB Color Model
  9. HSV Color Model
  10. Color Wheel Animation
  11. Rainbow Pattern
  12. Brightness Scaling
  13. LED Strip Wiring
  14. NeoPixel Power Requirements
  15. Level Shifter for NeoPixel

Displays — Non-Graphical

  1. LED as Output Indicator
  2. 7-Segment Display
  3. 7-Segment Digit Encoding
  4. 10-Bar LED Array
  5. LED Level Meter
  6. 8x8 LED Matrix
  7. MAX7219 LED Driver
  8. MAX7219 SPI Interface
  9. MAX7219 Intensity Control
  10. Character LCD Display
  11. LCD 16x2
  12. LCD PCF8574 I2C Backpack
  13. lcd_api Module
  14. LCD Cursor Control
  15. 4-Digit 7-Segment Display
  16. TM1637 Display Driver

Displays — OLED

  1. OLED Display
  2. OLED SSD1306 Controller
  3. SSD1306 I2C Interface
  4. SSD1306 SPI Interface
  5. SSD1306 128x64 Resolution
  6. SSD1306 128x32 Resolution
  7. ssd1306 Module
  8. SSD1306_I2C Class
  9. SSD1306_SPI Class
  10. OLED SH1106 Controller
  11. SH1106 I2C Interface
  12. sh1106 Module
  13. OLED SSD1352 Controller
  14. OLED Framebuffer
  15. oled.text() Method
  16. oled.fill() Method
  17. oled.show() Method
  18. oled.pixel() Method
  19. oled.line() Method
  20. oled.rect() Method
  21. oled.fill_rect() Method
  22. OLED Bounce Animation
  23. OLED Pong Game
  24. OLED Real-Time Sensor Display

Displays — Color and TFT

  1. TFT Display
  2. ILI9341 TFT Driver
  3. ILI9341 SPI Interface
  4. ILI9341 Color Depth (16-bit)
  5. ST7789V Color LCD Driver
  6. ST7789V SPI Interface
  7. ST7789V Resolution
  8. Graphic LCD (CU1609C)
  9. Waveshare LCD
  10. Framebuf Module
  11. framebuf.FrameBuffer Class
  12. framebuf.MONO_HLSB Format
  13. framebuf.RGB565 Format
  14. Bitmap Drawing
  15. Custom Drawing Functions
  16. Screen Coordinate System
  17. HSTX Display Interface
  18. Display Color Formats

Displays — E-Paper

  1. E-Paper Display
  2. E-Ink Technology
  3. E-Paper Refresh Rate
  4. E-Paper Low Power
  5. E-Paper SPI Interface
  6. Waveshare E-Paper Driver

Sound and Audio

  1. Passive Buzzer
  2. Active Buzzer
  3. Tone Generation
  4. Musical Note Frequencies
  5. Play a Scale
  6. Play a Melody
  7. Mario Theme Program
  8. Eight-Key Piano Program
  9. WAV Audio File
  10. MP3 to WAV Conversion
  11. Audio Playback
  12. I2S Audio Output
  13. I2S Standard
  14. DAC (Digital-to-Analog Converter)
  15. MIDI Protocol
  16. Sound Parts List
  17. Audio Amplifier
  18. Speaker Wiring

Wireless and IoT

  1. Wi-Fi Basics
  2. SSID and Password
  3. network Module
  4. network.WLAN Class
  5. WLAN.connect() Method
  6. WLAN.isconnected() Method
  7. IP Address
  8. MAC Address
  9. HTTP Protocol
  10. HTTP GET Request
  11. urequests Module
  12. JSON Parsing
  13. ujson Module
  14. Web Server on Pico W
  15. socket Module
  16. socket.socket() Class
  17. TCP vs UDP
  18. REST API Basics
  19. Weather API Integration
  20. NTP Time Sync
  21. WiFi Clock Project
  22. Web Server NeoPixel Control
  23. upip Package Manager
  24. Over-the-Air Update Concept

Advanced MicroPython

  1. Interrupt Handler
  2. IRQ (Interrupt Request)
  3. Pin.irq() Method
  4. Timer Class
  5. machine.Timer
  6. Timer Callback
  7. Periodic vs One-Shot Timer
  8. Non-Blocking Programming
  9. Blocking vs Non-Blocking
  10. machine.time_pulse_us()
  11. utime.sleep()
  12. utime.ticks_ms()
  13. utime.ticks_diff()
  14. Multi-Core Programming
  15. _thread Module
  16. Core 0 and Core 1
  17. Shared Memory Between Cores
  18. Memory Management
  19. Garbage Collection
  20. gc Module
  21. Heap Memory
  22. Stack Memory

File System and OS

  1. MicroPython File System
  2. open() Function
  3. File Read and Write
  4. os.listdir() Method
  5. os.mkdir() Method
  6. os.remove() Method
  7. SD Card Reader
  8. SPI SD Card Interface
  9. uos Module
  10. Persistent Storage

Debugging and Troubleshooting

  1. Debugging Strategy
  2. Print Debugging
  3. Error Message Reading
  4. Traceback Interpretation
  5. I2C Debugging
  6. SPI Debugging
  7. Debugging with Thonny
  8. Stack Trace Viewer
  9. Heap Viewer
  10. Minicom Serial Monitor
  11. Logic Probe
  12. Common Wiring Errors

Advanced Hardware Topics

  1. PIO (Programmable I/O) State Machine
  2. PIO Assembly Language
  3. PIO for WS2812B
  4. Assembler in MicroPython
  5. FFT Algorithm
  6. FFT Optimization
  7. DMA (Direct Memory Access)
  8. Frame Buffer
  9. I2C Scanner Program
  10. String Formatting
  11. Conda Virtual Environment
  12. CircuitPython vs MicroPython
  13. mpremote File Commands
  14. Measuring Battery Voltage
  15. VSYS Voltage Measurement
  16. Watchdog Timer
  17. RTC (Real-Time Clock)
  18. Low-Power Sleep Mode

AI and Prompt Engineering

  1. Generative AI for Coding
  2. Prompt Engineering Basics
  3. AI Code Generation
  4. AI Code Review
  5. Debugging with AI
  6. AI Concept Explanation
  7. AI Hardware Suggestion

Educational Kits

  1. Maker Pi RP2040 Kit
  2. Maker Pi Pico Kit
  3. Maker Nano RP2040 Kit
  4. PWM Kit Project
  5. Tone Generator Kit
  6. Spectrum Analyzer Kit
  7. NeoPixel Rotary Kit
  8. Larson Scanner Kit
  9. RFID RC522 Module
  10. RFID RC522 SPI Interface
  11. RFID Card Reading
  12. Moving Rainbow Project

Computational Thinking

  1. Decomposition
  2. Pattern Recognition
  3. Abstraction
  4. Algorithm Design
  5. Pseudocode
  6. Flowchart
  7. Loop Invariant
  8. State Machine
  9. Event-Driven Programming
  10. Modular Programming

Project Design and Build

  1. Project Requirements
  2. Prototype Design
  3. Breadboard Prototype
  4. Wiring Diagram Creation
  5. Component Selection
  6. Bill of Materials (BOM)
  7. Solderless Assembly
  8. Code Organization
  9. Version Control Basics
  10. Git Basics
  11. README Documentation
  12. Project Demonstration