Die beliebte Open-Source-Software KiCad zur Erstellung von Leiterplatten-Designs (PCB) hat einen Meilenstein erreicht: Sie läuft nun vollständig im Browser. Entwickelt vom ungarischen Startup Emergence Engineering, ermöglicht die Lösung eine nahtlose Nutzung ohne lokale Installation. Doch dieser Fortschritt basiert auf monatelanger Arbeit und zahlreichen technischen Herausforderungen.
Ein komplett neuer Ansatz für PCB-Design
KiCad ist ein etabliertes Werkzeug für Elektronikentwickler, das bisher als Desktop-Anwendung verfügbar war. Das Team von Emergence Engineering, darunter Viktor als CTO und ehemaliger Elektroingenieur, hat KiCad nun in eine browserbasierte Version überführt. Die Motivation dahinter war ursprünglich ein Hobbyprojekt, das sich zu einer ernsthaften Produktentwicklung entwickelte. "PCBJam begann als mein Hobby, doch mit der Zeit wuchs die Vision zu einem vollwertigen Tool", erklärt Viktor.
Die technische Grundlage für diese Innovation bildet eine Kombination aus WebGL und WebAssembly (WASM). Anstatt die bestehende KiCad-Codebasis einfach zu emulieren, entschieden sich die Entwickler für einen radikalen Ansatz: Sie schrieben native WebGL-Codezeilen, die direkt mit KiCads Grafikabstraktionsschicht interagieren. Dies erforderte monatelanges Debugging und Optimierung, um die Performance und Stabilität sicherzustellen.
Von Pthreads zu Asyncify: Die technischen Hürden
Die Portierung von KiCad in den Browser brachte zahlreiche technische Herausforderungen mit sich. Eine der größten Hürden war die Integration von Multithreading, das in KiCad für Aufgaben wie Design Rule Checking (DRC) und 3D-Rendering genutzt wird. Mit Emscripten, einem Tool zur Kompilierung von C++-Code in WASM, gelang es, Pthreads in den Browser zu übertragen. Allerdings kollidierten dabei mehrere Emscripten-Features wie Asyncify und native Exceptions miteinander.
Die Lösung erforderte tiefgehende Anpassungen am Binaryen-Compiler, einem Werkzeug zur Optimierung von WASM-Code. Durch das Schreiben eines neuen Binaryen-Passes konnte die Bundle-Größe um 30 bis 40% reduziert werden. Das Ergebnis: Die Anwendung lädt nun in etwa einer Sekunde statt in zehn Sekunden. Viktor kommentiert: "Diese Optimierungen waren kein Sprint, sondern ein Marathon."
Weitere Herausforderungen umfasste die Reduzierung der Bundle-Größe von ursprünglich 180 MB auf 130 MB durch das Auslagern von Open CASCADE in ein separates, lazy-geladenes WASM-Modul. Trotz dieser Fortschritte bleibt die Arbeit nicht abgeschlossen. Die Entwickler arbeiten weiterhin an der Stabilität und Performance, um die browserbasierte Version so nah wie möglich an die native KiCad-Erfahrung heranzuführen.
Ein Blick auf die Zukunft: Produktvision und Open-Source-Beiträge
Emergence Engineering plant, KiCad um weitere Funktionen zu erweitern, darunter Kollaborationstools, KI-Integration und Projektfreigaben. Das Ziel ist es, eine Plattform zu schaffen, die ähnlich wie Red Hat für Linux eine Brücke zwischen Open Source und kommerziellen Diensten schlägt. "Wir wollen KiCad nicht nur portieren, sondern zu einer vollwertigen Produktplattform ausbauen", sagt Viktor.
Die Finanzierung des Projekts soll über ein Freemium-Modell erfolgen: Eine kostenlose Basisversion wird angeboten, während erweiterte Funktionen wie KI-Integration oder Self-Hosting für etwa 30 US-Dollar pro Monat verfügbar sein sollen. Langfristig sind auch native Desktop-Versionen sowie mobile Apps geplant.
Ein zentraler Bestandteil der Strategie ist der Open-Source-Gedanke. Obwohl die Frontend-Codebasis unter GPL steht, sollen die technischen Verbesserungen und Anpassungen an KiCad, wxWidgets und Binaryen in die Hauptprojekte zurückfließen. Viktor betont: "Wir stehen auf den Schultern derer, die KiCad und wxWidgets entwickelt haben. Es ist unsere Pflicht, unser Wissen zu teilen und die Community zu stärken."
Fazit: Ein Schritt in die Zukunft des PCB-Designs
Die browserbasierte Version von KiCad markiert einen Wendepunkt für Elektronikentwickler weltweit. Sie ermöglicht den Zugang zu leistungsstarken Tools ohne lokale Installationen und öffnet die Tür für neue Kollaborationsmöglichkeiten. Während die Entwickler weiterhin an der Stabilität und Erweiterungen arbeiten, steht fest: Diese Innovation wird die Art und Weise, wie PCB-Designs erstellt und geteilt werden, nachhaltig verändern. Wer die browserbasierte KiCad-Version ausprobieren möchte, kann dies über die offizielle Projektseite tun. Die Zukunft des PCB-Designs ist nur einen Klick entfernt.
KI-Zusammenfassung
KiCad artık tarayıcıda çalışabiliyor. WebGL ve WebAssembly teknolojileriyle tarayıcı tabanlı PCB tasarımında yeni bir dönem başlıyor. Detaylar ve gelecek planları burada.
