User Created Content
Two approaches to drive WS2812 on Pico: built‑in NeoPixel library and hardware‑timing PIO implementation for GRB‑encoded color‑chasing light effects.
RP2040 PIO Driving WS2812 LED Strip: From Principles to MicroPython Implementation
ruilixin60
8
0
This demo applies `StateMachine.exec()` to run single‑shot PIO instructions to toggle LED without modifying stored PIO program.
Dynamic Execution Instructions: Unlocking More Flexible Usage of RP2040 PIO
ruilixin60
7
0
This demo uses PIO `irq()` instruction to trigger interrupts and print IRQ flags on RP2040 with MicroPython.
Pico PIO Interrupt Development: Principles, Timing & Practical Implementation
ruilixin60
5
0
This example uses RP2040‑PIO in MicroPython to blink Pico’s onboard LED via state‑machine without CPU‑loop blocking.
PIO Quick Start: On‑Board LED Blink — Principles & Code Walkthrough
ruilixin60
7
0
MicroPython uses rp2 module to configure and run RP2040 PIO state‑machines.
MicroPython PIO API Deep‑Dive: StateMachine & PIO Class Methods
ruilixin60
7
0
Key RP2040 PIO registers cover control, FIFO status, EXECCTRL, SHIFTCTRL and PINCTRL for state‑machine configuration.
In-depth Analysis of 88 PIO: How Control Registers Govern the Operation of the finite-state machine
ruilixin60
7
0
RP2040 PIO includes side‑set, wrap, FIFO join, auto‑push/pull, fractional divider and flexible GPIO mapping.
PIO Underlying Principles Deep‑Dive: Side‑Set to Instruction Execution
ruilixin60
8
0
RP2040 PIO‑instructions are 16‑bit wide, split into 3 fields: 3‑bit opcode, 5‑bit side‑set/delay, and 8‑bit parameter.
RP2040 PIO Instruction Set Deep‑Dive: Starting from the Datasheet
ruilixin60
7
0
pioasm syntax covers identifiers, data types, expressions, labels, instructions with side‑set/delay, and the nop pseudo‑instruction for RP2040 PIO assembly.
Pico PIO Assembly Syntax Deep‑Dive: Identifiers, Instructions & Pseudo‑Instructions
ruilixin60
8
0
RP2040 PIO state‑machines use pioasm instructions, shift registers and side‑set, with GPIO mapping and IRQ flags for multi‑state‑machine synchronization.
RP2040 PIO Programming Model & FSM Principles: Hardware to Working Logic
ruilixin60
7
0
RP2040 PIO is a programmable‑IO peripheral with two blocks and eight state‑machines, implementing diverse serial/parallel protocols with minimal CPU overhead.
RP2040 PIO: Hardware Architecture & Working Principles Quick Overview
ruilixin60
5
0
MicroPython PWM‑driven passive‑buzzer class, playing "Twinkle Twinkle Little Star" via mapped note‑frequency melody data.
Buzzer Guide: Active vs Passive, PWM Drive & Pico MicroPython Practice
ruilixin60
8
0
MicroPython PWM‑based RGB‑LED driver class, supporting RGB‑value mapping and named‑color switching for multi‑color lighting effects.
Basics: RGB LED Hardware Principles and Raspberry Pi Pico PWM Control Practice
ruilixin60
7
0
MicroPython PWM‑driven LED breathing light, with periodic timer callback and explanation of Python `global` keyword.
Raspberry Pi Pico MicroPython Basic Example: PWM Controlled LED Breathing Lamp
ruilixin60
7
0
EC11 rotary‑encoder driver with timer‑based software debounce, plus terminal progress‑bar demo in MicroPython.
Rotary Encoder Debounce: Implemented with Raspberry Pi Pico MicroPython Timers
ruilixin60
8
0
MicroPython task scheduler built upon software‑timer, featuring Task/Scheduler classes with task add/delete/pause/resume, idle‑time GC and exception handling.
Raspberry Pi Pico Task Scheduler: Timer‑Based MicroPython Multitasking
ruilixin60
8
0
Timer‑driven button‑detection FSM in MicroPython for single‑click, double‑click and long‑press.
77‑Key FSM Detection Architecture: Debounce, Single‑Click, Double‑Click & Long‑Press Solutions
ruilixin60
9
0
RP2040 clock system, general‑purpose timer, PWM timer dual‑register mechanism and SysTick details.
Mastering Raspberry Pi Pico Timers: Hardware Principles & Operating Modes
ruilixin60
10
0
MCU timer basics: types, internal composition, timing/counting/PWM modes and PWM‑related parameters.
Illustrated Guide to Timer Principles and Operating Modes
ruilixin60
11
0
RP2040 timing units overview & MicroPython Timer / PWM class APIs.
Concise Overview of Raspberry Pi Pico Timers: Overview & APIs
ruilixin60
12
0
I2C bus basics: 2‑wire SDA/SCL, address‑based multi‑device connection, version evolution from Philips to NXP
I2C Bus Fundamentals (Part 1): Concepts, History & Daisy‑Chain Topology
ruilixin60
13
0
Brief intro to computer BUS: origin from ENIAC, modern bus definition, data‑address‑control buses and master‑slave roles.
Master Multi‑Pin Single‑Wire Time‑Division Multiplexing: Dive Into Bus Communication Fundamentals
ruilixin60
11
0
RP2040 MicroPython demos for UART RXIDLE and TXIDLE interrupts.
Practical Guide to Receive Idle Interrupt and Transmit Idle Interrupt with MicroPython + Pico
ruilixin60
10
0
Compares MicroPython v1.23.0 and v1.26.0 on RP2040, covering newly supported UART interrupts and trigger events to replace polling.
MicroPython Interrupt Guide: Supported & Unsupported Interrupts on Raspberry Pi Pico
ruilixin60
12
0