Hacker News new | ask | show | jobs
by i336_ 3410 days ago
_Wow_, that is truly impressive. $3.7k for a ~2x1.5m² RGB (!!) display - and no added costs (besides a like <$50 interface controller setup). Nice!

Hmm. I wonder what the weatherproofing (particularly heatproofing) on these things is like. I know of a time/temp display high up on a building (probably around 1x1.2m²) that is constantly corrupted, I'm wondering if it's the 40°C days around here (Sydney Australia) that keep hitting it...

It's fascinating watching how QR encoding shifts and changes data - some of the time updates just adjust a few pixels, some of them adjust the whole barcode. I wonder what the source data for each frame was (but not terribly so).

So... if I understand right, these are line-buffered? You send it a line's worth of data, hit "go", and it redraws that line? 240FPS is good, wow.

One question: in the first couple of "ticks" of the second hand on the first clock video, I noticed how there appears to be a minor bit of "LED bleed" where some of the LEDs don't switch off for a couple fractions of a second. Curious, I had a look at the video frames: http://imgur.com/a/EVYB2. Is this an intrinsic problem in the driver system or perhaps a camera or encoding/compression glitch?

2 comments

The interface is this: "on/off", "line selectx4", "clock", "latch", "R", "G", and "B".

So the loop is:

1) Clock out a row of R, G, B values for the number of panels you have linked together (64 x n)

2) Turn off the LEDs on that row (enable goes low)

3) Latch the value

4) Select the next row

5) Turn on the display (enable goes high)

(my repo which does this: https://github.com/ChuckM/1bitsy-examples/tree/master/demos/... )

Since there are 16 "rows" multiplexed on to one "row driver" you need to at least clock out a set of all the rows every mS to get a 60Hz refresh rate (or every 250uS for a 240hz rate).

It is "easy" to do 3 bit RGB color (8 colors) since each value in R, G, and B has one bit. To get shades you need to PWM the bits and that consumes more bandwidth (with the 240Hz I can get a nominal 4 'intensities' per color by PWM'ing within the 60 fps rate, more by PWMing across a longer period. (which leads to interesting effects btw).

The panels all come with these neodymium magnetic feet so you can just put up a piece of 20ga sheet and stick up your display very simply.

On the video I expect it is a camera problem, the LEDs turn off pretty much instantly. The only caveat to that would be propagation from board to board of the 'enable' line but that is less than a microsecond.

After staring at that repo for a bit (my understanding of C is minimal, and I've never done any embedded work although I definitely want to) I finally got the "OH, the six set_pin() calls are R, G, B for two sets of rows on two panels" (in clock_two_rows()) it kinda clicked and made sense.

I'm not 100% on what "line selectx4" does though. And this is all much more foreign than I'd like... but that's fine, I'll figure it out eventually. (The main thing with software is that accidents/learning/experimentation don't cost anything :P)

It would be interesting to get a microcontroller, or set of microcontrollers connected together at very high speed, to clock data out to the panel in perfect lockstep. An excuse to use assembly language perhaps, but only if the driver microcontroller itself is deterministic (a bit of an unknown).

I'm surprised about the bit with the magnets (I guess if you're trying to bolt a computer with a spinning HDD onto the back of it you're doing it wrong).

Good to know the LEDs turn off instantly. Thanks very much for that bit. I do wonder about the board-to-board propagation time, yeah. I take it each board is chained to the next board's enable line (?), or are they all driven from the microcontroller?

You don't need assembly, you just need a common "sync" line where all the computers start at a given point.
Right. That makes sense.

I haven't fully mentally appropriated how far embedded computing has come. I would have solved this by counting instruction lengths :)

You can get an 80 inch TV for the same cost and roughly the same dimensions.

I am curious to understand what this can offer that a TV can't

Referencing the parent's comment, this lets you replace subpanels or even individual (sub)pixels as needed --- with a TV, if the panel is damaged, it's all or nothing.

I wonder what the weatherproofing (particularly heatproofing) on these things is like.

LEDs are more sensitive to heat than CRTs or incandescent lamps, but less than LCDs.

1) a LED "wall" is far brighter than a comparably sized TV, that's important when you place stuff high on a building

2) An ordinary TV is designed to be looked at from the front, a slight angle skews the colors and if it's extreme enough the screen gets totally unreadable.

3) A TV eats up tons of power, a LED wall not so much.

Regarding point 3: At 150 modules consuming about 25W each, your LED wall is consuming about 3750W max. An 80" TV will consume about 300W.

Power consumption of the LED wall will, however, be highly dependent on the displayed content. A white screen will consume most, a black screen basically nothing, but displaying only dark images is not exactly what LED walls are usually used for.

The equation is simple: The brighter, the more power you'll need, and an LED wall is, as you say, far brighter.

With a LED wall, only the lit pixels will consume power - the backlight of most TVs is full-on all the time. Only exceptions (iirc) are OLED TVs where the pixels themselves generate the light, and TVs which have their background light partitioned to achieve true(r) black by turning down all-black areas.
These particular modules consume seem to consume at most about 10W each. But yes, it is brighter than a TV.