• Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

8x8x8 led cube ghosting issue (probadly easy solution....)

fezder

Well-Known Member
Thread starter #1
So, i made this big-ish project, and now i encountered annoying phenoma: When lower leds are lit, they light also upper ones.
Currently current for each led is about 6mA (5volts supply voltage and 470 ohms resistor)
I made earlier smaller, 4x4x4 cube, but in that ghosting wasn't big issue as cube was inside enclosure covered with mirror-plated plexi, so that forgave some ghosting. Besided it has RTC clock so main purpose is clock, but cube is decoration.

Now, with bigger cube, it looks quite stupid and messy. I noticed that ghosting decreased when supply voltage was lowered to 3v3, ghosting was tolerable.
Led current would be ~3mA.
So, i was thinking possible cures for ghosting, and i'm now asking if anyone of you would know other alternatives and feedback for these (google did show other people with similar problems, but i really don't feel like painting leds undersides now that cube is done....)

1: delay and blanking in code
no other leds have ghosting effect, only the ones right on top of currently-on ones

2: change bigger value resistors
doable, don't have currently enought suitable value resistors

3: PWM drive to layers darlington array with fet (whole cube dimming)
This would save trouble of changing resistors, but i never pwm-dimmed darlington array, so any issues in there?

4: painting undersides of leds
Yeah, 512 leds to be painted, well doable if nothing else. I did try with external led, placed nail polish and it didn't help that much

So, for help, video as well as circuit & code

in circuit AX means anodes, and C_L means cathodes_layers. Didn't wanna mess up drawing whole cube
8x8x8 cube_controller.jpg

C:
int dataPin = 2;        //IC 14       //Define which pins will be used for the Shift Register control
int latchPin = 3;       //IC 12
int clockPin = 4;       //IC 11
                        //OE-GND
                        //MR-VCC
int seq[14] = {1,2,4,8,16,32,64,128,64,32,16,8,4,2};       //The byte sequence

void setup()
{
  DDRD = DDRD | B00011100;
    /*pinMode(dataPin, OUTPUT);       //Configure each IO Pin
    pinMode(latchPin, OUTPUT);
    pinMode(clockPin, OUTPUT);*/
}

void loop()
{
    for (int n = 0; n < 14; n++)
    {
      PORTD = B00000000;
        //digitalWrite(latchPin, LOW);             //Pull latch LOW to start sending data
       shiftOut(dataPin, clockPin, MSBFIRST, seq[n]);          //Send the data
       PORTD = B00001000;
       //digitalWrite(latchPin, HIGH);            //Pull latch HIGH to stop sending data
        delay(75);
    }
}
Thanks!
 
Last edited:

fezder

Well-Known Member
Thread starter #2
furher tested with enamel paint, didn't have any red alcydic paint, and it did give better result than nail polish.
Since ghosting is present even in still image, painting seems to be only way....
 

jpanhalt

Well-Known Member
Most Helpful Member
#3
Hi fezder,

I didn't find the ghosting distracting, as the lit LED's wash it out. Rather than paint, have you considered short sleeves of heat-shrink tubing?

John
 

Pommie

Well-Known Member
Most Helpful Member
#4
You don't say what chip you are shifting into. Most should have latch high during shifting and then toggled low to latch the new values.

Mike.
 

fezder

Well-Known Member
Thread starter #5
Rather than paint, have you considered short sleeves of heat-shrink tubing?
By ghosting i mean lighted leds illuminating un-lit ones (i do use diffused ones)
hmm, well it's hard to apply heat shrinks now, i made it with this instrucable:
http://www.instructables.com/id/8x8x8-Arduino-LED-Cube/
in day light and 3v3 ghosting ca't be seen pretty much at all
You don't say what chip you are shifting into. Most should have latch high during shifting and then toggled low to latch the new values.
i use 74595 from texas instruments
http://www.ti.com/lit/ds/symlink/sn74hc595.pdf
i drive latchpin low->send data->latchpin high
Hmm, now that i read datasheet, it mentions that latchpin (RCLK, pin 12) is High-edge triggered.
 
Last edited:

jpanhalt

Well-Known Member
Most Helpful Member
#6
By ghosting i mean lighted leds illuminating un-lit ones...
That is what I thought you meant. The heat shrink effectively reduces sideways illumination so adjacent LED's don't get the scattered light. I also can't contemplate rebuilding it with that many LED's . However, you might try the heat shrink (red, if the LED's are red, but any color will work) on a few to see if it helps. Then you will be ready for your 16X16X16 supercube. ;)

John
 

fezder

Well-Known Member
Thread starter #7
When i started building this, buddy said my next is probadly 16'RGB cube....gosh
do you mean by placing heatshrink like a ''hood'' on leds, or how?
 

jpanhalt

Well-Known Member
Most Helpful Member
#8
Yes, just like a hood. Quite awhile ago, I was building an IRED sensor and used black heat shrink for the same purpose. You can probably get a size that is a nice slip fit. Then when you know the size and length that is best, produce a lot and give them a brief heating with hot air to make sure they don't fall off. I liked the sleeve, because it was much more opaque compared to paint for IR and easier to adjust.

John
 

fezder

Well-Known Member
Thread starter #9
hmm, i tested with heatshrinks and they seem to do do the trick. Much easier perhaps than to play with paint.....thanks!
 

fezder

Well-Known Member
Thread starter #11
Proximity, nearby lit leds cause other nearby unlit ones to appear dimly lit. If i block unlit ones with finger, they appear ''off'' as they should be
directly up coming light from lower leds seem to cause bigger ghosting than sideway coming light
 
Last edited:

fezder

Well-Known Member
Thread starter #12
Took couple shots to show better that issue:
3vedited.jpg 5vedited.jpg
 

jpanhalt

Well-Known Member
Most Helpful Member
#13
I see what you are trying to do, but the ghosting is really not that bad. In your earlier video, the sine wave was quite clear even with the ghosting. On the positive side, ghosting gives perspective. You may want to consider reducing, but not eliminating it. In terms of spectroscopy, reducing it by 50% to 90% will make a marked difference, but you may still see enough scatter to give it three dimensions.

It is a nice project.

John
 

Dr_Doggy

Well-Known Member
#14
I did one of those a while back, but i didn't put resistors on my matrix, i thought that was what caused the ghosts , i guess not, but mine were in more random rows

My resolution was a few series or parallel resistors, i forget where or how, and just messed around till it worked since i didn't know what i was doing,.

but i wonder if your ghosts are actually reflections? Maybe roughing with some sand paper, which is how i turned my clear led s to diffuse ones, making it smoother to the eye.
 

fezder

Well-Known Member
Thread starter #15
Doggy, they are reflections. I made video when testing scrolling-vu meter, this video is taken through 2-way mirror and it did eliminate ghosting quite bit:
And I also tested that they are reflections by placing finger under unlit leds, then they appear as intended (unlit)
 

fezder

Well-Known Member
Thread starter #16
Thanks for pointing out sand-paper :)
 

EE World Online Articles

Loading

 
Top