Ich hatte neulich bemerkt, dass ich bei meinem Wechsel von Github zu Codeberg nicht alle meine Repositories erwischt hatte...
Ich hatte zwar das Repository migriert, das zeigt, wie man mittels eines Digispark oder allgemeiner mittels eines AtTiny85 Mikroprozessors ein zweizeiliges LCD-Infodisplay ansteuern kann um beliebige Nachrichten anzuzeigen. Vergessen hatte ich aber das Repo, mit dem meine Begeisterung für den AtTiny85 begann: Das zum Selberbauen von RGB Blinksticks. Ich habe das inzwischen korrigiert.
Damit ist es ja möglich, diverse Konfigurationen von smarten oder nicht so smarten RGB-LEDs als USB-Gadget an Rechner zu stecken und diese dann - zum Beispiel über MQTT - Signale abgeben zu lassen. Ich hatte eines dieser Gadgets mit einem Ring aus 12 NeoPixel-LEDs realisiert und es dann zweckentfremdet für eine Tastaturbeleuchtung meines Laptops.
Nun kam es mir aber zu umständlich vor, dafür jedesmal ein Skript zum Ein- und Ausschalten bemühen zu müssen, daher habe ich den entsprechenden Branch des Projektes nun noch um die Möglichkeit erweitert, einen Taster auszulesen. Dies, zusammen mit dem Code zum Entprellen war zu groß, um noch in den Flash des Mikroprozessors zu passen, daher wendete ich anderthalb Stunden intensiver Arbeit auf, diese 160 Bytes noch irgendwie einzusparen - in sehr übersichtlichem Code, in dem jede einzelne Zeile etwas zur Funktion beitrug!
Das war eine interessante Erfahrung, denn viele Wege, die ich versuchte hatte der Compiler offenbar bereits selbst entdeckt und bereits vorweggenommen. Denn oft, wenn ich eine neue Variante ausprobierte stellte sich heraus, dass sich an der Grüße des finalen Produkts nichts geändert hatte.
Ich habe es dennoch geschafft - das Ergebnis lässt sich jetzt nicht nur in AtTinys flashen, die den Mikronukleus-Bootloader verwenden - es ist klein genug, um auch in solchen mit dem DigiSpark-Bootloader verwendet zu werden.
Nachdem ich an diesem Punkt angekommen war und im Zuge dieser Operationen auch nochmal mit dem Projekt zur Kopplung eines I2C-LCD-Displays an USB mittels AtTiny85 herumgespielt hatte fiel mir ein, dass ich ja noch ein I2C-OLED-Display in der Grabbelkiste gesehen hatte.
Also verdrahtete ich das ganze fix und wollte analog dasselbe erreichen wie mit dem LCD: Verbinden mittels USB mit PC und alles, was an die entstehende serielle Schnittstelle geschickt wird, wird auf dem OLED angezeigt.
Hier stieß ich dann wirklich auf einen Endgegner: Es dauerte Ewigkeiten, bis ich den Code so sehr eingedampft hatte, dass er wenigstens mit dem Micronucleus.Bootloader in einen AtTiny85 zu quetschen war. Aktuell denke ich, dass es unnmöglich sein dürfte, dies mit einem Digispoark-Bootloader zu schaffen.
Immerhin habe ich jetzt in diesen winzigen Flash die Funktionalität zur
Prototyp zeigt eine Message an
Zum Abschluss noch einige unsortierte Links, die mir bei der Minimierung der Codegröße geholfen haben:
This is a library for an ATTiny85 to use an SSD1306 powered, 128x64 pixel OLED, over I2C
TinyWireM vs. Wire für ATtinys
TinyTerminal - USB controlled OLED based on ATtiny85
V-USB with ATtiny45 / ATtiny85 without a crystal
Interface an I2C LCD with Arduino
Fonts for use with the Tiny4kOLED project.
Storage Server Konfiguration I
31.01.2021
Ich habe zu Weiterbildungszwecken aus alten PC-Komponenten ein Serversystem zusammengebaut und stelle hier die Konfiguration als Storage-Server vor
WeiterlesenAndroid Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Go GUI Gui Hardware Hardware. Links Java Java. Komponenten Jupyter JupyterBinder Komponenten Links Linuc Linux Markdown Markup Music Numerik OpenSource PKI-X.509-CA Präsentationen Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
Asymmetrische KryptographieIch habe mich mit der Idee schon länger getragen: Nochmal einen Rundumschlag zu asymmetrischer Kryptographie zu machen. Dabei werde ich mich auf Demonstrationen der einzelnen Konzepte und Operationen mit Beispielcode konzentrieren und zu jedem der vorgestellten Konzepte mehr oder weniger ausführlich bezüglich der Einsatzszenarien und Vor- und Nachteile Stellung beziehen
WeiterlesenNach der letzten losen Zusammenstellung (für mich) interessanter Links aus den Tiefen des Internet von 2025 folgt hier gleich die erste für dieses Jahr:
WeiterlesenEs existieren diverse Angebote in den Weiten des Internet, die dabei unterstützen (sollen), Zertifikate zu klonen...
WeiterlesenManche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.
Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.
Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...
PS: Meine öffentlichen Codeberg-Repositories findet man hier.