UDP Panel

Congress is coming, 18 days to go!

The whole point of sharing my plans yesterday was to make sure I actually do them. Easiest on the list is to set up the UDP controlled blinkenlights panel. I am going to attach this to my bag or something, there must be cool blinkenlights everywhere I go.

The panel is a 8x8 Addressable RGB pixel array made from the super popular WS2812. Control is a NodeMCU board running micropython, the NodeMCU board is a ESP8266 broken out in a sensible way, it means I can get this cool little project on the network.

I have some pieces of clear acrylic and foam sandwiched together to diffuse the light, all held everything together with some bolts. Here is the small test script I have put together so far:

import machine
import neopixel
import time

pin = machine.Pin(14, machine.Pin.OUT)

np = neopixel.NeoPixel(pin, 64)

skull = [
0,0,1,1,1,1,1,0,
0,1,1,1,1,1,1,1,
1,0,0,1,0,0,1,1,
1,0,0,1,0,0,1,1,
0,1,1,0,1,1,1,0,
0,0,0,1,1,1,0,0,
0,0,0,1,0,1,0,0,
0,0,0,0,0,0,0,0,]

while True:
    colour = uos.urandom(3)

    for x in range(len(skull)):
        if skull[x]:
            np[x] = colour

    np.write()
    time.sleep(1)

I am going to accept any 8x8 RGB frame (any 192 byte packet) that is sent and take any other shorter packet and use it to set the colour on the skull. I will include a timeout to change the colour so it isn't just a static panel.

If I find a load of spare time between the sofa cushions I will throw together a web interface.


Reading: Virtual Light