Finished my first project

So first finished not-halfassed project in the books. Nothing crazy, just a PB with 2 channels, 1 for 2 sides.

The actual art piece is a spare piece from a burn effigy that the builder had sitting in his garage for a year before sitting in my garage for a year until I got off my butt this weekend to LED it up. I’m pretty happy with it! It’s portable and heavy duty glued down so I can take it to events and not worry about it breaking.

I’m waiting on my 2811s single LEDs to show up to try a 8x8 cube so this was a nice warm up project! Next task, 8x8 with a PB pushing it! Expect to see me post again when it comes time to start programming it as the pixel mapper tutorial makes me go crosseyed. Programming is not my friend lol.


Oooooh, thats pretty!

For your next project, there’s example matrix mapper code that can be used for an 8x8 square. As long as its in a regular pattern from one side to the other side (either reversing direction for each line in a zig-zag kind of way) or always in the same direction, the example code should do the trick without undue hackery.

Unless you are doing an 8x8x8 3D cube?

1 Like

Uh, good question!


Whoops! Mispoke! Yes, it will indeed be a 8x8x8 3D cube. A good friend of mine has decent programming skills to help and reading other peoples code on the patterns has also helped so I’m not completely hopeless but close to it. I’m much more proficent at the physical creation side of things. That said, I WILL figure it out.

That only adds one dimension! Which basically multiplies the complexity :laughing:

I built one with the strings hanging downward. It was a small change from the built-in volumetric cube code. Here’s what I’m using:

function (pixelCount) {
  width = 8
  var map = []
  for (i = 0; i < pixelCount; i++) {
    x = Math.floor(i / (width * width)) //x changes only every 64 pixels
    y = Math.floor(i / width) % width  //y changes every 8 pixels, and repeats 0-7
    z = 7- (i % width) //z changes every pixel, repeats 0-7, and is flipped (downward instead of upward)
    map.push([x, y, z])
  return map
1 Like