Ich hatte mir ja vor einiger Zeit einen Bus Pirate gekauft (und damit dann mein OLED befeuert). Gerade bin ich über einen Clone gestolpert der vielleicht gerade für AVR-Bastler — der originale Pirate basiert auf PIC — interessant sein könnte: Bus Ninja.

Q. Why is it called Bus Ninja?
A. Because Ninjas are better than Pirates and Yarrrrrduino sounds silly.

Das sollte also auf einem Arduino funktionieren, den hat vielleicht der eine oder andere eh rumliegen. Wenn ich jetzt spontanen Bedarf hätte könnte ich mir mit den Teilen die ich habe was passendes zusammenstellen.

Allerdings habe ich aktuell keinen Bedarf: den Piraten habe ich ja schon, und der wird mir auch weiter gute Dienste leisten. Bin immer noch überzeugt von dem Ding, der Ninja nur nach einer interessanten Alternative.

Vielleicht wäre die Firmware auch für den USBprog portierbar. Der ist halbwegs verbreitet, und das würde den meiner Meinung nach nochmal deutlich aufwerten. Meinen USBprog wollte ich ursprünglich auch als Logic Sniffer benutzen, das habe ich aber nie vollständig befriedigend hingekriegt. Dafür habe ich mittlerweile den OBLS, seitdem ist der USBprog nur noch Programmer — und als solcher eigentlich zu schade…

Diesen Text habe ich erst 2015 aus dem alten CMS übernommen, der war 2011 noch nicht im Blog.

Testschaltung auf dem Steckbrett

Testschaltung auf dem Steckbrett

Ich habe noch nicht viele Mikrokontroller-Projekte gemacht, aber mehr als eines beinhaltete die Steuerung von LEDs mittels Pulsweitenmodulation (PWM). Mit einer oder mehr LEDs ist das eine Sache die den kleinen Controller schon halbwegs stresst, aber wenn der Controller neben dem Dimmen von LEDs auch noch andere mehr oder weniger komplizierte Aufgaben hat geht einem schnell das Timing in die Brüche mit denen die LEDs angesteuert werden. Ganz zu schweigen vom Programmcode, der mit jeder weiteren Aufgabe unleserlicher wird die ‚zur gleichen Zeit‘ ablaufen soll.

In meinem nächsten Projekt muss ich wieder LEDs faden, daher habe ich nach einem einfacheren Weg gesucht das zu machen. Das Projekt umfasst das Lesen von Speicherkarten, Kommunikation mit einer Echtzeituhr und die Ausgabe von Text auf einem LCD-Display, also bin ich fast sicher dass ich es nicht hinkriegen würde fünf Kanäle zuverlässig zu steuern. Und so viele werden es wohl mindestens werden.

Der erste Plan war, einen fertigen Chip dafür zu benutzen. Ich habe mich umgesehen und das beste was ich fand war ein Teil von Philips (PCA-irgendwas, ich habe die Nummer vergessen), das über einen I2C-Bus gesteuert werden kann. Das Teil kann bis zu acht LEDs ansprechen, aber neben ‚an‘ und ‚aus‘ gibt es nur zwei Helligkeiten die man den Ausgängen zuweisen kann. Diese sind dann wiederum variabel, aber trotzdem kann man so nicht einen Kanal mit 20%, einen mit 50% und einen mit 80% belegen. Außerdem gibt es das Teil nur als SMD, und meine Fähigkeiten am Lötkolben reichen für die Verarbeitung so kleiner Teile leider nicht aus.

Also wuchs der Plan, einen separaten Controller für die Ansteuerung der LEDs zu nehmen, der von einer Art ‚Hauptprozessor‘ angesprochen wird — idealerweise mittels I2C-Bus, da ich ja später noch mehrere andere Geräte benutzen möchte die an den gleichen Bus kommen könnten. Also habe ich einen ATtiny2313 in mein Breadboard gesteckt, den mit einem 20MHz-Quarz getaktet, und wir haben versucht so viele LEDs wie möglich zu steuern…

Pulsweitenmodulation

Die Helligkeitssteuerung von LEDs wird üblicherweise mit Pulsweitenmodulation gemacht. Ich habe das auch schon in mehreren Projekten benutzt.

Was bisher geschah

Bis jetzt habe ich immer alle LEDs eingeschaltet die eine Helligkeit grösser als 0 annehmen sollten, abgewartet bis die erste LED ausgeschaltet werden muss, die LED ausgeschaltet, auf die nächste gewartet, und so weiter. Nach einer bestimmten Zeit sind alle LEDs aus und ich fange von vorne an.

Ich versuche mal, das an einem kleinen Bild zu verdeutlichen:

In diesem Beispiel dauert ein kompletter Durchlauf des PWM-Zyklus 50 Zeiteinheiten. Die erste LED ist die ganze Zeit durch eingeschaltet (100%), die zweiter für 40 von 50 Zeiteinheiten (80%), die dritte für zehn (20%) und die fünfte für 30 Zeiteinheiten (60%). Die vierte LED ist aus (0%). Man sieht, dass der PWM-Zyklus nach 50 Zeiteinheiten von vorn beginnt.

Ein Nachteil dieser Technik ist, dass sie langsam ist. Und sie wird mit jedem weiteren Kanal den man ansteuern möchte langsamer. Wir haben es versucht, aber wir waren auf diese Weise nicht in der Lage mehr als fünf LEDs anzusteuern ohne dass sie sichtbar anfingen zu flackern.

Wir haben auch versucht, alle Zustände der Pulsweitenmodulation in einem Array abzulegen, so dass der Algorithmus nur noch durch das Array wandern und die jeweiligen Werte darstellen muss. Das ging aber auch nicht, weil unser Controller nicht über genügend RAM verfügt um so ein Array abzulegen.

Thomas‘ Idee

Nach einigen Tests die mehr oder weniger schlechte Ergebnisse brachten hatte Thomas eine großartige Idee wie man die PWM implementieren könnte. Sie arbeitet auch mit einem Array für alle Zustände, allerdings werden die Zustände nicht gleich lange dargestellt. Der erste Status wird nur für eine Zeiteinheit angezeigt, der zweite für zwei Einheiten, der dritte für vier, und so weiter. Auf die Weise werden die LEDs zwar während eines PWM-Zyklus‘ mehr als nur einmal an- und ausgeschaltet, aber das tut niemandem weh.

Ich versuche mich noch einmal an einem Bildchen:

Hier sehen wir also eine Pulsweitenmodulation mit acht Kanälen, die bis zu 64 verschiedene Helligkeiten annehmen können. Kanal 1 wird nur für eine Zeiteinheit eingeschaltet, Kanal 2 für zwei Einheiten, und so weiter. Interessant ist der fünfte Kanal: die LED wird für eine Zeiteinheit ein-, dann für zwei Einheiten aus-, und dann wieder für vier Einheiten eingeschaltet.

Wir sehen uns mal ein komplexeres Beispiel an — in dem auch hellere LEDs vorkommen:

Die Kanäle 1 bis 8 zeigen die Helligkeiten 33, 18, 23, 32, 21, 63, 64 und 24.

Helligkeit 75 auf dem Oszilloskop

Helligkeit 75 auf dem Oszilloskop

Der Vorteil dieser Technik ist, dass man sich einerseits nur eine begrenzte Anzahl von Zuständen merken muss (sechs in diesem Beispiel), und andererseits die Schleife durch die Zustände sehr einfach ist: Status n wird an die Ausgänge geschickt, dann wird für 2^(n-1) Zeiteinheiten gewartet, dann folgt der nächste Zustand.

Jeder Zustand wird durch ein Bitmuster dargestellt, das im jeweiligen Schritt an die Ausgänge geschickt wird. Mit anderen Worten: eine Spalte die im obigen Bild am Anfang einer Wartezeit steht. In diesem Beispiel haben wir also sechs Zustände: 01010101, 01100110, 01110100, 11100000, 11110110 und 01101001. Der erste wird für eine Zeiteinheit dargestellt, der zweite für zwei Einheiten, der dritte für vier, und so weiter…

Ein weiterer Vorteil dieser Technik ist, dass die Anzahl der Ausgänge fast unerheblich für die Systemlast ist. Nur wenn neue Helligkeiten angefordert werden muss der Algorithmus die Zustände neu berechnen, aber das ist schnell gemacht. Mit diesem Algorithmus ist es also möglich, unterschiedliche Helligkeiten auf allen freien Pins eines Controllers anzuzeigen. Für einen ATtiny2313 heisst das, dass man 13 LEDs faden kann während man immer noch in der Lage ist mittels I2C mit anderen Geräten zu kommunizieren!

Kommunikation via I2C

I2C zu sprechen ist zwar keine Raketenwissenschaft, aber da das eine Menge mit Bit-Shifterei zu tun hat wenn man es implementieren will habe ich da eine fertige Bibliothek benutzt.

Genommen habe ich die Bibliothek von Donald R. Blake, er hat die freundlicherweise unter die GPL gestellt und sie auf avrfreaks.net veröffentlicht. Man findet das originale Posting im Thread ‚8 bit communication between AVR using TWI‚, und einige Nachträge in ‚I2C Slave on an ATtiny45‚.

Danke für die Arbeit, Donald! Und dafür dass Du eine freie Lizenz benutzt hast.

Da sein Paket nur als Attachment im Forum erhältlich zu sein scheint, und ich mir nicht sicher bin für wie lange das der Fall sein wird, habe ich es in den Tarball dieses Projektes mit aufgenommen.

Benutzung

Man sollte dieses Gerät benutzen können wie jeden anderen I2C-Slave auch:

Anschließen

Die folgenden Pins des Controllers müssen mit der Schaltung verbunden werden:

  • Pin 1 – Reset – sollte über einen 10k-Widerstand an VCC angeschlossen werden
  • Pin 4 und 5 – XTAL1 und XTAL2 – verbunden mit einem 20MHz-Quarz, dann mit 22p-Kondensatoren an GND
  • Pin 10 – GND – Masse
  • Pin 17 – SDA – I2C-Daten
  • Pin 19 – SCL – I2C-Takt
  • Pin 20 – VCC – 5V

Die I2C-Daten und -Taktleitungen sollten mit 4,7k-Widerständen terminiert werden um die Leitungen auf VCC hoch zu ziehen. An alle übrigen Pins können LEDs angeschlossen werden. Die Anordnung ist wie folgt:

  • Pin 2 – PD0 – Kanal 0
  • Pin 3 – PD1 – Kanal 1
  • Pin 6 – PD2 – Kanal 2
  • Pin 7 – PD3 – Kanal 3
  • Pin 8 – PD4 – Kanal 4
  • Pin 9 – PD5 – Kanal 5
  • Pin 11 – PD6 – Kanal 6
  • Pin 12 – PB0 – Kanal 7
  • Pin 13 – PB1 – Kanal 8
  • Pin 14 – PB2 – Kanal 9
  • Pin 15 – PB3 – Kanal 10
  • Pin 16 – PB4 – Kanal 11
  • Pin 18 – PB6 – Kanal 12
Ansprechen

In meinen Tests habe ich einen ATmega8 mit der I2C-Bibliotkek von Peter Fleury (http://jump.to/fleury — auch an Ihn Dank für die freie Lizenz!) als I2C-Master benutzt.

Eine typische Funktion um den Dimmer anzusprechen sieht wie folgt aus:

Beispiele

I2C-Dimmer auf dem Testbrett

Hier sieht man alle LEDs in verschiedenen Geschwindigkeiten faden.


Der Code auf dem I2C-Master der dieses Muster erzeugt sieht in etwa wie folgt aus:

Sichtbare PWM

Hier sieht man das Signal einer LED, die von 0 bis 127 fadet. Leider hat mein Oldtimer-Oszilloskop im mittleren Teil Probleme korrekt zu triggern.


Dies ist der Code der auf dem I2C-Master lief:

Nachteile

Bis jetzt hat das Teil in allen getesteten Situationen prima funktioniert. Alles läuft wie geplant.

Ich schätze, dass dieser Dimmer im Vergleich zu fertigen Controller-ICs etwas langsam ist. Ich kann zwar kein Flackern in den LEDs erkennen, da sie immer noch ziemlich schnell geschaltet werden (etwa einmal alle 6ms, also ein Flackern mit 166Hz — zu schnell für mich).

Danke!

Wieder mal geht mein besonderer Dank an Thomas Stegemann. Er hatte die tolle Idee für den PWM-Algorithmus, und ich bin immer wieder beeindruckt von der Geduld mit der er mir eine dermaßen kranke Sprache wie C näher bringt…

Lizenz

Dieses Projekt steht unter der GNU General Public License (GPL). Eine Kopie der GPL liegt dem Paket in der Datei License.txt bei.

Download

Irgendwann will ich mal selbst eine Platine zusammenbraten auf der ein echtes Linux läuft. Ohne einen besonderen Einsatzzweck, einfach nur weil es geht. Inspiration in die Richtung bietet Gnublin. Im Prinzip ist das schon alles, und sogar komplett Open Source. Einschließlich des Schaltplans. Nur der ARM-Controller lässt sich nicht von Hand löten…

Ich hatte mir das schön einfach vorgestellt. Wie meistens. Und wie meistens geht es dann in die Hose.

Naja, völlig in die Hose ist es nicht gegangen. Ich habe Heute mein Voltcraft (bzw. Metex) MS-9140 repariert. Bei der Einrichtung meines Spielzimmers bin ich da unglücklich angestoßen und habe eine Polklemme des Netzteils abgebrochen. Die musste ersetzt werden.

Erstmal war es nicht einfach einen passenden Ersatz zu kriegen. Reichelt hat solide Teile, die aber mindestens um Faktor zwei zu groß sind. Pollin hat nette Klemmen, die aber wohl eher für Lautsprecher sind. Für so ein billiges China-Messgerät kriegt man Ersatzteile offenbar am besten… in China. Per eBay habe ich mir eine Tüte Polklemmen kommen lassen. Vier rote, vier schwarze. Direkt aus Hong Kong für 4,97 Euro incl. Versand. Nach knapp zwei Wochen sind die Gestern angekommen.

Heute habe ich mich dann quer durch das Gerät geschraubt. Ich dachte ich könnte einfach die Frontplatte abnehmen und dann mit weit ausladenden Bewegungen die Ersatzteile einschrauben. Pustekuchen.

Ich weiß nicht wie die das machen. Entweder können die besser puzzlen als ich. Oder die haben Mäuse zum Schrauben abgerichtet. Oder da arbeiten sehr kleine Kontorsionisten in der Endfertigung. Ich musste drei Platinen abschrauben um überhaupt erstmal in Sichtweite der auszutauschenden Teile zu kommen. Und an der Stelle wo die sitzen ist es für meine Wurstfinger auf jeden Fall deutlich zu eng.

Naja, ich habe es irgendwie geschafft. Zwar völlig anders als geplant, aber es funktioniert jetzt. Statt alle sieben Klemmen auszutauschen habe ich nur eine eigentlich intakte Klemme ausgetauscht und die dann an die Stelle der kaputten versetzt. Leider passten meine Ersatzteile nur äußerlich, für die anderen Klemmen wären die Schraubanschlüsse zu kurz gewesen.

Gerade habe ich erstmalig von GKOS gehört. Das ist wohl ein Konzept für eine Tastatur mit nur sechs Tasten, gedacht für kleine Eingabegeräte. Wenn man sich die Beispielvideos ansieht scheint das auch ganz passabel zu funktionieren, auch wenn ich mich frage wie lange ein Bewegungslegastheniker wie ich bräuchte um das zu verinnerlichen…

Vielleicht wäre das mal wieder ein interessantes Bastelprojekt. Wie man grundsätzlich eine USB-Tastatur baut weiss ich ja durch das Dulcimer-Projekt

Um Verwechslungen vorzubeugen...

Um Verwechslungen vorzubeugen…

Dieser Text stand 2011 noch nicht im Blog, ich habe ihn 2015 aus dem alten CMS übernommen.

Die Kiste habe ich für unsere Hochzeit im Sommer 2010 gebaut.

Ich weiß nicht mehr wie ich auf die Idee gekommen bin, ich glaube ich hatte mal was ähnliches im Netz gesehen. Nachdem alles andere für die Feier organisiert war hatte ich noch etwas Zeit. Und diese Idee…

Hardware

Bedienungsanleitung

Bedienungsanleitung

Das meiste Material hatte ich noch zu Hause. Ausreichend Holz, Stoff für den Vorhang, ein ungenutztes Notebook. Und vor allem eine Testschaltung die ich mir für meine USB-Basteleien gebaut hatte. Kaufen musste ich nur eine Webcam, einen Feuchtraumtaster und zwei Leuchtstoffröhren.

Leider habe ich vergessen ein Bild von der kompletten Kiste zu machen. Es war im Prinzip ein großer Kasten aus OSB-Platten, etwa 2,20m hoch, 1,20m breit und 1m tief. An einer Seite war der Eingang, verschlossen durch einen dicken braunen Vorhang. Innen befand sich eine Bank, gegenüber davon die Technik.

Sichtbar waren da zwei einfache Leuchtstoffröhren die ordentlich Licht gemacht haben, ein rechteckiger Ausschnitt mit einem Bildschirm, ein kleines rundes Loch mit einer Linse und besagter Feuchtraumtaster.

Unsichtbar hinter der Wand waren ein bewährtes IBM Thinkpad T43 nebst Netzteil, eine Logitech Webcam Pro 9000 und etwas Elektronik.

Die Schaltung hatte ich gebaut um nicht für jedes USB-Projekt wieder die gleichen Sachen auf dem Breadboard zusammenstecken zu müssen. Es ist im Prinzip das gleiche wie in meinem USB-LED-Fader, dem USB-Servo oder den Dulcimer-Tastaturen. Ein ATmega8 Mikrocontroller und etwas Vogelfutter für die USB-Schnittstelle, am anderen Ende eine Pfostenleiste über die alle unbenutzten Pins des Controllers auf dem Steckbrett benutzt werden können.

Die Kiste war nicht für die Ewigkeit gebaut, also hatte ich zwei der Pins einfach mit Klemmkabeln an den Feuchtraumtaster angeschlossen.

Software

Die Schaltung des USB-Servos passt auch hierDie Schaltung des USB-Servos passt auch hier

In diesem Projekt gibt es zwei wichtige Softwarekompenenten: das Fotokistenprogramm auf dem Notebook und die Firmware auf dem Controller.

Das Notebook war einfach zu bestücken. Erst wollte ich selbst ein passendes Programm schreiben, habe aber nach kurzer Suche etwas gefunden das exakt die Aufgabe erfüllt: Cheese. Das ist praktisch ein Fotoautomat. Man drückt die Leertaste, dann nimmt das Programm im Abstand von ein paar Sekunden vier Bilder auf. Einfach und perfekt.

Der Mikrocontroller war nicht ganz so trivial zu programmieren, aber ich hatte schon die Lösung in der Schublade. Mit einer leicht angepassten Dulcimer-Firmware hat sich die Schaltung dem Computer gegenüber wie eine einfache USB-Tastatur verhalten. Ich musste nur noch im Schaltplan nachsehen welche Pins ich verbinden musste um einen Leertastendruck zu erzeugen.

:arrow: In Kombination mit dem Feuchtraumtaster hatte ich so die vermutlich einzige Feuchtraum-Leertaste der Welt! ;-)

Die Kombination hat perfekt funktioniert: man nimmt in der Kiste platz und sieht sich im großen Display. Nach Druck auf die Taste gab es vier Mal in Folge je einen kurzen Countdown und eine Aufnahme.

Die Bilder landen in einem Verzeichnis und tragen jeweils den Aufnahmezeitpunkt im Dateinamen. Mit einem netten Einzeiler lassen sich die Bilder schick anordnen, so sieht man immer vier Bilder einer Serie in einem:

Ergebnisse

Faxen in der Kiste

Faxen in der Kiste

Ich hatte versichert dass ich die Bilder nicht ins Netz stellen würde, deshalb gibt es hier nur ein unkenntliches Beispiel. Die Namen der abgebildeten Personen sowie der ursprüngliche Inhalt der Flasche sind der Redaktion bekannt. :-)

Die Qualität hat mich wirklich überrascht. Die Kamera stellt wirklich gestochen scharf dar, und durch die Leuchtstoffröhren war alles schön gleichmäßig ausgeleuchtet.

Die Kiste ist am Polterabend und bei der eigentlichen Hochzeitsfeier zum Einsatz gekommen. Vom Poltern haben wir so mehr als 500 Bilder bekommen, von der Hochzeit sogar über 800. Fast alle Gäste haben den Weg in die Kiste gefunden, die meisten mehrfach. Und in Rudeln: teilweise waren sieben Leute gleichzeitig in der Kiste…

Der Vorhang hat sich als grandioses Ausstattungsmerkmal erwiesen. Auf vielen der Bilder sieht man den Leuten an dass sie nicht damit gerechnet haben dass man sich die Bilder später nochmal ansehen kann… ;-)

Wir freuen uns über jedes einzelne Bild, wir haben durch diese Kiste und vor allem die Spontaneität unserer Gäste echt einmalige Erinnerungen an einen der schönsten Tage unserer Leben. Danke nochmal allen die da waren!

Ich habe gerade ein weiteres Bastelprojekt online gestellt: die Fotokiste die den meisten Gästen unserer Hochzeit im Sommer 2010 noch in Erinnerung sein dürfte. Naja, dem einen oder anderen vielleicht auch nicht mehr… aus dem einen oder anderen Grund. :-)

Diesmal ohne Downloads, aber es war eh nur eine Kombination aus dem Schaltplan des USB-Servos und der Firmware der Dulcimer-Tastaturen.

Ich habe die Kiste mittlerweile wieder zerlegt. Die ist nur auf dem Polterabend und der Hochzeit eingesetzt worden. Dabei sind aber mehr als 1.300 Bilder entstanden — und wir freuen uns immer noch über jedes einzelne. :-)

Ach ja, und: Nein, ich habe nicht nur geheiratet um da ein Mikrocontroller-Projekt raus zu machen! ;-)

Während Heute das Netz vermutlich von anderen Apple-Bezogenen Nachrichten überschwemmt wird weise ich mal auf eines der coolsten Bastelprojekte hin die mir in letzter Zeit vor den Mauszeiger gekommen sind: den Macintosh SE/arm. Das ist ein Apple Macintosh SE/30 (gebaut zwischen 1989 und 1991) dessen Innenleben ein talentierter Holländer auf ARM-CPU und Linux umgerüstet hat, so dass er das Gerät als Fileserver nutzen kann.

Kern der Maschine ist jetzt ein Seagate FreeAgent DockStar. Das ist ein kleines Linux-System das man eigentlich als NAS benutzt. Darauf läuft Debian, angeschlossen sind zwei Festplatten. Soweit so gut, aber das Gerät sollte wirklich voll funktional bleiben. Samt Bildschirm und Tastatur…

ADB-Tastatur und -Maus kann man vergleichsweise simpel per USB anschliessen (das war nebenbei bemerkt der Grund weshalb ich bei dem Projekt gelandet bin). Sound ist schon eine größere Herausforderung. Was mich aber schwer beeindruckt hat ist die Video-Karte die der Typ selbst entworfen und entwickelt hat. Basierend auf einem weiteren ARM-Prozessor, und tatsächlich in der Lage die alte Röhre des Macs zu befeuern. Das Ding hängt auch per USB an dem DockStar, und dank eines eigens entwickelten Framebuffer-Treibers für den Linux-Kern kann er sogar X darstellen — oder einen Mac-Emulator… :-)

Ich verneige mein Haupt in Ehrfurcht…

TI eZ430-Chronos

TI eZ430-Chronos

Ich bin beeindruckt. Ich habe am 30.08. bei Texas Instruments eine eZ430-Chronos bestellt. Abends. Heute Mittag — also keine 72 Stunden später — hat ein FedEx-Mitarbeiter Angst vor unserem Hund. Unbegründet, aber das ist nicht der Punkt: er hatte die Uhr dabei.

Erstmalig habe ich im Februar davon gelesen. Damals habe ich noch von einem Preis unter 50 Euro geschwärmt, durch eine aktuelle Aktion von TI konnte ich das Kit jetzt für weniger als 18 Euro kaufen. Selbst wenn das keine komplette Entwicklungsumgebung wäre ist der Preis nett für eine Armbanduhr. OK, die Uhr an sich ist nicht sonderlich schick. Ganz schön klobig, ehrlich gesagt. Aber der Spaß zählt… :-)

Wann ich dazu komme mich mal intensiv mit dem Ding zu beschäftigen steht noch in den Sternen. Ideen habe ich allerdings schon einige. Mehrere Sensoren (3-Achsen Beschleunigungs-, Druck- und Temperatur-Sensor) laden zum Spielen ein, und das spannendste: die Uhr funkt auf 868MHz (meine, die gibt es auch mit 433MHz), also in dem Bereich des ISM-Bandes in dem Funkschalter und -thermometer arbeiten. Und genau da gedenke ich — im Wortsinn — zwischen zu funken. Irgendwann…

Bis dahin kann ich mir ja schonmal die Liste der fertigen Projekte durchlesen, da ist schon einiges inspirierendes dabei.