Wiznet makers

UCC

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

ruilixin6
  • 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

ruilixin6
  • 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

ruilixin6
  • 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

ruilixin6
  • 7

  • 0

MicroPython uses rp2 module to configure and run RP2040 PIO state‑machines.

MicroPython PIO API Deep‑Dive: StateMachine & PIO Class Methods

ruilixin6
  • 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

ruilixin6
  • 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

ruilixin6
  • 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

ruilixin6
  • 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

ruilixin6
  • 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

ruilixin6
  • 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

ruilixin6
  • 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

ruilixin6
  • 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

ruilixin6
  • 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

ruilixin6
  • 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

ruilixin6
  • 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

ruilixin6
  • 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

ruilixin6
  • 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

ruilixin6
  • 10

  • 0

MCU timer basics: types, internal composition, timing/counting/PWM modes and PWM‑related parameters.

Illustrated Guide to Timer Principles and Operating Modes

ruilixin6
  • 11

  • 0

RP2040 timing units overview & MicroPython Timer / PWM class APIs.

Concise Overview of Raspberry Pi Pico Timers: Overview & APIs

ruilixin6
  • 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

ruilixin6
  • 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

ruilixin6
  • 11

  • 0

RP2040 MicroPython demos for UART RXIDLE and TXIDLE interrupts.

Practical Guide to Receive Idle Interrupt and Transmit Idle Interrupt with MicroPython + Pico

ruilixin6
  • 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

ruilixin6
  • 12

  • 0