Ich bastel seit einer weile über claude code eine software die im browser läuft um platinen in netlists umzuwandeln, damit man daraus ein schaltplan ableiten kann.
besser als mit stift und papier war der plan.
Die software läuft lokal im browser, man muss nix runterladen, keine abhängigkeiten, keine cloud, nichts. einfach die html öffnen oder auf die git seite gehen und da ist er der editor. gespeichert wird lokal im browser, man kann die datei aber auch herunterladen.
Wie funktioniert das ganze?
Man erstellt ein neues projekt und lädt Bilder von seiner platine hoch, idealerweise in hoher auflösung und allen lagen die man analysieren will. ggf. sogar ein röntgenbild wenn man will.
im dropdown legt man fest welches bild was ist, top, bottom, inner1 xray etc.
Dann richtet man bild 1 über die taste Deskew aus falls man bilder hat die nicht perfekt gerade sind. man wählt zwei parallele linien aus (board kante zb.) und er gleicht automatisch perspektivische verzerrung aus.
schritt 2, ausrichten der bilder. jede lage hat man idealerweise schon vorher ausgerichtet bevor man sie importiert, falls nicht. kann man über 4 ausgewählte punkte die lagen mit anderen ausrichten. auf die reihenfolge achten, dadurch kann man auch drehen und spiegeln!
schritt 3, maße kalibrieren. man nimmt das calibration werkzeug oben links und zieht eine linie von kante zu kante von der man in echt die maße genommen hat, dann gibt man diese ein.
fertig, es kann losgehen.
(hotkeys sind alle einstellbar)
mit W legt man leiterbahnen
mit V setzt man vias
doppelklick öffnet ein menü zum Net-namen festlegen, tasten 1 bis 0 für quick-net namen wie GND +5V VCC etc.
wenn man punkte miteinander verbindet erstellt es automatisch ein neues Net, wenn man zwei nets miteinander verbindet wird daraus eins.
man kann mit ctrl Z rückgängig machen, ctrl y wiederholen und oben auf der Uhr eine timeline auswählen um aktionen rückgängig zu machen die schon weiter hinten liegen.
Mit Mask wird eine rote maske über die platine gelegt damit man sieht wo man noch nicht war, hilft etwas falls man leiterbahnen vergisst.
mit D kann man zwischen vorder und rückseite umschalten.
mit den tasten 1..0 und shift+ 1..0 kann man zwischen den lagenbildern links hinundherschalten.
mit C öffnet man das komponentenmenü um bauteil-symbole zu setzen. falls eins nicht dabei ist, gibt es das freestyle symbol. man gibt die größe an und klickt danach einmal drauf, rechts im menü kann man dann Add pins klicken.
wenn man ein IC auswählt, oder jegliches bauteil, hat man rechts ein menü in dem man pins benennen kann, net-name eintragen, etc.
die netzliste links in der leiste hebt das jeweilig ausgewählte netz blinkend hervor.
man kann auch die farbe dazu ändern.
Gespeichert wird im browser-cache alle 2.5s, aber nur nach einer änderung. Manuell speichern geht auch, dann lädt der eine json datei runter. das klappt auch gut mit großen bildern. zb. habe ich eins mit 250mb größe ohne ladezeiten.
wenn man fertig ist kann man das ganze als kicad netlist oder schaltplan exportieren. (auch als csv)
am schaltplan bastel ich noch, aktuell nutzt er nur net-labels und es kann sein dass komponenten fehlen falls der package-name falsch gewählt ist. kicad meckert dann gern beim import.
leider kann man in kicad keine netlist in den schaltplan editor importieren als “vorgabe”, so dass man nur noch die bauteile hin, herschieben und verbinden muss wie im PCB editor. da überleg ich mir noch was.
Man kann komponenten ein wert geben, zb. 10R 100uF 74HC14 etc.
bei widerständen kann man auch den code eingeben zb. 01C und er macht automatisch 10k daraus. ebenso über die farbbänder im Ohm menü machbar
Ich reize täglich mein limit bei claude aus weil mir ständig neue dinge einfallen oder kleine bugs auftauchen. sobald ich wieder tokens frei habe, werden die sofort abgearbeitet.
Vielleicht kann ja jemand von euch mit der software was anfangen.
normalerweise behalt ich solche spielereien für mich aber die hat ein gewissen allgemeinnutzen dachte ich mir.
Ein beispielprojekt was ihr reinladen könnt ist zb. dieses hier
(.json datei, nix verschlüsselt alles plain text. layer-bilder sind in base64 darin encoded daher so groß.)
das bau ich sobald es wieder rennt direkt als standart ein, so dass man falls man noch kein projekt im cache hat “neu” oder “load sample project” auswählen kann.
Wer noch Target3001 kennt, der kennt diese reverse engineering funktion, nur hab ich kein bock für eine mit sponsoring und werbung vollgemüllte software die am ende dann weniger kann hunderte euro zu zahlen.
Ideen?
ich hätte da
- evtl ein BOM editor wo man eine liste aller komponenten hat, wo man genauer eintragen kann was wie und wo.
- Machine vision, um automatisch widerstandsmarkierungen zu erkennen und in werte umzuwandeln… das kann halt schnell schief gehen.




