-
http://www.instructables.com/id/PixelBrite/
Food Living Outside Play Technology Workshop
PixelBriteby LeoneLabs on May 19, 2013
Table of Contents
PixelBrite . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 1
Intro: PixelBrite . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 2
Step 1: Project Overview . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 11
Step 2: The Bill of Materials . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 12
Step 3: The Electronics . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 13
Step 4: LED Wiring . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 16
Step 5: Waffle Grid . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 17
Step 6: Ninja Box . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 20
Step 7: Close Encounters of the Third Kind Demo . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 23
Step 8: DJ Setup . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 23
Step 9: Color and Light . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 24
Step 10: PixelPal Software . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 25
Step 11: The Build . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 27
Step 12: Pixel Art Gallery . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 29
Step 13: Measurements . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 30
Step 14: Project Meta Data . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 30
Related Instructables . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 31
Advertisements . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 31
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 31
-
http://www.instructables.com/id/PixelBrite/
Author:LeoneLabs author's websiteI'm an artist and engineer
living in Jackson, WY.
Intro: PixelBriteI originally started this project because I
wanted to recreate the scene in the movie the Close Encounters of
the Third Kind where the humans are communicating with
theMothership via a huge color organ. So I glued various bits of
software together and made some prototypes and before I knew it I
was talking with the Mothership with myown color organ!
I was intrigued by the potential of the color organ, but without
about 20 more years of piano lessons I would never reach that
maximum potential. I wanted somethingmore programmable, a general
instrument, not a musical instrument thought, a LED instrument. I
wanted something I could play, just like the idea of the color
organ butwith more complex patterns and animations and simpler
controls. I wanted a way to add texture, color, and motion to
music. I wanted a light show I could perform with,pixels to play
with, a real-time playable instrument that could accompany a
musical performance. I wanted it portable, scalable, easy to setup,
easy to play, and so I builtfour PixelBrites, setup a couple of
stage light trip-pods and plugged in my MIDI controller and laptop
and I became the light show. Fun times were had by all!
But I knew I couldn't be an overly protective parent and hover
above my progeny all the time, I wanted the PixelBrite to act as a
standalone light. I wanted to removemyself and the computer and
simplify the experience. I wanted a disco coffee table and a
minimalist light sculpture. I wanted to hang it on my wall and let
it become partof the background. I wanted a night light, a party
light, and a mood light. So I created a way to easily make
animations and patterns and added a SD card slot to streampatterns
without a computer. Now when I get home I get low-res ambiance
without even opening my laptop.
If you ever had a Light-Brite when you were a kid then you might
remember the experience of playing with light. PixelBrite is my
digital version of the Light-Brite. Its aplug-n-play light show,
its a minimalist light sculpture, its a conversation starter and
its a piece of wall dcor. Its a futuristic Ikea coffee table and a
Daft Punk discolight. Its bright, dark and colorful. Its digital
stained-glass. A center-piece or a perimeter-piece, its portable,
playable and programmable.
Welcome to my Instructable, I hope you enjoy.-LeoneLabs
-
http://www.instructables.com/id/PixelBrite/
-
http://www.instructables.com/id/PixelBrite/
-
http://www.instructables.com/id/PixelBrite/
-
http://www.instructables.com/id/PixelBrite/
-
http://www.instructables.com/id/PixelBrite/
-
http://www.instructables.com/id/PixelBrite/
-
http://www.instructables.com/id/PixelBrite/
-
http://www.instructables.com/id/PixelBrite/
-
http://www.instructables.com/id/PixelBrite/
Step 1: Project OverviewIntroductionThis will be your guide into
the world of pixels. Ill teach you a bit about color theory and
display science, and then Ill show you how I was able to make four
PixelBriteLED panels. Ill provide all the sources for building your
own and provide a step-by-step guide. Ive also included a whole
bunch of pixel art patterns and animations Imade with software
included in this guide. I hope you find this guide useful and if
you do let me know by getting in touch through my website:
leonelabs.com.
Heres the quick and dirty: tech specs, components, tool
references, and downloads.
Technical Specifications:
Resolution: 10 x 10 pixelsOperating Voltage: 5VMax Current:
~6AMax frame rate: 60fpsColor depth: 24 bits/pixel = 16 million
colors/pixelSize: 610mm x 610mm x 90mmPixel fill factor:
90%Weight:
-
http://www.instructables.com/id/PixelBrite/
Misc. interface electronics (switch, button, resistor,
etc...)Build Tools:
Soldering ironWire strippers/cuttersDremelHacksawPCB etchant,
Developer, AcetoneCaulkingHot glue gunScribeAllen wrenchStraight
edge
Downloads:All the files are available from the LeoneLabs
PIxelBrite GitHub repo . This includes all the Processing and
Arduino code as well as a whole bunch of content to play with.
Step 2: The Bill of MaterialsOverview:I can think of no better
way to sum up the PixelBrite hardware than with an awesome
spreadsheet, chock-full of the most valuable information you'll see
all day. Behold!...the Bill of Materials...! This is really the
one-stop-shop if you want to try and build your own PixelBrite.
Bill of Materials:
.LeoneLabs PixelBrite Bill of Materials - June 2013
.Component Part Description Vendor Value QtyPrice Unit Cost
.Translucent acrylic panel ACRYLITE GP P-95, sheet, Black/White
9H04SCacrylite-shop.com
23.875" x 23.875" x 0.118"(3mm thick) 2 $6.63 sq-ft $31.24
.Opaque acrylic panel ACRYLITE FF (extruded), sheet, Black
9M001GTacrylite-shop.com
23.875" x 23.875" x 0.118"(3mm thick) 1 $5.20 sq-ft $25.58
.Aluminum extrusion 10mm Profile, black microrax.com 600mm 8
$7.20 $57.60
.Aluminum extrusion 10mm Profile, black microrax.com 70mm 4
$0.84 $28.80
.Aluminum tri-corner bracket Tri-corner microrax.com 8 $2.40
$19.20
.Foam 6mm White Depron - 10 Sheets, Size 27"x39" rcfoam.com 6mm
thick 0.4 $69.00 10 sheets $27.60
.Laser Cutting Service Laser cutting foam pololu.com 1
backplane, 8 rails_0, 8rails_1 0.5 $203.00
Quoted for 2 setsof parts $101.50
.Teensy 2.0 Microcontroller Teensy USB Development Board
prjc.com Atmel 32u4 microcontroller 1 $16.00 $16.00
.MicroSD Card Adapter pjrc.com 1 $8.00 $8.00
.USB adapter USB Cable, Mini-B to Standard-B Panel MountAdaptor
pjrc.com 1 $5.50 $5.50
.Invidually-addressable RGB LEDpixel strands
12mm Diffused Flat Digital RGB LED Pixels(Strand of 25) - WS2801
adafruit.com WS2801 4 $39.95
1 strand = 25pixels $159.80
-
http://www.instructables.com/id/PixelBrite/
.5V DC power supply 5V 10A switching power supply adafruit.com
5V 10A 1 $25.00 $25.00
.PCB Board Circuit Skills #1: Jameco Value Pro PrototypingKit
jameco.com 0.5 $46.95 $23.48
.Molex Header + Wiring Molex Jumper 6 Wire Assembly sparkfun.com
6-wire 1 $1.95 $1.95
.DC Barrel Jack Panel Mount 2.1mm DC barrel jack adafruit.com
2.1mm barrel 1 $2.95 $2.95
.Rocker power switch SWITCH ROCKER SPST 16A 125V digikey.com
SPST, 16A, rocker 1 $0.96 $0.96
.Momentary Button SWITCH PUSH SPST-NO 3A 120V digikey.com SPST,
3A, momentary 1 $1.80 $1.80
.Terminal Block Fixed Terminal Blocks 4P 2.54mm 90DEG mouser.com
4 positions, 2.54mm (0.1")pitch 1 $2.43 $2.43
.Twist-on wire connector ("wirenut") Radioshack $0.00
.22awg wire Radioshack $0.00
.Resistor Radioshack 10k $0.00
. Total: $539.39
Commentary:Heres the top four most expensive components
$159.80 | RGB Pixels$129.10 | Laser cut foam$105.60 |
MicroRax$56.82 | Acrylic
If there are better sources let me know!
Step 3: The ElectronicsOverview:The electronics include
off-the-shelf components and a custom printed circuit board (PCB).
The circuit itself is relatively simple, the primary functionality
is to readstreaming pixel data from a USB port or SD card and then
send it out to the LEDs.
Download:
Fritzing Schematic and PCB
Summary:A rocker switch turns ON and OFF the PixelBrite. When
turned ON the Teensy microcontroller uses hardware SPI (serial
peripheral interface) to send color information tothe individual IC
(integrated circuits) next to the LEDs. A push button is used as a
hardware interrupt and to change the internal state of the
microcontroller. The state canbe changed from streaming data from
the USB port to streaming pixel data from an SD card, a bit like an
mp3 player but with pixels rather than sounds. On each buttonpress,
the next file in the SD card is read and displayed on the
PixelBrite. The whole thing is powered from a 5V source which can
come from a wall-plug or a batterypack.
-
http://www.instructables.com/id/PixelBrite/
WS2801:This microchip is really the tentpole for this whole
project. The WS2801 describes itself as a "3-Channel Constant
Current LED Driver With Programmable PWMOutputs", but in its
essence the WS2801 is the magic that turns a simple RGB LED into
and RGB Pixel. A WS2801 microchip sits next to each RGB LED in the
strandand each one can turn a stream of high-speed ones and zeros
into 8-bit grayscale color value in less than a thousand of a
second(? need calc). What's more, it passesalong the data for the
next pixel in the chain so everyone down the line can get their
next color instruction. What's even more amazing is that the next
generation of LEDcontroller IC's (WS2811) are being integrated
directly next to the LED as a bare die!
WS2801 datasheet
Power Supply:The power is provided by a 5V DC source and this
could either an enclosed DC power supply like the one provided by
Adafruit or a battery pack. I've tried both and bothwork. Depending
on the pattern the current draw can be signicantly less than the
rated maximum and so a batter pack can provide just enough juice
for an event but notmuch more. I used a battery pack when using the
PixelBrite as a coffee table or night light and it works well. For
the stage events I'll typically switch to a wall-plug DCpower
supply.
The real consideration when choosing the power supply, though,
is the amount of current that they can provide. The individual LEDs
can max out at around 20mA, so for100 pixels with three LEDs per
pixel that means the total system could draw upwards of 6 amps. I
decided to measure the amount of current that was being
consumedwhen a full-white image, which would correspond to max
power. The results showed that rather than ~6A I was instead only
drawing roughly 2.3A.
At less than half the rated maximum I'm speculating that it has
something to do with the resistance of my interfaces or contact
points. I'm using some pretty light crimpconnections between the DC
power supply jack and the PCB board which may be restricting the
current draw. I'm going to poke around to see if I can't uncover
the causeof this.
Regardless, for battery powered use a lower current consumption
is preferred and for most images and animations the amount of
current needed is far below themaximum. The current discharge rate
of the batteries will limit the maximum brightness of the system
but as the video and images show, 4X AA batteries can provideenough
current to turn the PixelBrite into an un-tethered coffee table,
wall hanging, or mood light.
The engineer in me says there is still plenty of engineering to
work out in this area. I'll continue to see if I can't flesh out
more details in the future so stay tuned.
-
http://www.instructables.com/id/PixelBrite/
-
http://www.instructables.com/id/PixelBrite/
Step 4: LED WiringOverview:These RGB LED strands and strips have
grown in popularity due to dropping prices, increased availability,
and some good ol-fashioned open-source elbow grease.These strands
provide a very convenient way for making an array of pixels and I
first came across them on Adafruit which includes a ton of great
resources for gettingstarted. Be sure to check out these links if
you've never worked with these LED strands before.
Adafruit Links:
Product pageLadyada tutorial - RGB LED pixelsGitHub WS2801
library
Wiring:The LEDs are connected with 4 wires:
Power1.Data2.Clock3.Ground4.
The LED strands from Adafruit come in 25-pixel sections. For the
PixelBrite panel four strands are used, making a total chain of 100
pixels. The layout is serpentinerather than the typical raster scan
layout used in digital displays. I chose the column-dominated
serpentine layout in order for the PixelBrites to easily tiled.
LED TeardownThe LED and populated PCB are encased in epoxy for
weatherproofing. Cutting open one of the LED shells reveals the
following.
The label on the top of the PCB reads:
SJ-1515ICRGB
The labels on the bottom of the PCB include the channels:
Green = Clock (C0)Yellow = Data (D0)
-
http://www.instructables.com/id/PixelBrite/
Blue = Ground (GND)Red = 5V+
Theres also an arrow indicating the input side.
Bad pixelsWorking with about 400 pixels I came across several
that appeared defective. Some were worse than others so I used my
best judgement before deciding to amputatethe pixel and replace it
with a known-good one. Im not sure what might have caused them to
go bad, although I wonder what the expected yield is out of the
factory andin some cases what is the level for pass-fail because
overall the uniformity is OK but not great.
Power distributionI found it necessary to include four power
distribution lines, thats 2-wires each, +5V and GND, between the
input and the end of each strand. Putting up just a plane
full-white image reveals the power dips. If you ignore the slight
change in color temperature, you can see the image on the left only
uses 1 power distribution line to the veryend of the fourth-strand
in the lower left corner. In the center of the PixelBrite the
brightness is reduced and non-uniform. The image on the left
includes 4 powerdistribution lines and the uniformity and
brightness is much better.
Step 5: Waffle GridOverview:For lack of a better term I decided
to go with waffle grid. I sometimes also refer to it as a louvre or
light guide because its purpose is to define the pixel
boundariesand reduce hotspot from the center LED. Here are the
quick stats:
The foam is 6mm thick.The pixel pitch is 60mmThe holes are 12mm
in diameter (which matches the spec for the LED Pixels from
Adafruit)The slots are 6mm (which matches the depron foam from
RCFoam)The backpanel and rails are 606mm in length.The rails are
60mm tail (and stand 54mm above the backpanel when slotted)There
are two interlocking rail designsThe SVGs contain 1 backplane, 19
rail_0 design, and 14 rail_1 design.
Download:
Layout SVGs
Layout:
-
http://www.instructables.com/id/PixelBrite/
Here's the three PixelBrite SVGs I sent to Pololu for laser
cutting. There sizes are matched to cutting area and the size of
the foam sheets. Be sure to check out Polulu'sCustom Laser Cutting
Guide . I ended up using Pololu because they offered some of the
largest cutting areas available; they are able to take sheets up to
35.5" x 50" insize (at 606mm, the waffle grid pieces are just under
24" in size).
No waffle grid vs. waffle gridDuring the project I decided to
test the PixelBrite without the waffle grid. Heres a side-by-side
comparison. There are a couple of things that should be apparent.
Theone on the right does not have the waffle grid and you can see
the hotspots are much more pronounced. Furthermore, the color
saturation is lower because adjacentpixels are leaking across their
logical boundaries and mixing with the a neighbors. This tends to
cause the pixels to wash out and create a sort of whitish haze.
OverallI think its easy to see the waffle grid is an effective
light guide and hotspot diffuser.
-
http://www.instructables.com/id/PixelBrite/
-
http://www.instructables.com/id/PixelBrite/
Step 6: Ninja BoxIntroductionOne thing Ive noticed with usual
build guide for LED arrays is the lack of a modular enclosure. Id
built previous LED matrices with just a simple backplane,
somefoamcore poster board or cardboard, but there were wires
everywhere and I felt it was in constant danger of being
accidentally destroyed. My solution was to enclose theLEDs in
acrylic and use the very handy MicroRax aluminum profiles to hold
it together. Also I was able to find some great sign-grade acrylic
that was tinted so the panelwould look black when the LEDs were
OFF. This turned out to be great choice for helping dim the LEDs,
diffuse the hotspots, and create a good looking box even whenthe
LEDs weren't ON.
The Ninja Box stat sheet:
The pigmented acrylic is 10-15% transmissiveThe acrylic is
glossy on one side and matte on the otherThe MicroRax is 10mm-wide
aluminum profileThe dimensions of the acrylic are 606mm x 606mmThe
dimension of the side panels are 76mm x 606mmThe acrylic is 3mm
thick
-
http://www.instructables.com/id/PixelBrite/
-
http://www.instructables.com/id/PixelBrite/
-
http://www.instructables.com/id/PixelBrite/
Step 7: Close Encounters of the Third Kind DemoSummary:There is
an iconic scene in the movie Close Encounters of the Third Kind
which shows a giant color organ being used to communicate with an
alien Motherhship. Now ifyou've never heard of a color organ, as
the name might suggest, its a way to play with visual colors the
same way a organist plays with musical notes. In the movie,
thecolor organ is used with great effect to John Williams score and
became a shining example of the possibilities. However, despite its
abilities to communicate with aliens,the color organ never really
materialized as a product the average person could connect with.
Regardless of its history, it wasn't until I came across this
interestingcomment that I felt the need to dig deeper:
"In the film, the original aspirations of Castels ocular
harpsichord appear to be finally realized. However, when I recently
spoke to Philip Dodds, theformer ARP engineer who appears in Close
Encounters as the synthesizer operator, he told me that the
synthesizer and light console used in the film werenever actually
linked."
-James Peel, The Scale and the Spectrum, 2006
Never linked!? Of course I can't confirm this quote (if anyone
knows tell me!), but it sounded enough like a challenge to try and
hack something together. Overall it endedup being a pretty messy
process with all the tempo changes that take place in the scene,
but it turned out alright (lets just not mention the fact that a
couple of notes aremissing from the beginning, ok?...)Details:I
used a Lenovo T410i ThinkPad which, oddly, does not have the
ability to natively record from the sound card. This made it
necessary for me to install another driver(Conexant CX20671
SmartAudio HD) in order for me to access the sounds coming through
my sound card.While I originally crafted my own software to
translate the MIDI signals into triggered pixel patterns, I ended
up preferring to use Madrix, a piece of stage-light
softwaredesigned for pixelized displays. In Madrix I was able to
generate a script that would draw colored lines when a MIDI note
was detected and so now all I had to do wassend the MIDI data into
Madrix.
To do this I combined Ableton and a free virtual MIDI driver
called LoopBe . LoopBe allowed my to send out MIDI signals from
Ableton as the MIDI file was played to thisvirtual MIDI port which
Madrix was setup to listen to. Thus I could play and edit the MIDI
notes in Ableton and then see the pixel patterns being triggered in
Madrix, allwithout even having any hardware!
Once I was able to build the PixelBrite panels and get the
firmware working, I could then just broadcast the Madrix view to
the PixelBrite with the PixelPal software asAbleton sent out the
MIDI notes in real time.
Overall I thought it turned out pretty well. Now I just need to
find some Motherships
Step 8: DJ SetupSummary:Perhaps one of my favorite uses for the
PixelBrite panels is for creating live light shows to accompany a
DJ or musician. Heres a summary of my experience:
Multiple PixelBrite can be easily tiled together and controlledI
ended up building four PixelBrite panels and tiled them together.
My preferred layout is 4x1, although 2x2 aint bad either.
Setup is fast and easyThe PixelBrite panels are hung from t-bars
mounted on tripods. I used O-rings (like a key-chain ring) and so
no clamps or other mounting hardware isneeded.
They are a fraction of the cost of other stage lights.Gear is
expensive, and in some cases needs to be, but if I could have
bought a cheaper pixel panel setup I would have instead I built
one.
No DMX, no DVI, just USBDMX is a signal protocol akin to MIDI
signals used with audio, except DMX is meant for stage lighting.
While there's nothing wrong with that in principle, itrequires
unnecessary middleware if you want to run some lights from your
laptop.There are a lot of projectionist that will use projectors
for light shows with amazing success. However in this case a full
DVI video signal is needed, thatincludes a lot of pixels, for
high-definition thats 2 million pixels! Yet you dont need a video
port to do the job of a serial port, and so with a fraction of
thebandwidth you can still create a pretty awesome light show with
a 100 pixels.
Setup:
Im able to control them with a USB MIDI controller and my
laptop. By piping in the audio line from the main DJ mixer I can
create sound-reactive effects. Madrix has a
-
http://www.instructables.com/id/PixelBrite/
good collection of equalizers and sound-reactive effects. I've
also included my own collection that you can download from the
GitHub repo.
Tiling multiple PixelBrites together:To tile the PixelBrites
together all that has to be done is to connect the LED strands from
one box to the next. You only need one master box which includes
the PCB andelectronics. The other boxes can just be passive strands
of LEDs however for larger arrays more power and more power
distribution is needed.
Download:I experimented a lot with Madrix and over the course of
the project generated a bunch of effects and color palettes. You'll
need to download Madrix 2.14 (free to try) inorder to open these
files.
Madrix Effects and Color Tables
Step 9: Color and LightIf theres only one light in each pixel
where do all the colors come from? Well, if you remember your basic
color mixing from grade school or youve ever opened up MSPaint
youll see that with only three primary colors its possible to mix
them in various amounts to create any color in spectrum.
But wait! We arent mixing red, blue and yellow like we did paint
brushes, when we mix light we are mixing color differently than
when we are mixing paints or pigments.Its an additive process
rather than a subtractive process and that means the primary colors
are different. Its not red, blue and yellow. The primary colors for
mixinglight are red, green and blue.
Inside each pixel is three light sources, a red one, green one,
and blue one (RGB). By turning up or turning down the brightness of
the individual components we canmake any color. The same technique
is used in every display around, albeit with tiny pixels rather
than jumbo ones, but the principle is the same.Pixel PatternsSo
what are pixel patterns? In their simplest form they are just a big
list of numbers, one value for each red, green, and blue component
within each pixel of every frame.Most often a color is represented
as a triplet, for example:
Yellow = {255,255,0}Blue = {0,0,255}
Therefore to make an array of pixels we just need a list of
triplets, and if we set up the physical hardware into a 2D array
that list of triplets will get mapped out to the rowsand columns
physical pixels.
As a part of the software development I decided to try and keep
things as simple as possible so rather than saving the pixel
patterns as images I decided to save them asraw binary files. This
means they are just pixel values, theres no metadata about what the
physical array of pixels looks like. This means that the pixel
pattern files needto be opened in the PixelPal software in order to
see what colors the values translate to, but you can also look at
them in a hex editor if youre curious.
For reference heres what a raw binary file looks like in the
free hex editor, Frhed , compared to the actual colors of the
pattern. You can see the first three entriescorrespond to the color
triplet of the first pixel. The numbers are represented in hex
notation so FF is equivalent to a value of 255 or the maximum value
of an 8-bitnumber. The first triplet is {FF, 00, FF} which is
equivalent to the magenta pixel seen in the pattern.
-
http://www.instructables.com/id/PixelBrite/
Step 10: PixelPal SoftwareOverview:In order to make the
PixelBrite more accessible to everyone I spent a lot of time
working a software app that would be useful but also be able to
create lots of greatcontent. The PixelPal software is standalone
and doesnt require the PixelBrite. It lets you record, play, and
save your own pixel patterns. Be sure to check out theSoftware Demo
video to learn more about how to use the application.
Download:Arduino codeProcessing code - (137mb = includes a bunch
of patterns, PNGs, and GIFs as well)
How does it work?It creates ultra low-res pictures by
undersampling what appears on your desktop. You specify the pixel
array (e.g. 10x10, 20x5, 200x200) and the capture window and
thePixelPal software will grab the color values from your desktop
and create a pattern to save or display.
How do I start?On Windows, just download the Processing code and
run the PixelPal.exe in the "application.windows32" folder.You'll
need java if you want to try and hook it up to the PixelBrite. Get
it from java.comTo compile the source code youll need:
Processing 2.0ControlP5 libraryAdafruit WS2801 library
What about the Arduino code?You can use the PixelPal software
without a PixelBrite or without the Arduino code, however, if you
want to stream data over the USB port than youll need the
Arduinocode. To use the Arduino code you also need a couple of
libraries
SDFat libraryAdafruit WS2801 library
Also dont forget to change the numPixels variable in the Arduino
code to match the number of LEDs being used in the PixelBrite
otherwise the images will lookscrambled.
Screen resolutionThe desktop capture feature of the problem
should scale with your screen resolution, so the app should always
look similar to image shown. However, Ive only reallytested this
with a screen resolution set to 1280x768, so caveat emptor!
Gamma adjustment:Easily apply gamma correction to the pixel
patterns in order to generate the proper colors on the PixelBrite
hardware. For more information on gamma correction be sureto check
out the Measurements section.
Serpentine Remapping:As the LED wiring shows, the LEDs are
connected in a serpentine fashion. This means that the order of the
pixels stored in memory is different than the physical order
ofpixels in the PixelBrite hardware. As a result, if the image is
to be displayed corrected the pixels must be saved in a new
ordering. This is easily accomplished with theRemap button which
will take a rasterscan normal pixel pattern and reorder it to match
the column-major serpentine layout of the PixelBrite
Code Reference:
Processing (PixelPal)LeoneLabs_PixelPal_v1_41
setup()draw()stop()
-
http://www.instructables.com/id/PixelBrite/
mouseDragged()mousePressed()controlEvent(theEvent)
Animation(buffer, array_width,
array_height)getFrame(frame_n)
CaptureGUI (x, y, w, h, array_width,
array_height)display()capture()renderFrame()blendFrames(src_img0,
src_img1, float
percentage)mouseEvent()grabDesktop()resizeImage(out_img, in_img
scale)updateCaptureWindow(x, y)expandCaptureWindow(x,
y)updateCaptureCoords()updateCaptureScaler()sampleImage(source_image)histSampleImage(histsize_x,
histsize_y, source_image)
FileManager(x, y, w, h,
path)listFiles(dir)listFileNames(dir)AddToListBox(path, filenames,
files)loadPatternFromFile(filepath)
PixelBrite (app, x, y, w,
h)display()updateArray(app)controls(list)controls(controller)
PixelPlayer(app, x, y, array_width,
array_height)display()applyRemapGamma(input_img)renderFrame(n,
anim, previous_frame)blendFrames(src_img0, src_img1,
percentage)resizeImage(out_img, in_img, scale)resizeImage(out_img,
in_img, scale_x,
scale_y)updateBlendCount()updateFrameRange()loadAnimation(filepath)loadAnimation(pixel_buffer)savePNG(fileName)saveBytesToFileVer2(fileName)controls(controller)saveAnimationToFile(selection)saveGIFToFile(selection)openGIF(selection)savePNGToFile(selection)sampleImage(source_image)sampleImageVer2(source_image)
PixelRecorder(x, y, w, h, array_width,
array_height)saveToOutputBuffer()display()updateProgressBar()mouseEvent()record(sampled_img)controls(controller)
PixelStreamer(app, x, y, array_width,
array_height)display(pixel_array)connect()disconnect()controls(controller)
Arduino (PixelBrite_v1)LeoneLabs_PixelBrite_v1
setup()loop() //not
usedbutStateChanged()colorWipe(wait)startup(wait)rainbow(wait)Wheel(WheelPos)Color(r,g,b)
LEDstream()SDstream(wait)
setPixels(pixels[],wait)
-
http://www.instructables.com/id/PixelBrite/
Step 11: The BuildLayout Foam and PCBThe first thing I did was
generate the layout files for the foam waffle grid light guide. I
used the free, open-source vector graphics editor Inkscape. This
process was astraightforward combination of the basic shapes and
the Boolean operators built into Inkscape.
For the PCB I used the free, open-source layout software
Fritzing. This turned out to be a bit of an uphill battle. I ended
up having to create two layouts, one in theschematic editor and one
in the PCB editor. However, all I needed up front was the PCB
layout so I started from there and then added the schematic as a
reference later.
Laser cutting services from Pololu.comOnce I'd completed the
layout I exported the .svg files to .dxf and then uploaded them to
Pololu.com. Their online quotation tool was easy to use. I also
drop shippedthem an order of 6mm depron foam sheets I'd ordered
from RCFoam.com. They sent me a selection of quotes from 5-day to
same-day service! I opted for the lowest-cost, 5-day service,
however the results exceeded my expectations!
Paint the foam waffle gridThe raw foam itself is not a very good
light guide. The foam is too translucent and if used in its raw
state would let a lot of light leak from one pixel to the next. The
bestsolution I could come up with was to paint the foam.
Now in hindsight this wasn't the best choice; painting foam, as
it turns out, is a very labor-intensive process. One might think
that you could throw a layer of paint ontoeach side of the foam and
you'd have a completely opaque piece of foam. You might even think
that you could get away with a couple coats of spray paint... oh
you poornaive child! As it turns out it took me about 7 coats of
paint before I was satisfied with the opacity of the foam.
This was perhaps the most time consuming part of the whole
process. I think in retrospect it would have been a lot easier to
go with some normal corrugated cardboardand then simply paint them
white. I spent some time looking for 2-sided white cardboard but
came up short. This would have probably produced some more opaque
railsand created better pixel separation but I'm satisfied with the
painted foam despite the extra effort.
Cut the MicroRax frameThe MicroRax aluminum extrusion can be cut
a variety of ways, I opted for some hand vices and a hacksaw.
MicroRax :8 pieces, 600mm*4 pieces, 70mm*
*As a possible coincidence (who knows!), you can buy these sizes
directly from MicroRax and no cutting is needed!
Assemble the frameOnce the pieces were cut the frame was easily
assembled by screwing the tri-corner brackets onto the ends of the
aluminum profiles.
For added strength I used some silicone caulking between the
Microrax and the acrylic panels on the front and back faces. What I
found was that the tricorner bracketscould hold the entire assembly
together but when I was picking up or hanging the panels the
aluminum would flex slightly in the middle.
Some silicone caulking in the V-groove of the MicroRax helped
improve the grip to the acrylic and create a more rigid enclosure.
I ended up only doing this for the frontand back panels leaving the
side panels removable in case some internal repair was needed.
My one err during this process was not realizing I would want to
add some nut-plates to the back panel before it was too late. These
nut-plates would let me screw onsome additional mounting hardware
in the future but with the back panel fully cured I could no longer
simply slide the nut plates into the V-groove as intended. Instead
Ihad to dremel out a bit of the V-groove to wedge them into place.
In the end it worked, but it did leave a little scar.
Scribe and break the AcrylicTo reduce the number of cuts needed,
I ordered the acrylic with a fixed width, this way the side panels
would only require one cut to make. I set out with ruler and
sharpieto mark out an acrylic panel for scribing, remembering that
the cover on the acrylic should be left on until the very end.
-
http://www.instructables.com/id/PixelBrite/
For cutting the acrylic I had a tough choice to make, my abode
does not lend itself well to a table-saw which is arguably the tool
of choice for cutting strips of acrylic, sohow am I going to cut
these pieces? Well as it so happens I have a saying and thats
anything that can be done with a power tool can be done with a hand
tool. Andas it turned out I discovered a rather convenient way to
create strips of acrylic. The tool: a scorer or scribe, like this
one on Amazon.com.
The scribe is incredibly sharp and will make an awful screeching
every time you rake the scribe across the acrylic. Youll want to
apply some good downward pressure tothe scribe and get it to really
dig into the surface of the acrylic. I ended up scribing across the
acrylic five times (5X) per side, thats a total of 10 screeching
scribingscrapes per piece. If it werent for the ghastly sound this
technique would be the ultimate low-tech solution for cutting
acrylic.Heres a single scribe pass on one side. Only 9 more
During the scribing process you can see Im using one of these
big clamping straight edges to guide the scribe.After the ten
passes of the scribe, I clamp a heavy piece of particle board that
was used for a shelf on top of the acrylic and then extend the
piece over the end of thework table. With everything clamped down
tight and scribe lane sitting right on the edge of the table I
press down firmly with both hands to snap the acrylic right along
thescribe lane.The pieces come out a bit uneven but the MicoRax
frame allows for loose tolerances. These could be evened out,
perhaps with a belt sander, but it wasn't necessary.
Assemble the waffle gridI discovered that using painted foam was
a nice idea to keep the weight of the PixelBrite down especially
compared to something like MDF or acrylic which would add alot of
weight. Fitting the foam together, however, was a bit tedious. The
interlocking rails were a snug fit and the squeaking sound of foam
of foam was sign that it mightjust be a pretty good pixel
separator. One rail at a time the puzzle came together.
Hot glue the pixels to the back panelI discovered that even
though the diameter of the holes match the specd size of the LEDs
there was enough tolerance that the LEDs would tend to slide out if
too muchforce was applied on the wires. The solution I found was to
grab the glue gun and give a couple shots of hot glue to the rim of
the LED and then twist it in place. The wiresshould also zig-zag
rather than stick out from the back, otherwise this piece will be
too thick to fit into the Ninja box!
Wire additional power and ground leadsEnsuring that each pixel
receives the necessary current and voltage requires some additional
connections for power and ground connections. I used some twist-on
wireconnectors or wire nuts along with some 18-22awg stranded wire
to provide the power busses. I ended up with four power busses and
that seemed to create a prettyuniform pixel array.
Build a custom PCB for the electronicsTo move the circuit off
the breadboard I used a basic PCB prototyping process pretty well
documented by Jameco and Make magazine
With a laser printer I transferred the digital layout of my
PixelBrite circuit board Id made in Fritzing to a 3M transparency.
The transparency was cut and mounted in adollar-store picture frame
with the photoresist coated PCB and then exposed for roughly 8
minutes. After developing the resist for about a minute, the board
was etchedin ferric chloride and after about a half an hour I had a
completed PCB.
After drilling the holes the components were ready to be
soldered in place. Its important to remember to cut the power trace
on the Teensy board ( see PRJC for moreinfo) before soldering in
place. This will make it so the Teensy does not try to draw its
power from the USB but rather the VCC and GND pins.
Route the acrylic side panel for the electronic portsFor the
control panel I decided to keep it quick and dirty by just hand
routing the holes for the components a laser cutter might have been
the right tool hear. I took itslow and made sure I had the acrylic
well clamped before starting.
Final AssemblyThe best method I found for assemble was to
proceed from the bottom up, so start with the back face and the PCB
circuit. Drop the side panel in with the bulk headconnections and
get everything lined up and fixed. Then drop in the LED/waffle grid
assembly ontop and connect the 4-pin Molex on the LEDs to the 4-pin
Molex on thePCB board from the side. Drop the side panels in place
and then press the waffle grid down with the front panel. Tighten
the screws on the tricorner brackets andeverything should be
ready.
As part of this process I discovered the USB panel-mount was
bumping into the underside of one of the LEDs. To remedy it I had
to mount the USB connector with theflanges on the outside rather
than inside.
Load the firmwareThe Arduino firmware must be loaded onto the
Teensy, get the code from the LeoneLabs PixelBrite repo on GitHub.
If youre just getting started with the Teensy be sureto check out
PRJCs Teensyduino Tutorial.There are a couple of important things
to remember in order for the system to run correctly:
In the Arduino code:dataPin = 2 (matched to the physical pin of
the Teensy)clockPin = 1 (matched to the physical pin of the
Teensy)numPixels = 100 (matched to the number of physical
pixels)
Youll need Adafruits WS2801 library and the SDFat library to
compile the Arduino source codeThe file names on the SD card need
to be short; they are limited to 8 characters with a 3 character
extension. This is a limitation of the SDFat library.
Color_bars.pixex will not work because Color_bars > 8
characters and file extension, pixex > 3 charactersColorBrs.pix
will work
The SD card will stream from the PB folder within the root
directory of the SD card so all the patterns and animations must be
stored in this folder on the SDcard.
Power ON!Plug in the power supply, flip the switch and plug in
the USB port or load a SD card to get started. The pushbutton will
cycle through the operating states. There are threestates:
Color swirl1.This is a hard-coded pattern used just for
reference
USB streaming2.
-
http://www.instructables.com/id/PixelBrite/
The PixelBrite is waiting for data to be streamed via the USB.
The PixelPal software must be loaded up and connected in order for
streaming to work. If nostreaming is taking place the display will
briefly show the color swirl pattern before turning black.
SD card stream3.If the PB folder on the SD card contains
patterns, then after advancing to this state the PixelBrite will
continuously stream the pattern or animation untilthe pushbutton is
pressed again, at which point it would advance to the next
file.
Step 12: Pixel Art GalleryIf you need a crash course on the
category of Pixel Art I highly recommend this documentary called:
Pixel A pixel art documentary.
While I didnt originally intend the PixelBrite to be classified
as a piece of pixel art it is easily recognizable as one. The ultra
low-res, digital feel is easy to see, however Iwanted the pixel art
that resulted to be a bit different. Ive found that theres a very
gray area between pixel art and abstract art, especially as the
number of pixels isreduced. Details become textures and then
textures become blocks of color, just a palette of tones and
huesEventually one must ask, where is the line between the actual
object and just blocks of color? How few pixels are needed to
capture its essence? Some things arerecognizable down to 10x10
pixels. Some things you wouldnt know what you were looking at
without being prompted.
If youve ever seen or played minecraft you might know the
feeling. The representation of a person and his surroundings are
modest to say the least. But somehow itsall still there and somehow
its just as fun and possible more fun than if everything were
represented in full detail. Its this kind of experience that I want
to showcase, theone where theres a spark-gap, where your mind jumps
past what your eyes see and creates a new world and a new
experience.All the images and animations were all made using the
PixelPal app. The videos were recorded as a screencast in order to
capture the synchronized audio.
Video Game:
Famous Paintings
Disney
Madrix VJ Loops
Corporate Logos
Memes
PixelPal Videos
PixelBrite Performance Videos:
PixelBrite Live Music Videos
-
http://www.instructables.com/id/PixelBrite/
Step 13: MeasurementsIntro and UniformityWhen I first set out to
measure the PixelBrite I wanted to see if I could calibrate it to
make the image look better. To me, this meant developing a way to
measure theoutput of every pixel. I saw Adafruit had just released
a color sensor break out board so I thought why not give that a
try. Heres the color sensor: RGB Color Sensor withIR filter -
TCS34725 -
I used a Teensy, a cardboard tube, a little circular perf board
from Radioshack and some black spray paint to make my own USB color
sensor.
After creating a Processing sketch to measure all the pixels I
was able to come up with the following image. The picture shows the
10 x 10 grid of pixels on the PixelBritewhen they are displaying
pure white which doesnt look very white does it?
There are several reasons this looks very non-uniform.
1. They are raw measurement values, optical power not perceived
brightness, they arent gamma corrected and so they dont visually
represent what the PixelBritelooks like (for more info on gamma
correction check the following section).2. The LEDs themselves or
the driver circuits have not been calibrated or matched, and so
whatever manufacturing tolerances existed appear as variations in
color.
a. This would be fine for just the bare LEDs which would
normally look very bright and washed out and ones that arent meant
for displays.Even after trying to take this data and come up with a
way to improve the uniformity I relinquished because it was a bit
like chasing your shadow. This uniformity isntconstant, but rather
is varies with the power, so a single look-up table (LUT) would not
work. Also, the PixelBrite already looks pretty good, the
non-uniformity is not reallya distraction.
HotspotsMuch of the design of the PixelBrite stems from the
point of removing the hotspot associated with the LED and turning
it from a very bright point of light to a nice softglowing pixel.
The following figure (Figure 40) shows the intensity profile from a
single pixel. While this doesnt represent the actual optical power
being put out by thepixel, I adjusted the camera settings to match
my own eye, it does mirror the intensity seen by an observer. I
took the photoAchieving a perfectly flat pixel profile is very
challenging. Initially I experimented with several different pixel
geometries, changing both the pitch and thickness of thewaffle grid
until I found that with these particular brand of LEDs a waffle
grid with pixels 50-60mm per side looked good enough.
GammaThe concept of gamma or gamma correction or gamma encoding
is a bit tricky to explain but the basic premise is that the
complexities of the human vision systemrequire our displays be
controlled in a non-linear way in order for them to look correct.
Heres the Wikipedia article on Gamma Correction which gives a
pretty goodrun down.
I made two different measurements of the output of the LEDs on
the PixelBrite to show what Gamma looks like.
The straight) lines show the linear output of the LEDs as the
grayscale input value was increased. This is what youd expect if
you were opening a water valve, open atiny bit and a tiny stream of
water comes through, open it twice as wide and twice as much water
comes through. Yet, when this mode is used the displayed image
doesnot look correct, it looks washed out, like the following image
shows.
On the other hand, the curved lines show the non-linear output
when applying gamma correction. Now when the valve is opened just a
fraction only a tiny fraction ofwater is allowed to pass through,
moreover, when the valve is opened twice as wide the amount of
water allowed to pass through is nowhere near double as it
waspreviously. While this nonlinear relationship may seem odd, when
gamma correction is applied the colors of the images look much more
realistic or correct. See.
ColorUsing the actual part of the color sensor, the part that
measures how much red or green or blue, was actually a bit
disappointing. The color sensor uses narrowband colorfilters to get
the individual readings for the red, green and blue channels. As it
so happens, the output of the LEDs do not match the filters and so
if the green channelgets a little red and blue light too (and
theres some green in the red channel, and green blue channel as
well), so for trying to calibrate colors its a bit of a mess. As
aresult I just ended up using the clear channel to make all the
measurements and just do it one color channel at a
time.Pixel-to-Pixel ContrastAs you may have noticed, the waffle
grid does not perfectly isolate the light from one pixel, instead
some light bleeds through. This is partly from the semi-opaqueness
ofthe painted foam and also partly from the slates where the pieces
interlock.
I attempted to measure this with the color sensor but with the
acrylic in place the light leaking into the neighboring pixels was
at the noise floor of the sensor. I ended uptaking off the acrylic
and measuring the pixels without it in place and the measurements
indicated about a (100-150):1 difference in optical power between
the pixel ON inthe middle and the pixels directly next to it.For
most realistic images this isnt very noticeable but it does mean
that pixels are talking to one another and the colorswere seeing
arent exact matches of the colors we want to display. Its more
noticeable with abstract or binary-type patterns. Heres some
checkerboards whichillustrates this effect.
Step 14: Project Meta Data
This is a bit like the bonus features on a new Blu-Ray. I
included a little extra info at the end of my last Instructable so
I thought I'd do it again.
I shot most of the footage with the Pentax Q camera I won in the
last Instructable ContestThis also means most of the original
footage is 1080p rather than the 720p I was working with
before.
I started down the road of building LED pixel panels back in
2010 when I bought my first Arduino and a bunch of ShiftBritesI
upgraded to Adobe Premiere for my video editingI'm still using
Microsoft PowerPoint for annotations and markupI used a free font
called "KG Second Chance" for the title, and "Denne Marker" for the
text. Get in touch with me through my website leonelabs.com.
Shout out to the open-source, DIY, maker community. As always,
this wouldn't have been possible with you.
Final Note:I've been pushing hard to try and get this project
finished by the deadline for the Epilog Laser contest and the
Battery-powered contest. It seems I made it justunder the gun, so
If you enjoyed please show your support with a vote. Thanks!
-
http://www.instructables.com/id/PixelBrite/
Related Instructables
PixelLux- A 64Pixel RGB LEDVideo Screen byajdi123
Cyberpunk Wigby GadgetGears
RGB LEDSculpture byamartinez39
Arduino /ProcessingAudio SpectrumAnalyzer byKeanan
Buzz WireAlarm Clock byhertzgamma
Pumpktris - TheTetris Pumpkinby HaHaBird
Advertisements
Comments49 comments Add Comment
Knight Lamune says: Jul 21, 2013. 4:12 PM REPLYAnother future
"shut up and take my money" supporter for a kit reporting in.
=o
MCUman says: Jul 18, 2013. 10:51 AM REPLYUtterly AMAZING!!! Well
Done!! Where do I get the kit?
LeoneLabs says: Jul 18, 2013. 4:55 PM REPLYHaha, well I'm glad
you asked. This would make a great kit and its something I've been
pondering for a while. There's lots to consider but I think with
alittle more work and some social support from the community I can
make something happen, so tell your friends and stay tuned for
future updates.
svsoke says: Jul 21, 2013. 1:12 PM REPLYMaybe you should look at
starting a kickstarter campaign?
kingofrandom92 says: Jul 19, 2013. 8:13 PM REPLYI would be down
for a kit :) this would look perfect in my basement bar hangout
does it go to music? that the be the awesome
LeoneLabs says: Jul 20, 2013. 1:58 PM REPLYWith some software
you can stream out music visualizers. The PixelPal software lets
you stream anything you can see on your desktop, so youcould use
any itunes or custom visualizer software and have it show up on the
PixelBrite. I tried out the Madrix 2 software which has some
funvisualizer effects.
kingofrandom92 says: Jul 19, 2013. 8:13 PM REPLYI would be down
for a kit :) this would look perfect in my basement bar hangout
does it go to music? that the be the awesome
Tspherix says: Jul 20, 2013. 11:15 PM REPLYBeautiful! About the
Kit. Let me know. Tspherix.com
connor_802 says: Jul 20, 2013. 5:57 PM REPLYAnd/or skill
level
connor_802 says: Jul 20, 2013. 5:57 PM REPLYFirst of all...
Awesome. Second... How much is this project going to cost and how
much time?
Makedo says: Jul 20, 2013. 10:30 AM REPLYI was wondering if you
had a plug in back board and each square was like a Lego block that
plugged in. If one failed all you have to is unplug it. and put
anew one in. I was looking at it and wondering about hexagons or
octagons where you can get more fluid angles . how much heat does a
block generate?
-
http://www.instructables.com/id/PixelBrite/
LeoneLabs says: Jul 20, 2013. 2:00 PM REPLYThat an interesting
idea. Some other shapes would be fun to try. The PixelBrite
generates almost no heat, the LEDs are cool to the touch. This
isn't like alightbulb that gets hot. The power supply may get a
little warm but overall heat/fire danger isn't an issue.
Thaisa says: Jul 20, 2013. 1:15 PM REPLYI'm stunned by how much
passion and effort you putted into this project. it looks amazing!
:oCongratz and thanks for sharing!
spl928 says: Jul 20, 2013. 8:50 AM REPLYBeaytiful ,
lux4x4 says: Jul 19, 2013. 10:08 PM REPLYGreat job!! Great
idea!! Good! I suppose do you have a cnc???
syti55 says: Jul 19, 2013. 7:17 PM REPLYThe perfect valentines
gift! I got a year to build this so it's time to hit the shops
hahaha thank you man!
NoseyNick says: Jul 19, 2013. 4:33 PM REPLYGorgeous! My kids and
I have built a 12x12-pixel WS2801 dance floor, end target 24x24
pixels. We've done some basic scrolly text and a few
prettyanimations, but nothing quite this cool! Ours also weighs a
tonne, takes 2 people to move just the 4ftx4ft 12x12pixel section,
and a minivan to transport it. Ican see why you went for the foam!
We're possibly looking for a compromise, something more danceable
than foam but not as heavy as the wood we'vebuilt our waffles with
:-/Nice work! Gets my vote!
braxtron says: Jul 18, 2013. 12:36 PM REPLYDJJules: Where did
you buy 1000 and how much was it?
LeoneLabs says: Jul 19, 2013. 12:06 PM REPLYThere are lot of
Chinese vendors which produce similar WS2801 LED strands which, at
wholesale prices can be acquired for quite a bit less than theones
from Adafruit.
bkmosch says: Jul 18, 2013. 6:39 PM REPLYWow... super project
and write-up!I'll bet that painting the foam pieces with silver
would do it in 2 or 3 coats. Definitely less than 7. It contains
metal particles which should be far more opaquethan the pigment in
white paint. Also, silver shouldn't affect the hue of the LED
colors (just as white doesn't). Now I'm curious about this and will
have to try itsometime.
LeoneLabs says: Jul 19, 2013. 12:05 PM REPLYThis would be a
interesting experiment, I'm curious about the results as well.
Early on I thought I might try aluminum foil but the couple of
experiments Itried indicated I wanted a more diffuse (scattering)
surface rather than a purely reflective (specular) one.
pwessels1 says: Jul 19, 2013. 1:21 AM REPLYVery cool! In this
way, with some materials with more strength you could even make a
floor piece?
LeoneLabs says: Jul 19, 2013. 12:02 PM REPLYYou know I think you
could, but it would challenging to get it right.
bigbaumer says: Jul 19, 2013. 5:46 AM REPLYNot that
impressive... we've been using pixel walls for a while. Our latest
installation is in the Science Museum of Virginia. We're currently
working on a DDR-type pixel floor with 288 individually addressed
pixels.
http://www.roto.com/Portals/0/SMV%20Boost%20Front%20Page.jpg
bigbaumer says: Jul 19, 2013. 5:57 AM REPLYIn all seriousness
though... this is pretty amazing. I do this with a team of 10
people, and you have done this all by yourself. Pixelpal can
actually help usout. Thanks for sharing!
-
http://www.instructables.com/id/PixelBrite/
LeoneLabs says: Jul 19, 2013. 12:01 PM REPLYThanks for sharing,
that looks like a great exhibit. I hope you can find some utility
from the PixelPal app, I'm definitely looking for more
feedback/betatesters.
Storesnurr says: Jul 19, 2013. 6:00 AM REPLYHi, man!You should
put some small switches on each pixel so the start to glow when you
press them.I'm actually planning to make a dinner table out of
these panels and it would be awesome if the pixels started to glow
when I put a cup or a plate on them.
anneangersbach says: Jul 19, 2013. 3:26 AM REPLYholy shizzles,
that is amazing! Also just the introduction is so well written it
made me smile :DI wonder how many tools/resources one could ditch
and still make one that looks amazing.
markmoran says: Jul 19, 2013. 1:12 AM REPLYWow. Incredible
instructable! You have set a new bar for thoroughness and detail in
every aspect of the design and creation. Incredibly impressive.
braxtron says: Jul 18, 2013. 12:02 PM REPLYWhy are there black
lines between the pixels with no waffle grid present? Shouldn't the
entire area be lit? Thanks for the info.
LeoneLabs says: Jul 18, 2013. 5:00 PM REPLYIt's a bit of an
optical illusion, the LEDs are illuminating the whole area but they
are spaced far-enough apart that the brightness fall-off appears as
ablurry line. If the LEDs were moved closer together the blurry
line would be less apparent.
void_main says: Jul 18, 2013. 10:51 AM REPLYNice! Did you think
about implementing Conway's Life? The resolution may be on the low
side though...
http://en.wikipedia.org/wiki/Conway's_Game_of_Life
LeoneLabs says: Jul 18, 2013. 4:49 PM REPLYThat's a good idea,
I'll have to try it now! I'll let you know how it turns out.
Bibbern says: Jul 18, 2013. 12:43 PM REPLYWow! Very cool
project!
nicolasjara says: Jul 18, 2013. 12:28 PM REPLYWowowowowowooow.
That's amazing.
Brian Henderson says: Jul 18, 2013. 11:31 AM REPLYThis is
perhaps the best Instructable I have ever read! Amazing video, very
clear instructions, great photographs, and fascinating content!
Thank you somuch for posting this!
biglabrat says: Jul 18, 2013. 8:28 AM REPLYGreat job! I am going
to share this with my Technology Class.
DJJules says: Jul 18, 2013. 7:42 AM REPLYAwesome Instructable! I
have 1000 WS2801 LED strings of the 12mm strings from China. Now...
I have a project to go with them.Great Job!
Jules
scorp76 says: Jul 18, 2013. 7:10 AM REPLYBloody amazing
craftsmanship!!!
Wheatridge says: Jul 18, 2013. 6:56 AM REPLYA rather ambitious
project. Thank you for sharring.
-
http://www.instructables.com/id/PixelBrite/
iamnoskcaj says: Jul 18, 2013. 6:32 AM REPLYI LOVE YOU! I've
wanted to make something like this for years. I saw an art
installation once that did this impromptu on the street. it didn't
have it's ownlighting... instead it went over a flat screen
television, and was absolutely stunning. I'm SO going to make this.
Maybe one for the wall and one for a table.Awesome work! Thanks so
much for sharing!!
Honus says: Jul 17, 2013. 11:32 PM REPLYOutstanding project!
agis68 says: Jul 17, 2013. 4:34 AM REPLYLove love love it!!!!!!
Awsome job and very good instructable!!! Voted
sudo_sandwich says: Jul 16, 2013. 6:19 PM REPLYAmazing...These
would add lo-res charm to any room or event. Kudos!
Nicapizza says: Jul 15, 2013. 7:02 PM REPLYBeautiful. What song
in the video?
LeoneLabs says: Jul 16, 2013. 11:26 AM REPLYJust added the music
credits:Miike Snow - Black and BlueThe Faces - Ooh La La
DaShroom says: Jul 16, 2013. 5:37 AM REPLYYour build is awesome,
but your software is on a whole new level of awesome :-D
Congrats on the awesome build :-D
karlpinturr says: Jul 16, 2013. 5:32 AM REPLYNice idea - and
beautifully executed!
Before reading properly, I immediately thought of this
http://tonematrix.audiotool.com/ (originally posted by
Kiteman(http://www.instructables.com/community/Cute-musical-time-waster/)
on Oct 5 2011, but the link he gave is no longer valid, though it
does let you clickthrough to the new location).And then I
remembered EvilMadScientist's Octolively
(http://archive.feedblitz.com/177238/~4058518), and wondered if
you'd managed to combine the two...Obviously not, but maybe you or
someone else with more resources and skills than I have might want
to have a go..?
Mackramer says: Jul 15, 2013. 8:49 PM REPLYCool project. We also
love the music choice!