Raspberry Pi Pico LED Shields

This is a collection of very versatile LED matrix displays due to its different resolutions and sizes, the RGB capabilities and additional buttons and joystick.

Supported Shields

Hardware

The Waveshare Pico RGB LED [1] is an LED matrix module designed for Raspberry Pi Pico, which has 16 × RGB × 10 (160) full-color external controlled constant current integrated LEDs, with embedded quality controller IC and LED chip. It is a pico sized clean-looking front panel.

Features and Resources

Printed Circuit Board

5V/500㎃ up to 2.5A

RGB(16×10) LED(16×10)

1

  • On-shield 16×10 RGB LED matrix

  • 1 GPIO pin via edge pinout

  • RGB888, 24-bit color depth

  • 800㎅/ₛ data rate

  • Adjustable brightness with 256 level

  • 16 × 10 pixels

Design Data

Waveshare Pico RGB LED

Positions

Waveshare Pico RGB LED details

There is no separate power supply on shield!

The current of this product is close to 2.5A when RGB is fully lit. It is recommended to use a power supply of 5V/3A, or more. Since the USB output current of the computer is low, software should set the brightness data at RGB555, even if the full light is only about 300㎃.

Also do not set the current too low, if your brightness data is less than 4 bits, part of the light will not be bright.

16×10 WS2812B
cascaded RGB LED matrix

Data Sheets

Pinouts

Pin Mapping

Pinout

on-edge(1-40):

1

on-shield:

16×10 RGB LED(16×10)

Default Zephyr Peripheral Mapping

 

  • 1 PIO/PWM : GP0 (PWM0)
  • 2 PIO/PWM : GP1 (PWM1)
  • 3 GND
  • 4 PIO/PWM : GP2 (PWM2)
  • 5 PIO/PWM : GP3 (PWM3)
  • 6 PIO/PWM : GP4 (PWM4)
  • 7 PIO/PWM : GP5 (PWM5)
  • 8 GND
  • 9 PIO0 : GP6 (PWM6)
    nc def. on-shield user RGB_LED_DI
  • 10 PIO/PWM : GP7 (PWM7)
    nc alt. on-shield user RGB_LED_DI
  • 11 PIO/PWM : GP8 (PWM8)
  • 12 PIO/PWM : GP9 (PWM9)
  • 13 GND
  • 14 PIO/PWM : GP10 (PWM10)
  • 15 PIO/PWM : GP11 (PWM11)
  • 16 PIO/PWM : GP12 (PWM12)
  • 17 PIO/PWM : GP13 (PWM13)
  • 18 GND
  • 19 PIO/PWM : GP14 (PWM14)
  • 20 PIO/PWM : GP15 (PWM15)
  • 21 PIO/PWM : GP16 (PWM0)
  • 22 PIO/PWM : GP17 (PWM1)
  • 23 GND
  • 24 PIO/PWM : GP18 (PWM2)
  • 25 PIO/PWM : GP19 (PWM3)
  • 26 PIO/PWM : GP20 (PWM4)
  • 27 PIO/PWM : GP21 (PWM5)
  • 28 GND
  • 29 PIO/PWM : GP22 (PWM6)
    nc alt. on-shield user RGB_LED_DI
  • 30 RUN (RESET)
  • nc PIO/PWM : GP23 (PWM7)
  • nc PIO/PWM : GP24 (PWM8)
  • nc PIO/PWM : GP25 (PWM9)
  • 31 ADC_CH0 : GP26 (PWM10)
  • 32 ADC_CH1 : GP27 (PWM11)
  • 33 GND
  • 34 ADC_CH2 : GP28 (PWM12)
  • nc ADC_CH3 : GP29 (PWM13)
  • 35 ADC_VREF
  • 36 3V3(OUT)
  • 37 3V3_EN
  • 38 GND
  • 39 VSYS
  • 40 VBUS

Devicetree compatible

Waveshare Pico RGB LED edge pinout

More Samples

LED Blinky and Fade

Waveshare Pico RGB LED WS2812 LED Test Pattern

WS2812 LED Test Pattern by PIO

See also Zephyr sample: LED strip

west build -b rpi_pico -p -S usb-console --shield waveshare_pico_rgb_led -d build/waveshare_pico_rgb_led-strip_test zephyr/samples/drivers/led_strip
west flash -r uf2 -d build/waveshare_pico_rgb_led-strip_test

Simple logging output on target

***** delaying boot 4000ms (per build configuration) *****
[00:00:00.337,000] <wrn> udc_rpi: BUS RESET
[00:00:00.417,000] <wrn> udc_rpi: BUS RESET
*** Booting Zephyr OS … … … (delayed boot 4000ms) ***
[00:00:04.002,000] <inf> main: Found LED strip device rgb-led-strip
[00:00:04.002,000] <inf> main: Displaying pattern on strip

Hint

Neither LED Blinky nor LED Fade can be built and executed on Waveshare Pico RGB LED, because this shield has only digital RGB LEDs. A simple GPIO or PWM control is not possible!

References