Wie ich einen USB Stick selbst repariert habe

Vor einiger Zeit hatte ich mir mal einen 256gb USB3.0 Stick gekauft, um die Festplatte des Laptops etwas zu entlasten. Leider war er etwas klobig und so kam es wie es kommen musste: das Ding steckte im Rechner und wurde kräftig mechanisch belastet – sprich, verbogen. Und anschließend funktionierte er nur noch mit leichtem Verbiegen, um dann irgendwann komplett den Geist aufzugeben.

Seitdem lag das Ding nun da und ich fand das Problem einfach nicht. Vor kurzem habe ich mir als nachträgliches Geburtstagsgeschenk ein digitales Mikroskop gekauft (KKmoon Digital Elektronisches Mikroskop), das einem bei genau so einer Fehlersuche hilft:

Der Fehler war dann letztendlich mit einer so krassen Vergrößerung auch schnell ausgemacht – ein Pin am USB Stecker war gebrochen, mit bloßem Auge war das Problem kaum zu sehen:

Und so sah dann die Reparatur unter extremer Vergrößerung aus (nein, ich zittere sonst nicht so 🙂 ):
Ich habe einfach ein ca. 2mm langes Stück Draht von einem Wiederstand abgetrennt, dieses mit einer Pinzette auf den Bruch gelegt und dann versucht, irgendwie mit Zinn und Lötkolben an die Stelle zu kommen. Da ich sowas in der Größenordnung bisher noch nicht gemacht habe, sieht es sicher nicht ganz so professionell aus. Man sieht schon alleine an der Platzierung des Drahtes, wie fummelig die Angelegenheit war:

Aber: Der Stick funktioniert nun wieder und ich bin unglaublich stolz, das Teil vor der Mülltonne gerettet zu haben.

Wenn der 3D Drucker auf einmal mit Licht zeichnen kann und wunderbare Videos zaubert

An dieser Stelle fehlen mir wirklich die Worte – so begeistert bin ich vom Projekt von Josh Sheldon. Er hat einen 3D Drucker so modifiziert, dass dieser in Langzeitaufnahmen mit Licht zeichnet. Und das in einem Automatisierungsgrad und einem Professionalitätslevel, der einen einfach nur sprachlos werden lässt. Aber schaut es euch selbst an:

Wie man das 5 Sekunden boot Delay beim Digispark / Digistump attiny85 entfernt

Neben den ESP8266 Microcontrollern hatte ich mir zum Herumspielen auch ein Dreierpack attiny85 Microcontroller von Digispark bestellt. Diese sind sehr klein, stromsparend und können für verschiedenste kleine Aufgaben herangezogen werden. Der entsprechend installierte Bootloader macht die Entwicklung dabei besonders einfach, weil man mit der Arduino IDE arbeiten kann und das Gerät einfach nur anstecken muss und nicht irgendwelche Programmer benötigt oder so.

Diese Einfachheit hat allerdings einen Nachteil: immer, wenn man den attiny85 mit dem Strom verbindet, wartet der Bootloader 5-6 Sekunden lang, ehe das installierte Programm startet. Und hier möchte ich euch nun zeigen, wie ihr den Bootloader so modifizieren könnt, dass er direkt das Programm startet und statt der 5s Wartezeit mittels Jumper in den Programmier-Modus gebracht wird.

Dazu benötigt ihr:

Neuer Bootloader:
https://github.com/micronucleus/micronucleus/blob/v1.11/upgrade/releases/micronucleus-1.11-entry-jumper-pb0-upgrade.hex

Upload Software:
https://github.com/digistump/DigistumpArduino/tree/master/tools

Ladet euch das für euer Betriebsystem passende tar.gz herunter und entpackt es. In den entpackten Ordner könnt ihr der Einfachheit halber direkt die Hex Datei packen.

Der Upload ist dann eigentlich ganz leicht:

chmod +x micronucleus <-- die Binary ist nicht ausführbar, muss man also einmalig erledigen...
./micronucleus micronucleus-1.11-entry-jumper-pb0-upgrade.hex

Ihr werdet nun aufgefordert, den attiny85 anzustecken. Sobald das erledigt ist, wird der neue Bootloader gebrannt. Anschließend müsst ihr ca. 30s warten, dann das Gerät vom USB abziehen und den Pin GND mit Pin P0 verbinden. Nun zurück zur Arduino IDE wechseln, erneut den Upload des Programmes starten und wenn ihr aufgefordert werdet steckt ihr den attiny85 mit der GND-P0 Verbindung an. Nachdem die Firmware geschrieben wurde, zieht ihr das Teil wieder ab und trennt die Verbindung zwischen GND und P0. Wenn er nun wieder mit dem Strom verbunden wird, sollte der attiny85 sofort und ohne Pause das Programm starten.

[Quicktip] Befehl für den Reset / Restart eines ESP 12 / 32 Microcontrollers

Normalerweise kann man einen ESP8266 per Pin „Kurzschluss“ oder einfach über die entsprechende Taste auf dem Board Neustarten. Ich wollte das ganze aber per Code machen, und die Suche nach der Lösung hatte mich etwas verzweifeln lassen. Dabei ist es doch so einfach 🙂

esp_restart();