Reverse Engineering und Custom Firmware einer Eurolite LED MAT-64

Eigentlich wollte ich den alten LED-Effekt nur reparieren, doch daraus entstand

das Projekt: Firmware 1.2 für Eurolite LED MAT-64

Eine neue Firmware schreiben für einen älteren Lichteffekt. Das Opfer ist ein Eurolite LED MAT-64 an dem schonmal was durchgebrannt war und ein paar LED defekt waren. Die defekte Leiterbahn wurde repariert und die LEDs die nur noch glimmten getauscht. Hier kam mir die Idee den vorhandenen Microcontroller gegen einen anderen zu tauschen. Einen mit einer eigenhändig geschriebenen Firmware für das Effektgerät. Im Prinzip ist das nichts anderes als eine LED Matrix mit 64 LEDs die durch 8x (SN) 74HC573 Register angesteuert werden. Der DMX-Protkoll Empfang + Sendevorgang wird durch einen SN75176BP ermöglicht, die “Sound to light” Funktion durch eine Kondensator-Microfon Schaltung mit einem LM358 IC. Nun gibt es noch für die Adressierung ein paar DIP-Schalter und als Herz des ganzen einen STC89C52RC Microcontroller.

Kurz zum STC89C52RC : ein chinesisches 8052 Derivat – (8kb ROM, 256b RAM, 3 Timer) mit chinesischem Datenblatt und sehr minimalen Infos im Internetz. Erhältlich bei ebay für minimales Geld (1€/Stk). Wie man einen 89C52RC flasht kann man hier nachlesen: Programmieren/Flashen eines STC89C52 RC Tutorial.

Los geht das Reverse Engineering – zuerst mal das offenslichtliche – die Platine. Es ist heutzutage nicht allzu schwer herauszufinden was welches Bauteil macht und welcher PORT/Pin dafür zuständig ist.

Hier mal die ausgebaute Platine von oben:

web-von-oben

Hier die Platine von unten mit den herausgefundenen Belegungen:

Layout-unten

Nachdem nun das offensichtliche erkannt wurde, und natürlich auch die Feinheiten wie z.B. PORT 3.5 welcher den DMX-Recieve am IC schaltet, geht es ans programmieren. Hierzu dient der C-Compiler // Linker meiner Wahl. Wer einen sucht mit dem man für diese Microcontroller Programme in C schreiben und compilieren kann, der kann sich mit der Freeware SDCC versuchen. Diese findet man hier: http://sdcc.sourceforge.net/.

Als erstes wurde ein Testprogramm geschrieben, mit dem die verschiedenen Funktionen getestet werden. Hier wurde meinerseits absolut kein Wert auf Programmierer-Ethik oder schöner Code gelegt, es dient einzig und alleine dazu alles zu testen, bevor eine neue Firmware dafür gemacht wird.

Hier mal der Quelltext den ich zum Testen genommen habe:

Nach flashen kam dieser Film dabei raus:

gelöste Probleme beim Projekt:

  • DMX Empfang mit 8052 Microcontrollern
  • DMX Senden mit 8052 Microcontrollern
  • Verschiedene Muster erzeugen
  • Laufschriften auf LED Matrixen.

Hier ist ein Video vom fertigen Projekt: es sind 2 LED MAT 64 mit geflashten uC´s bzw eigenen. Ich nenne die Firmware 1.2 da auf den Platinen von mir 1.1 stand.

 

Mittlerweile ist die Version 1.41 die finale Version geworden.

Sollte jemand etwas ähnliches probieren, hier mein Tool mit dem ich die Pattern errechnet habe, geht wohl für jedes Arduino oder 8052 Projekt wo mit Schieberegistern gearbeitet wird.

8×8 MATRIX Editor

This entry was posted in 8051 / 8052 Microcontroller, Allgemein. Bookmark the permalink.

2 Responses to Reverse Engineering und Custom Firmware einer Eurolite LED MAT-64

  1. Christoph Klee says:

    Hast du zufällig die Software noch ich könnte sie gebrauchen wäre über eine Antwort erfreut.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

54 − = 52

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">