Skip to content

Python 3 UDP LED server for RPi and WS2821 LED strips

Notifications You must be signed in to change notification settings

wuppious/pi-ws2821-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Python 3 UDP LED server for Raspberry Pi and WS2821 LED-strips

This repository implements an UDP server for the Raspberry Pi and WS2821 LED-strips. The client script also provides a music visualizer that uses sounddevice package and numpy to visualize audio data on the strip

Video in action (Song: Tiësto – BOOM)

Configuration

Hardware

You should be familiar with how to setup WS2821 LED-strip with your Pi, but in short

  • Check the power consumption of the leds (mine are 0.3W when fully powered)
  • Multiply that value with the amount of LEDs you're going to drive (0.3W * 120 = 36W)
  • Make sure your power supply can handle it (the Pi wont be enough)
  • The LED's take 5V, so the amperage that'll be going through at max power will be the consumption divided by 5 (36W / 5V = 7.2A)
  • Make sure your wires will take the amperage, although this implementation probably won't drive the LEDs at max power anyways
  • Connect the power supply
  • Connect the Pi with the desired GPIO pin AND the ground pin!

Server

This would be run on the Raspberry Pi

  • Copy the server.py script on your Raspberry.
  • Install the server requirements defined in requirements.txt
  • Modify the script to configure the amount of pixels, GPIO pin, and the port of the server
  • Run as sudo (for GPIO access)

Client

This should be run on the device of which audio you want to visualize

  • Install requirements defined in requirements.txt
  • Modify the script to configure the amount of pixels, and the IP and port of the server
  • Run it!

Tested on

  • Raspberry Pi 2B (server)
  • Arch Linux with Python 3 and PulseAudio (client)

About

Python 3 UDP LED server for RPi and WS2821 LED strips

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages