BARCO Strips

Der Bastli konnte an einem Flohmarkt im Sommer 2014 fünfzehn professionelle LED Streifen (BARCO MiSTRIP [1]) erwerben.

Ein solches LED Modul besteht aus 112 RGB LEDs, die alle separat angesteuert werden koennen. Leider hatten wir keinen dazu passenden Controller und konnten die Streifen erstmal nur als Briefbeschwerer vernwenden. Nachdem wir ein solches Modul zerlegt hatten, stellte sich heraus, dass ein Altera Cyclone II FPGA als Kontroll-Einheit verwendet wird. Das FPGA kommuniziert via RS485 mit dem Controller und steuert die LED-Driver der RGB LEDs ueber ein proprietaeres Protokoll an. Wie sich heraustellte, benutzt BARCO keine LED Driver von der Stange sondern Custom ASICs, womit nicht per se klar war, wie das FPGA mit diesen Chips kommuniziert. Unser Ziel war es dann, den FPGA neu zu programmieren und somit die Kontrolle ueber die LED Streifen komplett zu uebernehmen.

Nach einiger Zeit ist uns (insbesondere Andreas Traber & Dan Mugioiu) gelungen, mit Hilfe von Logic Analyzern und einigem Experimentieren mit anderen FPGAs und Microcontrollern das Protokoll der LED-Driver zu reverse engineeren, unsere eigene Firmware fuer das FPGA zu entwickeln und das FPGA neu zu flashen. Ab da konnten wir dann unser eigenes Protokoll ueber RS485 fahren und begannen eine Anbindung an TouchDesigner [2] zu bauen, was es uns erlaubt Effekte von TouchDesigner direkt an unsere LED Streifen zu senden.

Details

Das FPGAs auf den LED Streifen benutzt ein proprietaeres serielles Protokoll zur Kommunikation mit den LED Drivern, das mit 3 MHz getaktet ist. Es benutzt 4 unabhaengige Datenleitungen, um gleichzeitig 4 LED-Driver mit Daten zu versorgen. Die Aufloesung pro Farbe liegt bei 12 Bit, womit ca. 1500 Updates pro Sekunde moeglich sind. Auf dem FPGA laeuft ein NIOS 2 Softcore, der sich um die Kommunikation ueber RS485 kuemmert und die erhaltenen Daten in ein Block RAM auf dem FPGA schreibt. Wir haben ein eigenes Interface geschrieben, dass die Daten aus dem Block RAM liest und an die LED Driver schickt.

Das RS485 Interface laeuft zur Zeit mit 500 kBaud, womit ca. 200 Updates pro Sekunde moeglich sind. Wir planen das noch auf min. 1 MBaud zu erhoehen.

Die LED Streifen benutzen D-Sub 25 Buchsen ueber die die Spannungsversorgung mit 48V DC und das RS485 Interface laeuft. Diese Buchsen sind etwas in das Gehaeuse versenkt, womit normale D-Sub Kabel leider nicht mehr passen. Dieses Problem haben wir mit dem 3D-Drucker geloest und eigene Stecker designt, die perfekt sitzen und auch verschraubt werden koennen, damit sie sich bei einer Party nicht irgendwann loesen. Die Stecker htten wir ursprünglich an CAT5 Ethernet Kabel montiert, die gerade im Bastli rumlagen. Wir mussten leider feststellen, dass Ethernet-Kabel nicht besonders gut für diesen Zweck geeignet sind. Normale Ethernet-Kabel sind relativ starr und lassen sich nicht besonders gut verlegen. In der Eventtechnik werden normalerweise sehr flexible Kabel eingesetzt. Sommer Cable aus Deutschland hat sich daher bereit erklärt, uns mit hochqualitativem PUR DMX Kabel auszurüsten.

 

Sommer Cable

 

Da wir 15 LED Streifen haben, brauchen wir auch 15 RS485 Adapter. Ursprünglich hatten wir dazu einfach 15 RS485 USB-Adapter benutzt und diese an einem PC angeschlossen. Das ist aber nicht besonders praktisch und sehr mühsam. Deshalb entwickelten wir ein Interface-Board fuer das ZYBO FPGA Board [3], Verteilerboards mit Sicherungen, und brachten diese in einem modifiziertem 4HE Rack-Mount Gehäuse unter. Auf dem FPGA haben wir 16 UARTs instanziiert, welche durch das Interface-Board auf RS485 konvertiert werden. Die Kommunikation mit TouchDesigner erfolgt dann via TCP/IP oder UDP/IP. Mit dieser Loesung koennen wir das ZYBO, das Netzteil fuer die LED Streifen und die LED Streifen dann weit entfernt vom TouchDesigner PC betreiben, womit wir viel flexibler sind als zuvor. Bisher musste immer ein Laptop oder Desktop in der Naehe aufgebaut werden.

Seit Sommer 2015 ist das schöne Rack-Mount Gehäuse zusammen mit einem Computer und Wifi-Router (802.11ac, 2 x  867 MBit/s) in einem schicken 12 HE Case untergebracht. Damit haben wir auch für andere Party-Projekte mit Vernetzung jensten Spielraum. Das Rack-Gehäuse ist zudem mit VFD und Knöpfen ausgestattet, um IP und Kanaltest on-the-fly konfigurieren zu können.

Events

Das erste Mal haben wir die LED Streifen beim ESF 2014 aufgebaut. Markus Wegmann hatte dabei die ersten Visualisierungen gecoded. Besonders beliebt waren räumliche und Matrix-Effekt. An der Hertz 14 wurden diese dann zudem noch dynamisch vor Ort mit MIDI-USB Mischpult/DAW-Controller jeweils der Situation angepasst. Mit einem neuen Controller GUI in QT konnte dann auch vor der Party das Mapping komfortabel eingestellt werden. DJ-Publikum und Bar-Gänger kriegten das wohl stärkste Strobo-Licht in ihrem Leben zu spüren.

Am 31C3, dem Chaos Communication Congress in Hamburg wurden die Barcos mit dem neuen Rack-Mount Controller auf den Schiffscontainern in der Party Lounge installiert. Dabei wurde kurz vor Ort ein komplett neues Mapping programmiert, und das TCP-basierte Protokoll um ein paar coole neue Diagnostik Features ergänzt.

31C3 Lounge. Im Hintergrund rechts die LED Strips auf den Containern.

Am ESF15 und Hertz 15 konnten Markus Wegmann und Noah Hüsser dann mit einer neuen, echten 3D Implementierung auf Basis von OpenGL, sowie Audio-Equalizer die Massen überzeugen. Vor Ort wurde Live OpenGL gehackt und es entstanden jenste neue schöne Effekte. Aufbau und Abbau dauerten zudem nur noch zwei Stunden. Ende HS15 lancierten wir mit finanziellem Support von Lukas Schrittwieser und Mario Mauerer den Bastli LED Contest (http://bastli.ch/contest).

 

 


[1] http://www.barco.com/de/produkte-und-l%C3%B6sungen/led-displays/led-%E2%80%93-module-f%C3%BCr-kreatives-arbeiten/led-pixelstrip-mit-geringem-pixelabstand.aspx/?tab=downloads
[2] http://www.derivative.ca/
[3] http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,1198&Prod=ZYBO