Flaschen Taschen

From Noisebridge
Jump to navigation Jump to search

Noisebridge Logo FlaschenTaschen.jpg

What's the project?

FlaschenTaschen is a 10’ by 9’ (3m x 2.75m) video display made out of clear glass bottles, milk crates, RGB LED strings (with a total of 1575 LEDs), and a controller board. Each bottle is capped with a single addressable RGB LED. The bottoms of the bottles act as lenses for the emitted light. The project has a German name as homage to c-base’s Mate-Light project. After seeing Mate-Light at Chaos Computer Congress, we were inspired to build a similar project at Noisebridge to present at the 2016 Maker Faire.

Another inspirational build is the Muro de botellas project.

Our goal was to have it completed for Maker Faire 2016 to be shown as part of our booth and we were two weeks ahead of schedule. After the MakerFaire, the display will be permanently installed within Noisebridge and possibly made available for events.

Our code and hardware that drives up to 16 LED strips from a Raspberry Pi is on Flaschen-Taschen github. We only need 9 strips in this project, one for each crate column. The update rate of the full FlaschenTaschen display is up to 160fps!

The breakout board, driving up to 16 SPI LED strips.

Here is the first view of the completed project

Plasma on FlaschenTaschen

Showing the Plasma written By Carl - Find the code for this demo here https://github.com/cgorringe/ft-demos

Back of the crates

Backstage view.

Network protocol

The network protocol is quite simple: essentially send a PPM picture (P6) in a UDP packet to ft.noise:1337.

For instance, try the following all in the comfort of you shell (in bash, to be precise, that conveniently provides the /dev/udp pseudo-path):

 bash$ jpegtopnm myimage.jpg | pnmscale -xysize 45 35 > /dev/udp/ft.noise/1337

Flaschen Taschen accepts a footer that defines an offset in x,y space as well as a layer z index. To write images which cover the default demo visualization, you can send a higher -index by appending this footer after your sends. For instance, to position the image at (x=0 y=0, z=5):

 bash$ { jpegtopnm myimage.jpg | pnmscale -xysize 45 35; echo 0 0 5; } | cat > /dev/udp/ft.noise/1337

(There are also two additional protocols that can be enabled on the server-side: OpenPixelControl and PixelPusher).

We added an extension to the PPM format that allows to set an (x/y)-offset and a stacking-layer, see details on github.

There are sample utilities in the repository to send and scroll arbitrary images (including animated gifs), videos or text. There is a C++ class that you can use right away to send images to FlaschenTaschen including a couple of examples. It is also extremely simple to write your own client in any language that supports networking (See protocols section in documentation).

See all the details here: https://github.com/hzeller/flaschen-taschen

List of Devices at Noisebridge running the FlaschenTaschen Protocol

  • FlaschenTaschen - Host: ft.noise
  • Kleine FlaschenTaschen - Host: ftkleine.noise
  • Library bookshelves - Host: 10.20.1.70 (as of 2016-06-05)
  • Noise Square table - Host: 10.20.0.251 (as of 2016-06-05)

Current Mechanical Design Documentation

This .PDF file is the current drawing set. Please take a look.

https://noisebridge.net/images/8/8c/2016_0518_FlaschenTaschen_Sheet1-0_AsBuilt_Noisebridge.pdf

2016 0518 FlaschenTaschen Sheet1-0 AsBuilt Noisebridge.jpg