 Guten Morgen. Ich sehe, ihr seid alle fit, ihr seht irgendwie gut aus, nicht so zerknittert, wie ich mich fühle. Ja, willkommen zu Tag 3. Heute ist Samstag, es ist der erste Talk im Medientheater und Vortragssaal, sorry, ja. Habe ich nicht gerade etwas über zerknittert gesagt, so ist das hier drin. Anyway, Hardware-Reverse-Engineering, re is fun. Man kommt da erstaunlich weit und wenn man ein bisschen weiß, wie es geht, dann kommt man plötzlich in Konsolen dran oder Blick wie mehrlageige Boards aufgebaut sind und wie man da weiter kommt und plötzlich erschließen sich ganz neue Universen und so. Das ist nicht immer ganz einfach auf dem ersten Blick, aber Bersetjo hat rausgefunden, wie es geht oder macht es halt eben auch als Hobby und schon eine Weile hat das Ganze auch mal studiert, also nicht reverse-engineering, aber Elektrotechnik. Und ja, erzählt uns jetzt ein bisschen was da drüber. Dann Applaus. Ja, danke für die Einführung. Ich freue mich, dass zu so früher Stunde hier schon der Saal fast voll ist, bin beeindruckt und möchte den Samstag, wie gesagt, schon so ein bisschen starten, mehr so ein bisschen die Grundlagen von Hardware-Reverse-Engineering zu beleuchten. Das heißt, das soll jetzt wirklich so ein bisschen 101 sein. Also seid nicht enttäuscht, wenn ihr irgendwie schon große Elektrotechnik Vorerfahrung habt, dann werdet ihr wahrscheinlich nicht so viel Neues lernen, aber vielleicht doch das ein oder andere. Vielleicht mal kurz Handzeichen, wer würde sagen, dass er irgendwie Elektrotechnik Vorerfahrung hat. Und ja, das ist tatsächlich ganz gut gemischt, also einige, aber viele eben auch nicht. Das ist eigentlich gut. Also was wir uns angucken möchten, warum überhaupt Hardware-Reverse-Engineering machen? Was kann man daraus ziehen und was möchte man letzten Endes damit erreichen? Dann so ein bisschen Rechtliches. Da hat sich ja vor ein paar Jahren das so ein bisschen geändert in Europa, wie die rechtliche Situation von Reverse-Engineering generell ist. Dann müssen wir natürlich Know-Your-Enemies ein bisschen wissen, wenn wir Reverse-Engineering machen wollen. Wie läuft eigentlich Elektrotechnik-Engineering ab? Kennet einen Feind? Was müssen wir uns da so ein bisschen vor Augen führen? Und generell kann man eigentlich sagen, wenn man so ein bisschen versteht, wie Hardware eigentlich entsteht, dann ist es auch einfacher, den umgekehrten Prozess zu machen und sich eben anzugucken, wie komme ich denn von dem endgültigen Produkt wieder auf die Designunterlagen zurück? Dann so ein bisschen Hardware-Engineering-Basics, wie gerade schon gesagt, also wie kommen wir eigentlich dahin? Ganz klein ein bisschen Bauteilkunde, aber ich habe das wirklich versucht, kurz zu halten. Und dann so ein bisschen mal mit einem kleinen, ganz kleinen Produkt so ein bisschen ein Hands-On zu machen, was man da so alles machen muss und am Ende noch so ein bisschen weitere Strategien, wenn man komplexe Reboards hat. Motivation, ja, warum wollen wir eigentlich was auseinandernehmen? Und ich glaube, neue ist so das ganz klassische, einfach wissen, woraus die Dinge entstehen. Weiteres ist natürlich, wenn ich jetzt irgendwie eigentlich eine fähige Hardware habe, die ich vielleicht auch günstig kriegen kann, aber die Firmware ist halt nicht open source, macht nicht genau das, was ich möchte, dann muss ich natürlich auch die Hardware erstmal verstehen, um dann irgendwie Open-Source-Firmware-Alternativen dafür zu entwickeln. Und das ist natürlich auch was, wo auch Software-Entwickler dann mit der Hardware in Kontakt kommen. Man halt sagt, ich möchte da eigentlich Linux, Python oder sonst was drauflaufen lassen. Und dann muss ich aber trotzdem erstmal herausfinden, welchen Pin muss ich denn ansprechen, damit die LED blinkt. Oder eben auch nutzen der Hardware für irgendetwas ganz anderes, wofür die eigentlich nie gebacht war, aber sich auch eben eignet. Und dann vielleicht auch so ein bisschen, um selbst mal zu lernen, was ist denn eigentlich State of the Art? Also wenn ich mir jetzt irgendwie ein Produkt kaufe, wo irgendein Entwicklungsteam viel Geld verbraten hat, um da was Tolles zu entwickeln, wo kommen die denn eigentlich dann damit raus? Technologien entdecken die ein Hersteller durch Obscurity schützt. Gerade in der Hardware ist das ja so, dass wenn man irgendwie Sachen patentiert, ja gut, dann hat man zwar einen rechtlichen Schutz da drauf, aber dann weiß halt auch jeder, was man macht und deswegen neigen halt viele Hersteller von Hardware dazu. Manche Sachen vielleicht lieber auch nicht zu patentieren, die sie besonders schützen wollen und stattdessen eben so zu verstecken, dass sie denken, man findet sie vielleicht gar nicht eher. Und natürlich auch konkrete Implementationen für Schaltungen finden. Also wenn ich jetzt sage, ich will irgendwie DCDC-Wandler bauen, der die und die Anforderungen hat und was nutzen denn da andere Leute vielleicht für Chips für oder so was. Ja, zum rechtlichen Rahmen, also wie immer gilt, das ist natürlich hier keine rechtliche Beratung, das ist nochmal so ein ganz, ganz kurzer Überblick, Zeichnungen und konkrete PCB-Designs, die genießen Urheberschutz. Also was ihr nicht machen dürft, ist einfach Schaltpläne nehmen, das Logo entfernen und unter einer anderen Lizenz veröffentlichen oder so was. Oder das gleiche gilt für Leiterplattendesigns, wenn ihr irgendwie an Gerberdaten kommt oder so was. Das sind halt schon Werke, denen man irgendwie eine geistige Schöpfungshöhe zumessen kann, weil sie halt nicht nur die eigentliche Schaltung verdeutlichen, sondern halt auch noch andere Sachen eventuell. Aber Schaltungen an sich, die genießen erst mal keinen Urheberschutz. Das wäre auch ein bisschen schwierig, wenn irgendjemand sagt, oh ihr habt dann Vorwiderstand an der LED geschlossen, das habe ich aber auch schon gemacht, das ist jetzt aber urheberrechtlich problematisch. Also allein, wie man Komponenten miteinander verbinden kann, das ist erstmal schwierig, also das ist erstmal nicht urheberrechtlich geschützt. Was man natürlich machen kann, ist man kann sich so Schaltung bzw. eine Implementation dieser Schaltung, die dann irgendwie eine konkrete Funktion erfüllt, natürlich patentrechtlich schützen lassen. Da haben wir in Deutschland eigentlich die gute Situation, das ist international so ein bisschen unterschiedlich geregelt, dass wir ein relativ laxes Patentrecht haben. Das heißt, wenn ihr irgendwelche patentrechtlichen Technologien habt und damit gerne mal ein bisschen rumspielen möchtet, dann ist das für private Zwecke oder für öffentliche Forschung erstmal unproblematisch und ihr braucht dann nicht unbedingt eine Lizenz dafür, sobald das natürlich irgendwie kommerziell wird oder ihr das auch als Projekt anbietet und sagt, Leute nutzt das auch als Alternative zur kommerziellen Software, das ist dann natürlich, da trete dir irgendwie ein Wettbewerb ein und das wird dann natürlich problematisch. Aber einfach so was, was schon in einem Patent steht, irgendwo anders nochmal hinzuschreiben mit Verweis auf das Patent, ist jetzt erstmal nicht problematisch. Beim Reverse Engineering gab es ja 2019 eine große Änderung, da hat die EU das mal vernünftig aufgerollt und in Deutschland ist dann dieses EU-Reicht überführt worden in das Gesetz zum Schutz von Geschäftsgeheimnissen heißt es, glaube ich, GESCH GH oder ja GESCH GG, wenn man nicht ganz sicher. Und das hat im Prinzip dazu geführt, dass das Reverse Engineering, was vorher im Prinzip nur durch Urteile geklärt war, auch ein rechtliches Fundament erhalten hat und da steht eben ganz klar drin, ihr dürft alles Reverse Engineering, wenn die Sache entweder öffentlich gemacht wurde oder ihr im rechtmäßigen Besitz der Sache seid. Natürlich gilt, wie immer, Zivilverträge können das einschränken, also wenn ihr jetzt irgendwie eine NDA mit einem Hersteller geschlossen habt oder sowas und da steht halt drin, nimm das Ding nicht auseinander, sonst Vertragsstrafe, dann gilt das natürlich, also das muss man natürlich weiter beachten. Ja, no your enemy, woraus besteht denn eigentlich so Hardware? Ich habe das immer so ein bisschen, was sind die entscheidenden Dinge, die wir uns angucken müssen? Mechanik, also Gehäuse, Schrauben, bewegliche Teile etc., die können manchmal schon hilfreiche Hinweise beinhalten. Dann haben wir die Leiterplatte, die im Prinzip alle unsere Bauteile miteinander verbindet und noch ein paar andere Aufgaben wahrnimmt. Die Bauteile, die man klassischerweise aktiv und passiv unterteilt. Manchmal hat man interessante Sachen, so mechanische Teile als Bestandteil der Schaltung, also auch vielleicht zum Batteriehalter, oder was jetzt gerade im Vorfeld, wir uns darüber unterhalten haben, was natürlich auch interessant ist, wenn man wirklich irgendwie versucht, kryptografische Geheimnisse in Hardware zu schützen, also zum Beispiel irgendwie Kryptokies in einem Batteriebackup-Ram hat und dann die Stromversorgung von dem Chip, der diese kryptografischen Geheimnisse halt hält, dann durch das Gehäuse schickt, durch Schrauben schickt, sobald man irgendwie da eine Schraube löst, eben der Ramchip kein Strom mehr hat und die Daten halt futscht sind. Bauteile können auch manchmal Teil des PCB sein, das ist dann oft sowas irgendwie Hochfrequenzmagie, wenn man einfach nur so ein paar Leiterbahnen oder komisch geformte Felder auf der Platine sieht, aber dass in Wirklichkeit Bauteile sind, die für die Schaltung ziemlich erheblich sind. Und man sollte nie vergessen, dass man immer gut auf die Kennzeichnungen achtet, die einem unterwegs begegnen. Fangen wir direkt mit den Kennzeichnungen an, also offensichtlich die Kennzeichnungen auf den Bauteilen sind wichtig und Designatoren auf der Leiterplatte sind auch wichtig, das gucken wir uns gleich noch an, aber die Leiterplatte, die kann noch mehr enthalten. Eine Leiterplatte, die kann zum Beispiel funktionale Informationen enthalten, also es ist oft irgendwie so unterschiedliche Markings drauf, UL Recognized Component Markings oder Herstellungsdatumsindikation, wenn man sich zum Beispiel interessiert, wer hat denn die Leiterplatte eigentlich hergestellt, welcher Technologie ist die hergestellt und sowas. Sehr interessant sind natürlich auch mal Zeichnungsnummern. Also Hersteller haben ja in der Regel irgendwie Verwaltung von ihren Zeichnungen, die liegen nicht einfach nur so darum und die Neuste wird halt genommen, sondern die haben irgendwelche Zeichnungsstände, Revisionsstände und wenn sich natürlich jetzt zum Beispiel mehrere Leute das angucken und sagen, ich habe da aber ein ganz anderes Board als du ja guck mal, du hast Revision F, ich habe nur Revision C oder sowas. Und natürlich wenn ich Revision F irgendwo finde, dann kann ich vielleicht davon ausgehen, das Design ist schon ein bisschen mehr mature als wenn da irgendwie 0.1 oder sowas drauf steht. Herstellungsinformation habe ich gerade schon auch gesagt. Und Sticker sind natürlich auch immer interessant, können zum Beispiel Informationen über den Herstellungsprozess geben, also warum klebt da jetzt gerade ein Hersteller an Sticker drauf oder so. Das kann man sich auch fragen. Dann, wenn man mal so von außen auf so ein Gerät guckt, dann gibt es ja ganz oft irgendwie so ein Typenschild, da stehen auch schon viele hilfreiche Informationen drauf, Revision, Betriebsinformation, die Seriennummer, mit der Seriennummer kann man wieder ganz eigene Späßchen machen, wenn ein zum Beispiel interessiert, wie viel Verkauf der Hersteller davon, dann kann man sich mal die Seriennummer angucken, Stichwort German Tank Problem. Mechanische Teile ist manchmal ganz interessant, da weiß man nicht, hat der Hersteller da irgendwie ein Standardteil gekauft oder hat er da was Eigenes gemacht? Und auch da hilft mal die Zeichnungsnummer zu gucken. Wenn die Zeichnungsnummer von irgendeinem Teil, wo man sich nicht sicher ist, das ist ein Zugaufteil oder nicht, sehr ähnlich aussieht von der Zeichnungsnummer, die irgendwie auf einem ganz klar Karsten-Spritzkurs-Teil steht, dann hat man ein Indiz, dass der Hersteller da was selber gemacht hat. Und auch Herstellungsinformationen, also zum Beispiel Datum, wann so ein Spritzkurs-Teil hergestellt wurde, oder so kleine Marken, die zeigen, wenn eine Modifikation mal an einem Spritzkurs-Teil vorgenommen wurde oder so etwas. Jo, dann kommen wir mal zu dem Entscheidenden und dazu dem, was am Herzstück von den meisten elektronischen Geräten ist, die Leiterplatte. Die hält und verbindet die Bauteile, die stellt die mechanischen Schnittstellen zur Außenwelt bereit und die stellt auch so ein bisschen manchmal UX bereit. Für Anwender, Fertigung, Engineering. Und das können wir natürlich nutzen. Wenn ich jetzt irgendwie ein Leiterplatte habe, die Teil vom Gehäuse-Design ist, die irgendwie exposed ist, dann ist das auch manchmal für den Anwender interessant, dann sieht der, was kann ich da einstecken oder nicht. Für die Fertigung ist das natürlich auch interessant. Fertigung sollen so wenig Fehler wie möglich passieren. Das heißt, wenn ich sowieso schon mein Board mit Zilxscreen bestelle, dann kann ich da vielleicht auch irgendwo hinschreiben, mit wie viele Drehmomente sollen die Schrauben angezogen werden, welche Schrauben sollen, wohin. Hier den roten Stecker einstecken, hier den blauen Stecker einstecken und dann hilft das der Fertigung, aber wir können natürlich auch unsere Schlüsse draus ziehen. Und das Engineering will vielleicht auch wissen, wenn ich drei gleiche Headers drauf habe, welcher ist für was und tut das drauf und das vielleicht nicht entfernt für die Fertigungsversion. Die Leiterplatte, die kann natürlich auch Informationen aufnehmen, also durch Sticker oder sowas, oder irgendwelche Widerstände, die bestimmte Muster codieren, die sagen, welche Bestückungsversion ist das denn jetzt, wird hier Bestückungsversion irgendwie ein Widerstand, ansonsten nicht angeschlossene Pets gelötet und das AOI erkennt dann automatisch, dieser Widerstand ist da, dann prüfe ich jetzt auf irgendeine Bestückungsversion und nicht irgendeine andere. Wie sieht so eine Leiterplatte eigentlich aus? Also das ist jetzt hier was ganz Komplexes, das ist so ein Widgetflex, aber gucken wir uns mal hier die drei Teile separat an, da haben wir also eigentlich so, dass mittlerweile vielleicht Verbreitete ist. Auf der rechten Seite so ein 4-Layer PCB, das heißt ich habe hier insgesamt vier Lagen und diese Lagen enthalten halt alle Flächen oder Leiterbahnen aus Kupfer, sind mit sogenannten Vias miteinander verbunden. Im einfachsten Fall und auch im verbreitetsten Fall gehen diese Vias komplett von oben nach unten durch die Platine. Manchmal hat man noch Buried Vias oder sowas, aber da wollen wir jetzt nicht weiter drauf eingehen. Wie erkennt man, ob man eine 2-Lage oder 4-Lage Platine hat, relativ einfach. In der Regel, wenn man 4 Lagen hat, dann will man die auch nutzen, das heißt es wird irgendwelche Vias geben, die sowohl auf der Ober- oder Unterseite mit irgendwas verbunden sind, aber auf der jeweils anderen Seite nicht und dann hat man schon einen guten Indikator, die werden wahrscheinlich auf irgendwelchen internen Lagen weitergehen. Es gibt dann auch noch 6 Lagen und so weiter. Manchmal hat man Glück und es gibt nur 2 Lagen, dann ist das Ganze ein bisschen einfacher. Bauteile, ja wir Ingenieure, wir vereinfachen ja gerne Dinge, das heißt so im ersten Schritt kann man sich so ein bisschen als Mantra dazu rechtlegen. Wir wollen discrete Bauteile mit idealen Leitungen verbinden, das heißt unsere Funktionalität, die ist in diesem einen Bauteil, was wir bestückt haben, konzentriert und die Verbindung zwischen diesen Bauteilen, die ist einfach ideal und da muss ich mich nicht weiter mit beschäftigen. Ich habe mir den Talk noch nicht angehört, aber wahrscheinlich gestern im EMV gerechten Elektronik-Design war, der wird wissen, dass es so einfach nicht ist. Aber so für die erste Nährung und wenn man gerade auch reverse engineered ein komplexes System hat und vielleicht noch nicht jedes Detail weiß, dann sollte man auf jeden Fall erstmal davon ausgehen, solange bis man eines Besseren belehrt wird. Passiv, so die klassischen beiden Widerstände oder Kondensatoren und wenn man einfach mal über so ein Leiterbahn guckt oder so ein Board guckt und so ein bisschen im Kopf denkt, was passiert denn hier, dann ist es oft möglich, je nach Wert und Widerstand im Geist entweder durch einen Kurzschluss oder einen Leerlauf zu ersetzen. Also wenn ich irgendwie nur so ein 100 Ohm Widerstand in einer RX-Leitung von einer serienischen Schnittstelle habe, ja, der ist halt da, um das Ganze so ein bisschen zu matchen, ein bisschen protection oder so was, den kann ich halt erstmal einfach durch einen Kurzschluss ersetzen oder wenn ich irgendwie einen Netzteil habe und an dem Hauptkondensator ist irgendwie so ein mega Ohm Widerstand, ja, deshalb da, damit der sich langsam entlädt und nicht die ganze Zeit 230 Volt führt, kann ich erstmal durch einen Leerlauf ersetzen. Kondensatoren erfüllen auch in der Regel einen Zweck, aber fürs Verständnis der Schaltung kann ich die manchmal, gerade wenn es irgendwie so Beipasskondensatoren sind oder so auch in erster Nährung, einfach, damit ich einfacher denken kann, durch einen Leerlauf ersetzen. Verrite sind manchmal beim Reverse-Engineering ein bisschen pain, weil man erstmal denkt oder die sehen aber ein bisschen aus wie Kondensatoren, muss man erstmal messen, wenn man sowas noch nie gesehen hat, weil es auch so ein Bauteil ist, da hat man im Hobbybereich eher weniger mitzutun, dann hat man das vielleicht nicht so auf dem Schirm. Es gibt dann natürlich auch noch die mechanischen, also mechanischen Sachen, Steckverbinder, das ist relativ klar, aber für unsere Zwecke besonders interessant sind Testpads, also in der Regel so Leiterplatten, wenn die hergestellt werden, dann möchte der Hersteller da nicht jemanden sitzen haben, sondern mal irgendwie an den USB-Stecker was ansteckt und dann da manuell auf den Download-Button drückt und dann wird der Mikrocontroller geflasht, sondern gibt es so Jigs, da werden die Platinen reingelegt und dann gibt es so Pogo-Pins, die kontaktieren dann Testpads von unten und so muss dann eben nur einmal jemand auf den Knopf drücken und dann läuft der ganze Test von der Schaltung automatisch durch, die Programmierung, dafür braucht man halt die Testpads. Oder für Engineering-Zwecke, wenn ich irgendwelche Signale habe, da will ich vielleicht mal draufgucken, aber muss da eigentlich nur draufgucken, wenn irgendwas schiefläuft und ich habe keinen Platz, um ein Header für den Steckverbinder zu machen, dann setze ich da einfach ein Testpad hin oder im Zweifelsfall auch nur ein Via, wo oben kein Tending drauf ist und dann kann ich da halt mal ein kleines Drähtchen anlöten und gucken, läuft denn da alles so wie es soll. Montagebohrung gehört natürlich auch noch dazu. Auch das ist wieder so ein Indikator, wenn ich zum Beispiel irgendwelche non-plated holes in der Platine habe, so zwei diagonal gegenüber, die irgendwie in der Endanwendung keinen wirklichen Sinn haben. Vielleicht ist das genauso ein Indikator darauf, dass sie in der Fabrik so einen Jig verwenden, weil dieses Jig muss natürlich auch irgendwie die Platine festhalten. Deswegen gibt es dann in der Regel so halte Stifte, die durch solche Montagebohrungen gehen. Aktiv Dioden leucht, Dioden schutzt, Dioden sind in Entschaltungen immer besonders beliebt. Wurzen natürlich Hersteller oft, wenn sie was haben, was auch wirklich funktionieren muss, wenn mal ein bisschen mehr Spannung draufkommt als soll und was man auch auf dem Schirm haben sollte, wenn man Reverse-Engineering betreibt. Verwechselt man dann gerne mal mit Transistoren oder eben auch integrierte Schaltungen, die im Prinzip so die Hauptsache sind, die wir uns auch gleich noch angucken wollen. Bauteile, die gibt es ja in zwei hauptsächlichen Arten, wie die Vorkommen. Es gibt einmal Surface-Mount-Technologie und einmal Through-hole-Technologie, SMT oder SMD oder THD oder THD, das sieht man beides. Das eine beschreibt die Technologie-Technologie, das andere beschreibt halt wirklich, wenn ich so ein Device habe, SMD oder THD, also eine SMD-Bestückung versus irgendwie ein SMT-Prozess. Surface-Mount-Technologie wird heute verwendet, wo immer möglich, also man hat irgendwelche Pets und dann tut man Lötpaste drauf in der Fertigung, dann tut man die Bauteile mit so einem automatischen Roboter darauf platzieren durch ein Reflow-Ofen und dann werden die verlötet. Das kann man sehr gut automatisieren, das ist sehr standardisiert, das ist günstig, das wird heute verwendet, wo immer es eigentlich möglich ist. Das ist so in den 80er, 90er Jahren aufgekommen. Vorher gab es eigentlich nur Through-hole-Technologie, das heißt man bohrt Löcher durch seine Leiterplatte, hat dann bedratete Bauelemente, wie man die auch auf Steckbrettern oder sowas verwendet und das ist natürlich ein bisschen mehr Arbeit, sowas zu machen. Also früher gab es da Automaten, die diese Teile automatisch gebogen haben, platziert haben, dann sind die über die Welle gegangen, also ein Lötbad, wo dann so eine Lotwelle hochkommt. Das ist alles relativ aufwendig. Es ist teuer, das ist groß, das braucht zusätzliche Prozessschritte. Das wird heute eigentlich nur noch verwendet, wo es nötig oder sinnvoll ist. Hat manchmal noch irgendwie so Boards in alten Technologien, also wenn ich natürlich jetzt irgendwie eine Straße habe, eine Fertigungsstraße, die ist irgendwie keine Ahnung, Ende der 80er Jahre für Through-hole gebaut worden, die läuft noch, die ist im Prinzip schon abgeschrieben und ich habe einfache Boards, gerne so Netzteile oder sowas, sind auch sowieso einlagige Boards. Dann nutze ich das einfach noch, weil da die Service Mount-Bauteile groß und schwer sind, Probleme mit sich bringen, also da findet man das tatsächlich heute noch auch in Mainstream-Anwendungen. Mechanische Notwendigkeit, ja, so ein Steckverbinder, den ich irgendwie nur auf die Pads auflöte, das Kupfer ist ja auch nur irgendwie mit einem Kleber mit der Grundplatte von der Leiterplatte verbunden. Das löst sich dann irgendwann, wenn ich eine gewisse mechanische Last drauf bringe. Da ist natürlich Through-hole-Technologie deutlich stabiler. Und es gibt auch so spezielle oder Präzisionsbauteile, die gibt es einfach nur als Through-hole-Device, entweder weil die Hersteller-Firma diesen Prozess ebenso hat oder weil ich thermische Probleme mit dem Bauteil habe und wenn es größer ist, dann kann ich beim Lüten verhindern, dass so viel Wärme dahin kommt. Also es gibt auch heute noch Bauteile, da macht es eben Sinn, dass die als neue als Through-hole-Device angeboten werden. Und das ist auch was, wenn ich irgendwelche Through-hole-Devices auf einer Platine finde, dann kann ich mich eben fragen, warum habe ich jetzt hier ein Through-hole-Device, warum ist dieser Widerstand im DIP-Paket und nicht irgendwie als SMD-Bau-Teil? Vielleicht so ein Indikator, dass ich mir den Widerstand ein bisschen genauer angucken sollte. Wie läuft Hardware-Engineering in so einer Firma ab, wenn man das jetzt wirklich professionell machen möchte? Also ein bisschen so ein Top-Down-Ansatz. Das heißt, am Anfang ist irgendwie so eine Anforderung, Spezifikation, Lastenheft. Und dann gibt es irgendein Meeting, dann fängt der Ingenieur mal an, entwickelt mal ein Blog-Schaltbild, was muss dieses Teil denn eigentlich können, sucht sich irgendwelche Schlüsselkomponenten aus, die wichtig für den Rest des Systems sind, also irgendwelchen Mikro-Kontrollern möchte ich nehmen oder sowas. Erste Schaltungsentwürfe. Dann geht es los mit der Bauteildimensionierung. Was brauche ich denn da eigentlich jetzt für Bauteile? Was ist günstig? Was habe ich vielleicht schon in anderen Schaltungen? Dann geht es an das Leiterplatten-Layout. Und im letzten Schritt, wenn das Prototyping abgeschlossen ist, dann gibt es noch einen wichtigen Schritt, das ist dann das Design for Manufacturability, auch DFM genannt. Und da guckt man sich dann eben an, so jetzt ist mein Design da, wie kann ich denn jetzt dafür sorgen, wie kann ich das machen? Und das sind eben Dinge, die da geschehen, sind auch viel oftmals dann halt interessant für Service Engineering, aus den Gründen, die ich schon so ein bisschen vorhin beleuchtet habe. Das heißt, so ein fertiges Produkt kann man vielleicht aus der Softwarewelt so ein bisschen vergleichen mit einer fertig gelingten Binary. Man hat da irgendwas, was sehr kondensiert ist, was zwar alle Funktionen beinhaltet, die man möchte, aber die ganzen Hilfsinformationen, die man auf dem Weg gesammelt hat, das ist natürlich auch immer die Frage, was möchte man eigentlich erreichen? Möchte man jetzt wirklich im Detail verstehen, wie das Produkt funktioniert, wenn man es vielleicht auch nachbauen möchte oder weil man das wissen muss, wenn man irgendeine komplexe analoge Baugruppe hat und die ansteuern muss oder reicht es, grob zu wissen, ja, das ist hier mein eigenes Produkt. Und das ist natürlich auch immer die Frage, was möchte man eigentlich erreichen? Ich möchte jetzt wirklich im Detail verstehen, wie das Produkt funktioniert, grob zu wissen, ja, das ist hier mein einer Chip, das ist mein anderer Chip und das ist im Prinzip schon alles, was ich wissen wollte. Aber im Prinzip wollen wir uns alle diese Sachen wieder zurück erschließen. Und es macht auch Sinn, das so ein bisschen in dieser Reihenfolge, in dieser Reihenfolge auch wiederzumachen. Für alle, die das noch nie gesehen haben, wie sieht denn so ein Schaltplan aus? Das heißt, ich habe irgendwie meine Bauteile und meine Verbindungen. Die Bauteile haben so standardmäßige, standardmäßige Symbole und LED-Widerstände. Alle integrierten Schaltungen in der Regel hier, also das ist jetzt auch noch Software Diast Altium, da ist der Standard, dass integrierte Bauelemente so gelb sind und mechanische Bauelemente, die Anschlüsse sind jetzt weiß. Das ist jetzt hier ein bisschen verpixelt, das ist ein bisschen doof, ich hoffe im Stream sieht es vernünftiger aus. So eine Platine, das ist jetzt hier auf der rechten Seite, das ist ein Modell davon und dann sieht man einmal die Topansicht und einmal die Bottomansicht aus dem EDA-Programm, das ist auch aus Altium. Die Bottomansicht im Prinzip jetzt durch die Leiterplatte durch und ja, was man hier schon sieht, es gibt hier so eine Art Silkscreen, das heißt, es ist eine Lage, da bedruckt mein Leiterplattenhersteller einfach in einer Farbe hilfreiche Informationen drauf, wenn ich ihn dafür bezahle. Das nutzt man oft, mit der Signator da drauf zu packen, weil irgendjemand muss dieses Board nachher bestücken, wenn ich das vielleicht gerade erst in die Produktion gebe, wenn das noch von Hand bestückt wird und muss vielleicht wissen, welcher Kondensator kommt, wo drauf. Deswegen nummeriere ich die dann alle durch. Die habe ich jetzt schon so ein Trick gemacht, der ist ganz typisch, wenn man am Ende eine schöne Leiterplatte haben will oder nicht so viel Platz hat, hier sieht man eben diese Designatoren erst, wenn man den großen IC ablötet, weil die halt da drunter sind, und wenn du am Ende den großen Chip auflötest, dann ist das halt weg und die Leiterplatte sieht schön aus. Dann gibt es eine sogenannte Bill of Materials Bomb genannt, das ist einfach eine Liste von allen Bauteilen, die in der Schaltung enthalten sind, dann eben auch mit ihren Designatoren, mit dem, was sie sind. Das sind hier alles keine schönen Bauspiele, ich musste im Moment suchen, um was zu finden von einem Projekt, was ich euch zeigen kann und was trotzdem noch irgendwie halbwegs okay aussieht. Ja, wie schon gesagt, diese Component Designators, R für Widerstand, C für Kondensator, U für irgendein integriertes Bauelement, D für Dioden, J oder X für Steckverbinder, X ist ein bisschen so ein, ich habe das Gefühl eher so eine deutsche Sache, dass man X für Klemmen nutzt. Es gibt dann eine sehr umfangreiche Liste auf Wikipedia, auch mit den möglichen Alternativen. Es nutzt nicht immer jeder das Gleiche, also vielleicht habt ihr gerade schon gesehen, die Verhaltung in Windows, sondern IC. Die findet man immer im Schaltplan und auf der Bill of Materials. Das ist der absolute Standard. Sonst, wenn ihr euren Bestücker so was nicht geben kann, dann schickt ihr euch gleich wieder nach Hause. Aber nur manchmal auf dem Silk Screen. Also selbst wenn ich ein Silk Screen habe, dann ist oft der Prozess, wenn ich wirklich meine Gerberdaten für den Bestücker dann erzeuge, dass ich eben die Disignatoren vom Silk Screen runternehme, um eben Reverse Engineering zu erschwehren. Oft ist es aber auch einfach so gerade wie ich es aufhabe, weil es ist ein zusätzlicher Produktionsschritt und es kostet nur extra Geld. Es gibt mehrere Varianten, wie das sein kann, einfach fortlaufend. Also ich fange bei den Kondensatoren an und nummeriere die durch von C1 bis C42. Eine andere Variante, die einem auch mal so ein bisschen helfen kann, ist, dass man für jedes Schaltplan BAT oder für jeden funktionalen Teil des Schaltplans das Ganze immer um 100 inkrementiert. Das heißt, man hat irgendwie funktionales Modul 1, der Mikro-Kontrolle und alles, durchzunummerieren R100, R101, R102. Dann habe ich das nächste funktionale Modul, die Stromversorgung, und fange an R200, R201, R202. Und wenn ich sowas auf der Leiterplatte sehe, dann habe ich natürlich schon den Jackpot gezogen, weil dann kann ich genau zuordnen, das ist wohl hier alles, was mit 2 anfängt, das sieht aber sehr nach Stromversorgung aus. Also wenn man auf sowas, wenn man nach sowas auf der Hut ist, dann kann einem das manchmal helfen. So, jetzt müssen wir natürlich auch wissen, jetzt haben wir uns angeguckt, wie sieht die Leiterplatte aus, wie sieht der Workflow aus, die Widerstände, das sind irgendwie hier im Schaltplan so kleine 4-Ecke, aber wie erkenne ich die denn, wenn ich so eine Leiterplatte vor mir habe? Also was gibt es für unterschiedliche Arten von Bauteilimplementationen? Widerstände, die sehen so aus, das heißt, das sind so, haben ja logischerweise 2 Anschlüsse, Tool Air Components, die haben so einen Keramelsubstrat als Basis, dann ist da auf beiden Seiten aufgedampft, so ein Silber oder sowas zum Anlöten, und oben auf diesem Keramelsubstrat ist in üblicherweise 2 Technologien, Dickschicht oder Dünnschicht, das eigentliche Widerstandsmaterial aufgebracht und mit so einem schwarzen Schutzfilm versehen. Dickschichtwiderstände sind günstig, da wird einfach nur so eine Widerstandspaste aufgerakelt. In Dünnschichttechnologie wird irgendein Widerstandsmetal, z.B. aufgedampft oder sowas, die sind dann präziser Präzisionswiderstände, kann ich aber auf den ersten Blick nicht wirklich unterscheiden, muss ich mir mehrere angucken. Also wichtige Parameter bei so einem Widerstand, natürlich der Widerstand, den kann ich relativ einfach messen. Toleranz ist wieder so eine andere Sache, wenn ich mich dafür interessiere, wie ist der Widerstand gespeckt, dann habe ich ein Problem, dann kann ich vielleicht gucken, gibt es so einen gleich aussehenden Widerstand, irgendwie 20 Mal auf dem Board, dann kann ich mir natürlich alle ablöten messen und kann mir dann schon ganz gut meine gausische Glocke ziehen und habe vielleicht, Indikator ist das vielleicht jetzt der 1% oder der 5% Widerstand, wenn der 1% irgendwie 3 oder 4 Cent teurer ist, dann ist das vielleicht schon ein Grund, dass man sich die Mühe mal macht. Der Temperaturkoeffizient gibt an, wie stark sich der Widerstandswert eben bei der Temperatur verändert, auch was, was ich relativ einfach an Stückzahl 1 messen kann. Dann tu ich das Ding halt heiß machen und guck, wie sich der Widerstand verändert. Spannung, schwierig, aber kann ich meistens aus den umgebenden Parametern dann herausfinden. Wenn der Widerstand halt an einer 3 Volt Schiene hängt, dann wird das der Standardtyp sein und wenn der dick ist und irgendwie an 220 Volt hängt, dann kann der vielleicht ein bisschen mehr als 50 Volt. Und natürlich die Baugroße ist offensichtlich auch relevant. Manchmal haben wir Glück und auch so ein Widerstand steht was drauf, nämlich seinen Wert in der Regel. Da gibt es 2 verbreitete Arten, wie das gemacht wird. Man kann auch nicht sagen, in der Regel ich bekomme die ein oder die andere. Da bestückt der Bestücker einfach, was er gerade da hat. Das ist einmal das, was man hier auch auf dem Bildchen sieht. Das ist 2-Digit plus Exponent. Das heißt 102 ist die Kurzform für 10 Ohm mal 10 hoch 2, also ein 1 Kilo Ohm Widerstand. Die andere Alternative ist die Numerierung nach einer Norm, die ist eher 96. Und die nutzt zwei Nummern. Die gehen einfach alle möglichen Widerstandswerte zwischen 0 und 100 oder zwischen 1 und 10 ist ja auch egal, wie man das skaliert durch. Und dann hat man noch einen Buchstaben dahinter, der gibt einem dann einen Exponenten an. Da gibt es dann so eine Coat-Tabelle. Und in der Regel dadurch, dass er halt ein Buchstabe ist, sieht man das. Ich glaube 0,1,C ist dann der 1 Kilo Ohm oder der 10 Kilo Ohm, ich bin mir jetzt gerade nicht ganz sicher, aber da gibt es eine Tabelle. Wenn man Widerstände hat, also auf der Grafik hier sind so die üblichen Größen abgebildet. 0,603, das ist noch handsam. Ich glaube, das ist so, mal schauen wir hier stehen, 1,6 Millimeter in der Breite, das kann man auch gut von Hand löten. Da steht auch noch diese Kennzeichnung drauf. Hat man Glück, wenn man Sachen hat, die größer sind als das. Aber der Trend geht eigentlich dazu hin, dass eigentlich so 0,402 Standardgröße in der Industrie geworden ist, weil die Teile sind kleiner. Ich kann meinen Layout verdichten und so was. Alles ist kleiner, 0,402. Da funktioniert das mit dem Draufdrucken nicht mehr wirklich. Also da muss man wirklich messen, damit man herausfindet, welche Widerstandsgröße ist das denn jetzt? Kondensatoren kommen in zwei Arten. Elektrolytkondensatoren sind groß, haben viel Kapazität, aber sind ansonsten nicht so wirklich, ja, haben auch ihre Nachteile. Keramikondensatoren, auch als MLCC bekannt, Multi-Layer Chip Capacitor oder Keramik Capacitor oder Keramik Chip oder so. Das sind diese kleinen Noobsys, die man hier sieht. Die haben nie irgendeine Kennzeichnung. Im Prinzip haben die die gleichen Werte oder die gleichen Parameter, wie auch so ein Widerstand, die hat. Nicht zu verwechseln sind die Verrite. Wenn man jetzt nicht so viel Erfahrung hat und das hier sieht, dann denkt man, das sieht doch genauso gleich aus wie das eben. Also diese Kondensatoren, die sind meistens irgendein Shade of Brown. Verrite sehen ähnlich aus wie ein Kondensator, aber sie lassen DC durch. Sie sind im Prinzip eine Spule für hohe Frequenzen oder einen Widerstand für hohe Frequenzen und werden oft irgendwie zur Ein- oder Ausgangsschutzbeschaltung genutzt. Kann man aber relativ einfach eben daran erkennen, dass sie DC durchlassen. Aber wenn man jetzt einfach nur so ein Bild von der Leiterplatte hat, dann ist es manchmal ein bisschen schwierig zu sehen. Aber es ist ja auch ein bisschen schwierig, wenn man da einfach nur vorsichtig ist und nicht auf den Irrweg reinfallen. Dann kommen wir mal zu den ICs. Das kann jetzt einen erschlagen, was es da alles gibt. Es gibt so ein paar unterschiedliche Gruppen, die man sich vielleicht kennen sollte. Es gibt hier so klassischerweise die Small Outlines. Das sind im Prinzip wie Dip-Pakete nur für SMD, können die gleichen Dice rein und so was. Das haben dann in der Regel an vier Seiten Beinchen. Dann fängt es so langsam an, in den Bereich zu gehen, wo es unschön wird. Es gibt die QFN-Pakete, die haben dann ihre Anschlüsse hauptsächlich nur noch unten. Die sind dann schwierig, da irgendwie mal ein Testrad dran zu löten oder so was. Da muss man wirklich aufpassen. Das Ganze gibt es dann auch kleiner DFN-Packages. Dann kommen halt die BGAs. Es ist, glaube ich, ein bisschen älter. Da sind jetzt keine BGAs drin. Die BGAs haben halt ihre Anschlüsse auch in mehrere Reihen unter dem Chip. Das heißt, da komme ich im Prinzip gar nicht dran. Und wenn ich dann Glück habe und ich brauche irgendwie, damit ich meine eigene Firmware aufspielen kann, muss ich so ein Bootpin auf High- oder Low ziehen. Und der Hersteller hat unter dem BGA den Pin direkt hart auf eine Groundplane, auf eine Interne gepackt. Dann habe ich im Prinzip verloren. Das ist ein Dash-Button-Center, so ein unruhmliches Beispiel. Dann gibt es noch die Small Outline. Die sind hier dieses kleinen Gemüse, was hier auf der linken Seite ist. Die findet man aber ganz viel. Es gibt die SC70 und die Sot23. Die SC70 sind ein bisschen kleiner als die Sot23, aber beide eigentlich noch gut händelbar. Das Problem, da gehe ich jetzt schon direkt rüber zur nächsten Folie mit den IC-Markings. Wie finde ich denn jetzt raus, was ist das für ein Bauteil? Also erst mal ist da in der Regel irgendwie so ein Hersteller draufgedruckt, manchmal auch nur ein Logo. Da gibt es Referenztabellen, wo alle diese Logos vorhanden sind. Wenn ich natürlich jetzt irgendeinen obskuren chinesischen Hersteller habe, dann ist das schwieriger. Bei größerem, also größer Sot23 ist das Marking in der Regel irgendwie proportional zum Chip-Namen. Also wenn da irgendwie, keine Ahnung, 4711 draufsteht, dann könnt ihr relativ sicher davon ausgehen, dass irgendwie der Chip im Ordercode auch eine 4711 irgendwo beinhaltet. Bei kleineren wird es schwierig. Sot23 ist meine Erfahrung, lassen sich nicht vernünftig anhand des Markings identifizieren. Wenn ihr irgendeinen Chip findet, der ein ähnliches Marking hat, seht das als Indiz, aber nagelt euch nicht darauf fest. Es wird wahrscheinlich was anderes sein. Texas Instruments hat eine sehr gute Rückwärtssuche. Also wenn ihr irgendeinen Sot23-Marking habt, das mal bei TEI in die Rückwärtssuche eingebt und nichts findet, dann könnt ihr relativ sicher sein, dass es kein Chip von TEI ist. Ansonsten würde ich bei so kleinen Sachen die Funktionalität erstmal versuchen, durch Beobachten einzugrenzen. Also ist das hier so vielleicht so ein Low Dropout-Spannungsregulator. Ist das ein Shunt-Amp? Ist das ein Op-Amp? Einfach anhand des Schaltungs-Layouts, versuchen herauszufinden, was ist das denn jetzt? Und dann eine Vorwärtssuche mit den Parametern, die man findet oder vermutet. Ich würde es bei Digi-Key machen, weil Digi-Key hat einfach die beste parametrische Suche und auch die meisten Bauteile gelistet. Eine Vorwärtssuche mit den Parametern mal bei Digi-Key zu machen, gucken, was rauskommt, sich dann mal die Datenblätter einzeln aufmachen und gucken, stimmt das mit dem Marking und dem, was ich hier habe. Bauteile messen, könnt ihr in Circuit machen, aber rechnet mal damit, dass es falsch ist. Aber es ist natürlich einfacher, als alles auszulöten. Was man auf jeden Fall in Circuit machen kann, ist Leiterbahn unter Bauteilen messen, aber auch da gibt es vielleicht mehrere wieder Wege, wie zwei Vias miteinander verbunden sein könnten. Also nur weil ihr zwei Vias mit 0 oben messen, heißt es nicht, dass sie auf dem direkten Weg miteinander verbunden sein müssen. Widerstände kann man getrost mit dem Multimeter messen. Bei allem anderen, wenn man da was wissen will, würde ich immer zum RCL Meter greifen. Also gerade bei kleinen Kondensatoren oder so ist meine Erfahrung, dass man mit Multimetern da gerne, wenn man jetzt gar nicht weiß, ist das jetzt ein Mikrofahrrad oder ist das jetzt ein Pikofahrrad, dann ist das mit einem Multimeter schwierig. Also da würde ich immer direkt zum RCL Meter greifen. Diese günstigen Bauteilteile-Tester mit dem Arduino-Chip drauf, die irgendwie alles beliebige mal durchklingeln und sagen, ist das jetzt ein Diodo oder ein Kondensator, die können auch helfen, aber auch da, die können auch falsch legen. Also nehmt diese Informationen alle immer so ein bisschen mit einem Körnchen Salz. Wunach mal natürlich besonders immer auf der Suche sein kann, sind so ICSP-Header für die Programmierung, Serialist Terminal, haltet da, ausschauen nach so Testpad-Gruppen, also viele Testpads, die mit nichts anderem verbunden sind und nah beieinander liegen. Das könnte so ein Indiz sein, dass das so ein ICSP ist. So dieser 2x5 Pin, der ist eigentlich so ein Dead Giveaway, das ist wohl ein Serial Wire Debug für einen kleinen Armkern und besonders beliebt sind diese sogenannten Tech Connects. Das sind so spezielle Gruppen von Testpads und Bohrungen. Da kann ich direkt so Adapter kaufen, die ich drauf drücken kann und das programmieren kann. Also wenn ich sowas sehe, dann kann ich mir relativ sicher sein, dass das irgendwie für Engineering Zwecke gedacht ist. Jetzt wollen wir uns mal so ein kleines Teil mal angucken. Ich habe da bewusst, was einfaches ausgewählt, was ich noch umliegen hatte. Das ist hier von Alpha Tronic so ein Wandler, dass man irgendwie an öffentlicher Infrastruktur, USB-Geräte, an 12 Volt bis 24 Volt anschließen kann. Also im Prinzip einfach nur so ein DC-DC Wandler, aber mit ein bisschen Fancy. Schritt 1 sollte immer sein, guckt euch an, was es im Internet schon dazu gibt. Also der erste Schritt ist das Datenblatt, gibt es da irgendeine Nutzer-Dokumentation zu? Gibt es irgendwelche Nutzer von dem Teil, die man ausfindig machen kann, die vielleicht irgendwie Service-Informationen haben und bereits sind, die zu teilen? Hat irgendjemand, der das Teil nutzt, vergessen, wie Google funktioniert und was eine Robots TXT ist? Also macht eure Recon. Und Datenblatt ist halt Schritt 1. Kann man noch so gerade hier lesen, dass funktioniert eigentlich. Also wir können schon mal heraussehen aus dem Datenblatt. Das Ganze wird irgendwie von 9 bis 32 Volt können. Das kann hier die 2,1 Ampere. Das ist das Erfüll zur Automotive-Standards. Das heißt, wir können irgendwie mit ICQ 200 zertifizierten Bauteilen rechnen und unten haben wir so eine Liste von Schutzbeschaltung. Das heißt, wir können damit rechnen, dass wir irgendwelche Schaltungselemente finden, die halt diese Schutzbeschaltungen erfüllen. Dann kann man sich im Prinzip schon mal davon hinsetzen, entweder vor dem geistigen Auge oder wirklich ausgezeichnet. Mal überlegen, was erwarte ich denn jetzt? Also so ein Block-Schaltbild. Wir erwarten irgendwie 9 bis 32 Volt Eingang, eine Output-Protection, dann ein Backconverter, der diese 9 bis 32 Volt DC-Input zu 5 Volt, 2,1 Ampere Sustained Output macht. Wahrscheinlich wird der Chip im Max ein bisschen mehr können, 3 Ampere oder sowas. Dann gibt es irgendwie Output-Protection. Und was ich gerade noch vergessen habe zu sagen, irgendwo steht das noch, der wirbt damit, dass er irgendwie Apple und Android laden kann. Das heißt, er wird noch irgendwie so ein Charge-Controller, IC haben, der auf den Datenleitungen irgendwie die Geräte richtig massiert, dass die auch genug Strom ziehen. Den werden wir auch noch haben. Und dann eben den USB-A-Socket und die LED. Dann kann man das Gerät mal aufmachen und kann in erster Ansicht mal sich die Leiterplatte angucken. Vielleicht doch einfach noch Fotos machen. Und dann sieht das so aus. Und dann sehen wir schon, wir haben hier irgendwie 2 große Chips, einmal auf der Oberseite, einmal auf der Unterseite und noch so ein bisschen Kleingemüse dabei. Bei sowas, was jetzt hier so massive Dinger, die auch groß hat, die man schwierig runterlöten kann, drauf hat, macht es vielleicht auch Sinn, dann mit hoch aufgelösten Fotos zu arbeiten. Ansonsten würde ich, sage ich gleich, noch eher zu Scans tendieren. Ich habe das jetzt hier mal einfach unter das Mikroskop gelegt und so ein paar Fotos gemacht, aber auch mal kein dolles Mikroskop für so ein 200 Euro Chinatall, was ich da habe. Das hat zwar keine gute Tiefenschärfe, aber man kriegt es eigentlich vernünftig hin. So, das ist hier so ein bisschen schwierig zu sehen. Dann hat man hier den Hauptchip und guckt sich jetzt im Prinzip an, geht rückwärts vor. Was ist denn jetzt unsere Komponentenauswahl? Findet irgendwie so ein Z1284, wenn man das genauer liest, kann das mal in Google werfen. Dann hat man auch schon das Datenblatt von dem Chip. Und da steht schon im Prinzip das, was wir erwartet haben. Das ist halt irgendwie ein 4 Ampere Simple Bug Regulator. Wenn ich das jetzt bei Google eingegeben hätte und es käme irgendwas komplett anderes raus, dann sollte ich mir vielleicht Gedanken machen, habe ich hier wirklich den richtigen Chip und nochmal einen Schritt zurückgehen. Aber das sieht alles soweit gut aus. Und das Datenblatt ist so nett und gibt uns schon hilfreiche Schaltungsbeispiele. Und Ingenieure sind ja faul. Das heißt, wenn Ingenieure sowas bauen, dann lesen die auch nicht weiter erst mal als die erste Seite vom Datenblatt und denken schon, oh, ich fange mal schon an und baue mal meinen Schaltplan auf. Also öfter als nicht, findet man dann schon viel von der typical Application in so einer Schaltung wieder. Vor allen Dingen hier bei so Jellybean-Geschichten. Ja, da gibt es halt viele Artenortweisen, wie man den verschalten kann. Nexter Chip, also es ist ein bisschen schwieriger. TI ist vielleicht schon mal ein Giveaway, dass hier die TI-Rückwärtssuche helfen könnte. 972511, das klingt noch nicht so wirklich nach einer Chip-Nummer. Abprobieren wir doch mal dieses TI-Part-Lookup, von dem ich euch erzählt habe. Sucht ihr einfach irgendwie TI-Part-Marking-Lookup in der Suchmaschine eurer Wahl. Dann gibt es zwei Optionen, Marking on the part oder TI-Part-Nummer. Da wollen wir Marking on the part. Und dann habe ich hier einfach mal 2511 eingegeben. Dann kommt viel raus. Interessant dabei ist hier diese dritte Spalte. Da steht nämlich das Package und die Anzahl der Pins. Wie wir unschwer erkennen können, das ist ein 8-Pin-Package. Vielleicht hat das irgendwie noch ein thermisches Pad unten drunter, dann wäre es ein 9-Pin-Package. Aber es sollte irgendwie, wenn da jetzt Ergebnisse mit 25 oder so kommen, dann ist das eindeutig das falsche Teil. Und so in der Beschreibung kommen jetzt hier irgendwelche Wireless-Micro-Controller. Also das ist es ganz sicherlich nicht. Dann kommen wir mal runter scrollen. Irgendwann finden wir dann hier Orteile mit 8 Pins. Das sieht ja gut aus. USB Dedicated Charging Port Controller und 2,2 Ampere Power Switch. Sehr gut. Das ist genau das, was wir wollen. Und auch da finden wir dann wieder das Datenblatt und können uns dann von da an weiterhangeln. Bei größeren Projekten, ich werde es jetzt hier mit dem DCDC-Wandler im Grunde genommen auch sein lassen und das nicht weiter im Detail verfolgen. Also man findet dann, wenn man sich das weiter anguckt, im Prinzip raus, es gibt dann auch schöne Input Protection. Die kann man sich vielleicht auch mal in den eigenen Fundus von Input Protection Schaltungen übernehmen. Aber ansonsten kommt man mit der Methodik da eigentlich schon relativ gut ran. Man findet dann natürlich irgendwelche mit zwei Literals gekennzeichnet sind. Das ist natürlich schwierig dann. Bei größeren Projekten, wie geht man dann vor? Also was sich bei mir als Workflow irgendwie eingebürgert hat, was gut ist, Fotos von allen Winkelen, Explosionsfotos. Man hat ja in der Regel nicht unendlich viele von dieser Hardware zur Verfügung. Auch im Nachhinein noch weiß, wie war das denn zusammengebaut. Also dokumentiert da wirklich jeden Schritt. Dann löte ich als nächstes größere Bauteile ab, damit ich Scans mit einem Flachbettscanner machen kann. Der Vorteil von Scans mit einem Flachbettscanner ist, dass ihr relativ gut die Verzerrung daraus bricht. Also wenn ihr einfach nur mit einer Kamera draufhaltet, dann habt ihr irgendwelche nicht linearen Verzerrungen drin. Und es ist nachher schwierig, die Ober- und die Unterseite im Bildbearbeitungsprogramm zu alleinen. Was ich da herausgefunden habe, bei Flachbettscanern liegt das am besten in die Mitte vom Flachbettscanner. Wenn je nachdem, wie die LCD-Zeile oder sorry die CCD-Zeile funktioniert, kann es sein, dadurch, dass man halt nicht scant, was flach ist, sondern was scant, was eine definierte Höhe hat, dass man die Schatten dann nach Möglichkeit mittig bekommt. Und was ich auch herausgefunden habe, in der Regel muss man zwei Durchgänge machen. Also das Licht leuchtet die Bauteile immer nur von einer Seite an. Das heißt, auf der einen Seite hat man dann die Hälfte der Beinchen beleuchtet. Und dann kann man dieses Scans halt übereinanderlegen und halt so flippen, wie man das Ganze möchte. Jetzt kann es natürlich sein, ihr habt diese Hardware gar nicht und ihr bittet irgendjemanden, macht mal Fotos davon, dann gucken, hat der ein Scanner, dann nach Möglichkeit auf den Scanner legen, ansonsten möglichst gute, möglichst gerade Fotos machen, weil so ein Lineal daneben legen als Referenz, dass man das Ganze grob skalieren kann. Beleuchtung, dass man nach Möglichkeit die Beschriftungen auf den Teilen lesen kann – das sind so die Tipps, die man da geben kann, wenn irgendjemand für einen so Fotos machen soll. Wenn möglich, einfach mal alle Bauteile ablöten, einzeln vermessen. Am besten, wenn ihr schon ein bisschen weiter seid und diesen Bauteilen integriert oder interne Disignatoren vergeben habt oder die Disignatoren schon kennt, dann macht euch einfach eine Tabelle, drückt die aus, klebt die Bauteile auf und dann müsst ihr die halt einmal durchmessen, aber dann habt ihr auch die Bill of Materials relativ komplett. Dann, wenn ihr die Bauteile schon alle abgelötet habt, dann könnt ihr direkt mal Scans ohne Bauteile machen, dann erübrigt sich auch das Traces unter Bauteilen herauszufinden mit dem Multimeter. Und wenn ihr jetzt vier lagige Platinen habt, dann ist der Königsweg auf die Innenlagen, das Ganze runterzuschleifen und die Scans von den Innenlagen auch zu machen. Weil manchmal hat man auch, wenn man glaubt, wenn man viel Arbeit reingesteckt hat, doch noch irgendwelche Verbindungen auf den Innenlagen falsch. Also das ist so ganz klassisch. Das ist auf mir Pre-Preg, also das Material, wo das Leiterplattenmaterial, wo noch keine Leiterplatten drauf sind, das kann man für bestimmte Technologien einzeln kaufen. In der richtigen Dicke bau mir dann so ein kleines Rähmchen, wo ich die Platine drauflege, am besten das Pre-Preg ebenso machen, dass das ein bisschen dünner ist, dass das ungefähr bis zur Mittellage geht und dann möglichst gerade mit einem Schwingschleifer oder von Hand runterschleifen. Vorsicht, das Ganze ist FF4, das ist jetzt, wenn ihr da das Glasfasermatte runterschleift, dann auch mit Mundschutz und draußen. Und dann kommt ihr irgendwann auf Kupfer, da müsst ihr natürlich gucken, das Kupfer ist in der Regel nur in Außenlagen 35, Mühe in den Innenlagen manchmal noch dünner. Durch so eine Kupferschicht ist man verdammt schnell durch und man kriegt das eigentlich nie, dass man wirklich ganz perfekt alles hat. Man muss mal gucken, dass man so ein bisschen variiert, dass man es irgendwie vernünftig hinkriegt. Einmal so Beispiel, wenn mich kennt, ist irgendwann komme ich in meinen Talks immer auf Radiosonden. Explosionszeichnungen, also alle Teile, die man irgendwie beim Auseinanderbauen findet, die kann man dann hier mal so darstellen. Dann hat man sie mal direkt da, sieht auch noch schön aus. So mache ich das dann in der Regel. Und dann die, wir können diese Leiterplattenscans aussehen. Also hier haben wir jetzt Mikrocontroller STM32, einfach mal von der Oberseite. Und jetzt sieht man, in dem Fall kam das Licht im Prinzip von oben. Das heißt, man sieht alle Beinchen relativ klar, außer die, die halt hier unten unter dem TQFP liegen. Und wenn man da jetzt eben sein Tracing machen möchte, dann braucht man am besten noch einen Scan, wo man es einmal rumdreht. Wenn man dann sowieso sich schon die Mühe gemacht hat, die Bauteile alle abzulöten, dann gehe ich in der Regel auch noch mal mit feinem Schleifpapier drüber und nimm einfach hier diesen Lötstopplack, der verhindert, dass das Kupfer korrodiert und dass das Lötzin überall hinfließt. Und nimm den einfach noch mal ab, dann habe ich den Kontrast erhöht und dann ist das ein bisschen einfacher, da eben seine Leiterbahnen zu ziehen. Und dann im letzten Schritt, wenn man die Scans hat, dann kann man sich dran machen, die Leiterplatte runterzuschleifen und dann findet man raus, oh, hier in der Innenlage, ja, das ist hier hauptsächlich irgendwie eine Powerplane, aber da gibt es doch noch so einzelne Leitungen, die da durchgehen. Es ist mir jetzt hier in dem rechten Bereich nicht so ganz gut gelungen, aber wenn man schon vorher seine Sachen vermessen hat, dann kann man sich das auch rekonstruieren oder eben, wenn man merkt, ich habe eine Seite, da bin ich noch nicht auf dem Kupfer und das Kupfer war schon fast drunter, dann macht man halt einmal ein Scans zwischendurch und schleift dann noch mal ein bisschen weiter und dann hat man auf jeden Fall das Zwischenprodukt auch. Wie geht es dann weiter, wenn man dieses Scans hat? Dann geht es im Prinzip in eine Bildbearbeitung Software eurer Wahl. Ich bin da, also ich habe das irgendwann mal 2019 mir da oder 2018 viel angeguckt und bin dann bei Paint.net gelandet, weil es relativ einfach ist, weil es lagen kann und weil ich eigentlich mehr nicht brauche. Und tatsächlich, das sind ja relativ große Scans. Also ich mache das in der Regel irgendwie so, dass mein Scanner gerade noch nicht meckert, dass das zu viel für ihn ist und das tut er irgendwie bei 36.000 Pixeln und ich arbeite da in der Regel mit Bitmaps. Das heißt, diese Scans, die werden dann auch mal 300, 400, 500 MB groß. Warum arbeite ich mit Bitmaps? Weil ich bei Paint.net rausgefunden habe, wenn man genug RAM hat und der diese Bitmaps in den Arbeitsspeicher laden kann, dann kann er da deutlich schneller die hin und her jonglieren, als wenn das irgendwie JPEGs sind und er da noch irgendwie interne Konversion machen muss. Also da kann man einen ganz gut Speicherplatz gegen Rechenspeed eintauschen. Und man hat halt wirklich irgendwie keine großen Kompressionsartefakte. Man kann sich ja dann nachher zum Speichern das Ganze noch mal in ein Container packen und dann so noch mal runter komprimieren. Und deswegen ist das für mich der Workflow, wo ich dann am besten gelandet bin. Was natürlich schön wäre, wenn man nachher Signaleitung tracen will, ist, wenn man irgendwie die Möglichkeit hätte, das auf dem iPad oder so da eine Bildbearbeitung Software zu verwenden. Aber da habe ich nichts gefunden, weil wenn man das Ganze Open Source stellen will, dann soll das ja ein Open Source Format sein, nach Möglichkeit, was irgendwie Open Source ist und so weiter. Das heißt, ich bin dann einfach da gelandet, dass ich dann das Tracing über ein iPad oder das Graphic Tablet eurer Wahl letzten Endes gemacht habe, was einfach mit Duo Display, das integrierte Display spiegelt. Und dann kann man schön mit dem Pencil das Ganze tracen und muss das nicht mit der Maus machen. Dann geht es als Nächstes dahin, dass man die Scans alle übereinander legt und ausrichtet. Da kann man sich, wenn man Glück hat und solche, was ich eben gesagt habe, so Montage-Bohrungen hat oder eben einfach Vias nehmen und gucken, dass diese Vias erstmal richtig liegen. Und dann wird man auch bei Scans, wenn man die Vias mal ganz kurz finden. Vias sind ja auch heutzutage klein, 0,2 Millimeter gebohrt oder so. Das heißt, da ist ganz schnell so ein Versatz drin, dass ich eine Trace zu weit rechts oder zu weit links bin. Dann muss ich das halt ausgleichen, ein bisschen perspektivisch verzerren und dann habe ich in der Regel ein ganz gutes Ergebnis. Dann fange ich als Nächstes an, mir die Vias zu markieren. Und dann war mir im Zweifelsfall dann später, wenn ich auf ein blaues Vias oder ein rotes Vias komme, Gedanken machen muss, wie geht es dann jetzt weiter. Dann fange ich an, mir Overlays für ICs anzufertigen. Das heißt, wenn ich meine ICs identifiziert habe, dann haben die ein bestimmtes Pinout und dann will ich auch wissen, wie das Pinout ist. Das heißt, dann kann ich mir das einfach wieder aus dem Datenblatt machen. Wenn ich das dann habe, dann bin ich im Prinzip gut vorbereitet und kann anfangen, meine Signalleitungen zu tracen. Das am besten auch immer auf unterschiedlichen Layern, also macht euch ein Layer für Power Supply, macht euch ein Layer für IO vom Mikrocontroller. Und dann habe ich irgendwann mein Dokument und kann im Prinzip relativ einfach sagen, Leitung A geht von da nach da. Dann kann ich anfangen, meinen Schaltplan zu zeichnen. Dann kann ich das dann auf die Bühne legen und schnell sehen kann, oh, hier muss ich noch ein Blatt dran kleben, da geht es noch weiter und so ein bisschen erst mal ein Gefühl dafür bekomme. Man kann natürlich auch direkt mit einem IDA starten, aber bei mir ist das in der Regel erst der letzte Schritt, weil ich will es ja dann auch schön machen. Ich muss mir dann schon meine Bauteile, meine Schaltplan- Symbole richtig anlegen, damit es noch ein bisschen weiter geht. Das war ich mit den Farben ein bisschen doof, also rot ist Masse und blau ist Spannungsversorgung. Das hat sich irgendwie so ergeben und als ich dann angefangen hatte, hatte ich auch keinen Bock mehr zu ändern. Auf der rechten Seite sieht man, welche Layer das dann eigentlich sind. Also dann gibt es hier Front und Rear Scan von der Leiterplatte. Die Innenlagen im Zweifels habe ich hier jetzt schon bei der Platine an dem Schritt, dass ich alle Bauteilen interne Designator gegeben habe. Die sind dann auf diesen Bauteilen auch noch mal drauf. Und dann eben das Tracing. Wo gehen die hin? Und in dem Fall hatte ich noch in der Platine noch nicht die Mittellagen. Das heißt, alles, was ich hier das Gefühl hatte, das geht über eine Mittellage, ist hier so in gepunktet. Und das wäre es dann im Prinzip auch schon. Und ich glaube, wir haben noch ein paar Minütchen für Fragen und vielleicht auch eigene reverse Engineering Geschichten. Ich habe eine Menge gelernt. Einmal eine Anmerkung noch und eine Frage. Erstmal mit dem Debaktenport. Ich habe auch mal einen gehabt, da war nicht so mein Produktiv-Gerät so blöd, die haben den tatsächlich markiert gehabt und ich habe es auch bescheuert. Ich zum reverse engineering Chip und Board, also diese Chips in der Forgoos-Clex. Genau. Die Packageform hattest du nicht erwähnt gehabt, tatsächlich. Ja, alles, was dann irgendwie an Forgoos-Maße geht und wo man dann wirklich anfangen muss, die Chemikalien rauszuholen, das ist schwierig. Vor allen Dingen, weil man dann auch eben keine Markings hat. Also wenn man da herausfinden hat, da war ein großes CPLD drauf. So ein vierseitiges Package und habe das dann runtergelötet und habe dann halt eben einen ganz feinen Marker auf den Traces. Es war zum Glück nur ein 2-Lagen-Bord und es nachgemalt. Alles, was ich aufgemalt hatte auf dem Papier, hatte ich dann halt eben so auf dem Board irgendwie mir abgezeichnet und abgehakt dahinten. Und dann habe ich dann auch dann auch noch ein paar Sachen in der Hand. Man kann da schon eine Menge machen. Zerstörungsfrei ist natürlich relativ. Meistens kommt man ja relativ zerstörungsfrei an das PCB dran. Das würde ich sagen, schon eine Notwendigkeit dafür, dass man sinnvoll irgendwelche Aussagen tätigen kann. Man kann natürlich auch schon, wenn man die mal zusammenlegt und die mal zusammenlegt. Aber so wirklich mit absoluter Sicherheit kann man eigentlich erst was sagen, wenn man das PCB in der Hand hält. Und dann hat man ja eigentlich schon viel Möglichkeiten, auch wenn man Sachen ablöten, wieder auflöten, kann man natürlich nicht diesen kompletten, ich löte einmal alles ab, ich messe einmal alles. Aber wenn ich jetzt wirklich einen Bauteil habe, wo ich einen Bauteil funktioniert, da muss man sich dann so ein bisschen seinen Kampfplan definieren und sich überlegen, wie wahrscheinlich ist das, dass die Sache dann später noch läuft. Geld auf Röntgen werfen. Gute Frage. Gibt es für nünftige oder bekannte Quellen für Out-of-Market oder Out-of-Sale Bauteile? Ich habe zum Beispiel ein altes Jesu, ich glaube 2 TPM 7. Ich habe auch ein Mikrofon, was ich gar nicht finden kann und es gibt Rochester. Die Partnern auch mittlerweile mit Digi-Key und haben da ihren Index verlinkt. Die spezialisieren sich da drauf. Aber das sind natürlich auch in der Regel Bauteile, wo die denken, die werden vielleicht irgendwie in militärischen Anwendungen oder sonst was sein, wo halt Leute bereit sind, auch viel dafür zu bezahlen, damit sie das Produkt noch länger herstellen können. Also da wird man jetzt nicht irgendwie ein Jellybean-Part haben. Das war es dann. Danke dir für den Vortrag. Ich selber habe hier gelernt. Ich hoffe euch geht es auch so. Nächsten Tag, wenn ihr Gulasch haben wollt, wer möchte Gulasch haben? Trollen. Ohne Trolle geht es nicht. Genau. Vielen Dank auch nochmal an das Walk und an das Team. Dann, enjoyen, habt Spaß und Applaus.