Skip to content
Zurück zu News
Engineering12. März 2026

Wir open-sourcen boardsmith

boardsmith verwandelt Text-Prompts in KiCad-Schematics, BOM und Firmware. Open Source, funktioniert offline, 212 verifizierte Komponenten. Jetzt als AGPL auf GitHub verfügbar.

boardsmith ist ein CLI-Tool, das aus einem Text-Prompt ein KiCad-Schematic, eine Bill of Materials und Firmware erzeugt -- offline, ohne API-Key, in etwa 10 Sekunden.

Heute veröffentlichen wir es unter AGPL-3.0. github.com/ForestHubAI/boardsmith

Das Problem, das uns nicht losließ

Wir sind ein vierköpfiges Team. Vor ForestHub haben wir alle jahrelang Embedded Systems gebaut. Und wir haben immer wieder dasselbe gemacht: einen ESP32 mit einem BME280 über I2C verdrahten. Pull-ups hinzufügen. Entkopplungskondensatoren hinzufügen. Die I2C-Adresse nachschlagen. KiCad öffnen. Die Netze zeichnen. Den Init-Code schreiben. Zum fünfzehnten Mal in diesem Jahr das Datenblatt prüfen.

Das ist alles nicht schwer. Aber es ist mühsam, fehleranfällig und frisst Stunden, die in die eigentliche Produktlogik fließen sollten. Die Lücke zwischen "Ich weiß, welche Schaltung ich will" und "Ich habe ein Schematic, eine BOM und ein Firmware-Skelett" ist überraschend groß -- und nichts in der bestehenden Toolchain schließt sie.

Es gibt KI-Tools, die Code generieren. Es gibt KI-Tools, die Bilder generieren. Es gibt nichts, das elektrisch valide Schematics mit passender Firmware generiert. Also haben wir eines gebaut.

Was es tatsächlich macht

Hier das echte Ding, kein Mockup:

$ pip install boardsmith
$ boardsmith build -p "ESP32 with BME280 temperature sensor over I2C" --no-llm

Zehn Sekunden später erhältst du:

Output:
├── schematic.kicad_sch     KiCad 8, open directly
├── firmware/main.cpp       Arduino/ESP-IDF ready
├── firmware/hardware.h     Pin definitions
├── bom.json                JLCPCB part numbers + cost
└── gerber/                 JLCPCB-ready (optional)

Dieses Schematic ist keine Vorlage mit ausgefüllten Lücken. Es ist eine berechnete Schaltung: korrekte I2C Pull-up-Widerstandswerte für die Busgeschwindigkeit, Entkopplungskondensatoren auf den richtigen Rails, korrekte Power-Netze, Pin-Zuweisungen ohne Konflikte. Die Firmware enthält Initialisierungssequenzen, Pin-Definitionen und Peripheral-Setup, die exakt zum Schematic passen. Die BOM hat echte Hersteller-Teilenummern mit LCSC-Mappings für direktes JLCPCB SMT Assembly.

Öffne die .kicad_sch-Datei in KiCad. Sie funktioniert einfach.

Wie es funktioniert

Unter der Haube läuft boardsmith durch eine 9-stufige Synthese-Pipeline:

  • Intent Parsing -- herausfinden, was du anforderst
  • Requirements Normalization -- Mehrdeutigkeiten auflösen, Defaults setzen
  • Component Selection -- Bauteile aus der verifizierten Wissensbasis auswählen (212 Komponenten, jede mit elektrischen Ratings, Timing-Constraints, I2C-Adressen)
  • Topology Synthesis -- Bus-Verbindungen, Pull-ups, Power-Routing bestimmen
  • HIR Composition -- die Hardware Intermediate Representation aufbauen
  • Constraint Refinement -- 11 Prüfungen ausführen: Spannungskompatibilität, I2C-Adresskonflikte, Pin-Zuweisung, Power-Budget, Timing, Entkopplung, Pull-up-Werte, Bus-Breite, Clock-Domains, Stromlimits, ERC-Validierung
  • BOM Generation -- Einzelposten mit MPN, LCSC-Teilenummer und geschätzten Kosten
  • KiCad Export -- natives .kicad_sch-Output
  • Confidence Scoring -- wie sehr vertraut die Pipeline diesem Design?

Die zentrale Datenstruktur ist HIR -- Hardware Intermediate Representation. Es ist ein typisiertes Pydantic v2 Schema, das durch jede Stufe fließt: Komponenten, Verbindungen, Spannungen, Provenance-Tracking, Constraints. HIR ist der Vertrag zwischen der Synthese-Pipeline (Prompt zu Schematic) und dem Firmware-Compiler (Schematic zu Code). Jede Stufe liest HIR, transformiert es und schreibt HIR zurück. Das bedeutet, Stufen sind unabhängig testbar und austauschbar.

Agentic EDA

boardsmith schließt auch die Schleife. Drei Fähigkeiten verwandeln es von einem Einmal-Generator in ein iteratives Design-Tool:

ERCAgent

Nach der Schematic-Generierung ruft boardsmith build den ERCAgent automatisch auf, wenn LLM-Credentials verfügbar sind. Er liest den echten KiCad ERC-Output, bittet das LLM, über jeden Verstoß nachzudenken, und wendet chirurgische Patches an (nur ADD/MODIFY -- keine destruktiven Deletes). Bis zu 5 Iterationen mit Stall-Erkennung. Die meisten ERC-Verstöße werden automatisch behoben.

boardsmith modify

Ein bestehendes KiCad-Schematic patchen, ohne die Synthese-Pipeline anzufassen. Sage "add battery management with TP4056" und das LLM generiert einen Modifikationsplan, du bestätigst, Patches werden angewandt, und der ERCAgent validiert nach dem Patch. Ein zeitgestempeltes .bak-Backup wird vor jedem Schreibvorgang erstellt.

boardsmith verify

Ein Design gegen seine Intention mit 6 semantischen Verifikations-Tools prüfen: Konnektivität, Bootability, Power, Komponenten, BOM und PCB. Regelbasierte Prüfungen laufen kostenlos; die LLM-geführte Fix-Schleife übernimmt, was Regeln nicht abfangen können.

Die --no-llm-Philosophie

Das ist der Teil, der uns am meisten am Herzen liegt: boardsmith build --no-llm führt die vollständige Pipeline deterministisch aus. Kein Netzwerk. Kein API-Key. Gleicher Input, gleicher Output, jedes Mal.

Wir haben es so entworfen, weil wir nicht glauben, dass Hardware-Synthese für Korrektheit von einem probabilistischen Modell abhängen sollte. Die Wissensbasis enthält exakte elektrische Spezifikationen aus Datenblättern. Der Constraint-Checker verwendet Arithmetik, keine Vermutungen. Pull-up-Werte werden aus Bus-Kapazität und Geschwindigkeit berechnet, nicht halluziniert.

Wenn du den LLM-Modus aktivierst, nutzt das System das Modell für zwei Dinge: mehrdeutige Prompts flexibler zu interpretieren und über Designs zu iterieren, die Constraint-Prüfungen nicht bestehen. Das LLM schlägt Änderungen vor; die deterministische Pipeline validiert sie. Das Modell hat nie das letzte Wort bei der elektrischen Korrektheit.

Das ist kein Wrapper um GPT, der einen schematic-förmigen String ausgibt. Die Pipeline existierte, bevor wir LLM-Support hinzugefügt haben, und funktioniert problemlos ohne ihn.

Was es (noch) nicht kann

  • Kein Analog-Design. Op-Amp-Schaltungen, Filter, analoge Signalaufbereitung -- noch nicht. Der Topology-Synthesizer behandelt digitale Busse (I2C, SPI, UART) und Power-Distribution.
  • Kein Hochgeschwindigkeits-Design. Impedanzanpassung, Differenzpaare, längenabgeglichene Leitungen -- nichts davon. Wenn dein Design kontrollierte Impedanz braucht, kann boardsmith ein Ausgangs-Schematic liefern, aber das Layout musst du selbst erledigen.
  • 212 Komponenten. Das deckt Sensoren, Displays, Kommunikationsmodule, MCUs, Speicher, Aktoren und Spannungsregler ab. Genug für viele Embedded-Projekte, aber nicht alles.
  • STM32 ist Beta. ESP32 und RP2040 sind stabil mit guter Abdeckung. STM32 HAL-Support funktioniert, deckt aber eine kleinere Teilmenge von Peripheriegeräten ab.
  • Keine Multi-Board-Designs. Ein Prompt, ein Board.

Warum Open Source, warum AGPL

Wir haben AGPL-3.0 aus einem bestimmten Grund gewählt: Wenn du boardsmith verbesserst, kommen diese Verbesserungen allen zugute. Nutze es in deinen Projekten, passe es für deinen Workflow an, baue Produkte damit -- aber wenn du eine modifizierte Version verteilst, teile den Source-Code.

Für Unternehmen, die boardsmith in proprietäre Toolchains integrieren müssen ohne die AGPL-Verpflichtungen, bieten wir eine kommerzielle Lizenz an. So sustain wir die Entwicklung als vierköpfiges Seed-Stage-Team.

Aber der eigentliche Grund für Open Source ist einfacher: Die Wissensbasis ist der Flaschenhals. 212 Komponenten sind ein guter Anfang, aber das Embedded-Ökosystem hat Tausende von Bauteilen. Wir können nicht jeden ComponentEntry selbst schreiben. Jeder Contributor, der einen Sensor, ein Display oder ein Kommunikationsmodul hinzufügt, macht boardsmith nützlicher für jeden anderen Nutzer. Das ist ein Schwungrad, das wir nicht alleine in Gang setzen können.

So probierst du es aus

pip install boardsmith
boardsmith build -p "ESP32 with BME280 temperature sensor" --no-llm

Python 3.10+. Kein API-Key. Kein Docker. Keine Registrierung. Output landet in ./boardsmith-output/. Öffne das Schematic in KiCad, flashe die Firmware, prüfe die BOM.

Was kommt als Nächstes

Wir fokussieren uns kurzfristig auf drei Dinge: Mehr Komponenten (hier haben Community-Beiträge den höchsten Hebel), besserer STM32-Support (von Beta zu Stable), und OpenAI Tool-Use-Support (aktuell wird Anthropic Tool-Use für ERCAgent und verify ausgeliefert).

Langfristig denken wir über analoge Schaltungssynthese, Multi-Board-Systeme und Simulations-Integration nach. Aber wir liefern lieber, was heute funktioniert, als zu versprechen, was vielleicht nächstes Jahr funktioniert.

boardsmith ist auf github.com/ForestHubAI/boardsmith. Stern geben, ausprobieren, kaputtmachen, uns sagen, welches Bauteil du dir wünschst.

Bei ForestHub glauben wir, dass die besten Tools Hardware so zugänglich machen wie Software.