<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Falk</id>
	<title>Mikrocontroller.net - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Falk"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/Falk"/>
	<updated>2026-04-11T09:17:23Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=FIFO&amp;diff=107959</id>
		<title>FIFO</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=FIFO&amp;diff=107959"/>
		<updated>2026-03-31T16:17:06Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Memory-mapped Ringbuffer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein FIFO (&amp;lt;b&amp;gt;F&amp;lt;/b&amp;gt;irst-&amp;lt;b&amp;gt;I&amp;lt;/b&amp;gt;n-&amp;lt;b&amp;gt;F&amp;lt;/b&amp;gt;irst-&amp;lt;b&amp;gt;O&amp;lt;/b&amp;gt;ut) ist ein Pufferspeicher nach dem &amp;quot;Warteschlangen-Prinzip&amp;quot;. Pufferspeicher dienen dazu, Daten aufzufangen, die noch nicht sofort verarbeitet werden können. Ein FIFO funktioniert definitionsgemäß so, dass das erste Element (First In), welches &amp;quot;hinten&amp;quot; in die Warteschlange eingefügt wird, später auch als erstes &amp;quot;vorne&amp;quot; herausgeholt wird (First Out). Das Gegenstück zum FIFO ist [[LIFO]].&lt;br /&gt;
&lt;br /&gt;
== Funktionsprinzip ==&lt;br /&gt;
&lt;br /&gt;
Ein FIFO benötig immer einen Schreib- und Lesezeiger. Zeigen beide auf die gleiche Adresse, ist der FIFO leer. Die Differenz ergibt die Anzahl der Elemente im FIFO. Schreib- und Lesezeiger werden beim Zugriff erhöht. Sie können allerdings nicht unbegrenzt wachsen, denn das würde den gesamten Speicher überschreiben. D.h. nach Erreichen einer Obergrenze springen die Zeiger auf den Anfang des FIFO-Speicherbereichs zurück (Überlauf, englisch wrap around). Daher stammt auch der Begriff Ringpuffer.&lt;br /&gt;
&lt;br /&gt;
[[Bild:FIFO_BSB.png|thumb|574px|left|Blockschaltbild eines FIFO Speichers]]&lt;br /&gt;
&lt;br /&gt;
== Anwendung ==&lt;br /&gt;
Ein bekanntes Beispiel für einen FIFO-Speicher ist der des [[UART]]s im PC. Dieser sammelt ankommende Daten solange, bis er fast voll ist (meist 14 Bytes). Dann wird ein [[Interrupt]] ausgelöst und der Prozessor kann &amp;quot;auf einen Rutsch&amp;quot; alle Daten auf einmal schnell auslesen. Ganz am Anfang hatten UARTs keinen FIFO und erzeugten für jedes empfangene Byte einen Interrupt, so wie es heute noch die meisten Mikrocontroller machen. Damit ist aber die CPU-Belastung wesentlich höher, was bei höheren Datenraten zu Problemen führen kann. In Senderichtung ist das Problem auch vorhanden, wenn gleich unkritischer. Mit einem FIFO kann die CPU sehr viele Dutzende bis Hunderte Bytes in sehr kurzer Zeit (wenige Dutzend Mikrosekunden) hineinschreiben, welche dann relativ langsam mittels [[Interrupt]] Byte für Byte mit dem UART gesendet werden. Die CPU muss nicht warten, bis jedes einzelne Zeichen versendet wurde. Zum Vergleich. Ein AVR mit 16 MHz Takt macht während der Übertragung von 1 Byte bei 115200 Baud (86,8us) 1389 CPU-Takte. Damit kann man sehr viel anstellen! Bei schnelleren CPUs bzw. niedrigeren Baudraten ist das Mißverhältnis noch deutlich größer. Im Idealfall werden die Daten aus dem FIFO mittels [[DMA]] an den UART übertragen, dann hat der Prozessor gar nichts mehr damit zu tun.&lt;br /&gt;
&lt;br /&gt;
Die Umsetzung eines FIFOs in Software heißt Ringpuffer und weist auch eine feste Puffergröße auf. Wesentlicher Vorteil gegenüber der verketteten Liste ist die schnellere Ausführungszeit und der geringere Aufwand. Für sehr schnelle Anwendungen gibt es auch kleine bis relativ mittlere FIFOs als ICs (Früher Cypress und IDT, heute Infineon und Renesas).&lt;br /&gt;
&lt;br /&gt;
== Standard-Ringpuffer ==&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
* Simpel&lt;br /&gt;
* Leicht verständlich&lt;br /&gt;
* Daten können auch vom Typ struct sein&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
* Schnell aber nicht optimal&lt;br /&gt;
&lt;br /&gt;
=== Beschreibung ===&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Bild:Ringpuffer.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
[[Bild:Circular buffer.png|200px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die Inhalte des Puffers werden in einem schlichten Array gespeichert und der Zugriff erfolgt über einen Integer-Index. Erreicht ein Index die Obergrenze springt dieser auf Null zurück. Topologisch ist dies äquivalent zu einem Ringschluss, bei dem man ja auch nach dem letzten Element wieder beim ersten angelangt ist. Man denke zb an das Zifferblatt einer Uhr, bei der nach der 59 wieder die 0 kommt. Ein größer-gleich statt nur eines ist-gleich Vergleichs ist sicherer gegenüber Programmfehlern, bei denen der Index verstellt wurde.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
write = write + 1;&lt;br /&gt;
if (write &amp;gt;= BUFFER_SIZE)&lt;br /&gt;
  write = 0;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Haben Lese- und Schreib-Index den gleichen Wert, wird der Puffer als leer angesehen und es kann kein Element aus dem Puffer entnommen werden. Wenn write+1 und read identisch sind wird der Puffer als voll angesehen und es kann kein weiteres Element mehr im Puffer gespeichert werden. Nun fehlt noch der Sonderfall bei dem read gleich Null ist, hier funktioniert der write+1-Vergleich nicht mehr (wegen dem &#039;Überlauf&#039; am Ende des Arrays, der den Ringschluss bewirkt) und die Abfrage einer zusätzlichen Bedingung ist zur Voll-Abfrage erforderlich.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
read == write =&amp;gt; leer&lt;br /&gt;
write + 1 == read || read == 0 &amp;amp;&amp;amp; write+1 == BUFFER_SIZE =&amp;gt; voll&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Bei gleichzeitigem Zugriff zwischen dem Befüller (zb. einer [[Interrupt#UART_mit_Interrupts | UART-ISR]]) und dem Entnahmecode (zb. der Code in der Hauptschleife) muss ausgeschlossen werden, dass der Entnahmecode beim Lesen aus dem Puffer nicht durch den Interrupt unterbrochen werden kann. Denn während diese Funktion läuft, ist zwischenzeitlich der read-Index in einem inkonsistenten Zustand. Erst nach Beendigung der Funktion spiegelt der read-Index wieder die Realität des Füllgrades wieder. Als Abhilfe dienen [[Interrupt#Atomarer_Datenzugriff|Atomare Abschnitte]], solche können durch keinen Interrupt unterbrochen werden. Die Radialkur deaktiviert alle Interrupts, besser ist die Deaktivierung eines einzelnen Interrupts. Es geht aber meistens auch so, da die FIFO-Funktionen sehr kurz sind und daher auch die Interrupts nur kurz abgeschaltet werden. Im Allgemeinen werden versäumte Interrupts nach erneuter Aktivierung nachgeholt und gehen nicht verloren, so dass bereits anstehende Interrupts nur kurz verzögert werden. Solange die Interruptperiodendauer größer als die Ausführungsgeschwindigkeit der FIFO Funktionen ist, stellt das Abschalten der Interrupts daher auch in der Praxis meist kein allzugroßes Problem dar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
cli()&lt;br /&gt;
ret = BufferOut(&amp;amp;var);&lt;br /&gt;
sei()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hilfreich ist die Initialisierung der Indizes (read, write) mit -1, denn damit kann man einen leere Ringpuffer von einem vollen unterscheiden. Initialisiert man nur mit 0, kann man einen leeren nicht von einem vollen mit read=write=0 unterscheiden. &lt;br /&gt;
&lt;br /&gt;
Eine weitere Möglichkeit der Vereinfachung entsteht durch die Einführung einer &amp;quot;Counter&amp;quot; Variable, die den Füllstand des Buffers wiedergibt. Bei Einschreiben wird diese um +1 erhöht, beim Auslesen um 1 erniedrigt. Ist sie 0 ist der Buffer leer. Damit lässt sich die Codeeffizienz steigern, da die obigen Vergleiche kürzer ausfallen und sich auf nur diese eine Variable beschränken. Nachteilig ist allerdings, dass man eine weitere Variable im System hat und natürlich benötigen die entsprechenden Operationen zum Erhöhen bzw. Erniedrigen dieser Variable ja auch Ausführungszeit. Benötigt man im restlichen Code den Füllgrad der FIFO nicht als explizite Zahl, dann lohnt daher eine derartige Counter-Variable meistens nicht.&lt;br /&gt;
&lt;br /&gt;
=== Code-Beispiel ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define BUFFER_FAIL     0&lt;br /&gt;
#define BUFFER_SUCCESS  1&lt;br /&gt;
&lt;br /&gt;
#define BUFFER_SIZE 23&lt;br /&gt;
&lt;br /&gt;
struct Buffer {&lt;br /&gt;
  uint8_t data[BUFFER_SIZE];&lt;br /&gt;
  uint8_t read; // zeigt auf das Feld mit dem ältesten Inhalt&lt;br /&gt;
  uint8_t write; // zeigt immer auf leeres Feld&lt;br /&gt;
} buffer = {{}, 0, 0};&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
// Stellt 1 Byte in den Ringbuffer&lt;br /&gt;
//&lt;br /&gt;
// Returns:&lt;br /&gt;
//     BUFFER_FAIL       der Ringbuffer ist voll. Es kann kein weiteres Byte gespeichert werden&lt;br /&gt;
//     BUFFER_SUCCESS    das Byte wurde gespeichert&lt;br /&gt;
//&lt;br /&gt;
uint8_t BufferIn(uint8_t byte)&lt;br /&gt;
{&lt;br /&gt;
  //if (buffer.write &amp;gt;= BUFFER_SIZE)&lt;br /&gt;
  //  buffer.write = 0; // erhöht sicherheit&lt;br /&gt;
&lt;br /&gt;
  if ( ( buffer.write + 1 == buffer.read ) ||&lt;br /&gt;
       ( buffer.read == 0 &amp;amp;&amp;amp; buffer.write + 1 == BUFFER_SIZE ) )&lt;br /&gt;
    return BUFFER_FAIL; // voll&lt;br /&gt;
&lt;br /&gt;
  buffer.data[buffer.write] = byte;&lt;br /&gt;
&lt;br /&gt;
  buffer.write++;&lt;br /&gt;
  if (buffer.write &amp;gt;= BUFFER_SIZE)&lt;br /&gt;
    buffer.write = 0;&lt;br /&gt;
&lt;br /&gt;
  return BUFFER_SUCCESS;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
// Holt 1 Byte aus dem Ringbuffer, sofern mindestens eines abholbereit ist&lt;br /&gt;
//&lt;br /&gt;
// Returns:&lt;br /&gt;
//     BUFFER_FAIL       der Ringbuffer ist leer. Es kann kein Byte geliefert werden.&lt;br /&gt;
//     BUFFER_SUCCESS    1 Byte wurde geliefert&lt;br /&gt;
//    &lt;br /&gt;
uint8_t BufferOut(uint8_t *pByte)&lt;br /&gt;
{&lt;br /&gt;
  if (buffer.read == buffer.write)&lt;br /&gt;
    return BUFFER_FAIL;&lt;br /&gt;
&lt;br /&gt;
  *pByte = buffer.data[buffer.read];&lt;br /&gt;
&lt;br /&gt;
  buffer.read++;&lt;br /&gt;
  if (buffer.read &amp;gt;= BUFFER_SIZE)&lt;br /&gt;
    buffer.read = 0;&lt;br /&gt;
&lt;br /&gt;
  return BUFFER_SUCCESS;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== FIFO als Bibliothek ===&lt;br /&gt;
&lt;br /&gt;
Hier sollen FIFO-Funktionen bereitgestellt werden, welche folgende Eigenschaften besitzen.&lt;br /&gt;
&lt;br /&gt;
* Mehrfache FIFOs einfach anlegen und benutzen&lt;br /&gt;
* Leistungsfähiger Zugriff auf FIFO-Daten (Blockzugriff)&lt;br /&gt;
* Interruptfester FIFO-Zugriff&lt;br /&gt;
&lt;br /&gt;
Diese FIFOs sind auf so ziemlich allen Plattformen nutzbar, entwickelt wurde sie jedoch auf einem AVR. Daher ist im FIFO im Moment auch noch eine Begrenzung der FIFO-Größe auf 64kiB vorhanden, welche aber leicht per typedef in fifo.h abgeändert werden kann. Ebenso kann die Größe der FIFO-Elemente eingestellt werden (8, 16, 32 Bit, ebenfalls structs). Alle FIFO-Funktionen sind interruptsicher aufgebaut, d.h. die kritschen Zugiffe auf die FIFO-Kontrolldaten erfolgen [[Interrupt#Atomarer_Datenzugriff | atomar]]. Damit ist der Einsatz im Hauptprogramm und in [[Interrupt]]s sicher möglich. Bei anderen Plattformen muss ggf. der atomare Zugriff angepasst werden. Der Datenzugriff erfolgt direkt über Pointer, das erhöht die Geschwindigkeit gegenüber Indexoperationen. Die folgenden Funktionen sind im wesentlichen verfügbar:&lt;br /&gt;
&lt;br /&gt;
* fifo_init(): FIFO initialisieren&lt;br /&gt;
* fifo_write_busy(): wartet bis mindesten 1 Element im FIFO frei ist und schreibt es in den FIFO&lt;br /&gt;
* fifo_write(): schreibt ein Element in den FIFO, ohne Prüfung ob genügend Platz vorhanden ist&lt;br /&gt;
* fifo_read_busy(): wartet bis mindesten 1 Element im FIFO vorhanden ist und liest es aus dem FIFO&lt;br /&gt;
* fifo_read(): liest ein Element es aus dem FIFO, ohne Prüfung ob Daten vorhanden sind&lt;br /&gt;
* fifo_get_level(): liefert die Anzahl der Elemente im FIFO zurück&lt;br /&gt;
* fifo_get_free(): liefert die Anzahl der noch frei verfügbaren Elemente im FIFO zurück&lt;br /&gt;
&lt;br /&gt;
Die Funktionen fifo_write_busy() und fifo_read_busy() warten solange vor dem FIFO-Zugriff, bis Speicher bzw. Daten im FIFO verfügbar sind. Das kann bisweilen lange dauern (blockierende Funktionen).&lt;br /&gt;
Die Funktionen fifo_write() und fifo_read() greifen ohne weitere Prüfung auf den FIFO zu. Die Prüfung muss vorher erfolgen. Damit ist eine nicht blockierende Arbeitsweise möglich ([[Multitasking]]).&lt;br /&gt;
&lt;br /&gt;
==== Leistungsverbesserung ====&lt;br /&gt;
&lt;br /&gt;
Die Funktionen zum Lesen und Schreiben einzelner Elemente sind einfach und klar. Aber was ist, wenn man mehrere Elemente aus dem FIFO lesen will? Oder noch viel schlimmer, wenn Bibliotheksfunktionen mehrere Elemente über einen Zeiger lesen wollen? Hier kommen die restlichen Funktionen ins Spiel.&lt;br /&gt;
&lt;br /&gt;
* fifo_write_bursted(): korrigiert den Schreibzeiger des FIFOs nach einem Blockzugriff&lt;br /&gt;
* fifo_read_bursted(): korrigiert den Lesezeiger des FIFOs nach einem Blockzugriff&lt;br /&gt;
&lt;br /&gt;
D.h. eine Funktion wie z.B. memcpy() liest eine Anzahl X Bytes aus dem FIFO und kopiert sie woanders hin. Danach wird der Lesezeiger um die Anzahl X korrigiert. Damit muss nicht X mal die Funktion fifo_read() aufgerufen werden, was deutlich an CPU-Leistung spart. Ein derartiger Blockzugriff spart auch Zwischenspeicher, wenn z.B. eine Funktion zum Schreiben von Daten auf SD-Karte direkt auf diese zugreifen kann, ohne dass sie weiß, dass diese in einem FIFO stecken!&lt;br /&gt;
&lt;br /&gt;
Doch Vorsicht, so einfach ist es nicht! Denn unser FIFO ist ein Ringpuffer! Am Ende des Datenbereichs muss der Schreib- bzw. Lesezeiger immer wieder auf den Anfang des Datenbereichs zurück springen. Allerdings wissen Funktionen wie memcpy() und andere nichts von einem Ringpuffer! Sie erwarten die Daten immer in linearer Anordnung im Speicher. D.h. man muss vor einem Blocktransfer immer erst prüfen, ob die gewünschte Menge Daten linear an einem Stück im FIFO liegt oder ob zwischendrin ein Überlauf des Schreib- oder Lesezeiger statt findet. In diesem Fall muss man den Blockzugriff auf zwei Zugriffe aufteilen. Dazu dienen die beiden Funktionen&lt;br /&gt;
&lt;br /&gt;
*fifo_get_read_wrap(): liefert die Anzahl Elemente bis zu Überlauf des Lesezeigers&lt;br /&gt;
*fifo_get_write_wrap(): liefert die Anzahl Elemente bis zu Überlauf des Schreibzeigers&lt;br /&gt;
&lt;br /&gt;
Die Anwendung aller Funktionen ist in einem kurzen Beispielprogramm demonstriert und mit Doxygen dokumentiert (/doxygen/html/index.html). Dabei ist vor allem zu beachten, dass die Funktionen des FIFOs immer mit der Anzahl von Elementen arbeiten, wogegen viele andere Funktionen mit der Anzahl von Bytes arbeiten. Die kleine Bibliothek ist als [[media: fifo.zip | Archiv]] verfügbar. Für die Simulation muss man die Optimierung des Compilers ausschalten, um alle Variablen anzeigen zu können.&lt;br /&gt;
&lt;br /&gt;
== 2&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;-Ringpuffer - die schnellste Lösung ==&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
* Durch Bitmaske auf den Feld-Index &#039;&#039;write&#039;&#039; kann der nicht &amp;quot;Amoklaufen&amp;quot; und beliebige Inhalte im Speicher überschreiben&lt;br /&gt;
* Sehr einfach, sehr schnell&lt;br /&gt;
Nachteile:&lt;br /&gt;
* Nur Größenfaktoren von 2&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; möglich&lt;br /&gt;
* Nur in speziellen Fällen Pointerreferenz möglich&lt;br /&gt;
&lt;br /&gt;
=== Beschreibung ===&lt;br /&gt;
&lt;br /&gt;
Wenn der Index am oberen Ende angekommen ist springt er an den Anfang zurück. Die Definition der Obergrenze wird nicht durch einen Vergleich realisiert, sondern durch Modulo-Arithmetik. Dies kann sehr einfach und schnell durch Maskieren des Index-Werts umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
( write + 1 ) &amp;amp; MASK&lt;br /&gt;
&lt;br /&gt;
15 = 0b00001111&lt;br /&gt;
15 + 1 = 16 = 0b000010000&lt;br /&gt;
16 &amp;amp; MASK = 0b000010000 &amp;amp; 0b000001111 = 0b000000000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daraus folgt das &#039;&#039;write&#039;&#039; nur einen Wert zwischen 0 und 15 einnehmen kann. Das ganze funktioniert nur mit Zahlen der Reihe 2&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Da der Puffer nur eine endliche Größe aufweist, muss eine voll/leer Indikation verfügbar sein. read == write bedeutet Puffer leer, entsprechend bedeutet write + 1 == read, dass keine weiteren Elemente mehr hinzugefügt werden können, denn sonst würde das Hinzufügen weiterer Daten einen Pufferüberlauf hervorrufen. Für die Behandlung des Pufferüberlaufs gibt es zwei Methoden, nichts tun und Fehler zurück geben oder ältesten Puffer-Inhalt verwerfen (read+1).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
read == ((write + 1) &amp;amp; MASK)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auch hier verhindert die Bitmaske einen möglichen Überlauf. Weiter zu beachten ist, dass ein Byte durch die voll/leer Indikation verloren geht, der Puffer hat hier nur eine größe von 15 statt 16 Byte&lt;br /&gt;
&lt;br /&gt;
Und noch ein kleiner Trick. Bei einer Zahl der Reihe 2^n lässt sich auf einfache Weise immer eine passende Bitmaske erzeugen und man sieht gleichzeitig klar die Anzahl der genutzten Bytes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
# define SIZE 16&lt;br /&gt;
# define MASK (SIZE-1)&lt;br /&gt;
&lt;br /&gt;
16     = 0b010000&lt;br /&gt;
16 - 1 = 0b001111&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Normalbetrieb sollte der Puffer nie voll ausgereizt sein und wenn der Puffer bereits überläuft ist es für die Systemstabilität und Fehleranlyse oft schon zu spät, denn von einem nicht mehr funktionierenden Gerät lässt sich nur wenig Information herauskitzeln. Da kann ein Frühwarnsystem mehr bieten, wobei zwei Ausprägungen typisch sind, Höchstwert merken und eine Meldeschwelle einführen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 freeMemory =  (read - write - 1 ) &amp;amp; MASK);&lt;br /&gt;
 if (freeMemory &amp;lt; floodmark)&lt;br /&gt;
   floodmark = freeMemory;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 if ( (read - write - 1 ) &amp;amp; MASK) &amp;lt;= FLOODMARK;&lt;br /&gt;
   FloodmarkExcess();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine entsprechende Auswertung kann z.B. bei einer UART zur Steuerung des Handshakes benutzt werden, bei dem die Gegenstelle aufgefordert wird, das Senden kurzfristig einzustellen, damit man nicht Gefahr läuft, übertragene Zeichen zu verlieren, weil die FIFO voll wird. Dabei ist allerdings auch zu berücksichtigen, dass die Gegenstelle das Senden nicht sofort einstellen kann, da sich beispielsweise bereits Zeichen in der Sendehardware befinden können, die der Sender nicht mehr stoppen kann. Hier heißt es also rechtzeitig zu reagieren und nicht erst, wenn der FIFO propevoll ist. Fällt der Füllgrad einer darartigen UART-FIFO wieder unter eine gewisse Schwelle, dann wird der Gegenstelle signalisiert, dass sie mit dem Senden fortfahren kann.&lt;br /&gt;
&lt;br /&gt;
=== Code-Beispiel ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define BUFFER_FAIL     0&lt;br /&gt;
#define BUFFER_SUCCESS  1&lt;br /&gt;
 &lt;br /&gt;
#define BUFFER_SIZE 16 // muss 2^n betragen (8, 16, 32, 64 ...)&lt;br /&gt;
#define BUFFER_MASK (BUFFER_SIZE-1) // Klammern auf keinen Fall vergessen&lt;br /&gt;
&lt;br /&gt;
struct Buffer {&lt;br /&gt;
  uint8_t data[BUFFER_SIZE];&lt;br /&gt;
  uint8_t read; // zeigt auf das Feld mit dem ältesten Inhalt&lt;br /&gt;
  uint8_t write; // zeigt immer auf leeres Feld&lt;br /&gt;
} buffer = {{}, 0, 0};&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
// Stellt 1 Byte in den Ringbuffer&lt;br /&gt;
//&lt;br /&gt;
// Returns:&lt;br /&gt;
//     BUFFER_FAIL       der Ringbuffer ist voll. Es kann kein weiteres Byte gespeichert werden&lt;br /&gt;
//     BUFFER_SUCCESS    das Byte wurde gespeichert&lt;br /&gt;
//&lt;br /&gt;
uint8_t BufferIn(uint8_t byte)&lt;br /&gt;
{&lt;br /&gt;
  uint8_t next = ((buffer.write + 1) &amp;amp; BUFFER_MASK);&lt;br /&gt;
&lt;br /&gt;
  if (buffer.read == next)&lt;br /&gt;
    return BUFFER_FAIL; // voll&lt;br /&gt;
&lt;br /&gt;
  buffer.data[buffer.write] = byte;&lt;br /&gt;
  // buffer.data[buffer.write &amp;amp; BUFFER_MASK] = byte; // absolut Sicher&lt;br /&gt;
  buffer.write = next;&lt;br /&gt;
&lt;br /&gt;
  return BUFFER_SUCCESS;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
// Holt 1 Byte aus dem Ringbuffer, sofern mindestens eines abholbereit ist&lt;br /&gt;
//&lt;br /&gt;
// Returns:&lt;br /&gt;
//     BUFFER_FAIL       der Ringbuffer ist leer. Es kann kein Byte geliefert werden.&lt;br /&gt;
//     BUFFER_SUCCESS    1 Byte wurde geliefert&lt;br /&gt;
//&lt;br /&gt;
uint8_t BufferOut(uint8_t *pByte)&lt;br /&gt;
{&lt;br /&gt;
  if (buffer.read == buffer.write)&lt;br /&gt;
    return BUFFER_FAIL;&lt;br /&gt;
&lt;br /&gt;
  *pByte = buffer.data[buffer.read];&lt;br /&gt;
&lt;br /&gt;
  buffer.read = (buffer.read+1) &amp;amp; BUFFER_MASK;&lt;br /&gt;
&lt;br /&gt;
  return BUFFER_SUCCESS;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== FIFO mit C-Präprozessor ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef FIFO_H_&lt;br /&gt;
#define FIFO_H_&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdint.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
typedef struct {&lt;br /&gt;
        uint8_t _read;&lt;br /&gt;
        uint8_t _write;&lt;br /&gt;
        uint8_t _buffer[64];&lt;br /&gt;
} FIFO64_t;&lt;br /&gt;
&lt;br /&gt;
typedef struct {&lt;br /&gt;
        uint8_t _read;&lt;br /&gt;
        uint8_t _write;&lt;br /&gt;
        uint8_t _buffer[128];&lt;br /&gt;
} FIFO128_t;&lt;br /&gt;
&lt;br /&gt;
#define FIFO_init(fifo)         { fifo._read = 0; fifo._write = 0; }&lt;br /&gt;
&lt;br /&gt;
#define FIFO_available(fifo)    ( fifo._read != fifo._write )&lt;br /&gt;
&lt;br /&gt;
#define FIFO_read(fifo, size) (                                         \&lt;br /&gt;
        (FIFO_available(fifo)) ?                                        \&lt;br /&gt;
        fifo._buffer[fifo._read = (fifo._read + 1) &amp;amp; (size-1)] : 0      \&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
#define FIFO_write(fifo, data, size) {                                                          \&lt;br /&gt;
        uint8_t tmphead = ( fifo._write + 1 ) &amp;amp; (size-1);       /* calculate buffer index */    \&lt;br /&gt;
        if(tmphead != fifo._read) {                             /* if buffer is not full */     \&lt;br /&gt;
                fifo._buffer[tmphead] = data;                   /* store data in buffer */      \&lt;br /&gt;
                fifo._write = tmphead;                          /* store new index */           \&lt;br /&gt;
        }                                                                                       \&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#define FIFO64_read(fifo)			FIFO_read(fifo, 64)&lt;br /&gt;
#define FIFO64_write(fifo, data)		FIFO_write(fifo, data, 64)&lt;br /&gt;
&lt;br /&gt;
#define FIFO128_read(fifo)			FIFO_read(fifo, 128)&lt;br /&gt;
#define FIFO128_write(fifo, data)		FIFO_write(fifo, data, 128)&lt;br /&gt;
&lt;br /&gt;
#endif /*FIFO_H_*/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: viele C-Compiler übersetzen automatisch eine Modulo-Division mit einem Divisor einer 2-er Potenz in Form einer entsprechenden Bitmaskierung. Zum einen erspart man sich dadurch das Bestimmen der entsprechenden Maske, zum anderen hat man dann den &#039;Bonus&#039;, dass der Code immer noch korrekt funktioniert (wenn auch langsamer), wenn der Anwender einen Fehler macht und die Array-Länge nicht als 2-er Potenz definiert. Die Operation&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
	fifo._buffer[fifo._read = (fifo._read + 1) &amp;amp; (size-1)] : 0	\&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
kann dann durch die in diesem Sinne gleichwertige Operation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
	fifo._buffer[fifo._read = (fifo._read + 1) % size] : 0	\&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
ausgedrückt werden, bzw.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
	uint8_t tmphead = ( fifo._write + 1 ) &amp;amp; (size-1);       /* calculate buffer index */	\&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
durch&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
	uint8_t tmphead = ( fifo._write + 1 ) % size;           /* calculate buffer index */	\&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Generische FIFO mit C-Präprozessor ===&lt;br /&gt;
&lt;br /&gt;
Mit einigen zusätzlichen Macro-Tricks (und GCC Compiler Extensions) ist es möglich diese FIFO auf beliebige Datentypen und Längen zu erweitern. Die Grundidee ist, dass für jede FIFO ein neuer struct erstellt wird, dessen Bestandteile identisch benannt sind. So können später Macros auf die einzelen Elemente per Bezeichung zugreifen, selbst wenn diese einen beliebigen Typen haben!&lt;br /&gt;
&lt;br /&gt;
Ein einfaches Macro zum deklarieren einer solchen FIFO-Struktur ist:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define _fifo__name_struct(_id)		fff_ ## _id ## _s&lt;br /&gt;
&lt;br /&gt;
#define _fifo_declare(_type, _id, _depth)	\&lt;br /&gt;
struct _fifo__name_struct(_id) {			\&lt;br /&gt;
	uint8_t read;							\&lt;br /&gt;
	uint8_t write;							\&lt;br /&gt;
	uint8_t level;							\&lt;br /&gt;
	_type data[_depth];						\&lt;br /&gt;
} _id&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum initialisieren kann folgendes Macro genutzt werden:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define _fifo_init(_id)						\&lt;br /&gt;
struct _fifo__name_struct(_id) _id = {0, 0, 0, {}}		&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die benötigte Maske bzw. FIFO Größe müssen nicht in dem Struct gespeichert werden, denn sie können beim Compilieren ermittelt werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define _sizeof_array(_array)	(sizeof(_array)/sizeof(_array[0]))&lt;br /&gt;
#define _fifo_mem_depth(_id)	(_sizeof_array(_id.data))&lt;br /&gt;
#define _fifo_mem_mask(_id)		(_sizeof_array(_id.data)-1)&lt;br /&gt;
#define _fifo_wrap(_id, idx)	((idx) &amp;amp; _fifo_mem_mask(_id))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Makros für den Zugriff auf die FIFO sind dem vorherigen Beispiel sehr ähnlich und werden daher nicht weiter erläutert. Mit Macros ist es allerdings ebenfalls möglich, auf die FIFO wie auf einen Array zuzugreifen, wessen Startadresse sich mit dem aktuellen 1. Element ändert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define _fifo_peek(_id, idx)	_id.data[_fff_wrap(_id, _id.read+(idx))]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anders als die typische &amp;quot;read&amp;quot; Funktion wird mit _fifo_peek() kein Element aus der FIFO entfernt. Damit ist es sehr einfach möglich, einen fließenden Mittelwert zu generieren oder komplexere FIR-Filter zu programmieren. Da auf die Daten wie bei einem Array zugegriffen wird, kann das Macro sogar als linker Operand genutzt werden, um bereits genutzten Speicher zu überschreiben/ bearbeiten.&lt;br /&gt;
&lt;br /&gt;
Diese Macros sind zudammen mit den typischen read/write-Macros zu einer kleinen, MIT-lizensierten Lib zusammengefasst und auf https://github.com/nqtronix/fifofast gehostet. Beiliegend ist ebenfalls eine readme.md sowie ein Demo-Projekt für Atmel Studio 7 zum Testen und Debuggen der FIFO. Fragen, Verbesserungsvorschläge oder generelles Feedback können im Thread https://www.mikrocontroller.net/topic/460020 gepostet werden; für Bug-Reports bitte ich darum ein Issue auf github zu erstellen.&lt;br /&gt;
&lt;br /&gt;
== Memory-mapped Ringbuffer  ==&lt;br /&gt;
&lt;br /&gt;
Dieser Ansatz funktioniert nur auf Controllern mit einer MMU / virtuellem Adressraum. Man mappt dabei den selben physischen Speicher zweimal direkt hintereinander in den virtuellen Speicher. In der Regel können MMUs nur ganze Pages mappen. Die Berechnung der Lese- / Schreibpointer ist gleich wie bei einem gewöhnlichen Ringpuffer und liegen im ersten virtuellen Mapping.&lt;br /&gt;
&lt;br /&gt;
[[Datei:FIFO-MM.png|mini]]&lt;br /&gt;
&lt;br /&gt;
Das Interessante an dieser Variante des FIFOs ist die Möglichkeit, den Lese und Schreibbereich jederzeit als einen einzelnen, zusammenhängenden Puffer verwenden zu können. Bei einem gewöhnlichen Ringbuffer hingegen bräuchte man 2 Puffer, wenn der Startpointer &amp;gt; Endpointer, sowohl beim Lese als auch beim Schreibpuffer. Aber dadurch, dass der Speicher hier doppelt gemappt ist, liegt an Index i und n+i jeweils der Selbe Inhalt, solange i&amp;lt;n.&lt;br /&gt;
&lt;br /&gt;
Ein Vorteil davon ist, dass man Funktionen, welche einen einzelnen zusammenhängenden Puffer brauchen, damit unverändert wiederverwenden kann. Das könnte dann z.B. so aussehen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
size_t size;&lt;br /&gt;
char* buf;&lt;br /&gt;
&lt;br /&gt;
fifo_get_write_bo(&amp;amp;buf, &amp;amp;size);&lt;br /&gt;
size_t r = read(STDIN_FILENO, buf, size);&lt;br /&gt;
fifo_commit(r);&lt;br /&gt;
&lt;br /&gt;
fifo_get_read_bo(&amp;amp;buf, &amp;amp;size);&lt;br /&gt;
size_t w = write(STDOUT_FILENO, buf, size);&lt;br /&gt;
fifo_release(w);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Circular_buffer Circular buffer], englische Wikipedia&lt;br /&gt;
* [http://www.peterfleury.epizy.com/avr-software.html UART-Bibliothek mit FIFO], von Peter Fleury&lt;br /&gt;
* [https://www.renesas.com/en/products/memory-logic/fifo-products FIFOs] bei Renesas&lt;br /&gt;
* [https://lo.calho.st/posts/black-magic-buffer/#evil-black-magic-page-table-hacking Memory-mapped Ringbuffer]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Datenübertragung]]&lt;br /&gt;
[[Kategorie:Algorithmen und Arithmetik]]&lt;br /&gt;
[[Kategorie:Speicher und Dateisysteme]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Wellenwiderstand&amp;diff=107958</id>
		<title>Wellenwiderstand</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Wellenwiderstand&amp;diff=107958"/>
		<updated>2026-03-31T10:11:47Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Siehe auch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
Schnelle Digitalschaltkreise bzw. hochfrequente Analogschaltungen stellen erhöhte Anforderungen an die Verbindungsleitungen zwischen ICs und Baugruppen. Wo ein langsamer CMOS-Baustein der 4000 Serie mit ein paar Megahertz (wobei die Flankensteilheit entscheidet - nicht die Frequenz) noch problemlos auf dem Steckbrett mit wilder Klingeldrahtverkabelung funktioniert, dort versagt ein moderner, schneller IC seinen Dienst. Ähnliches passiert auf geätzten Leiterplatten. Nicht nur die Packungsdichte der Gehäuse, auch die immer kürzer werdenden Schaltzeiten der Signale verlangen mehr und mehr einen durchdachten, hochfrequenzgerechten Aufbau mit zwei, vier oder mehr Lagen. Die Verbindungsleitungen, welche bei niedrigen Frequenzen praktisch nicht auffallen, sind plötzlich sichtbare Bauelemente, welche die zwei wichtigen Parameter Wellenwiderstand und Laufzeit aufweisen.&lt;br /&gt;
&lt;br /&gt;
== Wellenwiderstand ==&lt;br /&gt;
&lt;br /&gt;
[[bild:wellenwiderstand_ersatzschaltbild.png|thumb|right|372px|Modell eines elektrischen Leiters mit Widerständen, Kapazitäten und Induktivitäten]]&lt;br /&gt;
Eine elektrische Leitung muß bei hohen Frequenzen als ein Netzwerk aus folgenden Komponenten betrachtet werden:&lt;br /&gt;
&lt;br /&gt;
* Serienwiderstand R&amp;lt;sub&amp;gt;s&amp;lt;/sub&amp;gt;&lt;br /&gt;
* Parallelwiderstand R&amp;lt;sub&amp;gt;p&amp;lt;/sub&amp;gt;&lt;br /&gt;
* Serieninduktivität L&amp;lt;sub&amp;gt;s&amp;lt;/sub&amp;gt;&lt;br /&gt;
* Parallelkapazität C&amp;lt;sub&amp;gt;p&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktisch kann man sich das so vorstellen: Jeder elektrische Leiter hat einen [[Widerstand|ohmschen Widerstand]] Rs. Vorsicht! Das ist nicht der Wellenwiderstand! Ebenso hat jede elektrische Leitung einen Widerstand zwischen den Leitern, denn der Isolator ist nie ideal. Praktisch kann man den bei niedrigen Frequenzen bis einige hundert kHz vernachlässigen, da er im Bereich von Gigaohm liegt. Allerdings wird er bei höheren Fequenzen im MHz und ganz sicher im GHz-Bereich relevant, denn dort treten deutliche, diekektrische Verluste (verlustbehaftete Umpolarisierung des Isolators). Der Widerstand ist stark frequenzabhängig.&lt;br /&gt;
&lt;br /&gt;
Die unvermeidlichen und ausschlaggebenden Parameter sind jedoch L&amp;lt;sub&amp;gt;s&amp;lt;/sub&amp;gt; und C&amp;lt;sub&amp;gt;p&amp;lt;/sub&amp;gt;. Jeder elektrische Leiter, welcher von einem Strom durchflossen wird, erzeugt ein Magnetfeld. Das ist gleichbedeutend mit der Induktivität L&amp;lt;sub&amp;gt;s&amp;lt;/sub&amp;gt;. Ebenso besteht zwischen zwei isolierten Leitern immer ein elektrisches Feld, wodurch der Kondensator C&amp;lt;sub&amp;gt;p&amp;lt;/sub&amp;gt; gebildet wird. L&amp;lt;sub&amp;gt;s&amp;lt;/sub&amp;gt; und C&amp;lt;sub&amp;gt;p&amp;lt;/sub&amp;gt; sind die entscheidenden Größen zur Bestimmung des Wellenwiderstandes. Je nach geometrischer Anordnung der Leiter kann man sie in gewissen Grenzen variieren (Koaxialkabel, Twisted Pair, Flachbandkabel etc.).&lt;br /&gt;
&lt;br /&gt;
Der Wellenwiderstand berechnet sich aus&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;Z_0= \sqrt{\frac{L_s}{C_p}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Er ist eine charakteristische Größe einer Leitung und somit unabhängig von deren Länge.&lt;br /&gt;
&lt;br /&gt;
Läuft eine (nicht notwendigerweise sinusförmige) Welle entlang der positiven Richtung der Leitung, so ist das Verhältnis von U und I zu jedem Zeitpunkt und an jeder Stelle der Leitung gleich dem Wert des Wellenwiderstandes.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;Z_0= \frac{U_{h}}{I_{h}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine Welle wird hier allgemein beschrieben als&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;U_h(x,t)= h(x-ct)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies gilt jedoch nur, solange keine Reflexionen an den Enden auftreten, da ansonsten zur hin- auch eine rücklaufende Welle &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;U_r(x,t)= r(x+ct)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
hinzukommt. Für letztere gilt der Zusammenhang völlig analog, &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;Z_0= \frac{U_{r}}{I_{r}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
jedoch nicht für die Summe.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
* Koaxialkabel RG58 und RG174, 50Ω &lt;br /&gt;
* Koaxialkabel RG59, 75Ω;&lt;br /&gt;
* Twisted Pair CAT3/5/7 für Ethernet, 100Ω&lt;br /&gt;
* Flachbandkabel, 150Ω typ.&lt;br /&gt;
* Leiterbahnen auf Platinen mit 30...150Ω&lt;br /&gt;
&lt;br /&gt;
== Laufzeit ==&lt;br /&gt;
&lt;br /&gt;
Elektrische Signale haben eine sehr hohe, aber dennoch begrenzte Ausbreitungsgeschwindigkeit. In Luft bzw. im Vakuum breiten sich Funksignale mit Lichtgeschwindigkeit aus, das sind 300.000 km/s, oder 30cm/ns. Auf Leitungen breiten sich Signale langsamer aus, da das elektromagnetische Feld mit der Umgebung interagiert. Je nach Leitungstyp etwa mit 50..70% der Lichtgeschwindigkeit, sprich mit ca. 15..21 cm/ns.&lt;br /&gt;
&lt;br /&gt;
== Terminierung ==&lt;br /&gt;
&lt;br /&gt;
Wenn eine elektrische Leitung als lang betrachtet werden muß, dann treten Reflexionen auf. Diese sind unerwünscht und können von sporadischen Fehlern bis zum völligen Versagen einer Schaltung alles verursachen. Deshalb müssen solche Leitungen terminiert werden. Die Terminierung absorbiert die einlaufenden Signale und verhindert damit ungewollte Reflexionen. Eine Leitung wird mit einem ohmschen Widerstand terminiert, welcher den gleichen Wert wie der Wellenwiderstand aufweist. Die Terminierungswiderstände müssen möglichst am Ende der Leitung plaziert werden.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Eine Leitung ist dann als elektrisch lang zu betrachten, wenn die einfache Laufzeit der Leitung größer als ca. 1/6 der minimalen Anstiegszeit der Signale ist.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Ein Beispiel:&lt;br /&gt;
&lt;br /&gt;
Ein [[AVR]] ist ein recht typischer, digitaler IC. Die minimale Anstiegszeit beträgt ca. 5ns. Nach obiger Formel darf die Laufzeit nur&lt;br /&gt;
: 1/6&amp;amp;nbsp;·&amp;amp;nbsp;5ns&amp;amp;nbsp;≈&amp;amp;nbsp;0,83ns&lt;br /&gt;
betragen. Bei einer Ausbreitungsgeschwindigkeit von 21cm/ns ergibt das eine maximal zulässige Leitungslänge von&lt;br /&gt;
: 21cm/ns&amp;amp;nbsp;·&amp;amp;nbsp;0,83ns&amp;amp;nbsp;≈&amp;amp;nbsp;17,5cm&lt;br /&gt;
Das heißt, bei einer Leitungslänge von bis zu 17,5cm &#039;&#039;&#039;und&#039;&#039;&#039; halbwegs sauberer Leitungsführung treten keine nennenswerten Reflexionen auf und eine Terminierung ist nicht notwendig. Darüber muss man aufpassen: spätestens bei dem doppelten bis dreifachen Wert ist eine Terminierung meist unverzichtbar.&lt;br /&gt;
&lt;br /&gt;
=== Serienterminierung ===&lt;br /&gt;
&lt;br /&gt;
[[bild:wellenwiderstand_serienterminierung.png|thumb|right|350px|Serienterminierung]]&lt;br /&gt;
Serienterminierung arbeitet bewußt mit Reflexionen. Von der Quelle wird ein Signal mit einem Innen&amp;amp;shy;widerstand gleich dem Wellen&amp;amp;shy;widerstand eingespeist. Dadurch ergibt sich ein Spannung&amp;amp;shy;steiler von 1:2, d.h. Das Signal hat kurzzeitig nur die halbe Amplitude. Damit läuft es bis zum Ende der Leitung, welches offen ist. Es wird zu 100% reflektiert. Dadurch entsteht der volle Spannungs&amp;amp;shy;pegel. Wenn die rücklaufende Reflexion die Quelle wieder erreicht wird sie vom Innen&amp;amp;shy;widerstand der Quelle, welcher gleich dem Wellen&amp;amp;shy;widerstand ist, absorbiert, es entsteht keine weitere Reflexion. Idealerweise sollte der externe Serien&amp;amp;shy;widerstand Rs plus der Innen&amp;amp;shy;widerstand des Ausgangs Ri gleich dem Wellen&amp;amp;shy;widerstand sein. CMOS-ICs haben Ausgangs&amp;amp;shy;widerstände zwischen 15..50Ω.&lt;br /&gt;
&lt;br /&gt;
Der Terminierungswiderstand muss in der Nähe des Ausgangs des treibenden Bausteins platziert werden -&amp;gt; Quellenterminierung.&lt;br /&gt;
&lt;br /&gt;
Datensignale können meist problemlos mit Serien&amp;amp;shy;terminierung betrieben werden. Taktsignale dürfen nur bei Punkt zu Punkt Verbindungen mit Serienterminierung betrieben werden (ein Sender und nur ein Empfänger). Anderenfalls kann es zu Fehlfunktionen kommen, da ein Takteingang, welcher in der Mitte der Leitung sitzt für ein paar Nanosekunden eine Spannung am Eingang anliegen hat die etwa VCC/2 entspricht. Das ist aber genau die Schaltschwelle von CMOS-ICs. Kleinste eingekoppelte Störungen können nun dafür sorgen, daß der Takteingang mehrere Flanken &amp;quot;sieht&amp;quot;, wo eigentlich nur eine sein sollte.&lt;br /&gt;
&lt;br /&gt;
=== Parallelterminierung ===&lt;br /&gt;
&lt;br /&gt;
[[bild:wellenwiderstand_parallelterminierung.png|thumb|right|350px|Parallelterminierung]]&lt;br /&gt;
Parallelterminierung absorbiert die ankommende Welle am Ende einer Leitung. Damit treten zu keinem Zeitpunkt Reflexionen auf. Nachteilig ist der Stromverbrauch bei HIGH-Pegel. Diese Terminierung ist nicht für 5 oder 3.3V CMOS geeignet. Parallelterminierung wird typisch bei Ethernet sowie beim RS485-Bus verwendet, dort sogar an beiden Enden. Es gibt diverse IO-Standards wie HSTL, SSTL etc., welche für schnelle ICs entwickelt wurden (DDR-RAM, DDR2-RAM), diese arbeiten mit Parallel- sowie Serien&amp;amp;shy;terminierung.&lt;br /&gt;
&lt;br /&gt;
[[bild:wellenwiderstand_vt-terminierung.png|thumb|right|350px|Terminierungsspannung]]&lt;br /&gt;
Den Stromverbrauch kann man halbieren, indem man mit einem speziellen Spannungsregler eine sog. &#039;&#039;Terminierungs&amp;amp;shy;spannung&#039;&#039; generiert (z.&amp;amp;nbsp;B. bei SCSI). Dieser Spannungsregler muss sowohl Strom liefern können (source) als auch Strom aufnehmen können (sink). Allerdings ist auch hier der Strom&amp;amp;shy;verbrauch noch recht beachtlich, jedoch hat man mit etwas stärkeren Bustreibern eine Chance, auch mit 5/3.3V CMOS eine Terminierung treiben zu können.&lt;br /&gt;
&lt;br /&gt;
Der Terminierungswiderstand muss in der Nähe des Eingangs des empfangenden Bausteins platziert werden -&amp;gt; Senkenterminierung.&lt;br /&gt;
&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
[[bild:wellenwiderstand_theveninterminierung.png|thumb|right|350px|Thevenin-Terminierung]]&lt;br /&gt;
&lt;br /&gt;
Ohne Terminierungsspannung kommt man mit der sog. &#039;&#039;Thevenin-Terminierung&#039;&#039; aus. Dabei wird der Terminierungs&amp;amp;shy;widerstand durch zwei doppelt so große Widerstände ersetzt. Aus Sicht des Kabels sind diese beiden Widerstände &#039;&#039;parallel&#039;&#039; geschaltet! Wichtig ist der zusätzliche Kondensator an VCC und GND, er stellt einen hochfrequenten Kurzschluß dar und ist wichtig für die Funktion dieser speziellen Terminierung. Er muss wie ein [[Kondensator#Entkoppelkondensator | Entkoppelkondensator]] bei einem IC betrachtet und dementsprechend nah platziert werden.&lt;br /&gt;
&lt;br /&gt;
Daher auch der Name: &#039;&#039;Thevenin Equivalent&#039;&#039; ist im Englischen die Bezeichung für eine Ersatzschaltung mit anderem Aufbau aber im Endeffekt gleichen Eigenschaften. Hier spart man auch die Hälfte des Stroms ein, allerdings fliesst jetzt auch bei LOW ein Strom durch die Terminierung. Der Stromverbrauch bzw. die Treiberbelastung ist identisch zur Nutzung einer Terminierungsspannung.&lt;br /&gt;
&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
=== AC-Terminierung ===&lt;br /&gt;
&lt;br /&gt;
[[bild:wellenwiderstand_ac-terminierung.png|thumb|rigt|350px|AC-Terminierung]]&lt;br /&gt;
Um den Stromverbrauch allgemein zu senken kann AC-Terminierung eingesetzt werden. &lt;br /&gt;
&lt;br /&gt;
Dazu wird ein Kondensator in Reihe zum Terminierungs&amp;amp;shy;widerstand geschaltet. Damit fliesst nur für eine kurze Zeit ein Strom, wenn der Pegel wechselt. Nachteilig ist die bisweilen kritische Dimensionierung des Kondensators. Er darf nicht zu klein sein, damit die Spannung nicht zu schnell steigt und somit der Terminierungs&amp;amp;shy;widerstand nicht voll wirksam ist. Andererseits darf er nicht zu groß sein, damit der Umlade&amp;amp;shy;vorgang vor dem nächsten Flanken&amp;amp;shy;wechsel abgeschlossen ist (Taktfrequenz). Hier muß man ggf. experimentieren und &#039;&#039;richtig&#039;&#039; messen. Typische Werte liegen zwischen 100pF und 10nF.&lt;br /&gt;
&lt;br /&gt;
Für Takte und Signale mit konstantem Mittelwert ([[Manchester]]kodierung, 8B10B Kodierung) kann man den Kondensator sehr groß wählen (100nF Keramik + großen Elko). Dann lädt sich der Kondensator über mehrere Dutzend Takte auf den Mittelwert der Spannung auf und hält diese. Damit wirkt er wie eine Spannungsquelle für die Terminierungs&amp;amp;shy;spannung. Der Vorteil ist der eingesparte Spannungsregler, der Stromverbrauch ist hier identisch mit der Parallel&amp;amp;shy;terminierung mit Terminierungsspannng. Als grobe Orientierung sollte die Zeitkonstante aus Terminierungs&amp;amp;shy;widerstand mal Kondensator ca. 10 mal größer sein als die Periodendauer des Taktes bzw. die Bitdauer das Datenstroms sein:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;R_T \cdot C_T \;\gtrapprox\; 10 \cdot T_\text{CLK}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei Datensignalen ohne konstanten Gleichanteil (also die Mehrheit) wird es etwas schwieriger. Hier kann man mit folgender Abschätzung erste Versuche starten.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;R_T \cdot C_T \;\approx\; 3 \cdot t_\text{r}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Stromverbrauch der AC-Terminierung ist besondes klein bei Datensignalen, welche lange Zeit keine Pegelwechsel haben (Burst, Datenpakete etc.).&lt;br /&gt;
&lt;br /&gt;
== Takt- und Datensignale ==&lt;br /&gt;
&lt;br /&gt;
Bei Datensignalen ist es meist durchaus akzeptabel, wenn ein erhöhtes Maß an Überschwingern und Reflexionen auftreten. Auf synchronen [[Bus]]systemem werden die Daten mittels eines Taktes abgetastet. Nur zu diesem Zeitpunkt müssen die Daten sauber anliegen, ein wenig davor (Setup Time) und ein wenig danach (Hold time). Ganz anders bei Takten, asynchronen Resets und Interruptsignalen. Auf diese reagiert ein digitaler IC &#039;&#039;&#039;sofort&#039;&#039;&#039; und sehr schnell. Durch Reflexionen kann es zu &amp;quot;Zacken&amp;quot; auf Taktflanken kommen, welche ein langsamer IC ignoriert aber ein schneller darauf reagiert und zwei Taktflanken &amp;quot;sieht&amp;quot;, wo eigentlich nur eine ist. Hier muss man aufpassen. Diese Signale sollten&lt;br /&gt;
&lt;br /&gt;
* sehr solide layoutet werden&lt;br /&gt;
* etwas Abstand zu allen anderen Signalen bekommen&lt;br /&gt;
* ggf. sauber terminiert werden&lt;br /&gt;
&lt;br /&gt;
Dann gibt es auch keine Probleme mit instabilen Datenübertragungen etc.&lt;br /&gt;
&lt;br /&gt;
== Leitungsführung und Layout ==&lt;br /&gt;
&lt;br /&gt;
Der Zusatz &amp;quot;und halbwegs saubere Leitungsführung&amp;quot; ist eine entscheidende Komponente bei der Verteilung schneller Signale! Irgendwelche wilde Klingeldrahtorgien oder lieblos auf die Platine geschmissene Leitungen zählen nicht dazu. Im Idealfall sind die Leitungen mit einer Impedanz von 50 oder 75Ω layoutet, bei differentiellen Signalen auch 100Ω (Ethernet, LVDS etc.). Dazu muß eine bestimmte Geometrie der Leiterbahn eingehalten werden, im wesentlichen bestimmt durch Breite und Abstand zur Referenzfläche (GND oder VCC). Die Stichworte für eine Suche im Internet lauten Microstrip und Stripline. Bei zwei- oder vierlagigen Platinen werden die Leitungen mit 50/75&amp;amp;Omega; ziemlich breit, deshalb kann man sich dort dem Ideal nur sehr grob nähern. Dennoch sollte man es vor allem für Takte versuchen und möglichst die Leitung über einer Referenzfläche führen. Das grundlegende Prinzip lautet:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Die Fläche der Leiterschleife zwischen Signal und Massefläche muß minimiert werden.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Man muß immer daran denken. Strom fließt immer im Kreis, deshalb heißt es ja auch Stromkreis. Der Stromkreis beginnt am Versorgungspin des ICs, welcher das Signal generiert, läuft über den Ausgang und die Signalleitung zum Eingang des Empfängers bzw. der dort platzierten Terminierung, dort nach Masse und über die Masse zurück zum Sender-IC. Die Rückleitung über Masse ist genauso wichtig wie die Hinleitung des Signals! Eine wild geschlungene Masseleitung macht das beste Layout zunichte. Optimal sind komplette Masseflächen, doch die sind meist nur bei Platinen mit vier oder mehr Lagen machbar. Bei hochfrequenten Analogschaltungen gönnt man sich den &amp;quot;Luxus&amp;quot; auch bei zweilagigen, weil man sonst in Teufels Küche kommt. Bei schnellen Digitalschaltungen auf zweilagigen Platinen muß man Kompromisse eingehen. Aber auch hier gilt die alte Weisheit, daß die Masse möglichst sternförmig verteilt werden sollte. Entgegen der weit verbreiteten Meinung spielen 90° Winkel keine große Rolle, auch nicht weit in den den Bereich von 1 GHz! Siehe [[#Links | Abschnitt Links]].&lt;br /&gt;
&lt;br /&gt;
Wenn Kabel als Verbindung zwischen ICs verwendet werden, sollte man auch hier Sorgfalt walten lassen.&lt;br /&gt;
&lt;br /&gt;
* Idealerweise sollte man bei Flachbandkabeln jede 2. Ader auf Masse legen und auf BEIDEN Seiten der Verbindung am Stecker mit der Masse der Platine verbunden werden.&lt;br /&gt;
* Meist reicht es, jede 4.  bis 10. Ader auf Masse zu legen, wobei man Takte direkt neben die Masse legen sollte.&lt;br /&gt;
* Nach Möglichkeit sollte man die beiden äußeren Adern eines Flachbandkabels auf Masse legen, damit erreicht man gute [[EMV]] &lt;br /&gt;
* Bei Steuerkabeln (verdrillt oder auch nicht) gilt ähnliches.&lt;br /&gt;
&lt;br /&gt;
== Zusammenfassung ==&lt;br /&gt;
&lt;br /&gt;
* Entscheidend für das Entstehen von Reflexionen ist &#039;&#039;&#039;NICHT&#039;&#039;&#039; die Taktfrequenz sondern die Anstiegszeit der Signale. Eine Schaltung mit schnellen ICs wird auch bei niedrigen Taktfrequenzen sehr schnell schalten, auch wenn das nicht unbedingt notwendig wäre.&lt;br /&gt;
* Mit Reflexionen muß man rechnen, wenn die einfache Laufzeit der Leitung grösser als ca. 1/6 der minimalen Anstiegszeit der Signale ist.&lt;br /&gt;
* Serienterminierung ist für Takte nur bei Punkt-zu-Punkt-Verbindungen sicher nutzbar.&lt;br /&gt;
* Parallelterminierung ist für 5/3,3V CMOS ungeeignet (Stromverbrauch, Treiberleistung).&lt;br /&gt;
* Auch mit Terminierung ist bei schnellen Signalen eine saubere Leitungsführung notwendig.&lt;br /&gt;
* Man sollte nach Möglichkeit immer die langsamsten Logikbausteine verwenden, um Probleme mit Reflexionen zu minimieren (Wozu braucht man 1ns Anstiegszeit bei 5 MHz Takt?).&lt;br /&gt;
* Ausgänge sollten möglichst identische Ausgangswiderstände für LOW und HIGH haben (wie z.&amp;amp;nbsp;B. die HC-Familie), sonst wird eine Serienterminierung schwierig bis unmöglich (wie. z.&amp;amp;nbsp;B. die ABT-Familie); siehe [http://www.ti.com/litv/pdf/szza008 &amp;quot;Input and Output Characteristics of Digital Integrated Circuits&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
== Berechnung ==&lt;br /&gt;
&lt;br /&gt;
Zur Berechnung kann man eine der in den Links aufgeführten Seiten benutzen. Die bessere Lösung (einfacher und offline) sind allerdings die in vielen Layout-Programmen enthaltenen Berechnungswerkzeuge. In KiCad z.B. unter PCB-Rechner &amp;gt; TransLine.&lt;br /&gt;
&lt;br /&gt;
== Eine schöne und verständliche Erklärung aus einem Forumsthread ==&lt;br /&gt;
&lt;br /&gt;
→ [http://www.mikrocontroller.net/topic/238751 Forum: &#039;&#039;Was ist der Wellenwiderstand?&#039;&#039;]&lt;br /&gt;
# Bei einer kurzen Leitung (kürzer als ein Viertel der Wellenlänge)&lt;br /&gt;
#* Bei einer Leitung ohne Last (Re = ∞) wirkt die Leitung wegen ihrer verteilten Kapazität (Kapazitätsbelag) kapazitiv.&lt;br /&gt;
#* Bei einer Leitung mit Kurzschluss am Ende (Re = 0) wirkt die Leitung wegen ihrer verteilten Induktivität (Induktivitätsbelag) induktiv.&lt;br /&gt;
#* Irgendwo dazwischen gibt es einen Wert, wo Induktivität und Kapazität sich gerade kompensieren: Das ist der Wellenwiderstand. Er ermöglicht eine kapazitäts- und induktivitätsfreie Übertragung.&lt;br /&gt;
# Eine Leitung gibt an einen Lastwiderstand volle Leistung nur bei einem bestimmten Strom/Spannungsverhältnis ab. Wenn der Lastwiderstand ein anderes Strom/Spannungsverhältnis erzwingt, wird ein Teil des Stroms oder der Spannung in die Leitung reflektiert. Der Widerstand, bei dem z.B. Impulse reflexionsfrei übergeben werden, ist der Wellenwiderstand.&lt;br /&gt;
# Durch die Geometrie einer Leitung werden Kapazitätsbelag und/oder Induktivitätsbelag verändert. Aus dem Verhältnis Kapazität/Induktivität lässt sich ein Widerstand errechnen, dies ist der Wellenwiderstand.&lt;br /&gt;
&lt;br /&gt;
== 90° Ecken in Leiterbahnen ==&lt;br /&gt;
&lt;br /&gt;
Das Thema wird seit Jahrzehnten diskutiert, real gemessen haben die Wenigsten. Hier die kurze Zusammenfassung aus zwei guten Quellen.&lt;br /&gt;
&lt;br /&gt;
[http://www.ultracad.com/articles/90deg.pdf Messung] von Ultraboard&lt;br /&gt;
*sieben Leiterzüge mit 20,3cm Länge, 0,25mm Breite, Microstrip mit 50 Ohm; verschiedene Winkel&lt;br /&gt;
*Messung mit TDR und 17ps Anstiegszeit, ~2,8mm Pulslänge auf der Leitung, etwa 10fache Leiterbahnbreite &lt;br /&gt;
*Auf keiner Leitung konnten Effekte nachgewiesen werden!&lt;br /&gt;
*Eine Messung der Abstrahlung mittels Antenne bis 1,3 GHz zeigte auch keine sichtbaren Unterschiede jenseits der Messungenauigkeit&lt;br /&gt;
&lt;br /&gt;
[http://www.theamphour.com/the-amp-hour-77-winsome-waveform-wizardry/ Interview] mit [http://www.signalintegrity.com/hj.htm Dr. Howard Johnson],  HF-Guru&lt;br /&gt;
* Die Legende kommt aus dem Bereich der Mikrowellen, wo die Theorie und Praxis in den 1960er Jahren sehr umfangreich erarbeitet wurde&lt;br /&gt;
* Direkte Übertragung vom Mikrowellengebiet 1-100GHz auf schnelle Digitalsignale (100MHz-10GHz) ist direkt nicht möglich, weil die Parameter anders sind&lt;br /&gt;
* Typische Leiterbahnbreiten für Digitalsignale sind 0,25mm und weniger, eine 90 Grad Ecke fügt ca. 0,02pF hinzu, typische Frequenz 1GHz bei Signalamplituden von 400mV und mehr (PECL, LVDS), hoher Störabstand (Digitalsignale), der Effekt ist kaum nachweisbar&lt;br /&gt;
* Typische Leiterbahnbreite für Mikrowellentechnik ist 3mm, Kapazitätszuwachs liegt bei ca. 0,2pF, Frequenzen von 10 GHz und mehr, Signalamplituden im Millivoltbereich mit engen Toleranzen über eine lange, analoge Verstärkerkette (+/-0,5dB über 10 Stufen)&lt;br /&gt;
&lt;br /&gt;
Fazit. Die Winkel spielen unter 1 GHz keine Rolle, darüberhinaus nur sehr wenig. VIAs spielen bei 1GHz und mehr eine Rolle. 10fach wichtiger ist jedoch immer eine solide Bezugsfläche unter der HF-Leitung!&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/181484?goto=1752540#1752540 Forumsbeitrag]: Warum HF-Leitungen abrunden?&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/299855?goto=new#3220070 Forumsbeitrag:] Thevenin-Terminierung für einen [[SPI]]-[[Bus]] mit langen Kabeln&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/299855?page=1#3216635 Forumsbeitrag]: Einfacher Treiber für Parallelterminierung.&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/106235 Forumsbeitrag]: Wellenwiderstand messen&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/402587?goto=new#4658519 Forumsbeitrag]: Serienwiderstand bei Hochfrequenz&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/441586?goto=5267064#5267064 Forumsbeitrag]: Signale an intelligenten LEDs (WS2812B) und langen Leitungen&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/467198?goto=5706637#5706637 Forumsbeitrag]: Probleme mit SPI&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/570892#7734105 Forumsbeitrag]: 100 MBit Ethernet differentielles Routing&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Wellenimpedanz Wellenwiderstand bei Wikipedia]&lt;br /&gt;
* [http://www.signalintegrity.com www.signalintegrity.com], Die Bibel der hochfrequenten Digitalsignale&lt;br /&gt;
* [http://www.onsemi.com/pub/Collateral/AND8020-D.PDF AppNote von ON Semiconductor: Termination of ECL Logic Devices] (ausführlicher als der Artikel)&lt;br /&gt;
* [http://www.ti.com/litv/pdf/szza008 &amp;quot;Input and Output Characteristics of Digital Integrated Circuits&amp;quot;]&lt;br /&gt;
* http://www.forelec.ch/fichiers/HS-PCB-1.PDF (Sehr gutes Dokument zum Thema)&lt;br /&gt;
* [http://wiki.fed.de/fed-wiki/images/3/3f/Impedanzarten_-_Lagenaufbauten.pdf Striplines/Microstrip schnell berechnet] (PDF)&lt;br /&gt;
* [http://www1.sphere.ne.jp/i-lab/ilab/tool/cpw_e.htm Online Calculator]&lt;br /&gt;
* [http://www.hp.woodshot.com/appcad/version302/setup.exe Noch ein Offline Calculator]&lt;br /&gt;
* Linksammlung [http://www.circuitsage.com/tline.html Transmission Line Design and Analysis]&lt;br /&gt;
* [http://www.epanorama.net/circuits/tdr.html TDR Circuit], ein einfaches Time Domain Reflektometer zum selber bauen&lt;br /&gt;
*[http://www.theamphour.com/the-amp-hour-77-winsome-waveform-wizardry/ The Amp Hour #77 — Winsome Waveform Wizardry], Podcast mit Dr. Howard Johnson, HF-Guru (Ab 01:15:00 kommt die Stelle zum Thema 90° Leiterbahnen)&lt;br /&gt;
* [https://www.youtube.com/watch?v=CaiuVwsV6Bw#t=18m57s High speed data transfer], Howard Johnson über 90 Grad Ecken in Digitalschaltungen (engl.)&lt;br /&gt;
* [http://www.ultracad.com/articles/90deg.pdf Messung] von verschiedenen Winkeln von Leiterbahnen mit 17ps TDR, keinerlei Unterschiede!&lt;br /&gt;
* [http://www.afug-info.de/Tipps-Tricks/Impedanz-messen/ Impedanzen einfach und praktisch messen]&lt;br /&gt;
* [https://homepages.thm.de/~hg7313/lehre/avt/skript/avt_hightechspeed_bg_kap2.pdf Impulse auf Leitungen - Elektrische Grundlagen], Vorlesungsmaterial&lt;br /&gt;
* [http://www.tkd-kabel.com.ua/catalogs/eng/03-BUS,%20LAN,%20coaxial,%20video%20and%20system%20flat%20ribbon%20cables.pdf PDF], diverse Kabel mit Daten zum Wellenwiderstand.&lt;br /&gt;
* [http://www.interfacebus.com/Design_Termination.html Trace Termination] (engl.)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Bauteile]]&lt;br /&gt;
[[Kategorie:Datenübertragung]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Multiplexen&amp;diff=107954</id>
		<title>Multiplexen</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Multiplexen&amp;diff=107954"/>
		<updated>2026-03-27T20:16:35Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition==&lt;br /&gt;
&lt;br /&gt;
Unter Multiplexen versteht man die Mehrfachnutzung eines Mediums durch verschiedene Nutzer bzw. Quellen.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Digitaler 4:1 Multiplexer. Mit Hilfe der Steuereingänge A1 und A0 wird ausgewählt, welcher der vier Eingänge I0 bis I3 auf den Ausgang Y durchgeschaltet wird.&lt;br /&gt;
&lt;br /&gt;
[[Bild:MUX.png]]&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; width =&amp;quot;150px&amp;quot;&lt;br /&gt;
! A1 || A0 || Y&lt;br /&gt;
|- align =&amp;quot;center&amp;quot;&lt;br /&gt;
| 0 || 0 || I0&lt;br /&gt;
|- align =&amp;quot;center&amp;quot;&lt;br /&gt;
| 0 || 1 || I1&lt;br /&gt;
|- align =&amp;quot;center&amp;quot;&lt;br /&gt;
| 1 || 0 || I2&lt;br /&gt;
|- align =&amp;quot;center&amp;quot;&lt;br /&gt;
| 1 || 1 || I3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die Umkehrung des Multiplexen ist [[Demultiplexen]].&lt;br /&gt;
&lt;br /&gt;
==FDMA==&lt;br /&gt;
&lt;br /&gt;
Recht einfach zu verstehen ist FDMA (&#039;&#039;&#039;F&#039;&#039;&#039;requency &#039;&#039;&#039;D&#039;&#039;&#039;ivision &#039;&#039;&#039;M&#039;&#039;&#039;ultiple &#039;&#039;&#039;A&#039;&#039;&#039;ccess, Frequenzmultiplex). Das kennt jeder vom Radio. Es gibt nur ein Übertragungsmedium, die Luft/den Freiraum. Dennoch können viele Radiosender gleichzeitig senden bzw. empfangen werden. Das ist dadurch möglich, dass jede Radiostation auf einer anderen Frequenz sendet. Wenn man sein Radio auf diese einstellt kann man den Sender hören, ohne von den anderen gestört zu werden.&lt;br /&gt;
&lt;br /&gt;
==TDMA==&lt;br /&gt;
&lt;br /&gt;
Etwas schwieriger ist die Sache bei TDMA (&#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;D&#039;&#039;&#039;ivision &#039;&#039;&#039;M&#039;&#039;&#039;ultiple &#039;&#039;&#039;A&#039;&#039;&#039;ccess, Zeitmultiplex). Dieses Verfahren wird bei digitalen Telephonsystemen, Mobilfunk, LCDs, LED-Anzeigen mit vielen LEDs etc. angewendet. Beim digitalen Telephonsystem wird dabei jedem Teilnehmer für eine ganz kurze Zeit (je nach System wenige Nanosekunden bis Mikrosekunden!) die exklusive Nutzung der Telephonleitung/Funkkanal überlassen (Zeitschlitz, engl. time slot). Während der Zeit sendet der Teilnehmer ein Byte seiner digitalen Telephondaten. Danach bekommt der nächste Telephonteilnehmer die Leitung zugeteilt. Das Ganze läuft in einem streng geordnetem Zyklus ab, beim Telephon mit exakt 8000 Hz. Bei Siebensegmentanzeigen mit vielen Stellen ist es genauso. Das Medium ist hier nicht die Telephonleitung, sondern die Steuerleitungen (Segmente). Jede einzelne Stelle (engl. digit) wird für eine kurze Zeit mit dem entsprechenden LED-Muster eingeschaltet, danach ist die nächste dran. Das Ganze muss so schnell laufen, dass man kein Flimmern sieht, praktisch heisst das 100 Hz und mehr.&lt;br /&gt;
&lt;br /&gt;
[[LED-Matrix]]&amp;lt;BR&amp;gt;&lt;br /&gt;
[[AVR-Tutorial: 7-Segment-Anzeige]]&lt;br /&gt;
&lt;br /&gt;
==CDMA==&lt;br /&gt;
&lt;br /&gt;
Richtig schwierig zu verstehen ist CDMA (&#039;&#039;&#039;C&#039;&#039;&#039;ode &#039;&#039;&#039;D&#039;&#039;&#039;ivision &#039;&#039;&#039;M&#039;&#039;&#039;ultiple &#039;&#039;&#039;A&#039;&#039;&#039;ccess, Kodemultiplex). Dabei werden kleine Pakete mit digitalen Daten mittels eines speziellen Codes und eines speziellen mathematischen Verfahrens umgewandelt und dann gesendet. Alle Sender arbeiten gleichzeitig und auf der gleichen Frequenz aber jeder mit einem anderen Code. Um dieses Kauderwelsch wieder zu entziffern braucht man den Code des Senders (und jede Menge Mathematik). Stark vereinfacht kann man sich das so vorstellen, dass in einem Raum sich mehrere Leute gleichzeitig in verschiedenen Sprachen unterhalten. Wenn man die Sprache des jeweiligen Sprechers versteht, wird man nicht von anderen Sprachen, die man nicht versteht, gestört. (Jaja, das Beipspiel ist nicht sonderlich realistisch ;-)&lt;br /&gt;
Dieses System wird beim Mobilfunk und zur Kommunikation mit Satelliten eingesetzt.&lt;br /&gt;
&lt;br /&gt;
== Beiträge im Forum== &lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/read-1-251090.html#253314 Super Erklärung zu Multiplex und PWM von Hagen]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/109813#998271 Intelligenter Multiplexer mit [[AVR]]]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/131511#new Bidirektionale Daten und Versorgungsspannung auf einer Leitung]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/163929 Digitale Datenübertragung über DC-Versorgungsleitung]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/179974#new Schaltung oder IC für Steuersignale über DC Leitung?]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/154625#new Zwei LEDs und ein Taster über eine zweiadrige Leitung?]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/94042#new Unidirektionale Datenübertragung, 1 Leitung, kein Quarz]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/77863#new Taster + LED am selben Draht (4*)]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/70939#new 2 Relais mit einer Leitung umschalten]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/64731#new Tastenmatrix auslesen über nur 2 Leitungen]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/298734#3195665 Gyrator zum entkoppeln, Nachbildung einer sehr großen Induktivität mit aktiven Bauteilen]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/248386?goto=new#2544419 Phantomspeisung &amp;amp; FBAS, Videosignal und Versorgungsstrom über eine Leitung]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/289238#3073788 2 LEDs mit einem Portpin steuern]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/383584#4377144 200m Datenübertragung 2-Draht]&lt;br /&gt;
* [https://www.luedeke-elektronic.de/2-Draht-Fernbedienung-10-Kanal-12V-DC-K8023.html 2 Draht Fernbedienung 10 Kanal 12V DC K8023 Velleman Bausatz]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/518778?goto=6698119#6697525 Dekodierung eines 1 aus 12 Stufenschalters]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/569141?goto=7697307#7697307 16er Kodierschalter mit Analogeingang auslesen]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/572865#7775371 ATtiny keine Pins mehr frei], mehrere DIP-Schalter analog kodieren und einlesen&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/577962?goto=7881667#7881667 ADC-Kanäle sukzessive abfragen]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Multiplexen Multiplexen bei Wikipedia]&lt;br /&gt;
* [https://github.com/thanks4opensource/markoplexing Markoplexing], Auslesen von vielen Tasten mit minimalen IOs, wie Chalieplexing für LEDs&lt;br /&gt;
&lt;br /&gt;
[[Category:Datenübertragung]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=FIFO&amp;diff=107948</id>
		<title>FIFO</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=FIFO&amp;diff=107948"/>
		<updated>2026-03-14T10:44:18Z</updated>

		<summary type="html">&lt;p&gt;Falk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein FIFO (&amp;lt;b&amp;gt;F&amp;lt;/b&amp;gt;irst-&amp;lt;b&amp;gt;I&amp;lt;/b&amp;gt;n-&amp;lt;b&amp;gt;F&amp;lt;/b&amp;gt;irst-&amp;lt;b&amp;gt;O&amp;lt;/b&amp;gt;ut) ist ein Pufferspeicher nach dem &amp;quot;Warteschlangen-Prinzip&amp;quot;. Pufferspeicher dienen dazu, Daten aufzufangen, die noch nicht sofort verarbeitet werden können. Ein FIFO funktioniert definitionsgemäß so, dass das erste Element (First In), welches &amp;quot;hinten&amp;quot; in die Warteschlange eingefügt wird, später auch als erstes &amp;quot;vorne&amp;quot; herausgeholt wird (First Out). Das Gegenstück zum FIFO ist [[LIFO]].&lt;br /&gt;
&lt;br /&gt;
== Funktionsprinzip ==&lt;br /&gt;
&lt;br /&gt;
Ein FIFO benötig immer einen Schreib- und Lesezeiger. Zeigen beide auf die gleiche Adresse, ist der FIFO leer. Die Differenz ergibt die Anzahl der Elemente im FIFO. Schreib- und Lesezeiger werden beim Zugriff erhöht. Sie können allerdings nicht unbegrenzt wachsen, denn das würde den gesamten Speicher überschreiben. D.h. nach Erreichen einer Obergrenze springen die Zeiger auf den Anfang des FIFO-Speicherbereichs zurück (Überlauf, englisch wrap around). Daher stammt auch der Begriff Ringpuffer.&lt;br /&gt;
&lt;br /&gt;
[[Bild:FIFO_BSB.png|thumb|574px|left|Blockschaltbild eines FIFO Speichers]]&lt;br /&gt;
&lt;br /&gt;
== Anwendung ==&lt;br /&gt;
Ein bekanntes Beispiel für einen FIFO-Speicher ist der des [[UART]]s im PC. Dieser sammelt ankommende Daten solange, bis er fast voll ist (meist 14 Bytes). Dann wird ein [[Interrupt]] ausgelöst und der Prozessor kann &amp;quot;auf einen Rutsch&amp;quot; alle Daten auf einmal schnell auslesen. Ganz am Anfang hatten UARTs keinen FIFO und erzeugten für jedes empfangene Byte einen Interrupt, so wie es heute noch die meisten Mikrocontroller machen. Damit ist aber die CPU-Belastung wesentlich höher, was bei höheren Datenraten zu Problemen führen kann. In Senderichtung ist das Problem auch vorhanden, wenn gleich unkritischer. Mit einem FIFO kann die CPU sehr viele Dutzende bis Hunderte Bytes in sehr kurzer Zeit (wenige Dutzend Mikrosekunden) hineinschreiben, welche dann relativ langsam mittels [[Interrupt]] Byte für Byte mit dem UART gesendet werden. Die CPU muss nicht warten, bis jedes einzelne Zeichen versendet wurde. Zum Vergleich. Ein AVR mit 16 MHz Takt macht während der Übertragung von 1 Byte bei 115200 Baud (86,8us) 1389 CPU-Takte. Damit kann man sehr viel anstellen! Bei schnelleren CPUs bzw. niedrigeren Baudraten ist das Mißverhältnis noch deutlich größer. Im Idealfall werden die Daten aus dem FIFO mittels [[DMA]] an den UART übertragen, dann hat der Prozessor gar nichts mehr damit zu tun.&lt;br /&gt;
&lt;br /&gt;
Die Umsetzung eines FIFOs in Software heißt Ringpuffer und weist auch eine feste Puffergröße auf. Wesentlicher Vorteil gegenüber der verketteten Liste ist die schnellere Ausführungszeit und der geringere Aufwand. Für sehr schnelle Anwendungen gibt es auch kleine bis relativ mittlere FIFOs als ICs (Früher Cypress und IDT, heute Infineon und Renesas).&lt;br /&gt;
&lt;br /&gt;
== Standard-Ringpuffer ==&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
* Simpel&lt;br /&gt;
* Leicht verständlich&lt;br /&gt;
* Daten können auch vom Typ struct sein&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
* Schnell aber nicht optimal&lt;br /&gt;
&lt;br /&gt;
=== Beschreibung ===&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Bild:Ringpuffer.png|300px]]&lt;br /&gt;
|&lt;br /&gt;
[[Bild:Circular buffer.png|200px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die Inhalte des Puffers werden in einem schlichten Array gespeichert und der Zugriff erfolgt über einen Integer-Index. Erreicht ein Index die Obergrenze springt dieser auf Null zurück. Topologisch ist dies äquivalent zu einem Ringschluss, bei dem man ja auch nach dem letzten Element wieder beim ersten angelangt ist. Man denke zb an das Zifferblatt einer Uhr, bei der nach der 59 wieder die 0 kommt. Ein größer-gleich statt nur eines ist-gleich Vergleichs ist sicherer gegenüber Programmfehlern, bei denen der Index verstellt wurde.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
write = write + 1;&lt;br /&gt;
if (write &amp;gt;= BUFFER_SIZE)&lt;br /&gt;
  write = 0;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Haben Lese- und Schreib-Index den gleichen Wert, wird der Puffer als leer angesehen und es kann kein Element aus dem Puffer entnommen werden. Wenn write+1 und read identisch sind wird der Puffer als voll angesehen und es kann kein weiteres Element mehr im Puffer gespeichert werden. Nun fehlt noch der Sonderfall bei dem read gleich Null ist, hier funktioniert der write+1-Vergleich nicht mehr (wegen dem &#039;Überlauf&#039; am Ende des Arrays, der den Ringschluss bewirkt) und die Abfrage einer zusätzlichen Bedingung ist zur Voll-Abfrage erforderlich.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
read == write =&amp;gt; leer&lt;br /&gt;
write + 1 == read || read == 0 &amp;amp;&amp;amp; write+1 == BUFFER_SIZE =&amp;gt; voll&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Bei gleichzeitigem Zugriff zwischen dem Befüller (zb. einer [[Interrupt#UART_mit_Interrupts | UART-ISR]]) und dem Entnahmecode (zb. der Code in der Hauptschleife) muss ausgeschlossen werden, dass der Entnahmecode beim Lesen aus dem Puffer nicht durch den Interrupt unterbrochen werden kann. Denn während diese Funktion läuft, ist zwischenzeitlich der read-Index in einem inkonsistenten Zustand. Erst nach Beendigung der Funktion spiegelt der read-Index wieder die Realität des Füllgrades wieder. Als Abhilfe dienen [[Interrupt#Atomarer_Datenzugriff|Atomare Abschnitte]], solche können durch keinen Interrupt unterbrochen werden. Die Radialkur deaktiviert alle Interrupts, besser ist die Deaktivierung eines einzelnen Interrupts. Es geht aber meistens auch so, da die FIFO-Funktionen sehr kurz sind und daher auch die Interrupts nur kurz abgeschaltet werden. Im Allgemeinen werden versäumte Interrupts nach erneuter Aktivierung nachgeholt und gehen nicht verloren, so dass bereits anstehende Interrupts nur kurz verzögert werden. Solange die Interruptperiodendauer größer als die Ausführungsgeschwindigkeit der FIFO Funktionen ist, stellt das Abschalten der Interrupts daher auch in der Praxis meist kein allzugroßes Problem dar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
cli()&lt;br /&gt;
ret = BufferOut(&amp;amp;var);&lt;br /&gt;
sei()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hilfreich ist die Initialisierung der Indizes (read, write) mit -1, denn damit kann man einen leere Ringpuffer von einem vollen unterscheiden. Initialisiert man nur mit 0, kann man einen leeren nicht von einem vollen mit read=write=0 unterscheiden. &lt;br /&gt;
&lt;br /&gt;
Eine weitere Möglichkeit der Vereinfachung entsteht durch die Einführung einer &amp;quot;Counter&amp;quot; Variable, die den Füllstand des Buffers wiedergibt. Bei Einschreiben wird diese um +1 erhöht, beim Auslesen um 1 erniedrigt. Ist sie 0 ist der Buffer leer. Damit lässt sich die Codeeffizienz steigern, da die obigen Vergleiche kürzer ausfallen und sich auf nur diese eine Variable beschränken. Nachteilig ist allerdings, dass man eine weitere Variable im System hat und natürlich benötigen die entsprechenden Operationen zum Erhöhen bzw. Erniedrigen dieser Variable ja auch Ausführungszeit. Benötigt man im restlichen Code den Füllgrad der FIFO nicht als explizite Zahl, dann lohnt daher eine derartige Counter-Variable meistens nicht.&lt;br /&gt;
&lt;br /&gt;
=== Code-Beispiel ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define BUFFER_FAIL     0&lt;br /&gt;
#define BUFFER_SUCCESS  1&lt;br /&gt;
&lt;br /&gt;
#define BUFFER_SIZE 23&lt;br /&gt;
&lt;br /&gt;
struct Buffer {&lt;br /&gt;
  uint8_t data[BUFFER_SIZE];&lt;br /&gt;
  uint8_t read; // zeigt auf das Feld mit dem ältesten Inhalt&lt;br /&gt;
  uint8_t write; // zeigt immer auf leeres Feld&lt;br /&gt;
} buffer = {{}, 0, 0};&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
// Stellt 1 Byte in den Ringbuffer&lt;br /&gt;
//&lt;br /&gt;
// Returns:&lt;br /&gt;
//     BUFFER_FAIL       der Ringbuffer ist voll. Es kann kein weiteres Byte gespeichert werden&lt;br /&gt;
//     BUFFER_SUCCESS    das Byte wurde gespeichert&lt;br /&gt;
//&lt;br /&gt;
uint8_t BufferIn(uint8_t byte)&lt;br /&gt;
{&lt;br /&gt;
  //if (buffer.write &amp;gt;= BUFFER_SIZE)&lt;br /&gt;
  //  buffer.write = 0; // erhöht sicherheit&lt;br /&gt;
&lt;br /&gt;
  if ( ( buffer.write + 1 == buffer.read ) ||&lt;br /&gt;
       ( buffer.read == 0 &amp;amp;&amp;amp; buffer.write + 1 == BUFFER_SIZE ) )&lt;br /&gt;
    return BUFFER_FAIL; // voll&lt;br /&gt;
&lt;br /&gt;
  buffer.data[buffer.write] = byte;&lt;br /&gt;
&lt;br /&gt;
  buffer.write++;&lt;br /&gt;
  if (buffer.write &amp;gt;= BUFFER_SIZE)&lt;br /&gt;
    buffer.write = 0;&lt;br /&gt;
&lt;br /&gt;
  return BUFFER_SUCCESS;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
// Holt 1 Byte aus dem Ringbuffer, sofern mindestens eines abholbereit ist&lt;br /&gt;
//&lt;br /&gt;
// Returns:&lt;br /&gt;
//     BUFFER_FAIL       der Ringbuffer ist leer. Es kann kein Byte geliefert werden.&lt;br /&gt;
//     BUFFER_SUCCESS    1 Byte wurde geliefert&lt;br /&gt;
//    &lt;br /&gt;
uint8_t BufferOut(uint8_t *pByte)&lt;br /&gt;
{&lt;br /&gt;
  if (buffer.read == buffer.write)&lt;br /&gt;
    return BUFFER_FAIL;&lt;br /&gt;
&lt;br /&gt;
  *pByte = buffer.data[buffer.read];&lt;br /&gt;
&lt;br /&gt;
  buffer.read++;&lt;br /&gt;
  if (buffer.read &amp;gt;= BUFFER_SIZE)&lt;br /&gt;
    buffer.read = 0;&lt;br /&gt;
&lt;br /&gt;
  return BUFFER_SUCCESS;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== FIFO als Bibliothek ===&lt;br /&gt;
&lt;br /&gt;
Hier sollen FIFO-Funktionen bereitgestellt werden, welche folgende Eigenschaften besitzen.&lt;br /&gt;
&lt;br /&gt;
* Mehrfache FIFOs einfach anlegen und benutzen&lt;br /&gt;
* Leistungsfähiger Zugriff auf FIFO-Daten (Blockzugriff)&lt;br /&gt;
* Interruptfester FIFO-Zugriff&lt;br /&gt;
&lt;br /&gt;
Diese FIFOs sind auf so ziemlich allen Plattformen nutzbar, entwickelt wurde sie jedoch auf einem AVR. Daher ist im FIFO im Moment auch noch eine Begrenzung der FIFO-Größe auf 64kiB vorhanden, welche aber leicht per typedef in fifo.h abgeändert werden kann. Ebenso kann die Größe der FIFO-Elemente eingestellt werden (8, 16, 32 Bit, ebenfalls structs). Alle FIFO-Funktionen sind interruptsicher aufgebaut, d.h. die kritschen Zugiffe auf die FIFO-Kontrolldaten erfolgen [[Interrupt#Atomarer_Datenzugriff | atomar]]. Damit ist der Einsatz im Hauptprogramm und in [[Interrupt]]s sicher möglich. Bei anderen Plattformen muss ggf. der atomare Zugriff angepasst werden. Der Datenzugriff erfolgt direkt über Pointer, das erhöht die Geschwindigkeit gegenüber Indexoperationen. Die folgenden Funktionen sind im wesentlichen verfügbar:&lt;br /&gt;
&lt;br /&gt;
* fifo_init(): FIFO initialisieren&lt;br /&gt;
* fifo_write_busy(): wartet bis mindesten 1 Element im FIFO frei ist und schreibt es in den FIFO&lt;br /&gt;
* fifo_write(): schreibt ein Element in den FIFO, ohne Prüfung ob genügend Platz vorhanden ist&lt;br /&gt;
* fifo_read_busy(): wartet bis mindesten 1 Element im FIFO vorhanden ist und liest es aus dem FIFO&lt;br /&gt;
* fifo_read(): liest ein Element es aus dem FIFO, ohne Prüfung ob Daten vorhanden sind&lt;br /&gt;
* fifo_get_level(): liefert die Anzahl der Elemente im FIFO zurück&lt;br /&gt;
* fifo_get_free(): liefert die Anzahl der noch frei verfügbaren Elemente im FIFO zurück&lt;br /&gt;
&lt;br /&gt;
Die Funktionen fifo_write_busy() und fifo_read_busy() warten solange vor dem FIFO-Zugriff, bis Speicher bzw. Daten im FIFO verfügbar sind. Das kann bisweilen lange dauern (blockierende Funktionen).&lt;br /&gt;
Die Funktionen fifo_write() und fifo_read() greifen ohne weitere Prüfung auf den FIFO zu. Die Prüfung muss vorher erfolgen. Damit ist eine nicht blockierende Arbeitsweise möglich ([[Multitasking]]).&lt;br /&gt;
&lt;br /&gt;
==== Leistungsverbesserung ====&lt;br /&gt;
&lt;br /&gt;
Die Funktionen zum Lesen und Schreiben einzelner Elemente sind einfach und klar. Aber was ist, wenn man mehrere Elemente aus dem FIFO lesen will? Oder noch viel schlimmer, wenn Bibliotheksfunktionen mehrere Elemente über einen Zeiger lesen wollen? Hier kommen die restlichen Funktionen ins Spiel.&lt;br /&gt;
&lt;br /&gt;
* fifo_write_bursted(): korrigiert den Schreibzeiger des FIFOs nach einem Blockzugriff&lt;br /&gt;
* fifo_read_bursted(): korrigiert den Lesezeiger des FIFOs nach einem Blockzugriff&lt;br /&gt;
&lt;br /&gt;
D.h. eine Funktion wie z.B. memcpy() liest eine Anzahl X Bytes aus dem FIFO und kopiert sie woanders hin. Danach wird der Lesezeiger um die Anzahl X korrigiert. Damit muss nicht X mal die Funktion fifo_read() aufgerufen werden, was deutlich an CPU-Leistung spart. Ein derartiger Blockzugriff spart auch Zwischenspeicher, wenn z.B. eine Funktion zum Schreiben von Daten auf SD-Karte direkt auf diese zugreifen kann, ohne dass sie weiß, dass diese in einem FIFO stecken!&lt;br /&gt;
&lt;br /&gt;
Doch Vorsicht, so einfach ist es nicht! Denn unser FIFO ist ein Ringpuffer! Am Ende des Datenbereichs muss der Schreib- bzw. Lesezeiger immer wieder auf den Anfang des Datenbereichs zurück springen. Allerdings wissen Funktionen wie memcpy() und andere nichts von einem Ringpuffer! Sie erwarten die Daten immer in linearer Anordnung im Speicher. D.h. man muss vor einem Blocktransfer immer erst prüfen, ob die gewünschte Menge Daten linear an einem Stück im FIFO liegt oder ob zwischendrin ein Überlauf des Schreib- oder Lesezeiger statt findet. In diesem Fall muss man den Blockzugriff auf zwei Zugriffe aufteilen. Dazu dienen die beiden Funktionen&lt;br /&gt;
&lt;br /&gt;
*fifo_get_read_wrap(): liefert die Anzahl Elemente bis zu Überlauf des Lesezeigers&lt;br /&gt;
*fifo_get_write_wrap(): liefert die Anzahl Elemente bis zu Überlauf des Schreibzeigers&lt;br /&gt;
&lt;br /&gt;
Die Anwendung aller Funktionen ist in einem kurzen Beispielprogramm demonstriert und mit Doxygen dokumentiert (/doxygen/html/index.html). Dabei ist vor allem zu beachten, dass die Funktionen des FIFOs immer mit der Anzahl von Elementen arbeiten, wogegen viele andere Funktionen mit der Anzahl von Bytes arbeiten. Die kleine Bibliothek ist als [[media: fifo.zip | Archiv]] verfügbar. Für die Simulation muss man die Optimierung des Compilers ausschalten, um alle Variablen anzeigen zu können.&lt;br /&gt;
&lt;br /&gt;
== 2&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;-Ringpuffer - die schnellste Lösung ==&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
* Durch Bitmaske auf den Feld-Index &#039;&#039;write&#039;&#039; kann der nicht &amp;quot;Amoklaufen&amp;quot; und beliebige Inhalte im Speicher überschreiben&lt;br /&gt;
* Sehr einfach, sehr schnell&lt;br /&gt;
Nachteile:&lt;br /&gt;
* Nur Größenfaktoren von 2&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; möglich&lt;br /&gt;
* Nur in speziellen Fällen Pointerreferenz möglich&lt;br /&gt;
&lt;br /&gt;
=== Beschreibung ===&lt;br /&gt;
&lt;br /&gt;
Wenn der Index am oberen Ende angekommen ist springt er an den Anfang zurück. Die Definition der Obergrenze wird nicht durch einen Vergleich realisiert, sondern durch Modulo-Arithmetik. Dies kann sehr einfach und schnell durch Maskieren des Index-Werts umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
( write + 1 ) &amp;amp; MASK&lt;br /&gt;
&lt;br /&gt;
15 = 0b00001111&lt;br /&gt;
15 + 1 = 16 = 0b000010000&lt;br /&gt;
16 &amp;amp; MASK = 0b000010000 &amp;amp; 0b000001111 = 0b000000000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daraus folgt das &#039;&#039;write&#039;&#039; nur einen Wert zwischen 0 und 15 einnehmen kann. Das ganze funktioniert nur mit Zahlen der Reihe 2&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Da der Puffer nur eine endliche Größe aufweist, muss eine voll/leer Indikation verfügbar sein. read == write bedeutet Puffer leer, entsprechend bedeutet write + 1 == read, dass keine weiteren Elemente mehr hinzugefügt werden können, denn sonst würde das Hinzufügen weiterer Daten einen Pufferüberlauf hervorrufen. Für die Behandlung des Pufferüberlaufs gibt es zwei Methoden, nichts tun und Fehler zurück geben oder ältesten Puffer-Inhalt verwerfen (read+1).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
read == ((write + 1) &amp;amp; MASK)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auch hier verhindert die Bitmaske einen möglichen Überlauf. Weiter zu beachten ist, dass ein Byte durch die voll/leer Indikation verloren geht, der Puffer hat hier nur eine größe von 15 statt 16 Byte&lt;br /&gt;
&lt;br /&gt;
Und noch ein kleiner Trick. Bei einer Zahl der Reihe 2^n lässt sich auf einfache Weise immer eine passende Bitmaske erzeugen und man sieht gleichzeitig klar die Anzahl der genutzten Bytes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
# define SIZE 16&lt;br /&gt;
# define MASK (SIZE-1)&lt;br /&gt;
&lt;br /&gt;
16     = 0b010000&lt;br /&gt;
16 - 1 = 0b001111&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Normalbetrieb sollte der Puffer nie voll ausgereizt sein und wenn der Puffer bereits überläuft ist es für die Systemstabilität und Fehleranlyse oft schon zu spät, denn von einem nicht mehr funktionierenden Gerät lässt sich nur wenig Information herauskitzeln. Da kann ein Frühwarnsystem mehr bieten, wobei zwei Ausprägungen typisch sind, Höchstwert merken und eine Meldeschwelle einführen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 freeMemory =  (read - write - 1 ) &amp;amp; MASK);&lt;br /&gt;
 if (freeMemory &amp;lt; floodmark)&lt;br /&gt;
   floodmark = freeMemory;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 if ( (read - write - 1 ) &amp;amp; MASK) &amp;lt;= FLOODMARK;&lt;br /&gt;
   FloodmarkExcess();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine entsprechende Auswertung kann z.B. bei einer UART zur Steuerung des Handshakes benutzt werden, bei dem die Gegenstelle aufgefordert wird, das Senden kurzfristig einzustellen, damit man nicht Gefahr läuft, übertragene Zeichen zu verlieren, weil die FIFO voll wird. Dabei ist allerdings auch zu berücksichtigen, dass die Gegenstelle das Senden nicht sofort einstellen kann, da sich beispielsweise bereits Zeichen in der Sendehardware befinden können, die der Sender nicht mehr stoppen kann. Hier heißt es also rechtzeitig zu reagieren und nicht erst, wenn der FIFO propevoll ist. Fällt der Füllgrad einer darartigen UART-FIFO wieder unter eine gewisse Schwelle, dann wird der Gegenstelle signalisiert, dass sie mit dem Senden fortfahren kann.&lt;br /&gt;
&lt;br /&gt;
=== Code-Beispiel ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define BUFFER_FAIL     0&lt;br /&gt;
#define BUFFER_SUCCESS  1&lt;br /&gt;
 &lt;br /&gt;
#define BUFFER_SIZE 16 // muss 2^n betragen (8, 16, 32, 64 ...)&lt;br /&gt;
#define BUFFER_MASK (BUFFER_SIZE-1) // Klammern auf keinen Fall vergessen&lt;br /&gt;
&lt;br /&gt;
struct Buffer {&lt;br /&gt;
  uint8_t data[BUFFER_SIZE];&lt;br /&gt;
  uint8_t read; // zeigt auf das Feld mit dem ältesten Inhalt&lt;br /&gt;
  uint8_t write; // zeigt immer auf leeres Feld&lt;br /&gt;
} buffer = {{}, 0, 0};&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
// Stellt 1 Byte in den Ringbuffer&lt;br /&gt;
//&lt;br /&gt;
// Returns:&lt;br /&gt;
//     BUFFER_FAIL       der Ringbuffer ist voll. Es kann kein weiteres Byte gespeichert werden&lt;br /&gt;
//     BUFFER_SUCCESS    das Byte wurde gespeichert&lt;br /&gt;
//&lt;br /&gt;
uint8_t BufferIn(uint8_t byte)&lt;br /&gt;
{&lt;br /&gt;
  uint8_t next = ((buffer.write + 1) &amp;amp; BUFFER_MASK);&lt;br /&gt;
&lt;br /&gt;
  if (buffer.read == next)&lt;br /&gt;
    return BUFFER_FAIL; // voll&lt;br /&gt;
&lt;br /&gt;
  buffer.data[buffer.write] = byte;&lt;br /&gt;
  // buffer.data[buffer.write &amp;amp; BUFFER_MASK] = byte; // absolut Sicher&lt;br /&gt;
  buffer.write = next;&lt;br /&gt;
&lt;br /&gt;
  return BUFFER_SUCCESS;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
// Holt 1 Byte aus dem Ringbuffer, sofern mindestens eines abholbereit ist&lt;br /&gt;
//&lt;br /&gt;
// Returns:&lt;br /&gt;
//     BUFFER_FAIL       der Ringbuffer ist leer. Es kann kein Byte geliefert werden.&lt;br /&gt;
//     BUFFER_SUCCESS    1 Byte wurde geliefert&lt;br /&gt;
//&lt;br /&gt;
uint8_t BufferOut(uint8_t *pByte)&lt;br /&gt;
{&lt;br /&gt;
  if (buffer.read == buffer.write)&lt;br /&gt;
    return BUFFER_FAIL;&lt;br /&gt;
&lt;br /&gt;
  *pByte = buffer.data[buffer.read];&lt;br /&gt;
&lt;br /&gt;
  buffer.read = (buffer.read+1) &amp;amp; BUFFER_MASK;&lt;br /&gt;
&lt;br /&gt;
  return BUFFER_SUCCESS;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== FIFO mit C-Präprozessor ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef FIFO_H_&lt;br /&gt;
#define FIFO_H_&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdint.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
typedef struct {&lt;br /&gt;
        uint8_t _read;&lt;br /&gt;
        uint8_t _write;&lt;br /&gt;
        uint8_t _buffer[64];&lt;br /&gt;
} FIFO64_t;&lt;br /&gt;
&lt;br /&gt;
typedef struct {&lt;br /&gt;
        uint8_t _read;&lt;br /&gt;
        uint8_t _write;&lt;br /&gt;
        uint8_t _buffer[128];&lt;br /&gt;
} FIFO128_t;&lt;br /&gt;
&lt;br /&gt;
#define FIFO_init(fifo)         { fifo._read = 0; fifo._write = 0; }&lt;br /&gt;
&lt;br /&gt;
#define FIFO_available(fifo)    ( fifo._read != fifo._write )&lt;br /&gt;
&lt;br /&gt;
#define FIFO_read(fifo, size) (                                         \&lt;br /&gt;
        (FIFO_available(fifo)) ?                                        \&lt;br /&gt;
        fifo._buffer[fifo._read = (fifo._read + 1) &amp;amp; (size-1)] : 0      \&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
#define FIFO_write(fifo, data, size) {                                                          \&lt;br /&gt;
        uint8_t tmphead = ( fifo._write + 1 ) &amp;amp; (size-1);       /* calculate buffer index */    \&lt;br /&gt;
        if(tmphead != fifo._read) {                             /* if buffer is not full */     \&lt;br /&gt;
                fifo._buffer[tmphead] = data;                   /* store data in buffer */      \&lt;br /&gt;
                fifo._write = tmphead;                          /* store new index */           \&lt;br /&gt;
        }                                                                                       \&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#define FIFO64_read(fifo)			FIFO_read(fifo, 64)&lt;br /&gt;
#define FIFO64_write(fifo, data)		FIFO_write(fifo, data, 64)&lt;br /&gt;
&lt;br /&gt;
#define FIFO128_read(fifo)			FIFO_read(fifo, 128)&lt;br /&gt;
#define FIFO128_write(fifo, data)		FIFO_write(fifo, data, 128)&lt;br /&gt;
&lt;br /&gt;
#endif /*FIFO_H_*/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: viele C-Compiler übersetzen automatisch eine Modulo-Division mit einem Divisor einer 2-er Potenz in Form einer entsprechenden Bitmaskierung. Zum einen erspart man sich dadurch das Bestimmen der entsprechenden Maske, zum anderen hat man dann den &#039;Bonus&#039;, dass der Code immer noch korrekt funktioniert (wenn auch langsamer), wenn der Anwender einen Fehler macht und die Array-Länge nicht als 2-er Potenz definiert. Die Operation&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
	fifo._buffer[fifo._read = (fifo._read + 1) &amp;amp; (size-1)] : 0	\&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
kann dann durch die in diesem Sinne gleichwertige Operation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
	fifo._buffer[fifo._read = (fifo._read + 1) % size] : 0	\&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
ausgedrückt werden, bzw.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
	uint8_t tmphead = ( fifo._write + 1 ) &amp;amp; (size-1);       /* calculate buffer index */	\&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
durch&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
	uint8_t tmphead = ( fifo._write + 1 ) % size;           /* calculate buffer index */	\&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Generische FIFO mit C-Präprozessor ===&lt;br /&gt;
&lt;br /&gt;
Mit einigen zusätzlichen Macro-Tricks (und GCC Compiler Extensions) ist es möglich diese FIFO auf beliebige Datentypen und Längen zu erweitern. Die Grundidee ist, dass für jede FIFO ein neuer struct erstellt wird, dessen Bestandteile identisch benannt sind. So können später Macros auf die einzelen Elemente per Bezeichung zugreifen, selbst wenn diese einen beliebigen Typen haben!&lt;br /&gt;
&lt;br /&gt;
Ein einfaches Macro zum deklarieren einer solchen FIFO-Struktur ist:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define _fifo__name_struct(_id)		fff_ ## _id ## _s&lt;br /&gt;
&lt;br /&gt;
#define _fifo_declare(_type, _id, _depth)	\&lt;br /&gt;
struct _fifo__name_struct(_id) {			\&lt;br /&gt;
	uint8_t read;							\&lt;br /&gt;
	uint8_t write;							\&lt;br /&gt;
	uint8_t level;							\&lt;br /&gt;
	_type data[_depth];						\&lt;br /&gt;
} _id&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum initialisieren kann folgendes Macro genutzt werden:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define _fifo_init(_id)						\&lt;br /&gt;
struct _fifo__name_struct(_id) _id = {0, 0, 0, {}}		&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die benötigte Maske bzw. FIFO Größe müssen nicht in dem Struct gespeichert werden, denn sie können beim Compilieren ermittelt werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define _sizeof_array(_array)	(sizeof(_array)/sizeof(_array[0]))&lt;br /&gt;
#define _fifo_mem_depth(_id)	(_sizeof_array(_id.data))&lt;br /&gt;
#define _fifo_mem_mask(_id)		(_sizeof_array(_id.data)-1)&lt;br /&gt;
#define _fifo_wrap(_id, idx)	((idx) &amp;amp; _fifo_mem_mask(_id))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Makros für den Zugriff auf die FIFO sind dem vorherigen Beispiel sehr ähnlich und werden daher nicht weiter erläutert. Mit Macros ist es allerdings ebenfalls möglich, auf die FIFO wie auf einen Array zuzugreifen, wessen Startadresse sich mit dem aktuellen 1. Element ändert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define _fifo_peek(_id, idx)	_id.data[_fff_wrap(_id, _id.read+(idx))]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anders als die typische &amp;quot;read&amp;quot; Funktion wird mit _fifo_peek() kein Element aus der FIFO entfernt. Damit ist es sehr einfach möglich, einen fließenden Mittelwert zu generieren oder komplexere FIR-Filter zu programmieren. Da auf die Daten wie bei einem Array zugegriffen wird, kann das Macro sogar als linker Operand genutzt werden, um bereits genutzten Speicher zu überschreiben/ bearbeiten.&lt;br /&gt;
&lt;br /&gt;
Diese Macros sind zudammen mit den typischen read/write-Macros zu einer kleinen, MIT-lizensierten Lib zusammengefasst und auf https://github.com/nqtronix/fifofast gehostet. Beiliegend ist ebenfalls eine readme.md sowie ein Demo-Projekt für Atmel Studio 7 zum Testen und Debuggen der FIFO. Fragen, Verbesserungsvorschläge oder generelles Feedback können im Thread https://www.mikrocontroller.net/topic/460020 gepostet werden; für Bug-Reports bitte ich darum ein Issue auf github zu erstellen.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Circular_buffer Circular buffer], englische Wikipedia&lt;br /&gt;
* [http://www.peterfleury.epizy.com/avr-software.html UART-Bibliothek mit FIFO], von Peter Fleury&lt;br /&gt;
* [https://www.renesas.com/en/products/memory-logic/fifo-products FIFOs] bei Renesas&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Datenübertragung]]&lt;br /&gt;
[[Kategorie:Algorithmen und Arithmetik]]&lt;br /&gt;
[[Kategorie:Speicher und Dateisysteme]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:FIFO_BSB.png&amp;diff=107947</id>
		<title>Datei:FIFO BSB.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:FIFO_BSB.png&amp;diff=107947"/>
		<updated>2026-03-14T10:28:41Z</updated>

		<summary type="html">&lt;p&gt;Falk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Stack&amp;diff=107946</id>
		<title>Stack</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Stack&amp;diff=107946"/>
		<updated>2026-03-14T10:03:38Z</updated>

		<summary type="html">&lt;p&gt;Falk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein &#039;&#039;&#039;Stack&#039;&#039;&#039;, &#039;&#039;&#039;Kellerspeicher&#039;&#039;&#039; oder &#039;&#039;&#039;LIFO&#039;&#039;&#039; ist ein [[Speicher]] nach dem LIFO-Prinzip (last in, first out). Man kann ihn sich vergleichsweise wie einen Stapel von Tellern vorstellen, bei dem der zuletzt auf den Stapel gelegte Teller immer zuerst heruntergenommen werden muss um an die darunterliegenden Teller herankommen zu können.&lt;br /&gt;
&lt;br /&gt;
In Prozessoren wird der Stack unter anderem dazu verwendet, um beim Aufruf einer Subroutine die Rücksprungadresse speichern zu können. Das bedeutet, dass man ohne einen Stack keine Unterfunktionen aufrufen könnte. Auf dem Stack speichert man u.a. die Registerinhalte bei [[Interrupt]]- und Funktionsaufrufen und bei höheren Programmiersprachen ([[HLL]]s) auch die übergebenen Funktionsargumente sowie die lokalen Variablen.&lt;br /&gt;
&lt;br /&gt;
Die einzelnen Prozessorfamilien legen den Stack entweder in einem speziellen Speicherbereich (Hardwarestack) oder im RAM-Bereich (Softwarestack) ab. Ein Softwarestack ist meistens größer und flexibler.&lt;br /&gt;
&lt;br /&gt;
Die [[PIC]] Mikrocontroller haben einen Hardwarestack zum Speichern des Programmzählers (der Rücksprungadresse von Unterprogrammen). Die Größe des Stacks (Ebenen) ist je nach PIC Modell vorgegeben. Die neuste Generation der PIC18 Familie haben einen 32-Ebenen-Stack. Die Zahl der Stackebenen beschränkt die Verschachtelungstiefe von Programm und Unterprogrammen.&lt;br /&gt;
&lt;br /&gt;
[[AVR]] Mikrocontroller besitzen bis auf wenige Ausnahmen ([[AVR_Typen|ATtiny11/12/15]]) einen Softwarestack.&lt;br /&gt;
&lt;br /&gt;
Um einen Stack zu benutzen benötigt man lediglich einen Zeiger der auf die Stapelspitze, das zuletzt hinzugefügte Element, zeigt. Von diesem ausgehend kann man dem Stapel ein Element hinzufügen oder eines herunternehmen. Das Hinzufügen wird gemeinhin als &amp;quot;PUSH&amp;quot; bezeichnet, das Enfernen als &amp;quot;POP&amp;quot;, machmal auch &amp;quot;PULL&amp;quot;. Wird die Stapelzeigeradresse beim PUSH inkrementiert, sagt man auch der Stack wächst nach oben. Wird die Stapelzeigeradresse dekrementiert, wächst der Stack nach unten, das ist bei den meisten Prozessoren der Fall.&lt;br /&gt;
&lt;br /&gt;
[[Bild:lifo.png|thumb|544px|left| Blockschaltbild eines LIFO Speichers]]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[AVR Assembler - Unterprogramme]]&lt;br /&gt;
* [[AVR-Tutorial: Stack]]&lt;br /&gt;
* [[FIFO]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Speicher und Dateisysteme]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Lifo.png&amp;diff=107945</id>
		<title>Datei:Lifo.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Lifo.png&amp;diff=107945"/>
		<updated>2026-03-14T09:55:38Z</updated>

		<summary type="html">&lt;p&gt;Falk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=CAN&amp;diff=107943</id>
		<title>CAN</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=CAN&amp;diff=107943"/>
		<updated>2026-03-11T18:48:22Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Intern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;C&#039;&#039;&#039;ontroller &#039;&#039;&#039;A&#039;&#039;&#039;rea &#039;&#039;&#039;N&#039;&#039;&#039;etwork - Ein von Bosch entwickeltes, echtzeitfähiges Bussystem für den Automobilbereich, welches u.a. auch Anwendung in der Automatisierungstechnik findet.&lt;br /&gt;
&lt;br /&gt;
==Mikrocontroller mit CAN==&lt;br /&gt;
&lt;br /&gt;
=== Atmel AVR===&lt;br /&gt;
&lt;br /&gt;
==== AT90CAN ====&lt;br /&gt;
* Atmel AVR Controller mit CAN-Schnittstelle (ein Kanal)&lt;br /&gt;
* Speicher: (FLASH,EEPROM,RAM)&lt;br /&gt;
** AT90CAN32  -&amp;gt; 32KB 1KB 2KB&lt;br /&gt;
** AT90CAN64  -&amp;gt; 64KB 2KB 4KB&lt;br /&gt;
** AT90CAN128 -&amp;gt; 128KB 4KB 4KB&lt;br /&gt;
* 15 CAN &amp;quot;Message Objects&amp;quot;, jedes individuell konfigurierbar&lt;br /&gt;
* Bis auf den CAN controller weitestgehend identisch mit den nicht CAN Versionen (siehe [http://www.atmel.com/Images/doc4313.pdf AVR096])&lt;br /&gt;
* Beispielcode inkl. CAN für den IAR-C-Compiler findet sich bei atmel.com. Autobaud-Routinen in Assembler (etwas Aufwand bei der Portierung nach avr-gcc/avr-as).&lt;br /&gt;
* Dieser MC ist für nicht-gewerbliche Endanwender einzeln z.&amp;amp;nbsp;B. bei Reichelt, CSD und Segor erhältlich (ca. 9EUR). Beim Bestellen des MC sollte man einen CAN-BUS-Treiber gleich mitbestellen: z.&amp;amp;nbsp;B. Philips PCA82C250. Jedoch auf vorhandene Versorgungsspannungen achten (AT90CAN128 &amp;quot;kann mit&amp;quot; VCC=2,7...5,5V, PCA82C250 lt. Datenblatt für VCC=4,5...5V).&lt;br /&gt;
* CANopen software protocol stacks at http://www.port.de/Atmel.html&lt;br /&gt;
* Freier CANopen stack: http://www.canfestival.org/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Im Auslieferungszustand ist nur der interne RC-Oszillator aktiv (wie üblich bei allen modernen AVRs mit internem R/C-Oszillator vgl. [[AVR Checkliste]]). Umschalten auf externe Taktquelle über die AVR-Fusebits.&lt;br /&gt;
* Für die ISP-Programmierung schliesst man Ihn wie den ATmega128 an. MOSI-2 ; MISO-3 ; SCK-11 ; /Reset-20 ;  GND-22,53,63 ; Vcc-21,52,(62),(64). Auf die übliche &amp;quot;ATmega64/128-Problematik&amp;quot; achten: MISO/MOSI der Programmierschnittstelle sind nicht identisch mit der SPI-Schnittstelle.&lt;br /&gt;
[gehört nicht in den &amp;quot;CAN Artikel&amp;quot;] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * die aktuelle Hardware-Version (Stand 4/2005) hat einen &amp;quot;silicon bug&amp;quot; (Hardwarefehler, vgl. avrfreaks-Forum): Liegt der Stack im &#039;&#039;externen&#039;&#039; RAM, führt dies zu Fehlern in der Stackverwaltung (push/pop/rcall etc.). Details in aktuellen Fassungen des Datenblatts. Abhilfe/Workaround: Stack im internen RAM (&amp;lt;0x1001) verwalten. Dies ist ohnehin sinnvoll, da der Stackzugriff dann schneller ist.&lt;br /&gt;
[nicht mehr aktuell und errata ist immer zu beachten] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- *Als Programmieradapter braucht man einen, der eine gewisse Intelligenz beinhaltet. Vergebens waren auch bei mir die Versuche,   mit dem &#039;Kanda&#039;-Dongle vom STK200-Board und ähnliche Nachbauten.  -&amp;gt; www.mikrocontroller-projekte.de [- Einzeltest mit Stickprobenumfang 1 - sollte schon funktionieren, auskommentiert bis nochmals belegt - mt] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ATmega16M1/32M1/64M1 ====&lt;br /&gt;
* modernisierte Version der AT90CAN128 Serie inkl. LIN, PSC und DAC&lt;br /&gt;
* not sampled&lt;br /&gt;
&lt;br /&gt;
==== AT32UC3C ====&lt;br /&gt;
* 32bit AVR mit zwei CAN controllern&lt;br /&gt;
* bis zu 512k flash, 64k RAM&lt;br /&gt;
* DMA, USB, Ethernet MAC, 2Msmps 12bit ADC, 12bit DAC&lt;br /&gt;
&lt;br /&gt;
=== Atmel ARM ===&lt;br /&gt;
&lt;br /&gt;
==== AT91SAM7X ====&lt;br /&gt;
* ARM7TDMI-Kern mit einem CAN controller&lt;br /&gt;
* bis 512k flash und 128k RAM&lt;br /&gt;
&lt;br /&gt;
==== AT91SAM9X ====&lt;br /&gt;
* ARM926-Kern mit zwei CAN controllern&lt;br /&gt;
* kein onboard flash&lt;br /&gt;
* 32k RAM aber DDR2 support&lt;br /&gt;
&lt;br /&gt;
==== AT91SAM3A ====&lt;br /&gt;
* Cortex M3-Kern mit zwei CAN controllern&lt;br /&gt;
* bis zu 512k flash und 96k RAM&lt;br /&gt;
&lt;br /&gt;
==== AT91SAM3X ====&lt;br /&gt;
* Cortex M3-Kern mit zwei CAN controllern&lt;br /&gt;
* bis zu 512k flash und 96k RAM&lt;br /&gt;
&lt;br /&gt;
=== Luminary Micro Stellaris LM3S8xxx ===&lt;br /&gt;
* ARM Cortex-M3&lt;br /&gt;
* bis 64kByte RAM und 256kByte Flash&lt;br /&gt;
* CAN und Ethernet&lt;br /&gt;
&lt;br /&gt;
=== Microchip PIC18Fxx8 PIC18Fxx8x ===&lt;br /&gt;
* Mikrocontroller mit CAN Schnittstelle&lt;br /&gt;
* [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=50&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 Herstellerseite]&lt;br /&gt;
&lt;br /&gt;
=== Mitsubishi / Renesas R8C / M16C / M32C ===&lt;br /&gt;
&lt;br /&gt;
R8C/23, M16C/6Nx&lt;br /&gt;
&lt;br /&gt;
=== Motorola / Freescale DSP56F8xx ===&lt;br /&gt;
* Clock des CAN-Moduls von PLL speisen, nicht von XTAL, sonst gibt es sporadische Aussetzer&lt;br /&gt;
* Bei hohen Datenraten ist es notwendig die CAN-TX-Leitung vom Controller mit einem PullUp-Widerstand zu beschalten. Sonst stimmt das Bit-Timing nicht, weil die Anstiegszeit des TX-Signals zu schlecht ist.&lt;br /&gt;
&lt;br /&gt;
=== Freescale MC9S08 ===&lt;br /&gt;
* D Serie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Freescale MC9S12 ===&lt;br /&gt;
* B, C, D, G und H Serie&lt;br /&gt;
&lt;br /&gt;
=== NXP LPC11CXX ===&lt;br /&gt;
* 32-bit ARM Cortex-M0&lt;br /&gt;
* LPC11C12 16KB flash, 8KB SRAM, 1x C_CAN&lt;br /&gt;
* LPC11C14 32KB flash, 8KB SRAM, 1x C_CAN&lt;br /&gt;
* LPC11C22 16KB flash, 8KB SRAM, 1x C_CAN, on-chip CAN transceiver&lt;br /&gt;
* LPC11C24 32KB flash, 8KB SRAM, 1x C_CAN, on-chip CAN transceiver&lt;br /&gt;
* Herstellerseite: [http://ics.nxp.com/products/lpc1000/lpc1100/lpc11cxx/]&lt;br /&gt;
&lt;br /&gt;
=== NXP LPC175X LPC176X ===&lt;br /&gt;
* Mikrocontroller mit Cortex-M3 Kern.&lt;br /&gt;
* 1 - 2 CAN Schnittstellen&lt;br /&gt;
* Herstellerseite: [http://ics.nxp.com/products/lpc1000/lpc17xx/ Philips Semiconductors]&lt;br /&gt;
&lt;br /&gt;
=== NXP (ex. Philips) LPC2129 LPC2194 LPC2290 LPC2292 LPC2294 ===&lt;br /&gt;
* Mikrocontroller mit ARM7TDMI-S-Kern (vgl. [[LPC2000 Philips ARM7TDMI-Familie]])&lt;br /&gt;
* 2 - 4 CAN Schnittstellen&lt;br /&gt;
* CAN-Modul angelehnt an Philips SJA1000 (aber mit recht langer und deftig gewürzter Bug-Liste)&lt;br /&gt;
* Herstellerseite: [http://www.nxp.com Philips Semiconductors]&lt;br /&gt;
* LPC2194 erhältlich bei http://www.microcontroller-starterkits.de und http://de.digikey.com/&lt;br /&gt;
* CANopen software protocol stacks at [http://www.port.de/Philips.html]&lt;br /&gt;
&lt;br /&gt;
=== NXP LPC23xx ===&lt;br /&gt;
* Mikrocontroller mit ARM7TDMI-S-Kern (vgl. [[LPC2000 Philips ARM7TDMI-Familie]])&lt;br /&gt;
* 2 CAN Schnittstellen&lt;br /&gt;
&lt;br /&gt;
=== NXP P80C591 P80C592 P80C598 ===&lt;br /&gt;
* 8-Bit Mikrocontroller mit 8051-Kern&lt;br /&gt;
* P80C591 ist neuer und beherrscht CAN2.0B&lt;br /&gt;
* P80C592: CAN2.0A, P80C598 ist die Automotive-Version vom &#039;592&lt;br /&gt;
&lt;br /&gt;
=== Silicon Labs C8051F04X C8051F06X C8051F5XX ===&lt;br /&gt;
*  8-Bit Mikrocontroller mit 8051-Kern&lt;br /&gt;
*  16K - 128K Flash, 2304 - 8448 RAM&lt;br /&gt;
*  LIN 2.1&lt;br /&gt;
*  25-50 MIPS&lt;br /&gt;
*  bis 5x5 QFN&lt;br /&gt;
&lt;br /&gt;
=== STMicroelectronics STM8S20  ===&lt;br /&gt;
* STM8 Kern [http://www.st.com/stonline/products/literature/ds/14733/stm8s208c6.pdf] DIV/MUL -Befehle &lt;br /&gt;
* SPI mit automatischer CRC Berechnung&lt;br /&gt;
* 1 beCAN Schnittstelle CAN2.0B &lt;br /&gt;
* sehr preiswert (128 kFlash/6K RAM ) 3,30 bis 4,80 &amp;amp;#8364; ([http://search.digikey.com/scripts/DkSearch/dksus.dll?vendor=0&amp;amp;keywords=CAN+STM8]  aber SMD LQFP &lt;br /&gt;
&lt;br /&gt;
=== STMicroelectronics STR730 STR750 ===&lt;br /&gt;
* ARM7TDMI-Kern&lt;br /&gt;
* 1-3 CAN Schnittstellen&lt;br /&gt;
&lt;br /&gt;
=== STMicroelectronics STR910FM32, STR910FW32, STR911FM42, STR911FM44, STR912FW42, STR912FW44 ===&lt;br /&gt;
* 96MHz ARM966E-S CPU Kern&lt;br /&gt;
&lt;br /&gt;
=== [[STM32|STM32 (Cortex M0/M3/M4)]] ===&lt;br /&gt;
Cortex M0 Core&lt;br /&gt;
 - [http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1574 STM32 F0 series of entry-level MCUs]&lt;br /&gt;
* STM32F042   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F072   : 1 CAN Schnittstelle&lt;br /&gt;
Cortex M3 Core&lt;br /&gt;
 - [http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1031 STM32 F1 series of mainstream MCUs]&lt;br /&gt;
* STM32F103   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F105   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F107   : 2 CAN Schnittstellen&lt;br /&gt;
 - [http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1575 STM32 F2 series of high-performance MCUs]&lt;br /&gt;
* STM32F205   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F207   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F215   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F217   : 2 CAN Schnittstellen&lt;br /&gt;
Cortex M4F Core&lt;br /&gt;
 - [http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1576 STM32 F3 series of mixed-signal MCUs with DSP and FPU instructions]&lt;br /&gt;
* STM32F302   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F373   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F383   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F303   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F313   : 1 CAN Schnittstelle&lt;br /&gt;
 - [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1577 STM32 F4 series of high-performance MCUs with DSP and FPU instructions]&lt;br /&gt;
* STM32F405   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F415   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F407   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F417   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F427   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F437   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F429   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F439   : 2 CAN Schnittstellen&lt;br /&gt;
&lt;br /&gt;
=== TI TMS470 ===&lt;br /&gt;
* ARM7TDMI-Kern&lt;br /&gt;
&lt;br /&gt;
=== Toshiba TLCS-870/C ===&lt;br /&gt;
&lt;br /&gt;
==CAN Controller==&lt;br /&gt;
&lt;br /&gt;
===MCP2515 ===&lt;br /&gt;
CAN-Controller von Microchip&lt;br /&gt;
* [[SPI]] &lt;br /&gt;
* 2 Empfangs- und 3 Sendepuffer jeweils individuell konfigurierbar (ID, Masken/Filter etc.)&lt;br /&gt;
* ein gemeinsamer Interruptpin&lt;br /&gt;
* ein Interruptpin pro Empfangspuffer, umkonfigurierbar als allgmeiner Ausgang&lt;br /&gt;
* ein Triggerpin pro Sendepuffer, umkonfigurierbar als allgemeiner Eingang&lt;br /&gt;
* Stromsparmodus&lt;br /&gt;
* auch für 3,3V-Betrieb geeignet.&lt;br /&gt;
* Diverse C- und Assembler Beispielcodes verfügbar (z.&amp;amp;nbsp;B. bei microchip.com und kvaser, Assembler meist für PICs). Auch Software für Direktanschluss an die parallele Schnittstelle eines PC verfügbar (&amp;quot;bit-bang Interface&amp;quot;).&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt (ca. 2&amp;amp;#8364;)&lt;br /&gt;
&lt;br /&gt;
====Links====&lt;br /&gt;
*[http://www.kreatives-chaos.com/index.php?seite=mcp2515 Ansteuerung eines MCP2515 in C]&lt;br /&gt;
*[http://mcp2510btc.berlios.de/ Bit Timing Calculator für Linux]&lt;br /&gt;
*[https://www.opendcc.de/info/eagle/eagle_libs.html Eagle Bauteil]&lt;br /&gt;
&lt;br /&gt;
===SJA1000===&lt;br /&gt;
CAN-Controller von Philips&lt;br /&gt;
* Parallele Schnittstelle mit ca. 12 Leitungen&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt (ca. 4 Euro)&lt;br /&gt;
&lt;br /&gt;
===AN82526===&lt;br /&gt;
CAN-Controller von Intel (entwickelt von Bosch)&lt;br /&gt;
* Vorgänger des AN82527&lt;br /&gt;
&lt;br /&gt;
===AN82527===&lt;br /&gt;
CAN-Controller von Intel (entwickelt von Bosch)&lt;br /&gt;
* Nachfolger des AN82526&lt;br /&gt;
* parallele Schnittstelle und [[SPI]]&lt;br /&gt;
* 8- oder 16-Bit Multiplex Bus oder 8-Bit Non-Multiplexed Bus&lt;br /&gt;
* 14 Tx/Rx Puffer&lt;br /&gt;
* bis zu 16 IO-Pins (je nach Controlleranbindung)&lt;br /&gt;
* Wird nicht mehr hergestellt&lt;br /&gt;
&lt;br /&gt;
===Bosch CC170 / CC750 / CC770===&lt;br /&gt;
* kompatibel zum AN82527&lt;br /&gt;
* mehr Debug-Register&lt;br /&gt;
* CC750 im SOIC16-W Gehäuse ohne Parallel-Interface, nur SPI&lt;br /&gt;
* erhältlich bei Rutronik (ca. 8 Euro)&lt;br /&gt;
&lt;br /&gt;
===SAE81C9x===&lt;br /&gt;
* SPI und Busanschluss möglich&lt;br /&gt;
* PLCC44 und PLCC28, letzteres allerdings in ungebräuchlicher Bauform&lt;br /&gt;
* Nur CAN 2.0A, beherrscht also keine Extended IDs.&lt;br /&gt;
* 2004 von infineon abgekündigt, ohne Nachfolgeprodukt&lt;br /&gt;
&lt;br /&gt;
==Bustreiber (CAN-Transceiver)==&lt;br /&gt;
&lt;br /&gt;
=== High-Speed ===&lt;br /&gt;
&lt;br /&gt;
====MCP2551====&lt;br /&gt;
* von Microchip&lt;br /&gt;
* PDIP8 und SOIC&lt;br /&gt;
* VCC = 4,5...5,5V&lt;br /&gt;
* kostet rund 1&amp;amp;#8364;&lt;br /&gt;
* [http://ww1.microchip.com/downloads/en/DeviceDoc/21667f.pdf Datenblatt]&lt;br /&gt;
* [https://www.opendcc.de/info/eagle/eagle_libs.html Eagle-Lib]&lt;br /&gt;
&lt;br /&gt;
====PCA 82C250====&lt;br /&gt;
* &amp;lt;s&amp;gt;ABGEKÜNDIGT!&amp;lt;/s&amp;gt; In Produktion: [http://www.nxp.com/products/interface-and-connectivity/wired-connectivity/can-lin-flexray-transceivers/can-transceivers/can-controller-interface:PCA82C250T?&amp;amp;cof=0&amp;amp;am=0&amp;amp;tab=Buy_Parametric_Tab&amp;amp;fpsp=1 NXP Orderlist]&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* PDIP8 und SO8&lt;br /&gt;
* VCC = 4,5...5,5V&lt;br /&gt;
* V-CAN: -8V..+18V   -&amp;gt; &amp;quot;TTL-kompatible&amp;quot; Bus-Spannung&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt (ca. 1,00&amp;amp;#8364;)&lt;br /&gt;
&lt;br /&gt;
====PCA 82C251====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* PDIP8 und SO8&lt;br /&gt;
* VCC = 4,5...5,5V&lt;br /&gt;
* V-CAN: -40V..+40V   -&amp;gt; +24V Bus-Spannung&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt (ca. 1,50&amp;amp;#8364;)&lt;br /&gt;
&lt;br /&gt;
====TJA 1041====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* SO14&lt;br /&gt;
* VCC = 4,75...5,25V&lt;br /&gt;
* Standby, Sleepmode&lt;br /&gt;
* 1 MBit/s&lt;br /&gt;
* -27..+40V&lt;br /&gt;
* Automatische Einstellung der I/O Pegel&lt;br /&gt;
* Erweiterte Diagnosefunktionen&lt;br /&gt;
* &amp;quot;Listen only&amp;quot;-Mode&lt;br /&gt;
* 2. Generation&lt;br /&gt;
* http://www.nxp.com/documents/data_sheet/TJA1041A.pdf&lt;br /&gt;
&lt;br /&gt;
====TJA 1042====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* SO8&lt;br /&gt;
* VCC = 4,5...5,5V auch als 3V I/O Version&lt;br /&gt;
* Standby&lt;br /&gt;
* -27..+40V&lt;br /&gt;
* +-8kV ESD, verträgt dauerhaft +-58V auf den CAN-BUS&lt;br /&gt;
* 3. Generation (bessere EMC und EMI Daten)&lt;br /&gt;
* http://www.nxp.com/documents/data_sheet/TJA1042.pdf&lt;br /&gt;
&lt;br /&gt;
====TJA 1043====&lt;br /&gt;
* wie TJA1041 (bessere EMC, ESD Eigenschaften und geringerer Ruhestrom)&lt;br /&gt;
* SO14&lt;br /&gt;
* Standby, Sleepmode&lt;br /&gt;
* -58..++58V&lt;br /&gt;
* +-8kV ESD, verträgt dauerhaft +-58V auf den CAN-BUS&lt;br /&gt;
* 3. Generation&lt;br /&gt;
* http://www.nxp.com/documents/data_sheet/TJA1043.pd&lt;br /&gt;
&lt;br /&gt;
==== TJA1051 ====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* SO8, pinkompatibel zu TJA1050&lt;br /&gt;
* VCC = 4,75...5,25V&lt;br /&gt;
* 3. Generation, Nachfolger der PCA82C25x&lt;br /&gt;
* http://www.nxp.com/products/interface_and_connectivity/transceivers/can_transceivers/TJA1051T.html&lt;br /&gt;
&lt;br /&gt;
==== TJA1052i ====&lt;br /&gt;
* von NXP&lt;br /&gt;
* SO16&lt;br /&gt;
* Integrierte galvanische Trennung&lt;br /&gt;
&lt;br /&gt;
====ATA6660====&lt;br /&gt;
* ABGEKÜNDIGT, wird nicht mehr hergestellt.&lt;br /&gt;
* von Atmel&lt;br /&gt;
* SO8&lt;br /&gt;
* VCC = 4,75...5,25V&lt;br /&gt;
&lt;br /&gt;
====SN65HVD23x====&lt;br /&gt;
* von Texas Instruments (auch als Sample erhaeltlich)&lt;br /&gt;
* SO8&lt;br /&gt;
* VCC = 3,0V...3,6V&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt: SN65HVD230, SN65HVD231 (ca. 3,00 €)&lt;br /&gt;
Datenblatt:&lt;br /&gt;
*[http://www.ti.com/lit/gpn/sn65hvd230 SN65HVD230] &lt;br /&gt;
*[http://www.ti.com/lit/gpn/sn65hvd231 SN65HVD231]&lt;br /&gt;
&lt;br /&gt;
====MAX3051EKA/ESA====&lt;br /&gt;
* von Analog (fka Maxim)&lt;br /&gt;
* SOT23-8 und SO-8&lt;br /&gt;
* als SOT23 noch gut manuell zu verarbeiten, dabei relativ klein&lt;br /&gt;
* VCC = 3,3V, trotzdem voll kompatibel&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. Mouser, Digikey, LCSC&lt;br /&gt;
Datenblatt:&lt;br /&gt;
* https://www.analog.com/media/en/technical-documentation/data-sheets/max3051.pdf&lt;br /&gt;
&lt;br /&gt;
====HMT1040T====&lt;br /&gt;
* von Gatemode (asiatischer Hersteller)&lt;br /&gt;
* SO-8&lt;br /&gt;
* VCC = 5V&lt;br /&gt;
* Pin- und funktionskompatibel zu bekannten Brands&lt;br /&gt;
* Als nur ein Beispiel sehr günstiger asiatischer Hersteller (Xinluda, Chipanalog, ZHHXDZ, SIT)&lt;br /&gt;
* Preis 25ct Einzelstück, 20ct@50Stück&lt;br /&gt;
* erhältlich bei LCSC&lt;br /&gt;
Datenblatt:&lt;br /&gt;
* https://www.lcsc.com/datasheet/lcsc_datasheet_2402021513_GATEMODE-HMT1040T_C20415565.pdf&lt;br /&gt;
&lt;br /&gt;
=== Fault-Tolerant / Low-Speed ===&lt;br /&gt;
&lt;br /&gt;
==== TJA1055 ====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* bis 125 &amp;quot;kBaud&amp;quot;&lt;br /&gt;
* SO14&lt;br /&gt;
* TJA1055/3 unterstützt 3V interfaces&lt;br /&gt;
* 6kV ESD Schutz&lt;br /&gt;
* abgekündigt: ähnliche Funktionen, gleicher Hersteller: TJA1053, TJA1054&lt;br /&gt;
&lt;br /&gt;
==== UJA1061 ====&lt;br /&gt;
* NXP&lt;br /&gt;
* System Base Chip (SBC)&lt;br /&gt;
* TSSOP 32-Pin&lt;br /&gt;
* Serial Interface (SPI)&lt;br /&gt;
* Spannungsregler  3.3 V oder 5.0 V (LDO)&lt;br /&gt;
* 6kV ESD Schutz&lt;br /&gt;
&lt;br /&gt;
==== L4969 ====&lt;br /&gt;
* ST Microelectronics&lt;br /&gt;
* System Base Chip (SBC)&lt;br /&gt;
* SO20&lt;br /&gt;
* Serial Interface (SPI)&lt;br /&gt;
* Spannungsregler (LDO)&lt;br /&gt;
&lt;br /&gt;
==== MC33889 ====&lt;br /&gt;
* Motorola Freescale&lt;br /&gt;
* System Base Chip (SBC)&lt;br /&gt;
* SO28&lt;br /&gt;
* Serial Interface (SPI)&lt;br /&gt;
* Spannungsregler (LDO)&lt;br /&gt;
&lt;br /&gt;
== CAN Repeater ==&lt;br /&gt;
&lt;br /&gt;
==== AMIS-42700 ====&lt;br /&gt;
* Dual High-Speed CAN Transceiver&lt;br /&gt;
* High speed (up to 1Mbit/s)&lt;br /&gt;
* SOIC-20&lt;br /&gt;
* vgl. http://www.mikrocontroller.net/topic/53799&lt;br /&gt;
&lt;br /&gt;
==== Alternative ====&lt;br /&gt;
* zwei Transceiver&lt;br /&gt;
* [http://www.mikrocontroller.net/attachment/9353/CANREPEATER.JPG Schaltung]&lt;br /&gt;
* Anmerkung: Diese Schaltung ist Quatsch und funktioniert nicht.&lt;br /&gt;
* -Zum Senden eines Zeichen, muss beim CAN paralell auf dem Bus gelesen werden.&lt;br /&gt;
  -Die TRansceiver tun dies nicht, mach nur der Controller.&lt;br /&gt;
  -Die gelesene Nachricht muss also durch einen Controller erneut gesendet werden, wenn der Bus frei ist...&lt;br /&gt;
* Anmerkung: Die letzte Anmerkung ist Quatsch. Die Schaltung funktioniert in einem realen Projekt einwandfrei. Das tut es, weil die Kollisionen, auf die hier angespielt wird, durch die Schaltung auf das Segment des sendenden Controllers zurückgemeldet werden, dieser die Kollision also erkennt und die Sendung ggfs abbricht. Allerdings wird durch die zusätzliche Latenz die maximale Buslänge deutlich reduziert. In dem erwähnten Projekt war der Bus auch nur etwa 2m lang.&lt;br /&gt;
* Funktioniert NICHT (getestet in einem realen Projekt). Warum es nicht funktionieren kann steht z.B. hier: http://www.mikrocontroller.net/topic/106674&lt;br /&gt;
&lt;br /&gt;
==== CAN ISO 11898-2 Repeater - CAN Bus Hub ====&lt;br /&gt;
* https://github.com/sco3149/can-hub&lt;br /&gt;
&lt;br /&gt;
==SLIO-CAN==&lt;br /&gt;
&lt;br /&gt;
Preisgünstigste Bausteine sind die Serial Linked I/O Bausteine (SLIO). Diese Bausteine ermöglichen den Aufbau von Ein- und Ausgabeknoten ohne lokalen Prozessor. Auf der Basis dieser Bausteine lässt sich eine dezentrale Signal-Ein-Ausgabe mit minimalem Kostenaufwand realisieren.&lt;br /&gt;
&lt;br /&gt;
=== Philips P82C150===&lt;br /&gt;
* Single-Chip-I/O-Einheit mit integriertem CAN-Controller&lt;br /&gt;
* mögliche Busdatenrate 20kBd bis 125kBd&lt;br /&gt;
* interner RC-Oszillator wird durch den Bitstrom auf den Bus synchronisiert&lt;br /&gt;
* Kalibrierungsnachricht alle 8000 Bitzeiten erforderlich&lt;br /&gt;
** 4-Bit des Identifiers über Port-Pins einstellbar &lt;br /&gt;
* maximal 16 P82C150 in einem CAN-Segment&lt;br /&gt;
** 16 Port-Pins mit unterschiedlichen Konfigurationsmöglichkeiten&lt;br /&gt;
*** 16 mal als digitale Eingänge&lt;br /&gt;
*** 16 mal als digitale Ausgänge&lt;br /&gt;
*** 2 mal als analoger Ausgang ( 10-Bit, DPM )&lt;br /&gt;
*** 6 mal als analoger Eingang ( 10-Bit, multiplex )&lt;br /&gt;
*** 2 mal als Komparator &lt;br /&gt;
&lt;br /&gt;
* [http://www.htw-dresden.de/fe/labor/mikror/projects/slio_can/ slio-CAN]&lt;br /&gt;
&lt;br /&gt;
Anmerkung: Philips stellt die SLIO nicht mehr her! Es ist auch &amp;quot;nichts&amp;quot; mehr am Markt beschaffbar, wenn, dann zu horrenden Preisen (um die 60,-EUR/Stück zur Zeit). --[[Benutzer:OldBug|Patrick]] 09:08, 25. Jan 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===DS 36001M===&lt;br /&gt;
&#039;&#039;&#039;Obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===MCP2502X/5X===&lt;br /&gt;
&lt;br /&gt;
CAN-IO Erweiterung. Braucht praktisch nur noch Quarz und Transciever. Preise ab 3€&lt;br /&gt;
* bis zu 8 digitale IOs &lt;br /&gt;
* bis zu 2 PWM, 10 Bit&lt;br /&gt;
* bis zu 4 ADC, 10 Bit, externe Ref.&lt;br /&gt;
* SLEEP-Mode etc.&lt;br /&gt;
&lt;br /&gt;
[http://ww1.microchip.com/downloads/en/devicedoc/21664c.pdf Datenblatt]&lt;br /&gt;
&lt;br /&gt;
==USB CAN Bridge==&lt;br /&gt;
&lt;br /&gt;
Neben der Möglichkeit mit CANable, CANdlelight, Klipper usw. einen eigenen USB-to-CAN Umsetzer zu bauen &lt;br /&gt;
gibt es auch ein fertiges IC von Holtek&lt;br /&gt;
&lt;br /&gt;
===Holtek HT42B536-1===&lt;br /&gt;
&lt;br /&gt;
* Leider benötigt das IC &lt;br /&gt;
** Zwei Betriebsspannungen 3,3V und 5,0V&lt;br /&gt;
** Einen eigenen Quarz für den CAN-Controller (STM32F0-Projekte können auf USB-Takt synchronisieren)&lt;br /&gt;
* Trotzdem interessant, da es nicht mehr programmiert werden muss. &lt;br /&gt;
* LAWICEL (SLCAN) Befehlssatz, daher hohe Kompatibilität zu bekannten Programmen (ungetestet)&lt;br /&gt;
* Sollte unter Linux als SLCAN direkt einbindbar sein (ungetestet)&lt;br /&gt;
&lt;br /&gt;
https://www.holtek.com/page/vg/HT42B536-1&lt;br /&gt;
&lt;br /&gt;
== Verkabelung ==&lt;br /&gt;
* auf beidseitige Busterminierung achten (typisch 2x 120Ω bei &amp;quot;high-speed&amp;quot;)&lt;br /&gt;
* Standardbelegung für diverse Steckverbindungen vgl. [http://www.can-cia.de/index.php?id=440 CANOpen-Dokumentation (CiA 303-1)];  erfordert Anmeldung&lt;br /&gt;
* Schaltplan für galvanische Trennung z.&amp;amp;nbsp;B. nach Datenblatt des PCA82C250&lt;br /&gt;
* für einfache Testaufbauten über sehr kurze Strecken oder &amp;quot;on-board-CAN&amp;quot; kann auf die Bustreiber verzichtet werden (vgl. Siemens Application-Note [http://www.mikrocontroller.net/attachment/28831/siemens_AP2921.pdf AP2921])&lt;br /&gt;
&lt;br /&gt;
Es gibt auch CAN mit &lt;br /&gt;
* einpoliger unsymmetrischer Verbindung (SAE J2411 single wire)&lt;br /&gt;
* optischer Verbindung (Faser, Glasfaser)&lt;br /&gt;
&lt;br /&gt;
Für einfache Tests genügt auch eine direkte wired-and-Verbindung ohne Treiber:&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/42105#317085 Forumsbeitrag]: CAN übertragung brich ca. nach 10 sek ab&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Hersteller von Debug-Geräten&lt;br /&gt;
* Vector-Informatik CANscope (Pegeltester) http://www.vector-informatik.de/deutsch/  - ca. 3300EUR&lt;br /&gt;
* Gemac CBT (CanBusTester) testet auch Pegel, Reflexionen ... (Treiber etc. etwas ältlich, von 2002, was ist mit Weiterentwicklung?), auch leihweise http://www.gemac-chemnitz.de/pages/d_html/produkte/bus-tester/new-de-can-bust.html http://www.brandt-data.de/canbus/can_intro.html  - ca. 2400EUR&lt;br /&gt;
 &amp;gt;&amp;gt; CBT wurde weiterentwickelt zum CBT2 (2007) bzw. CANtouch (2014) https://gemac-fieldbus.com&lt;br /&gt;
* ixxat bietet ebenfalls den Gemac-cbt an, auch leihweise&lt;br /&gt;
*QCANObserver http://qcanobserver.sourceforge.net/ CAN Debugger mit ähnlichen Fähigkeiten. Derzeit läuft die Entwicklung nur noch unter Linux. Freie Software (GPL)&lt;br /&gt;
&lt;br /&gt;
Oszilloskope mit CAN-Analyse (manche auch SPI, LIN, RS232, SATA ...):&lt;br /&gt;
* LeCroy WaveRunner 6040 wird mit Vector-CANcaseXL (externer CAN-Trigger) geliefert (sehr gut, ab ca.9000 EUR)&lt;br /&gt;
* LeCroy WaveSurfer 424 wird mit Vector-CANcaseXL (externer CAN-Trigger) geliefert (sehr gut, ab ca.8000 EUR)&lt;br /&gt;
* Yokogawa DL1640 und DL9040 (CAN-Trigger ist intern)  ähnliche Preise wie LeCroy, Bedienung gewöhnungsbedürftig, geht mit etwas Übung besser&lt;br /&gt;
* Tektronix&lt;br /&gt;
* HP / Agilent&lt;br /&gt;
* LogicPort http://www.pctestinstruments.com/&lt;br /&gt;
* Saleae Logic http://www.saleae.com/logic/ (kostet nur 149$; Professoren an Universitäten und Hochschulen können ein Gerät/Person kostenlos erhalten (auf Anfrage))&lt;br /&gt;
* Scanalogic-2 Logikanalysator und Signalgenerator http://www.exp-tech.de/Hacking---Measurement/Scanalogic-2-Logikanalysator-Signalgenerator.html (kostet nur ~60€)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Triggermöglichkeiten: SOF, CAN-ID, CAN-Data, ErrorFrame, RTR, Ack, NoAck  - alle verknüpfbar (gleich ungleich kleiner größer inRange outofRange)&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
&lt;br /&gt;
==Intern==&lt;br /&gt;
* [[CAN als Hausbus]]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/568845#7876672 Forumsbeitrag]: Leicht verbesserte CAN Bibliothek vom Kreativen Chaos&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/572263#7763887 Forumsbeitrag]: Wie ich vor 40 Jahren ein eigenes &amp;quot;Canbus&amp;quot; baute, ([https://www.mikrocontroller.net/topic/572263#7765495 Schaltplan])&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/494030#6226308 Forumsbeitrag]: Neue, einfache CAN-Library für ATmega16M1&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/583867#8017570 Forumsbeitrag]: Funktionsweise CAN &amp;lt;-&amp;gt; LWL &amp;lt;-&amp;gt; CAN&lt;br /&gt;
&lt;br /&gt;
==Allgemein==&lt;br /&gt;
* [http://can-wiki.info CAN-WIKI] - spezielle Wiki Site für CAN bus (Englisch)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Controller_Area_Network Wikipedia - CAN]&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/CAN-Bus/can-bus.html Grundlagen zum CAN-Bus] - Kurze Zusammenfassung der Funktionsweise und Einsatzmöglichkeiten vom CAN-Bus&lt;br /&gt;
* [http://www.canbus.cz CAN] - Controller_Area_Network (Czech)&lt;br /&gt;
* [http://www.embedded.com/design/prototyping-and-development/4008824/CAN-in-30-minutes-or-less CAN in 30 minutes or less] by Hassane El-Khoury at www.embedded.com&lt;br /&gt;
* [http://elearning.vector.com/vl_can_introduction_de.html Einführung in CAN] - kostenloses E-Learning Angebot&lt;br /&gt;
&lt;br /&gt;
===Testboards===&lt;br /&gt;
&lt;br /&gt;
*[http://www.jtronics.de/platinen.html  AT90CAN Testboard by www.jtronics.de (aktualisiert 2010)]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/176804  universal Testboard - CAN RS232 SPI I2C ]&lt;br /&gt;
*[http://www.kreatives-chaos.com/artikel/can-testboard  ATmega8 CAN Testboard und  MCP2515 Tutorial]&lt;br /&gt;
*[http://thinkembedded.ch/_Hersteller/Olimex/AVR-CAN::41.html Olimex AVR-CAN mit AT90CAN128]&lt;br /&gt;
&lt;br /&gt;
===Dongles===&lt;br /&gt;
&lt;br /&gt;
==== Selbstbau Projekte ====&lt;br /&gt;
*[http://cryptomys.de/horo/CAN200/ Can200 Linux Project von Martin Homuth-Rosemann] CAN Businterface am Parallelport (LPT). Mit SJA1000.&lt;br /&gt;
*[http://www.mictronics.de/projects/usb-can-bus/ USB&amp;lt;&amp;gt;CAN Bus Interface mit AVR ATmega162] Open Source. Mit ATmega162, FT245 und SJA1000.&lt;br /&gt;
*[http://www.oschmid.ch/mt/can-hub/can-hub.php CAN Bus HUB]&lt;br /&gt;
*[http://martinsuniverse.de/projekte/caninterceptor/caninterceptor.html CAN-Interceptor von Martin S.] Mit R8C/23 und FT232R.&lt;br /&gt;
* [http://www.fischl.de/usbtin/ USBtin - Simple USB to CAN interface von Thomas Fischl] Mit PIC18F14K50 und MCP2515. Bausatz verfügbar (24,50 EUR).&lt;br /&gt;
&lt;br /&gt;
==== Fertiggeräte ====&lt;br /&gt;
*[http://www.mhs-elektronik.de/tiny_can.html Tiny-CAN USB-CAN-Adapter von MHS-Elektronik] Ab 60,- EUR. Open Source CAN-Monitor für Windows und Linux.&lt;br /&gt;
*[http://www.cantronik.com/ CANvu - CAN-Display-Produkte von CANtronik]&lt;br /&gt;
*[http://www.kopfweb.de/automobiltechnik.html CAN/LIN nach USB Adapter von KOPF GmbH] Ab 320,- EUR&lt;br /&gt;
*[http://www.ixxat.de/overview-pc-can-interface-board_de.html PC/CAN-Interfaces von IXXAT Automation GmbH] ca. 200 EUR&lt;br /&gt;
*[http://www.peak-system.com/Hardware-Liste.90+M5bc66b17d2f.0.html?&amp;amp;tx_commerce_pi1 CAN-Interfaces von Peak-System]  Ca. 200 EUR&lt;br /&gt;
*[http://www.ems-wuensche.com/product/datasheet/html/can-usb-adapter-converter-interface-cpcusb.html USB to CAN Bus Interface von EMS Dr. Thomas Wünsche]  Ca. 180 EUR&lt;br /&gt;
*[http://www.systec-electronic.com/html/index.pl/en_product_can_interfaces  USB-CANmodul Serie von SYS TEC electronic] mit Unterstützung von 1, 2, 8, oder 16 CAN Kanälen (ab 129,- EUR)&lt;br /&gt;
*[http://www.8devices.com/product/2/usb2can USB2CAN USB to CAN bus galvanic isolated converter von 8devices] Ab 65,- EUR. Open source interface DLL and software.&lt;br /&gt;
*[http://www.canusb.com/ canusb USB&amp;lt;&amp;gt;CAN über V24-Treiber] und [http://www.can232.com/  RS232/V24&amp;lt;&amp;gt;CAN Bus Interface] von Lawicel.&lt;br /&gt;
**[http://www.canusb.com/projects.htm Freie Software für canusb]&lt;br /&gt;
**[http://www.canviausb.com Weitere CAN BUS Monitor Software für canusb]&lt;br /&gt;
*[http://www.port.de/pages/products/can/canopen/hardware/ethercan.php?lang=en CAN-LAN-Bridge von PORT] mit ARM und Linux&lt;br /&gt;
*[https://www.anagate.de/products/can-ethernet-gateways.php CAN/CAN-FD Ethernet Gateways von AnaGate] Professionelle LAN-Adapter mit Linux System mit 2 bis 16 CAN/CAN-FD-Ports (Shop)&lt;br /&gt;
*[http://www.rs.canlab.cz/?q=en/node/69 PP2CAN LPT-CAN Interface], [http://www.rs.canlab.cz/?q=en/node/67 CAN2MMC Datenlogger] (CAN,RS232-GPS) und [http://www.rs.canlab.cz/?q=en/node/68 USB2CAN USB2CAN USB-CAN Interface] 80 EUR von CANLAB&lt;br /&gt;
*[http://www.canhack.de/viewtopic.php?t=137 CANHACK CANUSB Interface] High Speed CAN + OBD2 inkl. KCANMonitor. DLL/Programmierschnittstelle für eigene Anwendungen.&lt;br /&gt;
*[http://www.visionsystems.de/can-bus-adapters.html CAN Bus Adapters] ab 89,-€ von [http://www.vscom.de/ VSCOM ]&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
*[http://rbei-etas.github.com/busmaster/ BUSMASTER - Open Source CAN-Bus Analyzer von ETAS/BOSCH]&lt;br /&gt;
*[http://www.canviausb.com CAN Monitor für Lawicel CANUSB, Zanthic CAN-4-USB-FX/MCP2515 und MHS-Elektronik Tiny-CAN] &lt;br /&gt;
*[http://canhack.de/viewtopic.php?f=25&amp;amp;t=135 CAN Monitor und Tracer für Peak USB, Lawicel CANUSB+CAN232 und kompatible]&lt;br /&gt;
*[http://www.mhs-elektronik.de/tiny_can.html GNU – Open Source CAN Monitor, Makro und Filter Funktion, Plugin fähig, unter GTK+ entwickelt]&lt;br /&gt;
* [http://www.wireshark.org wireshark - Netzwerk Protokoll Analyse Tool, unterstützt via socket-CAN CAN und CANopen]&lt;br /&gt;
&lt;br /&gt;
===Tools===&lt;br /&gt;
*[http://www.mhs-elektronik.de/userdata/downloads/BitCalc.zip CAN-Bus Bit-Timing Kalkulator, unterstützt diverse Mikrocontroller, z.B. Atmel, STM32, Microchip, Renesas, ...]&lt;br /&gt;
&lt;br /&gt;
===Protokolle===&lt;br /&gt;
====CANopen====&lt;br /&gt;
&lt;br /&gt;
*[http://canopen.sourceforge.net/index.html CANopen free software resource center]&lt;br /&gt;
*[http://www.canopen-solutions.com/canopen_caneds_de.html Kostenloser Editor für CANopen EDS-Dateien von Vector]&lt;br /&gt;
*[http://developer.berlios.de/projects/socketcan Official Linux CAN interface]&lt;br /&gt;
*[https://github.com/sebi2k1/restcan Javascript interface to SocketCAN with signal processing (in progress)]&lt;br /&gt;
*[http://www.etas.com/de/products/applications_open_source.php BUSMASTER]&lt;br /&gt;
&lt;br /&gt;
[[Category:CAN| ]]&lt;br /&gt;
[[Kategorie:Bauteile]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Zahlensysteme&amp;diff=107903</id>
		<title>Zahlensysteme</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Zahlensysteme&amp;diff=107903"/>
		<updated>2026-02-23T07:16:19Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Übersicht */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Übersicht ==&lt;br /&gt;
In der Programmierung werden vier Zahlensysteme verwendet:&lt;br /&gt;
&#039;&#039;&#039;dezimal&#039;&#039;&#039;, &#039;&#039;&#039;hexadezimal&#039;&#039;&#039;, &#039;&#039;&#039;oktal&#039;&#039;&#039;, &#039;&#039;&#039;binär&#039;&#039;&#039; (besser: &#039;&#039;&#039;dual&#039;&#039;&#039;).&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4&lt;br /&gt;
!style=&amp;quot;width:10em;&amp;quot;|  Zahlensystem &lt;br /&gt;
!style=&amp;quot;width:5em;&amp;quot;|  Basis   &lt;br /&gt;
!style=&amp;quot;width:7em;&amp;quot;|  Ziffern&lt;br /&gt;
|-&lt;br /&gt;
|dezimal       || 10     || 0 .. 9 &lt;br /&gt;
|-&lt;br /&gt;
|hexadezimal   || 16     || 0 .. 9, A .. F&lt;br /&gt;
|-&lt;br /&gt;
|oktal         || 8      || 0 .. 7&lt;br /&gt;
|-&lt;br /&gt;
|dual          || 2      || 0 .. 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die Zahlen 0-15&lt;br /&gt;
&lt;br /&gt;
Eine einstellige Hexadezimalzahl entspricht einer vollständigen, zweistelligen Oktakzahl bzw. vierstelligen Dualzahl. Diese nennt man auch [[Nibble]]. Eine Dezimalzahl braucht dafür 2 Stellen, welche aber nicht voll ausgenutzt werden. Darum ist die Umrechnung von hexadezimal/oktal/dual in dezimal aufwändiger. Die nachfolgende Tabelle sollte jeder Programmierer auswendig kennen, diese ist das kleine 1x1 der Zahlensysteme&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
!style=&amp;quot;width:5em;&amp;quot;| dezimal &lt;br /&gt;
!style=&amp;quot;width:8em;&amp;quot;| hexadezimal&lt;br /&gt;
!style=&amp;quot;width:3em;&amp;quot;| oktal&lt;br /&gt;
!style=&amp;quot;width:3em;&amp;quot;| dual&lt;br /&gt;
|-&lt;br /&gt;
| 0  || 0 || 0 || 0000&lt;br /&gt;
|-&lt;br /&gt;
| 1  || 1 || 1 || 0001&lt;br /&gt;
|-&lt;br /&gt;
| 2  || 2 || 2 || 0010&lt;br /&gt;
|-&lt;br /&gt;
| 3  || 3 || 3 || 0011&lt;br /&gt;
|-&lt;br /&gt;
| 4  || 4 || 4 || 0100&lt;br /&gt;
|-&lt;br /&gt;
| 5  || 5 || 5 || 0101&lt;br /&gt;
|-&lt;br /&gt;
| 6  || 6 || 6 || 0110&lt;br /&gt;
|-&lt;br /&gt;
| 7  || 7 || 7 || 0111&lt;br /&gt;
|-&lt;br /&gt;
| 8  || 8 || 10 || 1000&lt;br /&gt;
|-&lt;br /&gt;
| 9  || 9 || 11 || 1001&lt;br /&gt;
|-&lt;br /&gt;
| 10 || A || 12 || 1010&lt;br /&gt;
|-&lt;br /&gt;
| 11 || B || 13 || 1011&lt;br /&gt;
|-&lt;br /&gt;
| 12 || C || 14 || 1100&lt;br /&gt;
|-&lt;br /&gt;
| 13 || D || 15 || 1101&lt;br /&gt;
|-&lt;br /&gt;
| 14 || E || 16 || 1110&lt;br /&gt;
|-&lt;br /&gt;
| 15 || F || 17 || 1111&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Darstellung ==&lt;br /&gt;
=== Hexadezimal ===&lt;br /&gt;
&#039;&#039;&#039;Hexadezimal&#039;&#039;&#039;zahlen werden meistens (z.&amp;amp;nbsp;B. in [[C]] oder im [[AVR]]-[[Assembler]]) mit dem Prefix &amp;quot;0x&amp;quot; geschrieben, also z.&amp;amp;nbsp;B. 0x3A; auch anzutreffen ist die Schreibweise mit einem führenden &amp;quot;$&amp;quot; (z.&amp;amp;nbsp;B. $3A).&lt;br /&gt;
&lt;br /&gt;
Die vierstellige hexadezimale Schreibweise wird gerne verwendet um zwei [[Digitaltechnik|Bytes]] zusammenzufassen:&amp;lt;br&amp;gt;&lt;br /&gt;
Bsp.: 0x010F =&amp;gt; 01 ist das High Byte, 0F ist das Low Byte.&lt;br /&gt;
&lt;br /&gt;
=== Oktal ===&lt;br /&gt;
&#039;&#039;&#039;Oktal&#039;&#039;&#039;zahlen schreibt man in [[C]] mit einer führenden &amp;quot;0&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
C-Programmierer sollten sich die führende Null bei Oktalzahlen unbedingt merken, auch wenn sie keine Oktalzahlen verwenden wollen. Denn es bedeutet, dass man Dezimalzahlen nicht mit führenden Nullen schreiben darf. &amp;quot;64&amp;quot; und &amp;quot;064&amp;quot; sind zwei völlig verschiedene Zahlen. Das erste ist die dezimale Zahl 64, das zweite die oktale Zahl 64, was der dezimalen Zahl 52 entspricht. Das gilt auch für AVR-ASM.&lt;br /&gt;
&lt;br /&gt;
=== Binär ===&lt;br /&gt;
&#039;&#039;&#039;Binär&#039;&#039;&#039;zahlen schreibt man im AVR-Assembler mit &amp;quot;0b&amp;quot; am Anfang, z.&amp;amp;nbsp;B. 0b00110100. In [[C]]-Programmen ist die direkte Eingabe von Binärzahlen nicht möglich, es lassen sich aber [[C Makros|Makros]] zu diesem Zweck schreiben. Einige Compiler verfügen über eine Spracherweiterung, bei der meist der Präfix &amp;quot;0b&amp;quot; für Binärzahlen benutzt wird.&lt;br /&gt;
&lt;br /&gt;
=== Intel-Syntax ===&lt;br /&gt;
[[Assembler]] mit Intel-Syntax (z.&amp;amp;nbsp;B. für 80x86 oder [[8051]]) verwenden dagegen zur Kennzeichnung keinen Präfix sondern einen Postfix. Für Hexzahlen gilt also z.&amp;amp;nbsp;B. die Notation 0A5H, für Oktalzahlen 245O (oder 245Q) und für Binärzahlen dementsprechend 10100101B.&lt;br /&gt;
&lt;br /&gt;
== Verschiedenes ==&lt;br /&gt;
=== Anmerkung zu Oktalzahlen ===&lt;br /&gt;
Oktalzahlen sind in der Mikrocontroller-Programmierung heute seltener anzutreffen. Praktisch sind sie vor allem dann, wenn Binärzahlen aus irgend einem Grund in Gruppen von jeweils drei Bit strukturiert sind. Das gilt z.&amp;amp;nbsp;B. für die Datei-Zugriffsrechte unter [[Unix]]/[[Linux]], die sich bequem durch Angabe einer Oktalzahl einstellen lassen (z.&amp;amp;nbsp;B. entspricht &amp;quot;751&amp;quot; dem Bitmuster &amp;quot;111 101 001&amp;quot; oder &amp;quot;rwxr-x--x&amp;quot; in der üblichen Zugriffsrecht-Darstellung.) .&lt;br /&gt;
&lt;br /&gt;
=== Umrechnung ===&lt;br /&gt;
Viele Taschenrechner können die Zahlensysteme umrechnen, so auch der Windows-Taschenrechner oder der UNIX-Taschenrechner bc. Wie die Umrechnung mathematisch funktioniert, ist [http://www.tutorials.at/einfuehrung/03-zahlensysteme.html hier] beschrieben. Zur Umrechnung von Nachkommastellen siehe [https://www.studienservice.de/thema/dezimal-in-hexadezimal.71337/#post-1140103 hier].&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* Forenthread [https://www.mikrocontroller.net/topic/429490 Einführung des Hexadezimalsystems] und Website [https://sedimal.de sedimal.de] mit der Intention der Einführung des hexadezimalen Zahlensystems im Alltag&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Algorithmen und Arithmetik]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Zahlensysteme&amp;diff=107902</id>
		<title>Zahlensysteme</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Zahlensysteme&amp;diff=107902"/>
		<updated>2026-02-23T06:46:41Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Übersicht */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Übersicht ==&lt;br /&gt;
In der Programmierung werden vier Zahlensysteme verwendet:&lt;br /&gt;
&#039;&#039;&#039;dezimal&#039;&#039;&#039;, &#039;&#039;&#039;hexadezimal&#039;&#039;&#039;, &#039;&#039;&#039;oktal&#039;&#039;&#039;, &#039;&#039;&#039;binär&#039;&#039;&#039; (besser: &#039;&#039;&#039;dual&#039;&#039;&#039;).&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4&lt;br /&gt;
!style=&amp;quot;width:10em;&amp;quot;|  Zahlensystem &lt;br /&gt;
!style=&amp;quot;width:5em;&amp;quot;|  Basis   &lt;br /&gt;
!style=&amp;quot;width:7em;&amp;quot;|  Ziffern&lt;br /&gt;
|-&lt;br /&gt;
|dezimal       || 10     || 0 .. 9 &lt;br /&gt;
|-&lt;br /&gt;
|hexadezimal   || 16     || 0 .. 9, A .. F&lt;br /&gt;
|-&lt;br /&gt;
|oktal         || 8      || 0 .. 7&lt;br /&gt;
|-&lt;br /&gt;
|dual          || 2      || 0 .. 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die Zahlen 0-15&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
!style=&amp;quot;width:5em;&amp;quot;| dezimal &lt;br /&gt;
!style=&amp;quot;width:8em;&amp;quot;| hexadezimal&lt;br /&gt;
!style=&amp;quot;width:3em;&amp;quot;| oktal&lt;br /&gt;
!style=&amp;quot;width:3em;&amp;quot;| dual&lt;br /&gt;
|-&lt;br /&gt;
| 0  || 0 || 0 || 0000&lt;br /&gt;
|-&lt;br /&gt;
| 1  || 1 || 1 || 0001&lt;br /&gt;
|-&lt;br /&gt;
| 2  || 2 || 2 || 0010&lt;br /&gt;
|-&lt;br /&gt;
| 3  || 3 || 3 || 0011&lt;br /&gt;
|-&lt;br /&gt;
| 4  || 4 || 4 || 0100&lt;br /&gt;
|-&lt;br /&gt;
| 5  || 5 || 5 || 0101&lt;br /&gt;
|-&lt;br /&gt;
| 6  || 6 || 6 || 0110&lt;br /&gt;
|-&lt;br /&gt;
| 7  || 7 || 7 || 0111&lt;br /&gt;
|-&lt;br /&gt;
| 8  || 8 || 10 || 1000&lt;br /&gt;
|-&lt;br /&gt;
| 9  || 9 || 11 || 1001&lt;br /&gt;
|-&lt;br /&gt;
| 10 || A || 12 || 1010&lt;br /&gt;
|-&lt;br /&gt;
| 11 || B || 13 || 1011&lt;br /&gt;
|-&lt;br /&gt;
| 12 || C || 14 || 1100&lt;br /&gt;
|-&lt;br /&gt;
| 13 || D || 15 || 1101&lt;br /&gt;
|-&lt;br /&gt;
| 14 || E || 16 || 1110&lt;br /&gt;
|-&lt;br /&gt;
| 15 || F || 17 || 1111&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Darstellung ==&lt;br /&gt;
=== Hexadezimal ===&lt;br /&gt;
&#039;&#039;&#039;Hexadezimal&#039;&#039;&#039;zahlen werden meistens (z.&amp;amp;nbsp;B. in [[C]] oder im [[AVR]]-[[Assembler]]) mit dem Prefix &amp;quot;0x&amp;quot; geschrieben, also z.&amp;amp;nbsp;B. 0x3A; auch anzutreffen ist die Schreibweise mit einem führenden &amp;quot;$&amp;quot; (z.&amp;amp;nbsp;B. $3A).&lt;br /&gt;
&lt;br /&gt;
Die vierstellige hexadezimale Schreibweise wird gerne verwendet um zwei [[Digitaltechnik|Bytes]] zusammenzufassen:&amp;lt;br&amp;gt;&lt;br /&gt;
Bsp.: 0x010F =&amp;gt; 01 ist das High Byte, 0F ist das Low Byte.&lt;br /&gt;
&lt;br /&gt;
=== Oktal ===&lt;br /&gt;
&#039;&#039;&#039;Oktal&#039;&#039;&#039;zahlen schreibt man in [[C]] mit einer führenden &amp;quot;0&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
C-Programmierer sollten sich die führende Null bei Oktalzahlen unbedingt merken, auch wenn sie keine Oktalzahlen verwenden wollen. Denn es bedeutet, dass man Dezimalzahlen nicht mit führenden Nullen schreiben darf. &amp;quot;64&amp;quot; und &amp;quot;064&amp;quot; sind zwei völlig verschiedene Zahlen. Das erste ist die dezimale Zahl 64, das zweite die oktale Zahl 64, was der dezimalen Zahl 52 entspricht. Das gilt auch für AVR-ASM.&lt;br /&gt;
&lt;br /&gt;
=== Binär ===&lt;br /&gt;
&#039;&#039;&#039;Binär&#039;&#039;&#039;zahlen schreibt man im AVR-Assembler mit &amp;quot;0b&amp;quot; am Anfang, z.&amp;amp;nbsp;B. 0b00110100. In [[C]]-Programmen ist die direkte Eingabe von Binärzahlen nicht möglich, es lassen sich aber [[C Makros|Makros]] zu diesem Zweck schreiben. Einige Compiler verfügen über eine Spracherweiterung, bei der meist der Präfix &amp;quot;0b&amp;quot; für Binärzahlen benutzt wird.&lt;br /&gt;
&lt;br /&gt;
=== Intel-Syntax ===&lt;br /&gt;
[[Assembler]] mit Intel-Syntax (z.&amp;amp;nbsp;B. für 80x86 oder [[8051]]) verwenden dagegen zur Kennzeichnung keinen Präfix sondern einen Postfix. Für Hexzahlen gilt also z.&amp;amp;nbsp;B. die Notation 0A5H, für Oktalzahlen 245O (oder 245Q) und für Binärzahlen dementsprechend 10100101B.&lt;br /&gt;
&lt;br /&gt;
== Verschiedenes ==&lt;br /&gt;
=== Anmerkung zu Oktalzahlen ===&lt;br /&gt;
Oktalzahlen sind in der Mikrocontroller-Programmierung heute seltener anzutreffen. Praktisch sind sie vor allem dann, wenn Binärzahlen aus irgend einem Grund in Gruppen von jeweils drei Bit strukturiert sind. Das gilt z.&amp;amp;nbsp;B. für die Datei-Zugriffsrechte unter [[Unix]]/[[Linux]], die sich bequem durch Angabe einer Oktalzahl einstellen lassen (z.&amp;amp;nbsp;B. entspricht &amp;quot;751&amp;quot; dem Bitmuster &amp;quot;111 101 001&amp;quot; oder &amp;quot;rwxr-x--x&amp;quot; in der üblichen Zugriffsrecht-Darstellung.) .&lt;br /&gt;
&lt;br /&gt;
=== Umrechnung ===&lt;br /&gt;
Viele Taschenrechner können die Zahlensysteme umrechnen, so auch der Windows-Taschenrechner oder der UNIX-Taschenrechner bc. Wie die Umrechnung mathematisch funktioniert, ist [http://www.tutorials.at/einfuehrung/03-zahlensysteme.html hier] beschrieben. Zur Umrechnung von Nachkommastellen siehe [https://www.studienservice.de/thema/dezimal-in-hexadezimal.71337/#post-1140103 hier].&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* Forenthread [https://www.mikrocontroller.net/topic/429490 Einführung des Hexadezimalsystems] und Website [https://sedimal.de sedimal.de] mit der Intention der Einführung des hexadezimalen Zahlensystems im Alltag&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Algorithmen und Arithmetik]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=6502&amp;diff=107898</id>
		<title>6502</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=6502&amp;diff=107898"/>
		<updated>2026-02-22T07:29:55Z</updated>

		<summary type="html">&lt;p&gt;Falk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der 6502 - Prozessor war einer der ersten die in Heimcomputern verwendet wurden und existiert seit dem Jahr 1975. Er war seinerzeit sehr preiswert und trotz seines eingeschränkten Register- und Befehlssatzes relativ leistungsfähig.&lt;br /&gt;
&lt;br /&gt;
Er wurde eingesetzt in:&lt;br /&gt;
* KIM-1 (MOS Technology)&lt;br /&gt;
* AIM-65 (Rockwell)&lt;br /&gt;
* EMUF (6504, Franzis-Verlag &amp;quot;mc&amp;quot;)&lt;br /&gt;
* Elektor Junior Computer&lt;br /&gt;
* Apple II&lt;br /&gt;
* Commodore PET, VIC-20&lt;br /&gt;
* Atari 400/800&lt;br /&gt;
* Atari 2600&lt;br /&gt;
* Atari 7800&lt;br /&gt;
* Nintendo Entertainment System&lt;br /&gt;
&lt;br /&gt;
Der 6510 im C64 und Nachfolgern gehört zur 6502-Familie. Es gibt heute noch neue Mikroprozessoren der 6502-Serie von [http://www.westerndesigncenter.com/wdc/ WDC] (Western Design Center) sowie verschiedene Mikrocontroller mit 6502-Kern.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch==&lt;br /&gt;
* [[AVR_6502_Emulator]]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/193632 Forumsbeitrag]: KIM-1 in AVR?&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/577155#new Forumsbeitrag]: Wettkampf Opa(MOS6502) gegen Frischling(ATmega)&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
* [https://de.wikipedia.org/wiki/MOS_Technology_6502 6502 bei Wikipedia]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=6502&amp;diff=107897</id>
		<title>6502</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=6502&amp;diff=107897"/>
		<updated>2026-02-21T20:11:27Z</updated>

		<summary type="html">&lt;p&gt;Falk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der 6502 - Prozessor war einer der ersten die in Heimcomputern verwendet wurden und existiert seit dem Jahr 1975. Er war seinerzeit sehr preiswert und trotz seines eingeschränkten Register- und Befehlssatzes relativ leistungsfähig.&lt;br /&gt;
&lt;br /&gt;
Er wurde eingesetzt in:&lt;br /&gt;
* KIM-1 (MOS Technology)&lt;br /&gt;
* AIM-65 (Rockwell)&lt;br /&gt;
* EMUF Einplatinencomputer mit universeller Festprogrammierung mit 6504 (Franzis-Verlag &amp;quot;mc&amp;quot;)&lt;br /&gt;
* Elektor Junior Computer&lt;br /&gt;
* Apple II&lt;br /&gt;
* Commodore PET, VIC-20 und Nachfolger&lt;br /&gt;
* Atari 400/800&lt;br /&gt;
* Atari 2600&lt;br /&gt;
* Atari 7800&lt;br /&gt;
* Nintendo Entertainment System&lt;br /&gt;
* Der 6510 im C64 und Nachfolgern gehört zur 6502-Familie.&lt;br /&gt;
&lt;br /&gt;
Es gibt heute noch neue Mikroprozessoren der 6502-Serie von [http://www.westerndesigncenter.com/wdc/ WDC] (Western Design Center) sowie verschiedene Mikrocontroller mit 6502-Kern.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch==&lt;br /&gt;
* [[AVR_6502_Emulator]]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/193632 Forumsbeitrag]: KIM-1 in AVR?&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/577155#new Forumsbeitrag]: Wettkampf Opa(MOS6502) gegen Frischling(ATmega)&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
* [https://de.wikipedia.org/wiki/MOS_Technology_6502 6502 bei Wikipedia]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=CAN&amp;diff=107896</id>
		<title>CAN</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=CAN&amp;diff=107896"/>
		<updated>2026-02-19T18:24:50Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Intern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;C&#039;&#039;&#039;ontroller &#039;&#039;&#039;A&#039;&#039;&#039;rea &#039;&#039;&#039;N&#039;&#039;&#039;etwork - Ein von Bosch entwickeltes, echtzeitfähiges Bussystem für den Automobilbereich, welches u.a. auch Anwendung in der Automatisierungstechnik findet.&lt;br /&gt;
&lt;br /&gt;
==Mikrocontroller mit CAN==&lt;br /&gt;
&lt;br /&gt;
=== Atmel AVR===&lt;br /&gt;
&lt;br /&gt;
==== AT90CAN ====&lt;br /&gt;
* Atmel AVR Controller mit CAN-Schnittstelle (ein Kanal)&lt;br /&gt;
* Speicher: (FLASH,EEPROM,RAM)&lt;br /&gt;
** AT90CAN32  -&amp;gt; 32KB 1KB 2KB&lt;br /&gt;
** AT90CAN64  -&amp;gt; 64KB 2KB 4KB&lt;br /&gt;
** AT90CAN128 -&amp;gt; 128KB 4KB 4KB&lt;br /&gt;
* 15 CAN &amp;quot;Message Objects&amp;quot;, jedes individuell konfigurierbar&lt;br /&gt;
* Bis auf den CAN controller weitestgehend identisch mit den nicht CAN Versionen (siehe [http://www.atmel.com/Images/doc4313.pdf AVR096])&lt;br /&gt;
* Beispielcode inkl. CAN für den IAR-C-Compiler findet sich bei atmel.com. Autobaud-Routinen in Assembler (etwas Aufwand bei der Portierung nach avr-gcc/avr-as).&lt;br /&gt;
* Dieser MC ist für nicht-gewerbliche Endanwender einzeln z.&amp;amp;nbsp;B. bei Reichelt, CSD und Segor erhältlich (ca. 9EUR). Beim Bestellen des MC sollte man einen CAN-BUS-Treiber gleich mitbestellen: z.&amp;amp;nbsp;B. Philips PCA82C250. Jedoch auf vorhandene Versorgungsspannungen achten (AT90CAN128 &amp;quot;kann mit&amp;quot; VCC=2,7...5,5V, PCA82C250 lt. Datenblatt für VCC=4,5...5V).&lt;br /&gt;
* CANopen software protocol stacks at http://www.port.de/Atmel.html&lt;br /&gt;
* Freier CANopen stack: http://www.canfestival.org/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Im Auslieferungszustand ist nur der interne RC-Oszillator aktiv (wie üblich bei allen modernen AVRs mit internem R/C-Oszillator vgl. [[AVR Checkliste]]). Umschalten auf externe Taktquelle über die AVR-Fusebits.&lt;br /&gt;
* Für die ISP-Programmierung schliesst man Ihn wie den ATmega128 an. MOSI-2 ; MISO-3 ; SCK-11 ; /Reset-20 ;  GND-22,53,63 ; Vcc-21,52,(62),(64). Auf die übliche &amp;quot;ATmega64/128-Problematik&amp;quot; achten: MISO/MOSI der Programmierschnittstelle sind nicht identisch mit der SPI-Schnittstelle.&lt;br /&gt;
[gehört nicht in den &amp;quot;CAN Artikel&amp;quot;] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * die aktuelle Hardware-Version (Stand 4/2005) hat einen &amp;quot;silicon bug&amp;quot; (Hardwarefehler, vgl. avrfreaks-Forum): Liegt der Stack im &#039;&#039;externen&#039;&#039; RAM, führt dies zu Fehlern in der Stackverwaltung (push/pop/rcall etc.). Details in aktuellen Fassungen des Datenblatts. Abhilfe/Workaround: Stack im internen RAM (&amp;lt;0x1001) verwalten. Dies ist ohnehin sinnvoll, da der Stackzugriff dann schneller ist.&lt;br /&gt;
[nicht mehr aktuell und errata ist immer zu beachten] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- *Als Programmieradapter braucht man einen, der eine gewisse Intelligenz beinhaltet. Vergebens waren auch bei mir die Versuche,   mit dem &#039;Kanda&#039;-Dongle vom STK200-Board und ähnliche Nachbauten.  -&amp;gt; www.mikrocontroller-projekte.de [- Einzeltest mit Stickprobenumfang 1 - sollte schon funktionieren, auskommentiert bis nochmals belegt - mt] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ATmega16M1/32M1/64M1 ====&lt;br /&gt;
* modernisierte Version der AT90CAN128 Serie inkl. LIN, PSC und DAC&lt;br /&gt;
* not sampled&lt;br /&gt;
&lt;br /&gt;
==== AT32UC3C ====&lt;br /&gt;
* 32bit AVR mit zwei CAN controllern&lt;br /&gt;
* bis zu 512k flash, 64k RAM&lt;br /&gt;
* DMA, USB, Ethernet MAC, 2Msmps 12bit ADC, 12bit DAC&lt;br /&gt;
&lt;br /&gt;
=== Atmel ARM ===&lt;br /&gt;
&lt;br /&gt;
==== AT91SAM7X ====&lt;br /&gt;
* ARM7TDMI-Kern mit einem CAN controller&lt;br /&gt;
* bis 512k flash und 128k RAM&lt;br /&gt;
&lt;br /&gt;
==== AT91SAM9X ====&lt;br /&gt;
* ARM926-Kern mit zwei CAN controllern&lt;br /&gt;
* kein onboard flash&lt;br /&gt;
* 32k RAM aber DDR2 support&lt;br /&gt;
&lt;br /&gt;
==== AT91SAM3A ====&lt;br /&gt;
* Cortex M3-Kern mit zwei CAN controllern&lt;br /&gt;
* bis zu 512k flash und 96k RAM&lt;br /&gt;
&lt;br /&gt;
==== AT91SAM3X ====&lt;br /&gt;
* Cortex M3-Kern mit zwei CAN controllern&lt;br /&gt;
* bis zu 512k flash und 96k RAM&lt;br /&gt;
&lt;br /&gt;
=== Luminary Micro Stellaris LM3S8xxx ===&lt;br /&gt;
* ARM Cortex-M3&lt;br /&gt;
* bis 64kByte RAM und 256kByte Flash&lt;br /&gt;
* CAN und Ethernet&lt;br /&gt;
&lt;br /&gt;
=== Microchip PIC18Fxx8 PIC18Fxx8x ===&lt;br /&gt;
* Mikrocontroller mit CAN Schnittstelle&lt;br /&gt;
* [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=50&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 Herstellerseite]&lt;br /&gt;
&lt;br /&gt;
=== Mitsubishi / Renesas R8C / M16C / M32C ===&lt;br /&gt;
&lt;br /&gt;
R8C/23, M16C/6Nx&lt;br /&gt;
&lt;br /&gt;
=== Motorola / Freescale DSP56F8xx ===&lt;br /&gt;
* Clock des CAN-Moduls von PLL speisen, nicht von XTAL, sonst gibt es sporadische Aussetzer&lt;br /&gt;
* Bei hohen Datenraten ist es notwendig die CAN-TX-Leitung vom Controller mit einem PullUp-Widerstand zu beschalten. Sonst stimmt das Bit-Timing nicht, weil die Anstiegszeit des TX-Signals zu schlecht ist.&lt;br /&gt;
&lt;br /&gt;
=== Freescale MC9S08 ===&lt;br /&gt;
* D Serie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Freescale MC9S12 ===&lt;br /&gt;
* B, C, D, G und H Serie&lt;br /&gt;
&lt;br /&gt;
=== NXP LPC11CXX ===&lt;br /&gt;
* 32-bit ARM Cortex-M0&lt;br /&gt;
* LPC11C12 16KB flash, 8KB SRAM, 1x C_CAN&lt;br /&gt;
* LPC11C14 32KB flash, 8KB SRAM, 1x C_CAN&lt;br /&gt;
* LPC11C22 16KB flash, 8KB SRAM, 1x C_CAN, on-chip CAN transceiver&lt;br /&gt;
* LPC11C24 32KB flash, 8KB SRAM, 1x C_CAN, on-chip CAN transceiver&lt;br /&gt;
* Herstellerseite: [http://ics.nxp.com/products/lpc1000/lpc1100/lpc11cxx/]&lt;br /&gt;
&lt;br /&gt;
=== NXP LPC175X LPC176X ===&lt;br /&gt;
* Mikrocontroller mit Cortex-M3 Kern.&lt;br /&gt;
* 1 - 2 CAN Schnittstellen&lt;br /&gt;
* Herstellerseite: [http://ics.nxp.com/products/lpc1000/lpc17xx/ Philips Semiconductors]&lt;br /&gt;
&lt;br /&gt;
=== NXP (ex. Philips) LPC2129 LPC2194 LPC2290 LPC2292 LPC2294 ===&lt;br /&gt;
* Mikrocontroller mit ARM7TDMI-S-Kern (vgl. [[LPC2000 Philips ARM7TDMI-Familie]])&lt;br /&gt;
* 2 - 4 CAN Schnittstellen&lt;br /&gt;
* CAN-Modul angelehnt an Philips SJA1000 (aber mit recht langer und deftig gewürzter Bug-Liste)&lt;br /&gt;
* Herstellerseite: [http://www.nxp.com Philips Semiconductors]&lt;br /&gt;
* LPC2194 erhältlich bei http://www.microcontroller-starterkits.de und http://de.digikey.com/&lt;br /&gt;
* CANopen software protocol stacks at [http://www.port.de/Philips.html]&lt;br /&gt;
&lt;br /&gt;
=== NXP LPC23xx ===&lt;br /&gt;
* Mikrocontroller mit ARM7TDMI-S-Kern (vgl. [[LPC2000 Philips ARM7TDMI-Familie]])&lt;br /&gt;
* 2 CAN Schnittstellen&lt;br /&gt;
&lt;br /&gt;
=== NXP P80C591 P80C592 P80C598 ===&lt;br /&gt;
* 8-Bit Mikrocontroller mit 8051-Kern&lt;br /&gt;
* P80C591 ist neuer und beherrscht CAN2.0B&lt;br /&gt;
* P80C592: CAN2.0A, P80C598 ist die Automotive-Version vom &#039;592&lt;br /&gt;
&lt;br /&gt;
=== Silicon Labs C8051F04X C8051F06X C8051F5XX ===&lt;br /&gt;
*  8-Bit Mikrocontroller mit 8051-Kern&lt;br /&gt;
*  16K - 128K Flash, 2304 - 8448 RAM&lt;br /&gt;
*  LIN 2.1&lt;br /&gt;
*  25-50 MIPS&lt;br /&gt;
*  bis 5x5 QFN&lt;br /&gt;
&lt;br /&gt;
=== STMicroelectronics STM8S20  ===&lt;br /&gt;
* STM8 Kern [http://www.st.com/stonline/products/literature/ds/14733/stm8s208c6.pdf] DIV/MUL -Befehle &lt;br /&gt;
* SPI mit automatischer CRC Berechnung&lt;br /&gt;
* 1 beCAN Schnittstelle CAN2.0B &lt;br /&gt;
* sehr preiswert (128 kFlash/6K RAM ) 3,30 bis 4,80 &amp;amp;#8364; ([http://search.digikey.com/scripts/DkSearch/dksus.dll?vendor=0&amp;amp;keywords=CAN+STM8]  aber SMD LQFP &lt;br /&gt;
&lt;br /&gt;
=== STMicroelectronics STR730 STR750 ===&lt;br /&gt;
* ARM7TDMI-Kern&lt;br /&gt;
* 1-3 CAN Schnittstellen&lt;br /&gt;
&lt;br /&gt;
=== STMicroelectronics STR910FM32, STR910FW32, STR911FM42, STR911FM44, STR912FW42, STR912FW44 ===&lt;br /&gt;
* 96MHz ARM966E-S CPU Kern&lt;br /&gt;
&lt;br /&gt;
=== [[STM32|STM32 (Cortex M0/M3/M4)]] ===&lt;br /&gt;
Cortex M0 Core&lt;br /&gt;
 - [http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1574 STM32 F0 series of entry-level MCUs]&lt;br /&gt;
* STM32F042   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F072   : 1 CAN Schnittstelle&lt;br /&gt;
Cortex M3 Core&lt;br /&gt;
 - [http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1031 STM32 F1 series of mainstream MCUs]&lt;br /&gt;
* STM32F103   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F105   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F107   : 2 CAN Schnittstellen&lt;br /&gt;
 - [http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1575 STM32 F2 series of high-performance MCUs]&lt;br /&gt;
* STM32F205   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F207   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F215   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F217   : 2 CAN Schnittstellen&lt;br /&gt;
Cortex M4F Core&lt;br /&gt;
 - [http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1576 STM32 F3 series of mixed-signal MCUs with DSP and FPU instructions]&lt;br /&gt;
* STM32F302   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F373   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F383   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F303   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F313   : 1 CAN Schnittstelle&lt;br /&gt;
 - [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1577 STM32 F4 series of high-performance MCUs with DSP and FPU instructions]&lt;br /&gt;
* STM32F405   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F415   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F407   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F417   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F427   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F437   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F429   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F439   : 2 CAN Schnittstellen&lt;br /&gt;
&lt;br /&gt;
=== TI TMS470 ===&lt;br /&gt;
* ARM7TDMI-Kern&lt;br /&gt;
&lt;br /&gt;
=== Toshiba TLCS-870/C ===&lt;br /&gt;
&lt;br /&gt;
==CAN Controller==&lt;br /&gt;
&lt;br /&gt;
===MCP2515 ===&lt;br /&gt;
CAN-Controller von Microchip&lt;br /&gt;
* [[SPI]] &lt;br /&gt;
* 2 Empfangs- und 3 Sendepuffer jeweils individuell konfigurierbar (ID, Masken/Filter etc.)&lt;br /&gt;
* ein gemeinsamer Interruptpin&lt;br /&gt;
* ein Interruptpin pro Empfangspuffer, umkonfigurierbar als allgmeiner Ausgang&lt;br /&gt;
* ein Triggerpin pro Sendepuffer, umkonfigurierbar als allgemeiner Eingang&lt;br /&gt;
* Stromsparmodus&lt;br /&gt;
* auch für 3,3V-Betrieb geeignet.&lt;br /&gt;
* Diverse C- und Assembler Beispielcodes verfügbar (z.&amp;amp;nbsp;B. bei microchip.com und kvaser, Assembler meist für PICs). Auch Software für Direktanschluss an die parallele Schnittstelle eines PC verfügbar (&amp;quot;bit-bang Interface&amp;quot;).&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt (ca. 2&amp;amp;#8364;)&lt;br /&gt;
&lt;br /&gt;
====Links====&lt;br /&gt;
*[http://www.kreatives-chaos.com/index.php?seite=mcp2515 Ansteuerung eines MCP2515 in C]&lt;br /&gt;
*[http://mcp2510btc.berlios.de/ Bit Timing Calculator für Linux]&lt;br /&gt;
*[https://www.opendcc.de/info/eagle/eagle_libs.html Eagle Bauteil]&lt;br /&gt;
&lt;br /&gt;
===SJA1000===&lt;br /&gt;
CAN-Controller von Philips&lt;br /&gt;
* Parallele Schnittstelle mit ca. 12 Leitungen&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt (ca. 4 Euro)&lt;br /&gt;
&lt;br /&gt;
===AN82526===&lt;br /&gt;
CAN-Controller von Intel (entwickelt von Bosch)&lt;br /&gt;
* Vorgänger des AN82527&lt;br /&gt;
&lt;br /&gt;
===AN82527===&lt;br /&gt;
CAN-Controller von Intel (entwickelt von Bosch)&lt;br /&gt;
* Nachfolger des AN82526&lt;br /&gt;
* parallele Schnittstelle und [[SPI]]&lt;br /&gt;
* 8- oder 16-Bit Multiplex Bus oder 8-Bit Non-Multiplexed Bus&lt;br /&gt;
* 14 Tx/Rx Puffer&lt;br /&gt;
* bis zu 16 IO-Pins (je nach Controlleranbindung)&lt;br /&gt;
* Wird nicht mehr hergestellt&lt;br /&gt;
&lt;br /&gt;
===Bosch CC170 / CC750 / CC770===&lt;br /&gt;
* kompatibel zum AN82527&lt;br /&gt;
* mehr Debug-Register&lt;br /&gt;
* CC750 im SOIC16-W Gehäuse ohne Parallel-Interface, nur SPI&lt;br /&gt;
* erhältlich bei Rutronik (ca. 8 Euro)&lt;br /&gt;
&lt;br /&gt;
===SAE81C9x===&lt;br /&gt;
* SPI und Busanschluss möglich&lt;br /&gt;
* PLCC44 und PLCC28, letzteres allerdings in ungebräuchlicher Bauform&lt;br /&gt;
* Nur CAN 2.0A, beherrscht also keine Extended IDs.&lt;br /&gt;
* 2004 von infineon abgekündigt, ohne Nachfolgeprodukt&lt;br /&gt;
&lt;br /&gt;
==Bustreiber (CAN-Transceiver)==&lt;br /&gt;
&lt;br /&gt;
=== High-Speed ===&lt;br /&gt;
&lt;br /&gt;
====MCP2551====&lt;br /&gt;
* von Microchip&lt;br /&gt;
* PDIP8 und SOIC&lt;br /&gt;
* VCC = 4,5...5,5V&lt;br /&gt;
* kostet rund 1&amp;amp;#8364;&lt;br /&gt;
* [http://ww1.microchip.com/downloads/en/DeviceDoc/21667f.pdf Datenblatt]&lt;br /&gt;
* [https://www.opendcc.de/info/eagle/eagle_libs.html Eagle-Lib]&lt;br /&gt;
&lt;br /&gt;
====PCA 82C250====&lt;br /&gt;
* &amp;lt;s&amp;gt;ABGEKÜNDIGT!&amp;lt;/s&amp;gt; In Produktion: [http://www.nxp.com/products/interface-and-connectivity/wired-connectivity/can-lin-flexray-transceivers/can-transceivers/can-controller-interface:PCA82C250T?&amp;amp;cof=0&amp;amp;am=0&amp;amp;tab=Buy_Parametric_Tab&amp;amp;fpsp=1 NXP Orderlist]&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* PDIP8 und SO8&lt;br /&gt;
* VCC = 4,5...5,5V&lt;br /&gt;
* V-CAN: -8V..+18V   -&amp;gt; &amp;quot;TTL-kompatible&amp;quot; Bus-Spannung&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt (ca. 1,00&amp;amp;#8364;)&lt;br /&gt;
&lt;br /&gt;
====PCA 82C251====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* PDIP8 und SO8&lt;br /&gt;
* VCC = 4,5...5,5V&lt;br /&gt;
* V-CAN: -40V..+40V   -&amp;gt; +24V Bus-Spannung&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt (ca. 1,50&amp;amp;#8364;)&lt;br /&gt;
&lt;br /&gt;
====TJA 1041====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* SO14&lt;br /&gt;
* VCC = 4,75...5,25V&lt;br /&gt;
* Standby, Sleepmode&lt;br /&gt;
* 1 MBit/s&lt;br /&gt;
* -27..+40V&lt;br /&gt;
* Automatische Einstellung der I/O Pegel&lt;br /&gt;
* Erweiterte Diagnosefunktionen&lt;br /&gt;
* &amp;quot;Listen only&amp;quot;-Mode&lt;br /&gt;
* 2. Generation&lt;br /&gt;
* http://www.nxp.com/documents/data_sheet/TJA1041A.pdf&lt;br /&gt;
&lt;br /&gt;
====TJA 1042====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* SO8&lt;br /&gt;
* VCC = 4,5...5,5V auch als 3V I/O Version&lt;br /&gt;
* Standby&lt;br /&gt;
* -27..+40V&lt;br /&gt;
* +-8kV ESD, verträgt dauerhaft +-58V auf den CAN-BUS&lt;br /&gt;
* 3. Generation (bessere EMC und EMI Daten)&lt;br /&gt;
* http://www.nxp.com/documents/data_sheet/TJA1042.pdf&lt;br /&gt;
&lt;br /&gt;
====TJA 1043====&lt;br /&gt;
* wie TJA1041 (bessere EMC, ESD Eigenschaften und geringerer Ruhestrom)&lt;br /&gt;
* SO14&lt;br /&gt;
* Standby, Sleepmode&lt;br /&gt;
* -58..++58V&lt;br /&gt;
* +-8kV ESD, verträgt dauerhaft +-58V auf den CAN-BUS&lt;br /&gt;
* 3. Generation&lt;br /&gt;
* http://www.nxp.com/documents/data_sheet/TJA1043.pd&lt;br /&gt;
&lt;br /&gt;
==== TJA1051 ====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* SO8, pinkompatibel zu TJA1050&lt;br /&gt;
* VCC = 4,75...5,25V&lt;br /&gt;
* 3. Generation, Nachfolger der PCA82C25x&lt;br /&gt;
* http://www.nxp.com/products/interface_and_connectivity/transceivers/can_transceivers/TJA1051T.html&lt;br /&gt;
&lt;br /&gt;
==== TJA1052i ====&lt;br /&gt;
* von NXP&lt;br /&gt;
* SO16&lt;br /&gt;
* Integrierte galvanische Trennung&lt;br /&gt;
&lt;br /&gt;
====ATA6660====&lt;br /&gt;
* ABGEKÜNDIGT, wird nicht mehr hergestellt.&lt;br /&gt;
* von Atmel&lt;br /&gt;
* SO8&lt;br /&gt;
* VCC = 4,75...5,25V&lt;br /&gt;
&lt;br /&gt;
====SN65HVD23x====&lt;br /&gt;
* von Texas Instruments (auch als Sample erhaeltlich)&lt;br /&gt;
* SO8&lt;br /&gt;
* VCC = 3,0V...3,6V&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt: SN65HVD230, SN65HVD231 (ca. 3,00 €)&lt;br /&gt;
Datenblatt:&lt;br /&gt;
*[http://www.ti.com/lit/gpn/sn65hvd230 SN65HVD230] &lt;br /&gt;
*[http://www.ti.com/lit/gpn/sn65hvd231 SN65HVD231]&lt;br /&gt;
&lt;br /&gt;
====MAX3051EKA/ESA====&lt;br /&gt;
* von Analog (fka Maxim)&lt;br /&gt;
* SOT23-8 und SO-8&lt;br /&gt;
* als SOT23 noch gut manuell zu verarbeiten, dabei relativ klein&lt;br /&gt;
* VCC = 3,3V, trotzdem voll kompatibel&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. Mouser, Digikey, LCSC&lt;br /&gt;
Datenblatt:&lt;br /&gt;
* https://www.analog.com/media/en/technical-documentation/data-sheets/max3051.pdf&lt;br /&gt;
&lt;br /&gt;
====HMT1040T====&lt;br /&gt;
* von Gatemode (asiatischer Hersteller)&lt;br /&gt;
* SO-8&lt;br /&gt;
* VCC = 5V&lt;br /&gt;
* Pin- und funktionskompatibel zu bekannten Brands&lt;br /&gt;
* Als nur ein Beispiel sehr günstiger asiatischer Hersteller (Xinluda, Chipanalog, ZHHXDZ, SIT)&lt;br /&gt;
* Preis 25ct Einzelstück, 20ct@50Stück&lt;br /&gt;
* erhältlich bei LCSC&lt;br /&gt;
Datenblatt:&lt;br /&gt;
* https://www.lcsc.com/datasheet/lcsc_datasheet_2402021513_GATEMODE-HMT1040T_C20415565.pdf&lt;br /&gt;
&lt;br /&gt;
=== Fault-Tolerant / Low-Speed ===&lt;br /&gt;
&lt;br /&gt;
==== TJA1055 ====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* bis 125 &amp;quot;kBaud&amp;quot;&lt;br /&gt;
* SO14&lt;br /&gt;
* TJA1055/3 unterstützt 3V interfaces&lt;br /&gt;
* 6kV ESD Schutz&lt;br /&gt;
* abgekündigt: ähnliche Funktionen, gleicher Hersteller: TJA1053, TJA1054&lt;br /&gt;
&lt;br /&gt;
==== UJA1061 ====&lt;br /&gt;
* NXP&lt;br /&gt;
* System Base Chip (SBC)&lt;br /&gt;
* TSSOP 32-Pin&lt;br /&gt;
* Serial Interface (SPI)&lt;br /&gt;
* Spannungsregler  3.3 V oder 5.0 V (LDO)&lt;br /&gt;
* 6kV ESD Schutz&lt;br /&gt;
&lt;br /&gt;
==== L4969 ====&lt;br /&gt;
* ST Microelectronics&lt;br /&gt;
* System Base Chip (SBC)&lt;br /&gt;
* SO20&lt;br /&gt;
* Serial Interface (SPI)&lt;br /&gt;
* Spannungsregler (LDO)&lt;br /&gt;
&lt;br /&gt;
==== MC33889 ====&lt;br /&gt;
* Motorola Freescale&lt;br /&gt;
* System Base Chip (SBC)&lt;br /&gt;
* SO28&lt;br /&gt;
* Serial Interface (SPI)&lt;br /&gt;
* Spannungsregler (LDO)&lt;br /&gt;
&lt;br /&gt;
== CAN Repeater ==&lt;br /&gt;
&lt;br /&gt;
==== AMIS-42700 ====&lt;br /&gt;
* Dual High-Speed CAN Transceiver&lt;br /&gt;
* High speed (up to 1Mbit/s)&lt;br /&gt;
* SOIC-20&lt;br /&gt;
* vgl. http://www.mikrocontroller.net/topic/53799&lt;br /&gt;
&lt;br /&gt;
==== Alternative ====&lt;br /&gt;
* zwei Transceiver&lt;br /&gt;
* [http://www.mikrocontroller.net/attachment/9353/CANREPEATER.JPG Schaltung]&lt;br /&gt;
* Anmerkung: Diese Schaltung ist Quatsch und funktioniert nicht.&lt;br /&gt;
* -Zum Senden eines Zeichen, muss beim CAN paralell auf dem Bus gelesen werden.&lt;br /&gt;
  -Die TRansceiver tun dies nicht, mach nur der Controller.&lt;br /&gt;
  -Die gelesene Nachricht muss also durch einen Controller erneut gesendet werden, wenn der Bus frei ist...&lt;br /&gt;
* Anmerkung: Die letzte Anmerkung ist Quatsch. Die Schaltung funktioniert in einem realen Projekt einwandfrei. Das tut es, weil die Kollisionen, auf die hier angespielt wird, durch die Schaltung auf das Segment des sendenden Controllers zurückgemeldet werden, dieser die Kollision also erkennt und die Sendung ggfs abbricht. Allerdings wird durch die zusätzliche Latenz die maximale Buslänge deutlich reduziert. In dem erwähnten Projekt war der Bus auch nur etwa 2m lang.&lt;br /&gt;
* Funktioniert NICHT (getestet in einem realen Projekt). Warum es nicht funktionieren kann steht z.B. hier: http://www.mikrocontroller.net/topic/106674&lt;br /&gt;
&lt;br /&gt;
==== CAN ISO 11898-2 Repeater - CAN Bus Hub ====&lt;br /&gt;
* https://github.com/sco3149/can-hub&lt;br /&gt;
&lt;br /&gt;
==SLIO-CAN==&lt;br /&gt;
&lt;br /&gt;
Preisgünstigste Bausteine sind die Serial Linked I/O Bausteine (SLIO). Diese Bausteine ermöglichen den Aufbau von Ein- und Ausgabeknoten ohne lokalen Prozessor. Auf der Basis dieser Bausteine lässt sich eine dezentrale Signal-Ein-Ausgabe mit minimalem Kostenaufwand realisieren.&lt;br /&gt;
&lt;br /&gt;
=== Philips P82C150===&lt;br /&gt;
* Single-Chip-I/O-Einheit mit integriertem CAN-Controller&lt;br /&gt;
* mögliche Busdatenrate 20kBd bis 125kBd&lt;br /&gt;
* interner RC-Oszillator wird durch den Bitstrom auf den Bus synchronisiert&lt;br /&gt;
* Kalibrierungsnachricht alle 8000 Bitzeiten erforderlich&lt;br /&gt;
** 4-Bit des Identifiers über Port-Pins einstellbar &lt;br /&gt;
* maximal 16 P82C150 in einem CAN-Segment&lt;br /&gt;
** 16 Port-Pins mit unterschiedlichen Konfigurationsmöglichkeiten&lt;br /&gt;
*** 16 mal als digitale Eingänge&lt;br /&gt;
*** 16 mal als digitale Ausgänge&lt;br /&gt;
*** 2 mal als analoger Ausgang ( 10-Bit, DPM )&lt;br /&gt;
*** 6 mal als analoger Eingang ( 10-Bit, multiplex )&lt;br /&gt;
*** 2 mal als Komparator &lt;br /&gt;
&lt;br /&gt;
* [http://www.htw-dresden.de/fe/labor/mikror/projects/slio_can/ slio-CAN]&lt;br /&gt;
&lt;br /&gt;
Anmerkung: Philips stellt die SLIO nicht mehr her! Es ist auch &amp;quot;nichts&amp;quot; mehr am Markt beschaffbar, wenn, dann zu horrenden Preisen (um die 60,-EUR/Stück zur Zeit). --[[Benutzer:OldBug|Patrick]] 09:08, 25. Jan 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===DS 36001M===&lt;br /&gt;
&#039;&#039;&#039;Obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===MCP2502X/5X===&lt;br /&gt;
&lt;br /&gt;
CAN-IO Erweiterung. Braucht praktisch nur noch Quarz und Transciever. Preise ab 3€&lt;br /&gt;
* bis zu 8 digitale IOs &lt;br /&gt;
* bis zu 2 PWM, 10 Bit&lt;br /&gt;
* bis zu 4 ADC, 10 Bit, externe Ref.&lt;br /&gt;
* SLEEP-Mode etc.&lt;br /&gt;
&lt;br /&gt;
[http://ww1.microchip.com/downloads/en/devicedoc/21664c.pdf Datenblatt]&lt;br /&gt;
&lt;br /&gt;
==USB CAN Bridge==&lt;br /&gt;
&lt;br /&gt;
Neben der Möglichkeit mit CANable, CANdlelight, Klipper usw. einen eigenen USB-to-CAN Umsetzer zu bauen &lt;br /&gt;
gibt es auch ein fertiges IC von Holtek&lt;br /&gt;
&lt;br /&gt;
===Holtek HT42B536-1===&lt;br /&gt;
&lt;br /&gt;
* Leider benötigt das IC &lt;br /&gt;
** Zwei Betriebsspannungen 3,3V und 5,0V&lt;br /&gt;
** Einen eigenen Quarz für den CAN-Controller (STM32F0-Projekte können auf USB-Takt synchronisieren)&lt;br /&gt;
* Trotzdem interessant, da es nicht mehr programmiert werden muss. &lt;br /&gt;
* LAWICEL (SLCAN) Befehlssatz, daher hohe Kompatibilität zu bekannten Programmen (ungetestet)&lt;br /&gt;
* Sollte unter Linux als SLCAN direkt einbindbar sein (ungetestet)&lt;br /&gt;
&lt;br /&gt;
https://www.holtek.com/page/vg/HT42B536-1&lt;br /&gt;
&lt;br /&gt;
== Verkabelung ==&lt;br /&gt;
* auf beidseitige Busterminierung achten (typisch 2x 120Ω bei &amp;quot;high-speed&amp;quot;)&lt;br /&gt;
* Standardbelegung für diverse Steckverbindungen vgl. [http://www.can-cia.de/index.php?id=440 CANOpen-Dokumentation (CiA 303-1)];  erfordert Anmeldung&lt;br /&gt;
* Schaltplan für galvanische Trennung z.&amp;amp;nbsp;B. nach Datenblatt des PCA82C250&lt;br /&gt;
* für einfache Testaufbauten über sehr kurze Strecken oder &amp;quot;on-board-CAN&amp;quot; kann auf die Bustreiber verzichtet werden (vgl. Siemens Application-Note [http://www.mikrocontroller.net/attachment/28831/siemens_AP2921.pdf AP2921])&lt;br /&gt;
&lt;br /&gt;
Es gibt auch CAN mit &lt;br /&gt;
* einpoliger unsymmetrischer Verbindung (SAE J2411 single wire)&lt;br /&gt;
* optischer Verbindung (Faser, Glasfaser)&lt;br /&gt;
&lt;br /&gt;
Für einfache Tests genügt auch eine direkte wired-and-Verbindung ohne Treiber:&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/42105#317085 Forumsbeitrag]: CAN übertragung brich ca. nach 10 sek ab&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Hersteller von Debug-Geräten&lt;br /&gt;
* Vector-Informatik CANscope (Pegeltester) http://www.vector-informatik.de/deutsch/  - ca. 3300EUR&lt;br /&gt;
* Gemac CBT (CanBusTester) testet auch Pegel, Reflexionen ... (Treiber etc. etwas ältlich, von 2002, was ist mit Weiterentwicklung?), auch leihweise http://www.gemac-chemnitz.de/pages/d_html/produkte/bus-tester/new-de-can-bust.html http://www.brandt-data.de/canbus/can_intro.html  - ca. 2400EUR&lt;br /&gt;
 &amp;gt;&amp;gt; CBT wurde weiterentwickelt zum CBT2 (2007) bzw. CANtouch (2014) https://gemac-fieldbus.com&lt;br /&gt;
* ixxat bietet ebenfalls den Gemac-cbt an, auch leihweise&lt;br /&gt;
*QCANObserver http://qcanobserver.sourceforge.net/ CAN Debugger mit ähnlichen Fähigkeiten. Derzeit läuft die Entwicklung nur noch unter Linux. Freie Software (GPL)&lt;br /&gt;
&lt;br /&gt;
Oszilloskope mit CAN-Analyse (manche auch SPI, LIN, RS232, SATA ...):&lt;br /&gt;
* LeCroy WaveRunner 6040 wird mit Vector-CANcaseXL (externer CAN-Trigger) geliefert (sehr gut, ab ca.9000 EUR)&lt;br /&gt;
* LeCroy WaveSurfer 424 wird mit Vector-CANcaseXL (externer CAN-Trigger) geliefert (sehr gut, ab ca.8000 EUR)&lt;br /&gt;
* Yokogawa DL1640 und DL9040 (CAN-Trigger ist intern)  ähnliche Preise wie LeCroy, Bedienung gewöhnungsbedürftig, geht mit etwas Übung besser&lt;br /&gt;
* Tektronix&lt;br /&gt;
* HP / Agilent&lt;br /&gt;
* LogicPort http://www.pctestinstruments.com/&lt;br /&gt;
* Saleae Logic http://www.saleae.com/logic/ (kostet nur 149$; Professoren an Universitäten und Hochschulen können ein Gerät/Person kostenlos erhalten (auf Anfrage))&lt;br /&gt;
* Scanalogic-2 Logikanalysator und Signalgenerator http://www.exp-tech.de/Hacking---Measurement/Scanalogic-2-Logikanalysator-Signalgenerator.html (kostet nur ~60€)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Triggermöglichkeiten: SOF, CAN-ID, CAN-Data, ErrorFrame, RTR, Ack, NoAck  - alle verknüpfbar (gleich ungleich kleiner größer inRange outofRange)&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
&lt;br /&gt;
==Intern==&lt;br /&gt;
* [[CAN als Hausbus]]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/568845#7876672 Forumsbeitrag]: Leicht verbesserte CAN Bibliothek vom Kreativen Chaos&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/572263#7763887 Forumsbeitrag]: Wie ich vor 40 Jahren ein eigenes &amp;quot;Canbus&amp;quot; baute, ([https://www.mikrocontroller.net/topic/572263#7765495 Schaltplan])&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/494030#6226308 Forumsbeitrag]: Neue, einfache CAN-Library für ATmega16M1&lt;br /&gt;
&lt;br /&gt;
==Allgemein==&lt;br /&gt;
* [http://can-wiki.info CAN-WIKI] - spezielle Wiki Site für CAN bus (Englisch)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Controller_Area_Network Wikipedia - CAN]&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/CAN-Bus/can-bus.html Grundlagen zum CAN-Bus] - Kurze Zusammenfassung der Funktionsweise und Einsatzmöglichkeiten vom CAN-Bus&lt;br /&gt;
* [http://www.canbus.cz CAN] - Controller_Area_Network (Czech)&lt;br /&gt;
* [http://www.embedded.com/design/prototyping-and-development/4008824/CAN-in-30-minutes-or-less CAN in 30 minutes or less] by Hassane El-Khoury at www.embedded.com&lt;br /&gt;
* [http://elearning.vector.com/vl_can_introduction_de.html Einführung in CAN] - kostenloses E-Learning Angebot&lt;br /&gt;
&lt;br /&gt;
===Testboards===&lt;br /&gt;
&lt;br /&gt;
*[http://www.jtronics.de/platinen.html  AT90CAN Testboard by www.jtronics.de (aktualisiert 2010)]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/176804  universal Testboard - CAN RS232 SPI I2C ]&lt;br /&gt;
*[http://www.kreatives-chaos.com/artikel/can-testboard  ATmega8 CAN Testboard und  MCP2515 Tutorial]&lt;br /&gt;
*[http://thinkembedded.ch/_Hersteller/Olimex/AVR-CAN::41.html Olimex AVR-CAN mit AT90CAN128]&lt;br /&gt;
&lt;br /&gt;
===Dongles===&lt;br /&gt;
&lt;br /&gt;
==== Selbstbau Projekte ====&lt;br /&gt;
*[http://cryptomys.de/horo/CAN200/ Can200 Linux Project von Martin Homuth-Rosemann] CAN Businterface am Parallelport (LPT). Mit SJA1000.&lt;br /&gt;
*[http://www.mictronics.de/projects/usb-can-bus/ USB&amp;lt;&amp;gt;CAN Bus Interface mit AVR ATmega162] Open Source. Mit ATmega162, FT245 und SJA1000.&lt;br /&gt;
*[http://www.oschmid.ch/mt/can-hub/can-hub.php CAN Bus HUB]&lt;br /&gt;
*[http://martinsuniverse.de/projekte/caninterceptor/caninterceptor.html CAN-Interceptor von Martin S.] Mit R8C/23 und FT232R.&lt;br /&gt;
* [http://www.fischl.de/usbtin/ USBtin - Simple USB to CAN interface von Thomas Fischl] Mit PIC18F14K50 und MCP2515. Bausatz verfügbar (24,50 EUR).&lt;br /&gt;
&lt;br /&gt;
==== Fertiggeräte ====&lt;br /&gt;
*[http://www.mhs-elektronik.de/tiny_can.html Tiny-CAN USB-CAN-Adapter von MHS-Elektronik] Ab 60,- EUR. Open Source CAN-Monitor für Windows und Linux.&lt;br /&gt;
*[http://www.cantronik.com/ CANvu - CAN-Display-Produkte von CANtronik]&lt;br /&gt;
*[http://www.kopfweb.de/automobiltechnik.html CAN/LIN nach USB Adapter von KOPF GmbH] Ab 320,- EUR&lt;br /&gt;
*[http://www.ixxat.de/overview-pc-can-interface-board_de.html PC/CAN-Interfaces von IXXAT Automation GmbH] ca. 200 EUR&lt;br /&gt;
*[http://www.peak-system.com/Hardware-Liste.90+M5bc66b17d2f.0.html?&amp;amp;tx_commerce_pi1 CAN-Interfaces von Peak-System]  Ca. 200 EUR&lt;br /&gt;
*[http://www.ems-wuensche.com/product/datasheet/html/can-usb-adapter-converter-interface-cpcusb.html USB to CAN Bus Interface von EMS Dr. Thomas Wünsche]  Ca. 180 EUR&lt;br /&gt;
*[http://www.systec-electronic.com/html/index.pl/en_product_can_interfaces  USB-CANmodul Serie von SYS TEC electronic] mit Unterstützung von 1, 2, 8, oder 16 CAN Kanälen (ab 129,- EUR)&lt;br /&gt;
*[http://www.8devices.com/product/2/usb2can USB2CAN USB to CAN bus galvanic isolated converter von 8devices] Ab 65,- EUR. Open source interface DLL and software.&lt;br /&gt;
*[http://www.canusb.com/ canusb USB&amp;lt;&amp;gt;CAN über V24-Treiber] und [http://www.can232.com/  RS232/V24&amp;lt;&amp;gt;CAN Bus Interface] von Lawicel.&lt;br /&gt;
**[http://www.canusb.com/projects.htm Freie Software für canusb]&lt;br /&gt;
**[http://www.canviausb.com Weitere CAN BUS Monitor Software für canusb]&lt;br /&gt;
*[http://www.port.de/pages/products/can/canopen/hardware/ethercan.php?lang=en CAN-LAN-Bridge von PORT] mit ARM und Linux&lt;br /&gt;
*[https://www.anagate.de/products/can-ethernet-gateways.php CAN/CAN-FD Ethernet Gateways von AnaGate] Professionelle LAN-Adapter mit Linux System mit 2 bis 16 CAN/CAN-FD-Ports (Shop)&lt;br /&gt;
*[http://www.rs.canlab.cz/?q=en/node/69 PP2CAN LPT-CAN Interface], [http://www.rs.canlab.cz/?q=en/node/67 CAN2MMC Datenlogger] (CAN,RS232-GPS) und [http://www.rs.canlab.cz/?q=en/node/68 USB2CAN USB2CAN USB-CAN Interface] 80 EUR von CANLAB&lt;br /&gt;
*[http://www.canhack.de/viewtopic.php?t=137 CANHACK CANUSB Interface] High Speed CAN + OBD2 inkl. KCANMonitor. DLL/Programmierschnittstelle für eigene Anwendungen.&lt;br /&gt;
*[http://www.visionsystems.de/can-bus-adapters.html CAN Bus Adapters] ab 89,-€ von [http://www.vscom.de/ VSCOM ]&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
*[http://rbei-etas.github.com/busmaster/ BUSMASTER - Open Source CAN-Bus Analyzer von ETAS/BOSCH]&lt;br /&gt;
*[http://www.canviausb.com CAN Monitor für Lawicel CANUSB, Zanthic CAN-4-USB-FX/MCP2515 und MHS-Elektronik Tiny-CAN] &lt;br /&gt;
*[http://canhack.de/viewtopic.php?f=25&amp;amp;t=135 CAN Monitor und Tracer für Peak USB, Lawicel CANUSB+CAN232 und kompatible]&lt;br /&gt;
*[http://www.mhs-elektronik.de/tiny_can.html GNU – Open Source CAN Monitor, Makro und Filter Funktion, Plugin fähig, unter GTK+ entwickelt]&lt;br /&gt;
* [http://www.wireshark.org wireshark - Netzwerk Protokoll Analyse Tool, unterstützt via socket-CAN CAN und CANopen]&lt;br /&gt;
&lt;br /&gt;
===Tools===&lt;br /&gt;
*[http://www.mhs-elektronik.de/userdata/downloads/BitCalc.zip CAN-Bus Bit-Timing Kalkulator, unterstützt diverse Mikrocontroller, z.B. Atmel, STM32, Microchip, Renesas, ...]&lt;br /&gt;
&lt;br /&gt;
===Protokolle===&lt;br /&gt;
====CANopen====&lt;br /&gt;
&lt;br /&gt;
*[http://canopen.sourceforge.net/index.html CANopen free software resource center]&lt;br /&gt;
*[http://www.canopen-solutions.com/canopen_caneds_de.html Kostenloser Editor für CANopen EDS-Dateien von Vector]&lt;br /&gt;
*[http://developer.berlios.de/projects/socketcan Official Linux CAN interface]&lt;br /&gt;
*[https://github.com/sebi2k1/restcan Javascript interface to SocketCAN with signal processing (in progress)]&lt;br /&gt;
*[http://www.etas.com/de/products/applications_open_source.php BUSMASTER]&lt;br /&gt;
&lt;br /&gt;
[[Category:CAN| ]]&lt;br /&gt;
[[Kategorie:Bauteile]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=CAN&amp;diff=107895</id>
		<title>CAN</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=CAN&amp;diff=107895"/>
		<updated>2026-02-19T16:36:15Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Intern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;C&#039;&#039;&#039;ontroller &#039;&#039;&#039;A&#039;&#039;&#039;rea &#039;&#039;&#039;N&#039;&#039;&#039;etwork - Ein von Bosch entwickeltes, echtzeitfähiges Bussystem für den Automobilbereich, welches u.a. auch Anwendung in der Automatisierungstechnik findet.&lt;br /&gt;
&lt;br /&gt;
==Mikrocontroller mit CAN==&lt;br /&gt;
&lt;br /&gt;
=== Atmel AVR===&lt;br /&gt;
&lt;br /&gt;
==== AT90CAN ====&lt;br /&gt;
* Atmel AVR Controller mit CAN-Schnittstelle (ein Kanal)&lt;br /&gt;
* Speicher: (FLASH,EEPROM,RAM)&lt;br /&gt;
** AT90CAN32  -&amp;gt; 32KB 1KB 2KB&lt;br /&gt;
** AT90CAN64  -&amp;gt; 64KB 2KB 4KB&lt;br /&gt;
** AT90CAN128 -&amp;gt; 128KB 4KB 4KB&lt;br /&gt;
* 15 CAN &amp;quot;Message Objects&amp;quot;, jedes individuell konfigurierbar&lt;br /&gt;
* Bis auf den CAN controller weitestgehend identisch mit den nicht CAN Versionen (siehe [http://www.atmel.com/Images/doc4313.pdf AVR096])&lt;br /&gt;
* Beispielcode inkl. CAN für den IAR-C-Compiler findet sich bei atmel.com. Autobaud-Routinen in Assembler (etwas Aufwand bei der Portierung nach avr-gcc/avr-as).&lt;br /&gt;
* Dieser MC ist für nicht-gewerbliche Endanwender einzeln z.&amp;amp;nbsp;B. bei Reichelt, CSD und Segor erhältlich (ca. 9EUR). Beim Bestellen des MC sollte man einen CAN-BUS-Treiber gleich mitbestellen: z.&amp;amp;nbsp;B. Philips PCA82C250. Jedoch auf vorhandene Versorgungsspannungen achten (AT90CAN128 &amp;quot;kann mit&amp;quot; VCC=2,7...5,5V, PCA82C250 lt. Datenblatt für VCC=4,5...5V).&lt;br /&gt;
* CANopen software protocol stacks at http://www.port.de/Atmel.html&lt;br /&gt;
* Freier CANopen stack: http://www.canfestival.org/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Im Auslieferungszustand ist nur der interne RC-Oszillator aktiv (wie üblich bei allen modernen AVRs mit internem R/C-Oszillator vgl. [[AVR Checkliste]]). Umschalten auf externe Taktquelle über die AVR-Fusebits.&lt;br /&gt;
* Für die ISP-Programmierung schliesst man Ihn wie den ATmega128 an. MOSI-2 ; MISO-3 ; SCK-11 ; /Reset-20 ;  GND-22,53,63 ; Vcc-21,52,(62),(64). Auf die übliche &amp;quot;ATmega64/128-Problematik&amp;quot; achten: MISO/MOSI der Programmierschnittstelle sind nicht identisch mit der SPI-Schnittstelle.&lt;br /&gt;
[gehört nicht in den &amp;quot;CAN Artikel&amp;quot;] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * die aktuelle Hardware-Version (Stand 4/2005) hat einen &amp;quot;silicon bug&amp;quot; (Hardwarefehler, vgl. avrfreaks-Forum): Liegt der Stack im &#039;&#039;externen&#039;&#039; RAM, führt dies zu Fehlern in der Stackverwaltung (push/pop/rcall etc.). Details in aktuellen Fassungen des Datenblatts. Abhilfe/Workaround: Stack im internen RAM (&amp;lt;0x1001) verwalten. Dies ist ohnehin sinnvoll, da der Stackzugriff dann schneller ist.&lt;br /&gt;
[nicht mehr aktuell und errata ist immer zu beachten] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- *Als Programmieradapter braucht man einen, der eine gewisse Intelligenz beinhaltet. Vergebens waren auch bei mir die Versuche,   mit dem &#039;Kanda&#039;-Dongle vom STK200-Board und ähnliche Nachbauten.  -&amp;gt; www.mikrocontroller-projekte.de [- Einzeltest mit Stickprobenumfang 1 - sollte schon funktionieren, auskommentiert bis nochmals belegt - mt] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ATmega16M1/32M1/64M1 ====&lt;br /&gt;
* modernisierte Version der AT90CAN128 Serie inkl. LIN, PSC und DAC&lt;br /&gt;
* not sampled&lt;br /&gt;
&lt;br /&gt;
==== AT32UC3C ====&lt;br /&gt;
* 32bit AVR mit zwei CAN controllern&lt;br /&gt;
* bis zu 512k flash, 64k RAM&lt;br /&gt;
* DMA, USB, Ethernet MAC, 2Msmps 12bit ADC, 12bit DAC&lt;br /&gt;
&lt;br /&gt;
=== Atmel ARM ===&lt;br /&gt;
&lt;br /&gt;
==== AT91SAM7X ====&lt;br /&gt;
* ARM7TDMI-Kern mit einem CAN controller&lt;br /&gt;
* bis 512k flash und 128k RAM&lt;br /&gt;
&lt;br /&gt;
==== AT91SAM9X ====&lt;br /&gt;
* ARM926-Kern mit zwei CAN controllern&lt;br /&gt;
* kein onboard flash&lt;br /&gt;
* 32k RAM aber DDR2 support&lt;br /&gt;
&lt;br /&gt;
==== AT91SAM3A ====&lt;br /&gt;
* Cortex M3-Kern mit zwei CAN controllern&lt;br /&gt;
* bis zu 512k flash und 96k RAM&lt;br /&gt;
&lt;br /&gt;
==== AT91SAM3X ====&lt;br /&gt;
* Cortex M3-Kern mit zwei CAN controllern&lt;br /&gt;
* bis zu 512k flash und 96k RAM&lt;br /&gt;
&lt;br /&gt;
=== Luminary Micro Stellaris LM3S8xxx ===&lt;br /&gt;
* ARM Cortex-M3&lt;br /&gt;
* bis 64kByte RAM und 256kByte Flash&lt;br /&gt;
* CAN und Ethernet&lt;br /&gt;
&lt;br /&gt;
=== Microchip PIC18Fxx8 PIC18Fxx8x ===&lt;br /&gt;
* Mikrocontroller mit CAN Schnittstelle&lt;br /&gt;
* [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=50&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 Herstellerseite]&lt;br /&gt;
&lt;br /&gt;
=== Mitsubishi / Renesas R8C / M16C / M32C ===&lt;br /&gt;
&lt;br /&gt;
R8C/23, M16C/6Nx&lt;br /&gt;
&lt;br /&gt;
=== Motorola / Freescale DSP56F8xx ===&lt;br /&gt;
* Clock des CAN-Moduls von PLL speisen, nicht von XTAL, sonst gibt es sporadische Aussetzer&lt;br /&gt;
* Bei hohen Datenraten ist es notwendig die CAN-TX-Leitung vom Controller mit einem PullUp-Widerstand zu beschalten. Sonst stimmt das Bit-Timing nicht, weil die Anstiegszeit des TX-Signals zu schlecht ist.&lt;br /&gt;
&lt;br /&gt;
=== Freescale MC9S08 ===&lt;br /&gt;
* D Serie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Freescale MC9S12 ===&lt;br /&gt;
* B, C, D, G und H Serie&lt;br /&gt;
&lt;br /&gt;
=== NXP LPC11CXX ===&lt;br /&gt;
* 32-bit ARM Cortex-M0&lt;br /&gt;
* LPC11C12 16KB flash, 8KB SRAM, 1x C_CAN&lt;br /&gt;
* LPC11C14 32KB flash, 8KB SRAM, 1x C_CAN&lt;br /&gt;
* LPC11C22 16KB flash, 8KB SRAM, 1x C_CAN, on-chip CAN transceiver&lt;br /&gt;
* LPC11C24 32KB flash, 8KB SRAM, 1x C_CAN, on-chip CAN transceiver&lt;br /&gt;
* Herstellerseite: [http://ics.nxp.com/products/lpc1000/lpc1100/lpc11cxx/]&lt;br /&gt;
&lt;br /&gt;
=== NXP LPC175X LPC176X ===&lt;br /&gt;
* Mikrocontroller mit Cortex-M3 Kern.&lt;br /&gt;
* 1 - 2 CAN Schnittstellen&lt;br /&gt;
* Herstellerseite: [http://ics.nxp.com/products/lpc1000/lpc17xx/ Philips Semiconductors]&lt;br /&gt;
&lt;br /&gt;
=== NXP (ex. Philips) LPC2129 LPC2194 LPC2290 LPC2292 LPC2294 ===&lt;br /&gt;
* Mikrocontroller mit ARM7TDMI-S-Kern (vgl. [[LPC2000 Philips ARM7TDMI-Familie]])&lt;br /&gt;
* 2 - 4 CAN Schnittstellen&lt;br /&gt;
* CAN-Modul angelehnt an Philips SJA1000 (aber mit recht langer und deftig gewürzter Bug-Liste)&lt;br /&gt;
* Herstellerseite: [http://www.nxp.com Philips Semiconductors]&lt;br /&gt;
* LPC2194 erhältlich bei http://www.microcontroller-starterkits.de und http://de.digikey.com/&lt;br /&gt;
* CANopen software protocol stacks at [http://www.port.de/Philips.html]&lt;br /&gt;
&lt;br /&gt;
=== NXP LPC23xx ===&lt;br /&gt;
* Mikrocontroller mit ARM7TDMI-S-Kern (vgl. [[LPC2000 Philips ARM7TDMI-Familie]])&lt;br /&gt;
* 2 CAN Schnittstellen&lt;br /&gt;
&lt;br /&gt;
=== NXP P80C591 P80C592 P80C598 ===&lt;br /&gt;
* 8-Bit Mikrocontroller mit 8051-Kern&lt;br /&gt;
* P80C591 ist neuer und beherrscht CAN2.0B&lt;br /&gt;
* P80C592: CAN2.0A, P80C598 ist die Automotive-Version vom &#039;592&lt;br /&gt;
&lt;br /&gt;
=== Silicon Labs C8051F04X C8051F06X C8051F5XX ===&lt;br /&gt;
*  8-Bit Mikrocontroller mit 8051-Kern&lt;br /&gt;
*  16K - 128K Flash, 2304 - 8448 RAM&lt;br /&gt;
*  LIN 2.1&lt;br /&gt;
*  25-50 MIPS&lt;br /&gt;
*  bis 5x5 QFN&lt;br /&gt;
&lt;br /&gt;
=== STMicroelectronics STM8S20  ===&lt;br /&gt;
* STM8 Kern [http://www.st.com/stonline/products/literature/ds/14733/stm8s208c6.pdf] DIV/MUL -Befehle &lt;br /&gt;
* SPI mit automatischer CRC Berechnung&lt;br /&gt;
* 1 beCAN Schnittstelle CAN2.0B &lt;br /&gt;
* sehr preiswert (128 kFlash/6K RAM ) 3,30 bis 4,80 &amp;amp;#8364; ([http://search.digikey.com/scripts/DkSearch/dksus.dll?vendor=0&amp;amp;keywords=CAN+STM8]  aber SMD LQFP &lt;br /&gt;
&lt;br /&gt;
=== STMicroelectronics STR730 STR750 ===&lt;br /&gt;
* ARM7TDMI-Kern&lt;br /&gt;
* 1-3 CAN Schnittstellen&lt;br /&gt;
&lt;br /&gt;
=== STMicroelectronics STR910FM32, STR910FW32, STR911FM42, STR911FM44, STR912FW42, STR912FW44 ===&lt;br /&gt;
* 96MHz ARM966E-S CPU Kern&lt;br /&gt;
&lt;br /&gt;
=== [[STM32|STM32 (Cortex M0/M3/M4)]] ===&lt;br /&gt;
Cortex M0 Core&lt;br /&gt;
 - [http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1574 STM32 F0 series of entry-level MCUs]&lt;br /&gt;
* STM32F042   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F072   : 1 CAN Schnittstelle&lt;br /&gt;
Cortex M3 Core&lt;br /&gt;
 - [http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1031 STM32 F1 series of mainstream MCUs]&lt;br /&gt;
* STM32F103   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F105   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F107   : 2 CAN Schnittstellen&lt;br /&gt;
 - [http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1575 STM32 F2 series of high-performance MCUs]&lt;br /&gt;
* STM32F205   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F207   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F215   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F217   : 2 CAN Schnittstellen&lt;br /&gt;
Cortex M4F Core&lt;br /&gt;
 - [http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1576 STM32 F3 series of mixed-signal MCUs with DSP and FPU instructions]&lt;br /&gt;
* STM32F302   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F373   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F383   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F303   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F313   : 1 CAN Schnittstelle&lt;br /&gt;
 - [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1577 STM32 F4 series of high-performance MCUs with DSP and FPU instructions]&lt;br /&gt;
* STM32F405   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F415   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F407   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F417   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F427   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F437   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F429   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F439   : 2 CAN Schnittstellen&lt;br /&gt;
&lt;br /&gt;
=== TI TMS470 ===&lt;br /&gt;
* ARM7TDMI-Kern&lt;br /&gt;
&lt;br /&gt;
=== Toshiba TLCS-870/C ===&lt;br /&gt;
&lt;br /&gt;
==CAN Controller==&lt;br /&gt;
&lt;br /&gt;
===MCP2515 ===&lt;br /&gt;
CAN-Controller von Microchip&lt;br /&gt;
* [[SPI]] &lt;br /&gt;
* 2 Empfangs- und 3 Sendepuffer jeweils individuell konfigurierbar (ID, Masken/Filter etc.)&lt;br /&gt;
* ein gemeinsamer Interruptpin&lt;br /&gt;
* ein Interruptpin pro Empfangspuffer, umkonfigurierbar als allgmeiner Ausgang&lt;br /&gt;
* ein Triggerpin pro Sendepuffer, umkonfigurierbar als allgemeiner Eingang&lt;br /&gt;
* Stromsparmodus&lt;br /&gt;
* auch für 3,3V-Betrieb geeignet.&lt;br /&gt;
* Diverse C- und Assembler Beispielcodes verfügbar (z.&amp;amp;nbsp;B. bei microchip.com und kvaser, Assembler meist für PICs). Auch Software für Direktanschluss an die parallele Schnittstelle eines PC verfügbar (&amp;quot;bit-bang Interface&amp;quot;).&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt (ca. 2&amp;amp;#8364;)&lt;br /&gt;
&lt;br /&gt;
====Links====&lt;br /&gt;
*[http://www.kreatives-chaos.com/index.php?seite=mcp2515 Ansteuerung eines MCP2515 in C]&lt;br /&gt;
*[http://mcp2510btc.berlios.de/ Bit Timing Calculator für Linux]&lt;br /&gt;
*[https://www.opendcc.de/info/eagle/eagle_libs.html Eagle Bauteil]&lt;br /&gt;
&lt;br /&gt;
===SJA1000===&lt;br /&gt;
CAN-Controller von Philips&lt;br /&gt;
* Parallele Schnittstelle mit ca. 12 Leitungen&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt (ca. 4 Euro)&lt;br /&gt;
&lt;br /&gt;
===AN82526===&lt;br /&gt;
CAN-Controller von Intel (entwickelt von Bosch)&lt;br /&gt;
* Vorgänger des AN82527&lt;br /&gt;
&lt;br /&gt;
===AN82527===&lt;br /&gt;
CAN-Controller von Intel (entwickelt von Bosch)&lt;br /&gt;
* Nachfolger des AN82526&lt;br /&gt;
* parallele Schnittstelle und [[SPI]]&lt;br /&gt;
* 8- oder 16-Bit Multiplex Bus oder 8-Bit Non-Multiplexed Bus&lt;br /&gt;
* 14 Tx/Rx Puffer&lt;br /&gt;
* bis zu 16 IO-Pins (je nach Controlleranbindung)&lt;br /&gt;
* Wird nicht mehr hergestellt&lt;br /&gt;
&lt;br /&gt;
===Bosch CC170 / CC750 / CC770===&lt;br /&gt;
* kompatibel zum AN82527&lt;br /&gt;
* mehr Debug-Register&lt;br /&gt;
* CC750 im SOIC16-W Gehäuse ohne Parallel-Interface, nur SPI&lt;br /&gt;
* erhältlich bei Rutronik (ca. 8 Euro)&lt;br /&gt;
&lt;br /&gt;
===SAE81C9x===&lt;br /&gt;
* SPI und Busanschluss möglich&lt;br /&gt;
* PLCC44 und PLCC28, letzteres allerdings in ungebräuchlicher Bauform&lt;br /&gt;
* Nur CAN 2.0A, beherrscht also keine Extended IDs.&lt;br /&gt;
* 2004 von infineon abgekündigt, ohne Nachfolgeprodukt&lt;br /&gt;
&lt;br /&gt;
==Bustreiber (CAN-Transceiver)==&lt;br /&gt;
&lt;br /&gt;
=== High-Speed ===&lt;br /&gt;
&lt;br /&gt;
====MCP2551====&lt;br /&gt;
* von Microchip&lt;br /&gt;
* PDIP8 und SOIC&lt;br /&gt;
* VCC = 4,5...5,5V&lt;br /&gt;
* kostet rund 1&amp;amp;#8364;&lt;br /&gt;
* [http://ww1.microchip.com/downloads/en/DeviceDoc/21667f.pdf Datenblatt]&lt;br /&gt;
* [https://www.opendcc.de/info/eagle/eagle_libs.html Eagle-Lib]&lt;br /&gt;
&lt;br /&gt;
====PCA 82C250====&lt;br /&gt;
* &amp;lt;s&amp;gt;ABGEKÜNDIGT!&amp;lt;/s&amp;gt; In Produktion: [http://www.nxp.com/products/interface-and-connectivity/wired-connectivity/can-lin-flexray-transceivers/can-transceivers/can-controller-interface:PCA82C250T?&amp;amp;cof=0&amp;amp;am=0&amp;amp;tab=Buy_Parametric_Tab&amp;amp;fpsp=1 NXP Orderlist]&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* PDIP8 und SO8&lt;br /&gt;
* VCC = 4,5...5,5V&lt;br /&gt;
* V-CAN: -8V..+18V   -&amp;gt; &amp;quot;TTL-kompatible&amp;quot; Bus-Spannung&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt (ca. 1,00&amp;amp;#8364;)&lt;br /&gt;
&lt;br /&gt;
====PCA 82C251====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* PDIP8 und SO8&lt;br /&gt;
* VCC = 4,5...5,5V&lt;br /&gt;
* V-CAN: -40V..+40V   -&amp;gt; +24V Bus-Spannung&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt (ca. 1,50&amp;amp;#8364;)&lt;br /&gt;
&lt;br /&gt;
====TJA 1041====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* SO14&lt;br /&gt;
* VCC = 4,75...5,25V&lt;br /&gt;
* Standby, Sleepmode&lt;br /&gt;
* 1 MBit/s&lt;br /&gt;
* -27..+40V&lt;br /&gt;
* Automatische Einstellung der I/O Pegel&lt;br /&gt;
* Erweiterte Diagnosefunktionen&lt;br /&gt;
* &amp;quot;Listen only&amp;quot;-Mode&lt;br /&gt;
* 2. Generation&lt;br /&gt;
* http://www.nxp.com/documents/data_sheet/TJA1041A.pdf&lt;br /&gt;
&lt;br /&gt;
====TJA 1042====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* SO8&lt;br /&gt;
* VCC = 4,5...5,5V auch als 3V I/O Version&lt;br /&gt;
* Standby&lt;br /&gt;
* -27..+40V&lt;br /&gt;
* +-8kV ESD, verträgt dauerhaft +-58V auf den CAN-BUS&lt;br /&gt;
* 3. Generation (bessere EMC und EMI Daten)&lt;br /&gt;
* http://www.nxp.com/documents/data_sheet/TJA1042.pdf&lt;br /&gt;
&lt;br /&gt;
====TJA 1043====&lt;br /&gt;
* wie TJA1041 (bessere EMC, ESD Eigenschaften und geringerer Ruhestrom)&lt;br /&gt;
* SO14&lt;br /&gt;
* Standby, Sleepmode&lt;br /&gt;
* -58..++58V&lt;br /&gt;
* +-8kV ESD, verträgt dauerhaft +-58V auf den CAN-BUS&lt;br /&gt;
* 3. Generation&lt;br /&gt;
* http://www.nxp.com/documents/data_sheet/TJA1043.pd&lt;br /&gt;
&lt;br /&gt;
==== TJA1051 ====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* SO8, pinkompatibel zu TJA1050&lt;br /&gt;
* VCC = 4,75...5,25V&lt;br /&gt;
* 3. Generation, Nachfolger der PCA82C25x&lt;br /&gt;
* http://www.nxp.com/products/interface_and_connectivity/transceivers/can_transceivers/TJA1051T.html&lt;br /&gt;
&lt;br /&gt;
==== TJA1052i ====&lt;br /&gt;
* von NXP&lt;br /&gt;
* SO16&lt;br /&gt;
* Integrierte galvanische Trennung&lt;br /&gt;
&lt;br /&gt;
====ATA6660====&lt;br /&gt;
* ABGEKÜNDIGT, wird nicht mehr hergestellt.&lt;br /&gt;
* von Atmel&lt;br /&gt;
* SO8&lt;br /&gt;
* VCC = 4,75...5,25V&lt;br /&gt;
&lt;br /&gt;
====SN65HVD23x====&lt;br /&gt;
* von Texas Instruments (auch als Sample erhaeltlich)&lt;br /&gt;
* SO8&lt;br /&gt;
* VCC = 3,0V...3,6V&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt: SN65HVD230, SN65HVD231 (ca. 3,00 €)&lt;br /&gt;
Datenblatt:&lt;br /&gt;
*[http://www.ti.com/lit/gpn/sn65hvd230 SN65HVD230] &lt;br /&gt;
*[http://www.ti.com/lit/gpn/sn65hvd231 SN65HVD231]&lt;br /&gt;
&lt;br /&gt;
====MAX3051EKA/ESA====&lt;br /&gt;
* von Analog (fka Maxim)&lt;br /&gt;
* SOT23-8 und SO-8&lt;br /&gt;
* als SOT23 noch gut manuell zu verarbeiten, dabei relativ klein&lt;br /&gt;
* VCC = 3,3V, trotzdem voll kompatibel&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. Mouser, Digikey, LCSC&lt;br /&gt;
Datenblatt:&lt;br /&gt;
* https://www.analog.com/media/en/technical-documentation/data-sheets/max3051.pdf&lt;br /&gt;
&lt;br /&gt;
====HMT1040T====&lt;br /&gt;
* von Gatemode (asiatischer Hersteller)&lt;br /&gt;
* SO-8&lt;br /&gt;
* VCC = 5V&lt;br /&gt;
* Pin- und funktionskompatibel zu bekannten Brands&lt;br /&gt;
* Als nur ein Beispiel sehr günstiger asiatischer Hersteller (Xinluda, Chipanalog, ZHHXDZ, SIT)&lt;br /&gt;
* Preis 25ct Einzelstück, 20ct@50Stück&lt;br /&gt;
* erhältlich bei LCSC&lt;br /&gt;
Datenblatt:&lt;br /&gt;
* https://www.lcsc.com/datasheet/lcsc_datasheet_2402021513_GATEMODE-HMT1040T_C20415565.pdf&lt;br /&gt;
&lt;br /&gt;
=== Fault-Tolerant / Low-Speed ===&lt;br /&gt;
&lt;br /&gt;
==== TJA1055 ====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* bis 125 &amp;quot;kBaud&amp;quot;&lt;br /&gt;
* SO14&lt;br /&gt;
* TJA1055/3 unterstützt 3V interfaces&lt;br /&gt;
* 6kV ESD Schutz&lt;br /&gt;
* abgekündigt: ähnliche Funktionen, gleicher Hersteller: TJA1053, TJA1054&lt;br /&gt;
&lt;br /&gt;
==== UJA1061 ====&lt;br /&gt;
* NXP&lt;br /&gt;
* System Base Chip (SBC)&lt;br /&gt;
* TSSOP 32-Pin&lt;br /&gt;
* Serial Interface (SPI)&lt;br /&gt;
* Spannungsregler  3.3 V oder 5.0 V (LDO)&lt;br /&gt;
* 6kV ESD Schutz&lt;br /&gt;
&lt;br /&gt;
==== L4969 ====&lt;br /&gt;
* ST Microelectronics&lt;br /&gt;
* System Base Chip (SBC)&lt;br /&gt;
* SO20&lt;br /&gt;
* Serial Interface (SPI)&lt;br /&gt;
* Spannungsregler (LDO)&lt;br /&gt;
&lt;br /&gt;
==== MC33889 ====&lt;br /&gt;
* Motorola Freescale&lt;br /&gt;
* System Base Chip (SBC)&lt;br /&gt;
* SO28&lt;br /&gt;
* Serial Interface (SPI)&lt;br /&gt;
* Spannungsregler (LDO)&lt;br /&gt;
&lt;br /&gt;
== CAN Repeater ==&lt;br /&gt;
&lt;br /&gt;
==== AMIS-42700 ====&lt;br /&gt;
* Dual High-Speed CAN Transceiver&lt;br /&gt;
* High speed (up to 1Mbit/s)&lt;br /&gt;
* SOIC-20&lt;br /&gt;
* vgl. http://www.mikrocontroller.net/topic/53799&lt;br /&gt;
&lt;br /&gt;
==== Alternative ====&lt;br /&gt;
* zwei Transceiver&lt;br /&gt;
* [http://www.mikrocontroller.net/attachment/9353/CANREPEATER.JPG Schaltung]&lt;br /&gt;
* Anmerkung: Diese Schaltung ist Quatsch und funktioniert nicht.&lt;br /&gt;
* -Zum Senden eines Zeichen, muss beim CAN paralell auf dem Bus gelesen werden.&lt;br /&gt;
  -Die TRansceiver tun dies nicht, mach nur der Controller.&lt;br /&gt;
  -Die gelesene Nachricht muss also durch einen Controller erneut gesendet werden, wenn der Bus frei ist...&lt;br /&gt;
* Anmerkung: Die letzte Anmerkung ist Quatsch. Die Schaltung funktioniert in einem realen Projekt einwandfrei. Das tut es, weil die Kollisionen, auf die hier angespielt wird, durch die Schaltung auf das Segment des sendenden Controllers zurückgemeldet werden, dieser die Kollision also erkennt und die Sendung ggfs abbricht. Allerdings wird durch die zusätzliche Latenz die maximale Buslänge deutlich reduziert. In dem erwähnten Projekt war der Bus auch nur etwa 2m lang.&lt;br /&gt;
* Funktioniert NICHT (getestet in einem realen Projekt). Warum es nicht funktionieren kann steht z.B. hier: http://www.mikrocontroller.net/topic/106674&lt;br /&gt;
&lt;br /&gt;
==== CAN ISO 11898-2 Repeater - CAN Bus Hub ====&lt;br /&gt;
* https://github.com/sco3149/can-hub&lt;br /&gt;
&lt;br /&gt;
==SLIO-CAN==&lt;br /&gt;
&lt;br /&gt;
Preisgünstigste Bausteine sind die Serial Linked I/O Bausteine (SLIO). Diese Bausteine ermöglichen den Aufbau von Ein- und Ausgabeknoten ohne lokalen Prozessor. Auf der Basis dieser Bausteine lässt sich eine dezentrale Signal-Ein-Ausgabe mit minimalem Kostenaufwand realisieren.&lt;br /&gt;
&lt;br /&gt;
=== Philips P82C150===&lt;br /&gt;
* Single-Chip-I/O-Einheit mit integriertem CAN-Controller&lt;br /&gt;
* mögliche Busdatenrate 20kBd bis 125kBd&lt;br /&gt;
* interner RC-Oszillator wird durch den Bitstrom auf den Bus synchronisiert&lt;br /&gt;
* Kalibrierungsnachricht alle 8000 Bitzeiten erforderlich&lt;br /&gt;
** 4-Bit des Identifiers über Port-Pins einstellbar &lt;br /&gt;
* maximal 16 P82C150 in einem CAN-Segment&lt;br /&gt;
** 16 Port-Pins mit unterschiedlichen Konfigurationsmöglichkeiten&lt;br /&gt;
*** 16 mal als digitale Eingänge&lt;br /&gt;
*** 16 mal als digitale Ausgänge&lt;br /&gt;
*** 2 mal als analoger Ausgang ( 10-Bit, DPM )&lt;br /&gt;
*** 6 mal als analoger Eingang ( 10-Bit, multiplex )&lt;br /&gt;
*** 2 mal als Komparator &lt;br /&gt;
&lt;br /&gt;
* [http://www.htw-dresden.de/fe/labor/mikror/projects/slio_can/ slio-CAN]&lt;br /&gt;
&lt;br /&gt;
Anmerkung: Philips stellt die SLIO nicht mehr her! Es ist auch &amp;quot;nichts&amp;quot; mehr am Markt beschaffbar, wenn, dann zu horrenden Preisen (um die 60,-EUR/Stück zur Zeit). --[[Benutzer:OldBug|Patrick]] 09:08, 25. Jan 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===DS 36001M===&lt;br /&gt;
&#039;&#039;&#039;Obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===MCP2502X/5X===&lt;br /&gt;
&lt;br /&gt;
CAN-IO Erweiterung. Braucht praktisch nur noch Quarz und Transciever. Preise ab 3€&lt;br /&gt;
* bis zu 8 digitale IOs &lt;br /&gt;
* bis zu 2 PWM, 10 Bit&lt;br /&gt;
* bis zu 4 ADC, 10 Bit, externe Ref.&lt;br /&gt;
* SLEEP-Mode etc.&lt;br /&gt;
&lt;br /&gt;
[http://ww1.microchip.com/downloads/en/devicedoc/21664c.pdf Datenblatt]&lt;br /&gt;
&lt;br /&gt;
==USB CAN Bridge==&lt;br /&gt;
&lt;br /&gt;
Neben der Möglichkeit mit CANable, CANdlelight, Klipper usw. einen eigenen USB-to-CAN Umsetzer zu bauen &lt;br /&gt;
gibt es auch ein fertiges IC von Holtek&lt;br /&gt;
&lt;br /&gt;
===Holtek HT42B536-1===&lt;br /&gt;
&lt;br /&gt;
* Leider benötigt das IC &lt;br /&gt;
** Zwei Betriebsspannungen 3,3V und 5,0V&lt;br /&gt;
** Einen eigenen Quarz für den CAN-Controller (STM32F0-Projekte können auf USB-Takt synchronisieren)&lt;br /&gt;
* Trotzdem interessant, da es nicht mehr programmiert werden muss. &lt;br /&gt;
* LAWICEL (SLCAN) Befehlssatz, daher hohe Kompatibilität zu bekannten Programmen (ungetestet)&lt;br /&gt;
* Sollte unter Linux als SLCAN direkt einbindbar sein (ungetestet)&lt;br /&gt;
&lt;br /&gt;
https://www.holtek.com/page/vg/HT42B536-1&lt;br /&gt;
&lt;br /&gt;
== Verkabelung ==&lt;br /&gt;
* auf beidseitige Busterminierung achten (typisch 2x 120Ω bei &amp;quot;high-speed&amp;quot;)&lt;br /&gt;
* Standardbelegung für diverse Steckverbindungen vgl. [http://www.can-cia.de/index.php?id=440 CANOpen-Dokumentation (CiA 303-1)];  erfordert Anmeldung&lt;br /&gt;
* Schaltplan für galvanische Trennung z.&amp;amp;nbsp;B. nach Datenblatt des PCA82C250&lt;br /&gt;
* für einfache Testaufbauten über sehr kurze Strecken oder &amp;quot;on-board-CAN&amp;quot; kann auf die Bustreiber verzichtet werden (vgl. Siemens Application-Note [http://www.mikrocontroller.net/attachment/28831/siemens_AP2921.pdf AP2921])&lt;br /&gt;
&lt;br /&gt;
Es gibt auch CAN mit &lt;br /&gt;
* einpoliger unsymmetrischer Verbindung (SAE J2411 single wire)&lt;br /&gt;
* optischer Verbindung (Faser, Glasfaser)&lt;br /&gt;
&lt;br /&gt;
Für einfache Tests genügt auch eine direkte wired-and-Verbindung ohne Treiber:&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/42105#317085 Forumsbeitrag]: CAN übertragung brich ca. nach 10 sek ab&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Hersteller von Debug-Geräten&lt;br /&gt;
* Vector-Informatik CANscope (Pegeltester) http://www.vector-informatik.de/deutsch/  - ca. 3300EUR&lt;br /&gt;
* Gemac CBT (CanBusTester) testet auch Pegel, Reflexionen ... (Treiber etc. etwas ältlich, von 2002, was ist mit Weiterentwicklung?), auch leihweise http://www.gemac-chemnitz.de/pages/d_html/produkte/bus-tester/new-de-can-bust.html http://www.brandt-data.de/canbus/can_intro.html  - ca. 2400EUR&lt;br /&gt;
 &amp;gt;&amp;gt; CBT wurde weiterentwickelt zum CBT2 (2007) bzw. CANtouch (2014) https://gemac-fieldbus.com&lt;br /&gt;
* ixxat bietet ebenfalls den Gemac-cbt an, auch leihweise&lt;br /&gt;
*QCANObserver http://qcanobserver.sourceforge.net/ CAN Debugger mit ähnlichen Fähigkeiten. Derzeit läuft die Entwicklung nur noch unter Linux. Freie Software (GPL)&lt;br /&gt;
&lt;br /&gt;
Oszilloskope mit CAN-Analyse (manche auch SPI, LIN, RS232, SATA ...):&lt;br /&gt;
* LeCroy WaveRunner 6040 wird mit Vector-CANcaseXL (externer CAN-Trigger) geliefert (sehr gut, ab ca.9000 EUR)&lt;br /&gt;
* LeCroy WaveSurfer 424 wird mit Vector-CANcaseXL (externer CAN-Trigger) geliefert (sehr gut, ab ca.8000 EUR)&lt;br /&gt;
* Yokogawa DL1640 und DL9040 (CAN-Trigger ist intern)  ähnliche Preise wie LeCroy, Bedienung gewöhnungsbedürftig, geht mit etwas Übung besser&lt;br /&gt;
* Tektronix&lt;br /&gt;
* HP / Agilent&lt;br /&gt;
* LogicPort http://www.pctestinstruments.com/&lt;br /&gt;
* Saleae Logic http://www.saleae.com/logic/ (kostet nur 149$; Professoren an Universitäten und Hochschulen können ein Gerät/Person kostenlos erhalten (auf Anfrage))&lt;br /&gt;
* Scanalogic-2 Logikanalysator und Signalgenerator http://www.exp-tech.de/Hacking---Measurement/Scanalogic-2-Logikanalysator-Signalgenerator.html (kostet nur ~60€)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Triggermöglichkeiten: SOF, CAN-ID, CAN-Data, ErrorFrame, RTR, Ack, NoAck  - alle verknüpfbar (gleich ungleich kleiner größer inRange outofRange)&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
&lt;br /&gt;
==Intern==&lt;br /&gt;
* [[CAN als Hausbus]]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/568845#7876672 Forumsbeitrag]: Leicht verbesserte CAN Bibliothek vom Kreativen Chaos&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/572263#7763887 Forumsbeitrag]: Wie ich vor 40 Jahren ein eigenes &amp;quot;Canbus&amp;quot; baute, ([https://www.mikrocontroller.net/topic/572263#7765495 Schaltplan])&lt;br /&gt;
&lt;br /&gt;
==Allgemein==&lt;br /&gt;
* [http://can-wiki.info CAN-WIKI] - spezielle Wiki Site für CAN bus (Englisch)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Controller_Area_Network Wikipedia - CAN]&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/CAN-Bus/can-bus.html Grundlagen zum CAN-Bus] - Kurze Zusammenfassung der Funktionsweise und Einsatzmöglichkeiten vom CAN-Bus&lt;br /&gt;
* [http://www.canbus.cz CAN] - Controller_Area_Network (Czech)&lt;br /&gt;
* [http://www.embedded.com/design/prototyping-and-development/4008824/CAN-in-30-minutes-or-less CAN in 30 minutes or less] by Hassane El-Khoury at www.embedded.com&lt;br /&gt;
* [http://elearning.vector.com/vl_can_introduction_de.html Einführung in CAN] - kostenloses E-Learning Angebot&lt;br /&gt;
&lt;br /&gt;
===Testboards===&lt;br /&gt;
&lt;br /&gt;
*[http://www.jtronics.de/platinen.html  AT90CAN Testboard by www.jtronics.de (aktualisiert 2010)]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/176804  universal Testboard - CAN RS232 SPI I2C ]&lt;br /&gt;
*[http://www.kreatives-chaos.com/artikel/can-testboard  ATmega8 CAN Testboard und  MCP2515 Tutorial]&lt;br /&gt;
*[http://thinkembedded.ch/_Hersteller/Olimex/AVR-CAN::41.html Olimex AVR-CAN mit AT90CAN128]&lt;br /&gt;
&lt;br /&gt;
===Dongles===&lt;br /&gt;
&lt;br /&gt;
==== Selbstbau Projekte ====&lt;br /&gt;
*[http://cryptomys.de/horo/CAN200/ Can200 Linux Project von Martin Homuth-Rosemann] CAN Businterface am Parallelport (LPT). Mit SJA1000.&lt;br /&gt;
*[http://www.mictronics.de/projects/usb-can-bus/ USB&amp;lt;&amp;gt;CAN Bus Interface mit AVR ATmega162] Open Source. Mit ATmega162, FT245 und SJA1000.&lt;br /&gt;
*[http://www.oschmid.ch/mt/can-hub/can-hub.php CAN Bus HUB]&lt;br /&gt;
*[http://martinsuniverse.de/projekte/caninterceptor/caninterceptor.html CAN-Interceptor von Martin S.] Mit R8C/23 und FT232R.&lt;br /&gt;
* [http://www.fischl.de/usbtin/ USBtin - Simple USB to CAN interface von Thomas Fischl] Mit PIC18F14K50 und MCP2515. Bausatz verfügbar (24,50 EUR).&lt;br /&gt;
&lt;br /&gt;
==== Fertiggeräte ====&lt;br /&gt;
*[http://www.mhs-elektronik.de/tiny_can.html Tiny-CAN USB-CAN-Adapter von MHS-Elektronik] Ab 60,- EUR. Open Source CAN-Monitor für Windows und Linux.&lt;br /&gt;
*[http://www.cantronik.com/ CANvu - CAN-Display-Produkte von CANtronik]&lt;br /&gt;
*[http://www.kopfweb.de/automobiltechnik.html CAN/LIN nach USB Adapter von KOPF GmbH] Ab 320,- EUR&lt;br /&gt;
*[http://www.ixxat.de/overview-pc-can-interface-board_de.html PC/CAN-Interfaces von IXXAT Automation GmbH] ca. 200 EUR&lt;br /&gt;
*[http://www.peak-system.com/Hardware-Liste.90+M5bc66b17d2f.0.html?&amp;amp;tx_commerce_pi1 CAN-Interfaces von Peak-System]  Ca. 200 EUR&lt;br /&gt;
*[http://www.ems-wuensche.com/product/datasheet/html/can-usb-adapter-converter-interface-cpcusb.html USB to CAN Bus Interface von EMS Dr. Thomas Wünsche]  Ca. 180 EUR&lt;br /&gt;
*[http://www.systec-electronic.com/html/index.pl/en_product_can_interfaces  USB-CANmodul Serie von SYS TEC electronic] mit Unterstützung von 1, 2, 8, oder 16 CAN Kanälen (ab 129,- EUR)&lt;br /&gt;
*[http://www.8devices.com/product/2/usb2can USB2CAN USB to CAN bus galvanic isolated converter von 8devices] Ab 65,- EUR. Open source interface DLL and software.&lt;br /&gt;
*[http://www.canusb.com/ canusb USB&amp;lt;&amp;gt;CAN über V24-Treiber] und [http://www.can232.com/  RS232/V24&amp;lt;&amp;gt;CAN Bus Interface] von Lawicel.&lt;br /&gt;
**[http://www.canusb.com/projects.htm Freie Software für canusb]&lt;br /&gt;
**[http://www.canviausb.com Weitere CAN BUS Monitor Software für canusb]&lt;br /&gt;
*[http://www.port.de/pages/products/can/canopen/hardware/ethercan.php?lang=en CAN-LAN-Bridge von PORT] mit ARM und Linux&lt;br /&gt;
*[https://www.anagate.de/products/can-ethernet-gateways.php CAN/CAN-FD Ethernet Gateways von AnaGate] Professionelle LAN-Adapter mit Linux System mit 2 bis 16 CAN/CAN-FD-Ports (Shop)&lt;br /&gt;
*[http://www.rs.canlab.cz/?q=en/node/69 PP2CAN LPT-CAN Interface], [http://www.rs.canlab.cz/?q=en/node/67 CAN2MMC Datenlogger] (CAN,RS232-GPS) und [http://www.rs.canlab.cz/?q=en/node/68 USB2CAN USB2CAN USB-CAN Interface] 80 EUR von CANLAB&lt;br /&gt;
*[http://www.canhack.de/viewtopic.php?t=137 CANHACK CANUSB Interface] High Speed CAN + OBD2 inkl. KCANMonitor. DLL/Programmierschnittstelle für eigene Anwendungen.&lt;br /&gt;
*[http://www.visionsystems.de/can-bus-adapters.html CAN Bus Adapters] ab 89,-€ von [http://www.vscom.de/ VSCOM ]&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
*[http://rbei-etas.github.com/busmaster/ BUSMASTER - Open Source CAN-Bus Analyzer von ETAS/BOSCH]&lt;br /&gt;
*[http://www.canviausb.com CAN Monitor für Lawicel CANUSB, Zanthic CAN-4-USB-FX/MCP2515 und MHS-Elektronik Tiny-CAN] &lt;br /&gt;
*[http://canhack.de/viewtopic.php?f=25&amp;amp;t=135 CAN Monitor und Tracer für Peak USB, Lawicel CANUSB+CAN232 und kompatible]&lt;br /&gt;
*[http://www.mhs-elektronik.de/tiny_can.html GNU – Open Source CAN Monitor, Makro und Filter Funktion, Plugin fähig, unter GTK+ entwickelt]&lt;br /&gt;
* [http://www.wireshark.org wireshark - Netzwerk Protokoll Analyse Tool, unterstützt via socket-CAN CAN und CANopen]&lt;br /&gt;
&lt;br /&gt;
===Tools===&lt;br /&gt;
*[http://www.mhs-elektronik.de/userdata/downloads/BitCalc.zip CAN-Bus Bit-Timing Kalkulator, unterstützt diverse Mikrocontroller, z.B. Atmel, STM32, Microchip, Renesas, ...]&lt;br /&gt;
&lt;br /&gt;
===Protokolle===&lt;br /&gt;
====CANopen====&lt;br /&gt;
&lt;br /&gt;
*[http://canopen.sourceforge.net/index.html CANopen free software resource center]&lt;br /&gt;
*[http://www.canopen-solutions.com/canopen_caneds_de.html Kostenloser Editor für CANopen EDS-Dateien von Vector]&lt;br /&gt;
*[http://developer.berlios.de/projects/socketcan Official Linux CAN interface]&lt;br /&gt;
*[https://github.com/sebi2k1/restcan Javascript interface to SocketCAN with signal processing (in progress)]&lt;br /&gt;
*[http://www.etas.com/de/products/applications_open_source.php BUSMASTER]&lt;br /&gt;
&lt;br /&gt;
[[Category:CAN| ]]&lt;br /&gt;
[[Kategorie:Bauteile]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=CAN&amp;diff=107894</id>
		<title>CAN</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=CAN&amp;diff=107894"/>
		<updated>2026-02-19T16:35:11Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Intern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;C&#039;&#039;&#039;ontroller &#039;&#039;&#039;A&#039;&#039;&#039;rea &#039;&#039;&#039;N&#039;&#039;&#039;etwork - Ein von Bosch entwickeltes, echtzeitfähiges Bussystem für den Automobilbereich, welches u.a. auch Anwendung in der Automatisierungstechnik findet.&lt;br /&gt;
&lt;br /&gt;
==Mikrocontroller mit CAN==&lt;br /&gt;
&lt;br /&gt;
=== Atmel AVR===&lt;br /&gt;
&lt;br /&gt;
==== AT90CAN ====&lt;br /&gt;
* Atmel AVR Controller mit CAN-Schnittstelle (ein Kanal)&lt;br /&gt;
* Speicher: (FLASH,EEPROM,RAM)&lt;br /&gt;
** AT90CAN32  -&amp;gt; 32KB 1KB 2KB&lt;br /&gt;
** AT90CAN64  -&amp;gt; 64KB 2KB 4KB&lt;br /&gt;
** AT90CAN128 -&amp;gt; 128KB 4KB 4KB&lt;br /&gt;
* 15 CAN &amp;quot;Message Objects&amp;quot;, jedes individuell konfigurierbar&lt;br /&gt;
* Bis auf den CAN controller weitestgehend identisch mit den nicht CAN Versionen (siehe [http://www.atmel.com/Images/doc4313.pdf AVR096])&lt;br /&gt;
* Beispielcode inkl. CAN für den IAR-C-Compiler findet sich bei atmel.com. Autobaud-Routinen in Assembler (etwas Aufwand bei der Portierung nach avr-gcc/avr-as).&lt;br /&gt;
* Dieser MC ist für nicht-gewerbliche Endanwender einzeln z.&amp;amp;nbsp;B. bei Reichelt, CSD und Segor erhältlich (ca. 9EUR). Beim Bestellen des MC sollte man einen CAN-BUS-Treiber gleich mitbestellen: z.&amp;amp;nbsp;B. Philips PCA82C250. Jedoch auf vorhandene Versorgungsspannungen achten (AT90CAN128 &amp;quot;kann mit&amp;quot; VCC=2,7...5,5V, PCA82C250 lt. Datenblatt für VCC=4,5...5V).&lt;br /&gt;
* CANopen software protocol stacks at http://www.port.de/Atmel.html&lt;br /&gt;
* Freier CANopen stack: http://www.canfestival.org/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Im Auslieferungszustand ist nur der interne RC-Oszillator aktiv (wie üblich bei allen modernen AVRs mit internem R/C-Oszillator vgl. [[AVR Checkliste]]). Umschalten auf externe Taktquelle über die AVR-Fusebits.&lt;br /&gt;
* Für die ISP-Programmierung schliesst man Ihn wie den ATmega128 an. MOSI-2 ; MISO-3 ; SCK-11 ; /Reset-20 ;  GND-22,53,63 ; Vcc-21,52,(62),(64). Auf die übliche &amp;quot;ATmega64/128-Problematik&amp;quot; achten: MISO/MOSI der Programmierschnittstelle sind nicht identisch mit der SPI-Schnittstelle.&lt;br /&gt;
[gehört nicht in den &amp;quot;CAN Artikel&amp;quot;] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * die aktuelle Hardware-Version (Stand 4/2005) hat einen &amp;quot;silicon bug&amp;quot; (Hardwarefehler, vgl. avrfreaks-Forum): Liegt der Stack im &#039;&#039;externen&#039;&#039; RAM, führt dies zu Fehlern in der Stackverwaltung (push/pop/rcall etc.). Details in aktuellen Fassungen des Datenblatts. Abhilfe/Workaround: Stack im internen RAM (&amp;lt;0x1001) verwalten. Dies ist ohnehin sinnvoll, da der Stackzugriff dann schneller ist.&lt;br /&gt;
[nicht mehr aktuell und errata ist immer zu beachten] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- *Als Programmieradapter braucht man einen, der eine gewisse Intelligenz beinhaltet. Vergebens waren auch bei mir die Versuche,   mit dem &#039;Kanda&#039;-Dongle vom STK200-Board und ähnliche Nachbauten.  -&amp;gt; www.mikrocontroller-projekte.de [- Einzeltest mit Stickprobenumfang 1 - sollte schon funktionieren, auskommentiert bis nochmals belegt - mt] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ATmega16M1/32M1/64M1 ====&lt;br /&gt;
* modernisierte Version der AT90CAN128 Serie inkl. LIN, PSC und DAC&lt;br /&gt;
* not sampled&lt;br /&gt;
&lt;br /&gt;
==== AT32UC3C ====&lt;br /&gt;
* 32bit AVR mit zwei CAN controllern&lt;br /&gt;
* bis zu 512k flash, 64k RAM&lt;br /&gt;
* DMA, USB, Ethernet MAC, 2Msmps 12bit ADC, 12bit DAC&lt;br /&gt;
&lt;br /&gt;
=== Atmel ARM ===&lt;br /&gt;
&lt;br /&gt;
==== AT91SAM7X ====&lt;br /&gt;
* ARM7TDMI-Kern mit einem CAN controller&lt;br /&gt;
* bis 512k flash und 128k RAM&lt;br /&gt;
&lt;br /&gt;
==== AT91SAM9X ====&lt;br /&gt;
* ARM926-Kern mit zwei CAN controllern&lt;br /&gt;
* kein onboard flash&lt;br /&gt;
* 32k RAM aber DDR2 support&lt;br /&gt;
&lt;br /&gt;
==== AT91SAM3A ====&lt;br /&gt;
* Cortex M3-Kern mit zwei CAN controllern&lt;br /&gt;
* bis zu 512k flash und 96k RAM&lt;br /&gt;
&lt;br /&gt;
==== AT91SAM3X ====&lt;br /&gt;
* Cortex M3-Kern mit zwei CAN controllern&lt;br /&gt;
* bis zu 512k flash und 96k RAM&lt;br /&gt;
&lt;br /&gt;
=== Luminary Micro Stellaris LM3S8xxx ===&lt;br /&gt;
* ARM Cortex-M3&lt;br /&gt;
* bis 64kByte RAM und 256kByte Flash&lt;br /&gt;
* CAN und Ethernet&lt;br /&gt;
&lt;br /&gt;
=== Microchip PIC18Fxx8 PIC18Fxx8x ===&lt;br /&gt;
* Mikrocontroller mit CAN Schnittstelle&lt;br /&gt;
* [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=50&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 Herstellerseite]&lt;br /&gt;
&lt;br /&gt;
=== Mitsubishi / Renesas R8C / M16C / M32C ===&lt;br /&gt;
&lt;br /&gt;
R8C/23, M16C/6Nx&lt;br /&gt;
&lt;br /&gt;
=== Motorola / Freescale DSP56F8xx ===&lt;br /&gt;
* Clock des CAN-Moduls von PLL speisen, nicht von XTAL, sonst gibt es sporadische Aussetzer&lt;br /&gt;
* Bei hohen Datenraten ist es notwendig die CAN-TX-Leitung vom Controller mit einem PullUp-Widerstand zu beschalten. Sonst stimmt das Bit-Timing nicht, weil die Anstiegszeit des TX-Signals zu schlecht ist.&lt;br /&gt;
&lt;br /&gt;
=== Freescale MC9S08 ===&lt;br /&gt;
* D Serie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Freescale MC9S12 ===&lt;br /&gt;
* B, C, D, G und H Serie&lt;br /&gt;
&lt;br /&gt;
=== NXP LPC11CXX ===&lt;br /&gt;
* 32-bit ARM Cortex-M0&lt;br /&gt;
* LPC11C12 16KB flash, 8KB SRAM, 1x C_CAN&lt;br /&gt;
* LPC11C14 32KB flash, 8KB SRAM, 1x C_CAN&lt;br /&gt;
* LPC11C22 16KB flash, 8KB SRAM, 1x C_CAN, on-chip CAN transceiver&lt;br /&gt;
* LPC11C24 32KB flash, 8KB SRAM, 1x C_CAN, on-chip CAN transceiver&lt;br /&gt;
* Herstellerseite: [http://ics.nxp.com/products/lpc1000/lpc1100/lpc11cxx/]&lt;br /&gt;
&lt;br /&gt;
=== NXP LPC175X LPC176X ===&lt;br /&gt;
* Mikrocontroller mit Cortex-M3 Kern.&lt;br /&gt;
* 1 - 2 CAN Schnittstellen&lt;br /&gt;
* Herstellerseite: [http://ics.nxp.com/products/lpc1000/lpc17xx/ Philips Semiconductors]&lt;br /&gt;
&lt;br /&gt;
=== NXP (ex. Philips) LPC2129 LPC2194 LPC2290 LPC2292 LPC2294 ===&lt;br /&gt;
* Mikrocontroller mit ARM7TDMI-S-Kern (vgl. [[LPC2000 Philips ARM7TDMI-Familie]])&lt;br /&gt;
* 2 - 4 CAN Schnittstellen&lt;br /&gt;
* CAN-Modul angelehnt an Philips SJA1000 (aber mit recht langer und deftig gewürzter Bug-Liste)&lt;br /&gt;
* Herstellerseite: [http://www.nxp.com Philips Semiconductors]&lt;br /&gt;
* LPC2194 erhältlich bei http://www.microcontroller-starterkits.de und http://de.digikey.com/&lt;br /&gt;
* CANopen software protocol stacks at [http://www.port.de/Philips.html]&lt;br /&gt;
&lt;br /&gt;
=== NXP LPC23xx ===&lt;br /&gt;
* Mikrocontroller mit ARM7TDMI-S-Kern (vgl. [[LPC2000 Philips ARM7TDMI-Familie]])&lt;br /&gt;
* 2 CAN Schnittstellen&lt;br /&gt;
&lt;br /&gt;
=== NXP P80C591 P80C592 P80C598 ===&lt;br /&gt;
* 8-Bit Mikrocontroller mit 8051-Kern&lt;br /&gt;
* P80C591 ist neuer und beherrscht CAN2.0B&lt;br /&gt;
* P80C592: CAN2.0A, P80C598 ist die Automotive-Version vom &#039;592&lt;br /&gt;
&lt;br /&gt;
=== Silicon Labs C8051F04X C8051F06X C8051F5XX ===&lt;br /&gt;
*  8-Bit Mikrocontroller mit 8051-Kern&lt;br /&gt;
*  16K - 128K Flash, 2304 - 8448 RAM&lt;br /&gt;
*  LIN 2.1&lt;br /&gt;
*  25-50 MIPS&lt;br /&gt;
*  bis 5x5 QFN&lt;br /&gt;
&lt;br /&gt;
=== STMicroelectronics STM8S20  ===&lt;br /&gt;
* STM8 Kern [http://www.st.com/stonline/products/literature/ds/14733/stm8s208c6.pdf] DIV/MUL -Befehle &lt;br /&gt;
* SPI mit automatischer CRC Berechnung&lt;br /&gt;
* 1 beCAN Schnittstelle CAN2.0B &lt;br /&gt;
* sehr preiswert (128 kFlash/6K RAM ) 3,30 bis 4,80 &amp;amp;#8364; ([http://search.digikey.com/scripts/DkSearch/dksus.dll?vendor=0&amp;amp;keywords=CAN+STM8]  aber SMD LQFP &lt;br /&gt;
&lt;br /&gt;
=== STMicroelectronics STR730 STR750 ===&lt;br /&gt;
* ARM7TDMI-Kern&lt;br /&gt;
* 1-3 CAN Schnittstellen&lt;br /&gt;
&lt;br /&gt;
=== STMicroelectronics STR910FM32, STR910FW32, STR911FM42, STR911FM44, STR912FW42, STR912FW44 ===&lt;br /&gt;
* 96MHz ARM966E-S CPU Kern&lt;br /&gt;
&lt;br /&gt;
=== [[STM32|STM32 (Cortex M0/M3/M4)]] ===&lt;br /&gt;
Cortex M0 Core&lt;br /&gt;
 - [http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1574 STM32 F0 series of entry-level MCUs]&lt;br /&gt;
* STM32F042   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F072   : 1 CAN Schnittstelle&lt;br /&gt;
Cortex M3 Core&lt;br /&gt;
 - [http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1031 STM32 F1 series of mainstream MCUs]&lt;br /&gt;
* STM32F103   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F105   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F107   : 2 CAN Schnittstellen&lt;br /&gt;
 - [http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1575 STM32 F2 series of high-performance MCUs]&lt;br /&gt;
* STM32F205   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F207   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F215   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F217   : 2 CAN Schnittstellen&lt;br /&gt;
Cortex M4F Core&lt;br /&gt;
 - [http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1576 STM32 F3 series of mixed-signal MCUs with DSP and FPU instructions]&lt;br /&gt;
* STM32F302   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F373   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F383   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F303   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F313   : 1 CAN Schnittstelle&lt;br /&gt;
 - [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1577 STM32 F4 series of high-performance MCUs with DSP and FPU instructions]&lt;br /&gt;
* STM32F405   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F415   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F407   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F417   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F427   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F437   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F429   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F439   : 2 CAN Schnittstellen&lt;br /&gt;
&lt;br /&gt;
=== TI TMS470 ===&lt;br /&gt;
* ARM7TDMI-Kern&lt;br /&gt;
&lt;br /&gt;
=== Toshiba TLCS-870/C ===&lt;br /&gt;
&lt;br /&gt;
==CAN Controller==&lt;br /&gt;
&lt;br /&gt;
===MCP2515 ===&lt;br /&gt;
CAN-Controller von Microchip&lt;br /&gt;
* [[SPI]] &lt;br /&gt;
* 2 Empfangs- und 3 Sendepuffer jeweils individuell konfigurierbar (ID, Masken/Filter etc.)&lt;br /&gt;
* ein gemeinsamer Interruptpin&lt;br /&gt;
* ein Interruptpin pro Empfangspuffer, umkonfigurierbar als allgmeiner Ausgang&lt;br /&gt;
* ein Triggerpin pro Sendepuffer, umkonfigurierbar als allgemeiner Eingang&lt;br /&gt;
* Stromsparmodus&lt;br /&gt;
* auch für 3,3V-Betrieb geeignet.&lt;br /&gt;
* Diverse C- und Assembler Beispielcodes verfügbar (z.&amp;amp;nbsp;B. bei microchip.com und kvaser, Assembler meist für PICs). Auch Software für Direktanschluss an die parallele Schnittstelle eines PC verfügbar (&amp;quot;bit-bang Interface&amp;quot;).&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt (ca. 2&amp;amp;#8364;)&lt;br /&gt;
&lt;br /&gt;
====Links====&lt;br /&gt;
*[http://www.kreatives-chaos.com/index.php?seite=mcp2515 Ansteuerung eines MCP2515 in C]&lt;br /&gt;
*[http://mcp2510btc.berlios.de/ Bit Timing Calculator für Linux]&lt;br /&gt;
*[https://www.opendcc.de/info/eagle/eagle_libs.html Eagle Bauteil]&lt;br /&gt;
&lt;br /&gt;
===SJA1000===&lt;br /&gt;
CAN-Controller von Philips&lt;br /&gt;
* Parallele Schnittstelle mit ca. 12 Leitungen&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt (ca. 4 Euro)&lt;br /&gt;
&lt;br /&gt;
===AN82526===&lt;br /&gt;
CAN-Controller von Intel (entwickelt von Bosch)&lt;br /&gt;
* Vorgänger des AN82527&lt;br /&gt;
&lt;br /&gt;
===AN82527===&lt;br /&gt;
CAN-Controller von Intel (entwickelt von Bosch)&lt;br /&gt;
* Nachfolger des AN82526&lt;br /&gt;
* parallele Schnittstelle und [[SPI]]&lt;br /&gt;
* 8- oder 16-Bit Multiplex Bus oder 8-Bit Non-Multiplexed Bus&lt;br /&gt;
* 14 Tx/Rx Puffer&lt;br /&gt;
* bis zu 16 IO-Pins (je nach Controlleranbindung)&lt;br /&gt;
* Wird nicht mehr hergestellt&lt;br /&gt;
&lt;br /&gt;
===Bosch CC170 / CC750 / CC770===&lt;br /&gt;
* kompatibel zum AN82527&lt;br /&gt;
* mehr Debug-Register&lt;br /&gt;
* CC750 im SOIC16-W Gehäuse ohne Parallel-Interface, nur SPI&lt;br /&gt;
* erhältlich bei Rutronik (ca. 8 Euro)&lt;br /&gt;
&lt;br /&gt;
===SAE81C9x===&lt;br /&gt;
* SPI und Busanschluss möglich&lt;br /&gt;
* PLCC44 und PLCC28, letzteres allerdings in ungebräuchlicher Bauform&lt;br /&gt;
* Nur CAN 2.0A, beherrscht also keine Extended IDs.&lt;br /&gt;
* 2004 von infineon abgekündigt, ohne Nachfolgeprodukt&lt;br /&gt;
&lt;br /&gt;
==Bustreiber (CAN-Transceiver)==&lt;br /&gt;
&lt;br /&gt;
=== High-Speed ===&lt;br /&gt;
&lt;br /&gt;
====MCP2551====&lt;br /&gt;
* von Microchip&lt;br /&gt;
* PDIP8 und SOIC&lt;br /&gt;
* VCC = 4,5...5,5V&lt;br /&gt;
* kostet rund 1&amp;amp;#8364;&lt;br /&gt;
* [http://ww1.microchip.com/downloads/en/DeviceDoc/21667f.pdf Datenblatt]&lt;br /&gt;
* [https://www.opendcc.de/info/eagle/eagle_libs.html Eagle-Lib]&lt;br /&gt;
&lt;br /&gt;
====PCA 82C250====&lt;br /&gt;
* &amp;lt;s&amp;gt;ABGEKÜNDIGT!&amp;lt;/s&amp;gt; In Produktion: [http://www.nxp.com/products/interface-and-connectivity/wired-connectivity/can-lin-flexray-transceivers/can-transceivers/can-controller-interface:PCA82C250T?&amp;amp;cof=0&amp;amp;am=0&amp;amp;tab=Buy_Parametric_Tab&amp;amp;fpsp=1 NXP Orderlist]&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* PDIP8 und SO8&lt;br /&gt;
* VCC = 4,5...5,5V&lt;br /&gt;
* V-CAN: -8V..+18V   -&amp;gt; &amp;quot;TTL-kompatible&amp;quot; Bus-Spannung&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt (ca. 1,00&amp;amp;#8364;)&lt;br /&gt;
&lt;br /&gt;
====PCA 82C251====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* PDIP8 und SO8&lt;br /&gt;
* VCC = 4,5...5,5V&lt;br /&gt;
* V-CAN: -40V..+40V   -&amp;gt; +24V Bus-Spannung&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt (ca. 1,50&amp;amp;#8364;)&lt;br /&gt;
&lt;br /&gt;
====TJA 1041====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* SO14&lt;br /&gt;
* VCC = 4,75...5,25V&lt;br /&gt;
* Standby, Sleepmode&lt;br /&gt;
* 1 MBit/s&lt;br /&gt;
* -27..+40V&lt;br /&gt;
* Automatische Einstellung der I/O Pegel&lt;br /&gt;
* Erweiterte Diagnosefunktionen&lt;br /&gt;
* &amp;quot;Listen only&amp;quot;-Mode&lt;br /&gt;
* 2. Generation&lt;br /&gt;
* http://www.nxp.com/documents/data_sheet/TJA1041A.pdf&lt;br /&gt;
&lt;br /&gt;
====TJA 1042====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* SO8&lt;br /&gt;
* VCC = 4,5...5,5V auch als 3V I/O Version&lt;br /&gt;
* Standby&lt;br /&gt;
* -27..+40V&lt;br /&gt;
* +-8kV ESD, verträgt dauerhaft +-58V auf den CAN-BUS&lt;br /&gt;
* 3. Generation (bessere EMC und EMI Daten)&lt;br /&gt;
* http://www.nxp.com/documents/data_sheet/TJA1042.pdf&lt;br /&gt;
&lt;br /&gt;
====TJA 1043====&lt;br /&gt;
* wie TJA1041 (bessere EMC, ESD Eigenschaften und geringerer Ruhestrom)&lt;br /&gt;
* SO14&lt;br /&gt;
* Standby, Sleepmode&lt;br /&gt;
* -58..++58V&lt;br /&gt;
* +-8kV ESD, verträgt dauerhaft +-58V auf den CAN-BUS&lt;br /&gt;
* 3. Generation&lt;br /&gt;
* http://www.nxp.com/documents/data_sheet/TJA1043.pd&lt;br /&gt;
&lt;br /&gt;
==== TJA1051 ====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* SO8, pinkompatibel zu TJA1050&lt;br /&gt;
* VCC = 4,75...5,25V&lt;br /&gt;
* 3. Generation, Nachfolger der PCA82C25x&lt;br /&gt;
* http://www.nxp.com/products/interface_and_connectivity/transceivers/can_transceivers/TJA1051T.html&lt;br /&gt;
&lt;br /&gt;
==== TJA1052i ====&lt;br /&gt;
* von NXP&lt;br /&gt;
* SO16&lt;br /&gt;
* Integrierte galvanische Trennung&lt;br /&gt;
&lt;br /&gt;
====ATA6660====&lt;br /&gt;
* ABGEKÜNDIGT, wird nicht mehr hergestellt.&lt;br /&gt;
* von Atmel&lt;br /&gt;
* SO8&lt;br /&gt;
* VCC = 4,75...5,25V&lt;br /&gt;
&lt;br /&gt;
====SN65HVD23x====&lt;br /&gt;
* von Texas Instruments (auch als Sample erhaeltlich)&lt;br /&gt;
* SO8&lt;br /&gt;
* VCC = 3,0V...3,6V&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt: SN65HVD230, SN65HVD231 (ca. 3,00 €)&lt;br /&gt;
Datenblatt:&lt;br /&gt;
*[http://www.ti.com/lit/gpn/sn65hvd230 SN65HVD230] &lt;br /&gt;
*[http://www.ti.com/lit/gpn/sn65hvd231 SN65HVD231]&lt;br /&gt;
&lt;br /&gt;
====MAX3051EKA/ESA====&lt;br /&gt;
* von Analog (fka Maxim)&lt;br /&gt;
* SOT23-8 und SO-8&lt;br /&gt;
* als SOT23 noch gut manuell zu verarbeiten, dabei relativ klein&lt;br /&gt;
* VCC = 3,3V, trotzdem voll kompatibel&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. Mouser, Digikey, LCSC&lt;br /&gt;
Datenblatt:&lt;br /&gt;
* https://www.analog.com/media/en/technical-documentation/data-sheets/max3051.pdf&lt;br /&gt;
&lt;br /&gt;
====HMT1040T====&lt;br /&gt;
* von Gatemode (asiatischer Hersteller)&lt;br /&gt;
* SO-8&lt;br /&gt;
* VCC = 5V&lt;br /&gt;
* Pin- und funktionskompatibel zu bekannten Brands&lt;br /&gt;
* Als nur ein Beispiel sehr günstiger asiatischer Hersteller (Xinluda, Chipanalog, ZHHXDZ, SIT)&lt;br /&gt;
* Preis 25ct Einzelstück, 20ct@50Stück&lt;br /&gt;
* erhältlich bei LCSC&lt;br /&gt;
Datenblatt:&lt;br /&gt;
* https://www.lcsc.com/datasheet/lcsc_datasheet_2402021513_GATEMODE-HMT1040T_C20415565.pdf&lt;br /&gt;
&lt;br /&gt;
=== Fault-Tolerant / Low-Speed ===&lt;br /&gt;
&lt;br /&gt;
==== TJA1055 ====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* bis 125 &amp;quot;kBaud&amp;quot;&lt;br /&gt;
* SO14&lt;br /&gt;
* TJA1055/3 unterstützt 3V interfaces&lt;br /&gt;
* 6kV ESD Schutz&lt;br /&gt;
* abgekündigt: ähnliche Funktionen, gleicher Hersteller: TJA1053, TJA1054&lt;br /&gt;
&lt;br /&gt;
==== UJA1061 ====&lt;br /&gt;
* NXP&lt;br /&gt;
* System Base Chip (SBC)&lt;br /&gt;
* TSSOP 32-Pin&lt;br /&gt;
* Serial Interface (SPI)&lt;br /&gt;
* Spannungsregler  3.3 V oder 5.0 V (LDO)&lt;br /&gt;
* 6kV ESD Schutz&lt;br /&gt;
&lt;br /&gt;
==== L4969 ====&lt;br /&gt;
* ST Microelectronics&lt;br /&gt;
* System Base Chip (SBC)&lt;br /&gt;
* SO20&lt;br /&gt;
* Serial Interface (SPI)&lt;br /&gt;
* Spannungsregler (LDO)&lt;br /&gt;
&lt;br /&gt;
==== MC33889 ====&lt;br /&gt;
* Motorola Freescale&lt;br /&gt;
* System Base Chip (SBC)&lt;br /&gt;
* SO28&lt;br /&gt;
* Serial Interface (SPI)&lt;br /&gt;
* Spannungsregler (LDO)&lt;br /&gt;
&lt;br /&gt;
== CAN Repeater ==&lt;br /&gt;
&lt;br /&gt;
==== AMIS-42700 ====&lt;br /&gt;
* Dual High-Speed CAN Transceiver&lt;br /&gt;
* High speed (up to 1Mbit/s)&lt;br /&gt;
* SOIC-20&lt;br /&gt;
* vgl. http://www.mikrocontroller.net/topic/53799&lt;br /&gt;
&lt;br /&gt;
==== Alternative ====&lt;br /&gt;
* zwei Transceiver&lt;br /&gt;
* [http://www.mikrocontroller.net/attachment/9353/CANREPEATER.JPG Schaltung]&lt;br /&gt;
* Anmerkung: Diese Schaltung ist Quatsch und funktioniert nicht.&lt;br /&gt;
* -Zum Senden eines Zeichen, muss beim CAN paralell auf dem Bus gelesen werden.&lt;br /&gt;
  -Die TRansceiver tun dies nicht, mach nur der Controller.&lt;br /&gt;
  -Die gelesene Nachricht muss also durch einen Controller erneut gesendet werden, wenn der Bus frei ist...&lt;br /&gt;
* Anmerkung: Die letzte Anmerkung ist Quatsch. Die Schaltung funktioniert in einem realen Projekt einwandfrei. Das tut es, weil die Kollisionen, auf die hier angespielt wird, durch die Schaltung auf das Segment des sendenden Controllers zurückgemeldet werden, dieser die Kollision also erkennt und die Sendung ggfs abbricht. Allerdings wird durch die zusätzliche Latenz die maximale Buslänge deutlich reduziert. In dem erwähnten Projekt war der Bus auch nur etwa 2m lang.&lt;br /&gt;
* Funktioniert NICHT (getestet in einem realen Projekt). Warum es nicht funktionieren kann steht z.B. hier: http://www.mikrocontroller.net/topic/106674&lt;br /&gt;
&lt;br /&gt;
==== CAN ISO 11898-2 Repeater - CAN Bus Hub ====&lt;br /&gt;
* https://github.com/sco3149/can-hub&lt;br /&gt;
&lt;br /&gt;
==SLIO-CAN==&lt;br /&gt;
&lt;br /&gt;
Preisgünstigste Bausteine sind die Serial Linked I/O Bausteine (SLIO). Diese Bausteine ermöglichen den Aufbau von Ein- und Ausgabeknoten ohne lokalen Prozessor. Auf der Basis dieser Bausteine lässt sich eine dezentrale Signal-Ein-Ausgabe mit minimalem Kostenaufwand realisieren.&lt;br /&gt;
&lt;br /&gt;
=== Philips P82C150===&lt;br /&gt;
* Single-Chip-I/O-Einheit mit integriertem CAN-Controller&lt;br /&gt;
* mögliche Busdatenrate 20kBd bis 125kBd&lt;br /&gt;
* interner RC-Oszillator wird durch den Bitstrom auf den Bus synchronisiert&lt;br /&gt;
* Kalibrierungsnachricht alle 8000 Bitzeiten erforderlich&lt;br /&gt;
** 4-Bit des Identifiers über Port-Pins einstellbar &lt;br /&gt;
* maximal 16 P82C150 in einem CAN-Segment&lt;br /&gt;
** 16 Port-Pins mit unterschiedlichen Konfigurationsmöglichkeiten&lt;br /&gt;
*** 16 mal als digitale Eingänge&lt;br /&gt;
*** 16 mal als digitale Ausgänge&lt;br /&gt;
*** 2 mal als analoger Ausgang ( 10-Bit, DPM )&lt;br /&gt;
*** 6 mal als analoger Eingang ( 10-Bit, multiplex )&lt;br /&gt;
*** 2 mal als Komparator &lt;br /&gt;
&lt;br /&gt;
* [http://www.htw-dresden.de/fe/labor/mikror/projects/slio_can/ slio-CAN]&lt;br /&gt;
&lt;br /&gt;
Anmerkung: Philips stellt die SLIO nicht mehr her! Es ist auch &amp;quot;nichts&amp;quot; mehr am Markt beschaffbar, wenn, dann zu horrenden Preisen (um die 60,-EUR/Stück zur Zeit). --[[Benutzer:OldBug|Patrick]] 09:08, 25. Jan 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===DS 36001M===&lt;br /&gt;
&#039;&#039;&#039;Obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===MCP2502X/5X===&lt;br /&gt;
&lt;br /&gt;
CAN-IO Erweiterung. Braucht praktisch nur noch Quarz und Transciever. Preise ab 3€&lt;br /&gt;
* bis zu 8 digitale IOs &lt;br /&gt;
* bis zu 2 PWM, 10 Bit&lt;br /&gt;
* bis zu 4 ADC, 10 Bit, externe Ref.&lt;br /&gt;
* SLEEP-Mode etc.&lt;br /&gt;
&lt;br /&gt;
[http://ww1.microchip.com/downloads/en/devicedoc/21664c.pdf Datenblatt]&lt;br /&gt;
&lt;br /&gt;
==USB CAN Bridge==&lt;br /&gt;
&lt;br /&gt;
Neben der Möglichkeit mit CANable, CANdlelight, Klipper usw. einen eigenen USB-to-CAN Umsetzer zu bauen &lt;br /&gt;
gibt es auch ein fertiges IC von Holtek&lt;br /&gt;
&lt;br /&gt;
===Holtek HT42B536-1===&lt;br /&gt;
&lt;br /&gt;
* Leider benötigt das IC &lt;br /&gt;
** Zwei Betriebsspannungen 3,3V und 5,0V&lt;br /&gt;
** Einen eigenen Quarz für den CAN-Controller (STM32F0-Projekte können auf USB-Takt synchronisieren)&lt;br /&gt;
* Trotzdem interessant, da es nicht mehr programmiert werden muss. &lt;br /&gt;
* LAWICEL (SLCAN) Befehlssatz, daher hohe Kompatibilität zu bekannten Programmen (ungetestet)&lt;br /&gt;
* Sollte unter Linux als SLCAN direkt einbindbar sein (ungetestet)&lt;br /&gt;
&lt;br /&gt;
https://www.holtek.com/page/vg/HT42B536-1&lt;br /&gt;
&lt;br /&gt;
== Verkabelung ==&lt;br /&gt;
* auf beidseitige Busterminierung achten (typisch 2x 120Ω bei &amp;quot;high-speed&amp;quot;)&lt;br /&gt;
* Standardbelegung für diverse Steckverbindungen vgl. [http://www.can-cia.de/index.php?id=440 CANOpen-Dokumentation (CiA 303-1)];  erfordert Anmeldung&lt;br /&gt;
* Schaltplan für galvanische Trennung z.&amp;amp;nbsp;B. nach Datenblatt des PCA82C250&lt;br /&gt;
* für einfache Testaufbauten über sehr kurze Strecken oder &amp;quot;on-board-CAN&amp;quot; kann auf die Bustreiber verzichtet werden (vgl. Siemens Application-Note [http://www.mikrocontroller.net/attachment/28831/siemens_AP2921.pdf AP2921])&lt;br /&gt;
&lt;br /&gt;
Es gibt auch CAN mit &lt;br /&gt;
* einpoliger unsymmetrischer Verbindung (SAE J2411 single wire)&lt;br /&gt;
* optischer Verbindung (Faser, Glasfaser)&lt;br /&gt;
&lt;br /&gt;
Für einfache Tests genügt auch eine direkte wired-and-Verbindung ohne Treiber:&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/42105#317085 Forumsbeitrag]: CAN übertragung brich ca. nach 10 sek ab&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Hersteller von Debug-Geräten&lt;br /&gt;
* Vector-Informatik CANscope (Pegeltester) http://www.vector-informatik.de/deutsch/  - ca. 3300EUR&lt;br /&gt;
* Gemac CBT (CanBusTester) testet auch Pegel, Reflexionen ... (Treiber etc. etwas ältlich, von 2002, was ist mit Weiterentwicklung?), auch leihweise http://www.gemac-chemnitz.de/pages/d_html/produkte/bus-tester/new-de-can-bust.html http://www.brandt-data.de/canbus/can_intro.html  - ca. 2400EUR&lt;br /&gt;
 &amp;gt;&amp;gt; CBT wurde weiterentwickelt zum CBT2 (2007) bzw. CANtouch (2014) https://gemac-fieldbus.com&lt;br /&gt;
* ixxat bietet ebenfalls den Gemac-cbt an, auch leihweise&lt;br /&gt;
*QCANObserver http://qcanobserver.sourceforge.net/ CAN Debugger mit ähnlichen Fähigkeiten. Derzeit läuft die Entwicklung nur noch unter Linux. Freie Software (GPL)&lt;br /&gt;
&lt;br /&gt;
Oszilloskope mit CAN-Analyse (manche auch SPI, LIN, RS232, SATA ...):&lt;br /&gt;
* LeCroy WaveRunner 6040 wird mit Vector-CANcaseXL (externer CAN-Trigger) geliefert (sehr gut, ab ca.9000 EUR)&lt;br /&gt;
* LeCroy WaveSurfer 424 wird mit Vector-CANcaseXL (externer CAN-Trigger) geliefert (sehr gut, ab ca.8000 EUR)&lt;br /&gt;
* Yokogawa DL1640 und DL9040 (CAN-Trigger ist intern)  ähnliche Preise wie LeCroy, Bedienung gewöhnungsbedürftig, geht mit etwas Übung besser&lt;br /&gt;
* Tektronix&lt;br /&gt;
* HP / Agilent&lt;br /&gt;
* LogicPort http://www.pctestinstruments.com/&lt;br /&gt;
* Saleae Logic http://www.saleae.com/logic/ (kostet nur 149$; Professoren an Universitäten und Hochschulen können ein Gerät/Person kostenlos erhalten (auf Anfrage))&lt;br /&gt;
* Scanalogic-2 Logikanalysator und Signalgenerator http://www.exp-tech.de/Hacking---Measurement/Scanalogic-2-Logikanalysator-Signalgenerator.html (kostet nur ~60€)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Triggermöglichkeiten: SOF, CAN-ID, CAN-Data, ErrorFrame, RTR, Ack, NoAck  - alle verknüpfbar (gleich ungleich kleiner größer inRange outofRange)&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
&lt;br /&gt;
==Intern==&lt;br /&gt;
* [[CAN als Hausbus]]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/568845#7876672 Forumsbeitrag]: Leicht verbesserte CAN Bibliothek vom Kreativen Chaos&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/572263#7763887 Forumsbeitrag]: Wie ich vor 40 Jahren ein eigenes &amp;quot;Canbus&amp;quot; baute&lt;br /&gt;
&lt;br /&gt;
==Allgemein==&lt;br /&gt;
* [http://can-wiki.info CAN-WIKI] - spezielle Wiki Site für CAN bus (Englisch)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Controller_Area_Network Wikipedia - CAN]&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/CAN-Bus/can-bus.html Grundlagen zum CAN-Bus] - Kurze Zusammenfassung der Funktionsweise und Einsatzmöglichkeiten vom CAN-Bus&lt;br /&gt;
* [http://www.canbus.cz CAN] - Controller_Area_Network (Czech)&lt;br /&gt;
* [http://www.embedded.com/design/prototyping-and-development/4008824/CAN-in-30-minutes-or-less CAN in 30 minutes or less] by Hassane El-Khoury at www.embedded.com&lt;br /&gt;
* [http://elearning.vector.com/vl_can_introduction_de.html Einführung in CAN] - kostenloses E-Learning Angebot&lt;br /&gt;
&lt;br /&gt;
===Testboards===&lt;br /&gt;
&lt;br /&gt;
*[http://www.jtronics.de/platinen.html  AT90CAN Testboard by www.jtronics.de (aktualisiert 2010)]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/176804  universal Testboard - CAN RS232 SPI I2C ]&lt;br /&gt;
*[http://www.kreatives-chaos.com/artikel/can-testboard  ATmega8 CAN Testboard und  MCP2515 Tutorial]&lt;br /&gt;
*[http://thinkembedded.ch/_Hersteller/Olimex/AVR-CAN::41.html Olimex AVR-CAN mit AT90CAN128]&lt;br /&gt;
&lt;br /&gt;
===Dongles===&lt;br /&gt;
&lt;br /&gt;
==== Selbstbau Projekte ====&lt;br /&gt;
*[http://cryptomys.de/horo/CAN200/ Can200 Linux Project von Martin Homuth-Rosemann] CAN Businterface am Parallelport (LPT). Mit SJA1000.&lt;br /&gt;
*[http://www.mictronics.de/projects/usb-can-bus/ USB&amp;lt;&amp;gt;CAN Bus Interface mit AVR ATmega162] Open Source. Mit ATmega162, FT245 und SJA1000.&lt;br /&gt;
*[http://www.oschmid.ch/mt/can-hub/can-hub.php CAN Bus HUB]&lt;br /&gt;
*[http://martinsuniverse.de/projekte/caninterceptor/caninterceptor.html CAN-Interceptor von Martin S.] Mit R8C/23 und FT232R.&lt;br /&gt;
* [http://www.fischl.de/usbtin/ USBtin - Simple USB to CAN interface von Thomas Fischl] Mit PIC18F14K50 und MCP2515. Bausatz verfügbar (24,50 EUR).&lt;br /&gt;
&lt;br /&gt;
==== Fertiggeräte ====&lt;br /&gt;
*[http://www.mhs-elektronik.de/tiny_can.html Tiny-CAN USB-CAN-Adapter von MHS-Elektronik] Ab 60,- EUR. Open Source CAN-Monitor für Windows und Linux.&lt;br /&gt;
*[http://www.cantronik.com/ CANvu - CAN-Display-Produkte von CANtronik]&lt;br /&gt;
*[http://www.kopfweb.de/automobiltechnik.html CAN/LIN nach USB Adapter von KOPF GmbH] Ab 320,- EUR&lt;br /&gt;
*[http://www.ixxat.de/overview-pc-can-interface-board_de.html PC/CAN-Interfaces von IXXAT Automation GmbH] ca. 200 EUR&lt;br /&gt;
*[http://www.peak-system.com/Hardware-Liste.90+M5bc66b17d2f.0.html?&amp;amp;tx_commerce_pi1 CAN-Interfaces von Peak-System]  Ca. 200 EUR&lt;br /&gt;
*[http://www.ems-wuensche.com/product/datasheet/html/can-usb-adapter-converter-interface-cpcusb.html USB to CAN Bus Interface von EMS Dr. Thomas Wünsche]  Ca. 180 EUR&lt;br /&gt;
*[http://www.systec-electronic.com/html/index.pl/en_product_can_interfaces  USB-CANmodul Serie von SYS TEC electronic] mit Unterstützung von 1, 2, 8, oder 16 CAN Kanälen (ab 129,- EUR)&lt;br /&gt;
*[http://www.8devices.com/product/2/usb2can USB2CAN USB to CAN bus galvanic isolated converter von 8devices] Ab 65,- EUR. Open source interface DLL and software.&lt;br /&gt;
*[http://www.canusb.com/ canusb USB&amp;lt;&amp;gt;CAN über V24-Treiber] und [http://www.can232.com/  RS232/V24&amp;lt;&amp;gt;CAN Bus Interface] von Lawicel.&lt;br /&gt;
**[http://www.canusb.com/projects.htm Freie Software für canusb]&lt;br /&gt;
**[http://www.canviausb.com Weitere CAN BUS Monitor Software für canusb]&lt;br /&gt;
*[http://www.port.de/pages/products/can/canopen/hardware/ethercan.php?lang=en CAN-LAN-Bridge von PORT] mit ARM und Linux&lt;br /&gt;
*[https://www.anagate.de/products/can-ethernet-gateways.php CAN/CAN-FD Ethernet Gateways von AnaGate] Professionelle LAN-Adapter mit Linux System mit 2 bis 16 CAN/CAN-FD-Ports (Shop)&lt;br /&gt;
*[http://www.rs.canlab.cz/?q=en/node/69 PP2CAN LPT-CAN Interface], [http://www.rs.canlab.cz/?q=en/node/67 CAN2MMC Datenlogger] (CAN,RS232-GPS) und [http://www.rs.canlab.cz/?q=en/node/68 USB2CAN USB2CAN USB-CAN Interface] 80 EUR von CANLAB&lt;br /&gt;
*[http://www.canhack.de/viewtopic.php?t=137 CANHACK CANUSB Interface] High Speed CAN + OBD2 inkl. KCANMonitor. DLL/Programmierschnittstelle für eigene Anwendungen.&lt;br /&gt;
*[http://www.visionsystems.de/can-bus-adapters.html CAN Bus Adapters] ab 89,-€ von [http://www.vscom.de/ VSCOM ]&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
*[http://rbei-etas.github.com/busmaster/ BUSMASTER - Open Source CAN-Bus Analyzer von ETAS/BOSCH]&lt;br /&gt;
*[http://www.canviausb.com CAN Monitor für Lawicel CANUSB, Zanthic CAN-4-USB-FX/MCP2515 und MHS-Elektronik Tiny-CAN] &lt;br /&gt;
*[http://canhack.de/viewtopic.php?f=25&amp;amp;t=135 CAN Monitor und Tracer für Peak USB, Lawicel CANUSB+CAN232 und kompatible]&lt;br /&gt;
*[http://www.mhs-elektronik.de/tiny_can.html GNU – Open Source CAN Monitor, Makro und Filter Funktion, Plugin fähig, unter GTK+ entwickelt]&lt;br /&gt;
* [http://www.wireshark.org wireshark - Netzwerk Protokoll Analyse Tool, unterstützt via socket-CAN CAN und CANopen]&lt;br /&gt;
&lt;br /&gt;
===Tools===&lt;br /&gt;
*[http://www.mhs-elektronik.de/userdata/downloads/BitCalc.zip CAN-Bus Bit-Timing Kalkulator, unterstützt diverse Mikrocontroller, z.B. Atmel, STM32, Microchip, Renesas, ...]&lt;br /&gt;
&lt;br /&gt;
===Protokolle===&lt;br /&gt;
====CANopen====&lt;br /&gt;
&lt;br /&gt;
*[http://canopen.sourceforge.net/index.html CANopen free software resource center]&lt;br /&gt;
*[http://www.canopen-solutions.com/canopen_caneds_de.html Kostenloser Editor für CANopen EDS-Dateien von Vector]&lt;br /&gt;
*[http://developer.berlios.de/projects/socketcan Official Linux CAN interface]&lt;br /&gt;
*[https://github.com/sebi2k1/restcan Javascript interface to SocketCAN with signal processing (in progress)]&lt;br /&gt;
*[http://www.etas.com/de/products/applications_open_source.php BUSMASTER]&lt;br /&gt;
&lt;br /&gt;
[[Category:CAN| ]]&lt;br /&gt;
[[Kategorie:Bauteile]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=SMD_One_Wire_Adapter_im_Sub-D_Geh%C3%A4use&amp;diff=107893</id>
		<title>SMD One Wire Adapter im Sub-D Gehäuse</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=SMD_One_Wire_Adapter_im_Sub-D_Geh%C3%A4use&amp;diff=107893"/>
		<updated>2026-02-19T16:33:44Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Siehe auch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aktiver One Wire Adapter, der in ein Sub-D Gehäuse passt &lt;br /&gt;
&lt;br /&gt;
Nach dem 1-Wire Adapter von: [https://owfs.org/index_php_page_com-ds9097-passive.html owfs.org]. Die Schaltung funktioniert mit einem USB Seriell Adapter. Wahrscheinlich passt die Platine auch in Sub-D Gehäuse mit RJ11 Buchse (Cisco Consolen Stecker), das habe ich allerdings nicht getestet.&lt;br /&gt;
&lt;br /&gt;
Achtung! Die Masse des OneWire Busses ist nicht gleich der Masse des PCs! Damit funktioniert diese Schaltung nur mit ICs bzw. Schaltungen, welche potentialfrei sind, d.h. sie werden aus protentialfreien Netzteilen oder Batterien versorgt und haben keinerlei Masseverbindung zum PC bzw. Schutzleiter!&lt;br /&gt;
&lt;br /&gt;
== Eagle Files ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Ow-eagle.sch]]&amp;lt;br&amp;gt;[[Datei:Ow-eagle.brd]]&lt;br /&gt;
&lt;br /&gt;
== Bilder ==&lt;br /&gt;
&lt;br /&gt;
Seite A&lt;br /&gt;
&lt;br /&gt;
[[Bild:2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Seite B&lt;br /&gt;
&lt;br /&gt;
[[Bild:003.jpg]]&lt;br /&gt;
&lt;br /&gt;
Mit DS18B20 Sensor:&lt;br /&gt;
&lt;br /&gt;
[[Bild:6.jpg]]&lt;br /&gt;
&lt;br /&gt;
Im Gehäuse:&lt;br /&gt;
&lt;br /&gt;
[[Bild:1.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Schaltplan und Board ===&lt;br /&gt;
&lt;br /&gt;
[[Bild:4.png]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:5.png]]&lt;br /&gt;
&lt;br /&gt;
=== Reichelt Stückliste ===&lt;br /&gt;
&lt;br /&gt;
1* 1N 4148 SMD 		Gleichrichterdiode SMD, Mini Melf , 100V, 0,15A&amp;lt;br /&amp;gt;&lt;br /&gt;
1* D-SUB BU 09 		D-SUB-Buchse, 9-polig, Lötkelch&amp;lt;br /&amp;gt;&lt;br /&gt;
1* KAPPE CG9G 		D-SUB-Kappe für 9-polig D-Sub, Kunststoff&amp;lt;br /&amp;gt;&lt;br /&gt;
2* LL 103A SMD 		Schottky-Diode, Minimelf, 40V, 0,2A&amp;lt;br /&amp;gt;&lt;br /&gt;
1* SMD ZF 3,9 		Chip-Zener-Diode 0,5W 3,9V&amp;lt;br /&amp;gt;&lt;br /&gt;
1* SMD ZF 5,6 		Chip-Zener-Diode 0,5W 5,6V&amp;lt;br /&amp;gt;&lt;br /&gt;
1* SMD ZF 6,2 		Chip-Zener-Diode 0,5W 6,2V&amp;lt;br /&amp;gt;&lt;br /&gt;
1* SMD-0805 1,50K 	SMD-Chip-Widerstand, Bauform 0805, 1,5 K-Ohm&amp;lt;br /&amp;gt;&lt;br /&gt;
1* X5R-G0805 10/16 	SMD-Vielschichtkondensator G0805 - 10µF 16V&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Folklore ===&lt;br /&gt;
&lt;br /&gt;
Prototyp (allerdings passiv)&lt;br /&gt;
&lt;br /&gt;
[[Bild:42.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Varianten ===&lt;br /&gt;
&lt;br /&gt;
Hier noch eine einseitige Version von einem anderem Nutzer: (Wäre mir zum löten zu haarig)&lt;br /&gt;
&lt;br /&gt;
Eagle: [[Datei:o1.brd|miniatur]]&lt;br /&gt;
&lt;br /&gt;
Board:&lt;br /&gt;
&lt;br /&gt;
[[Bild:o.png]]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/536039#7047654 Forumsbeitrag]: 1-wire, onewire - Lesefehler bei längerer Leitung&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/575329#7825697 Forumsbeitrag]: 1-Wire Frage: DS28e05 mit DS2480 interface chip auslesen&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=CAN&amp;diff=107892</id>
		<title>CAN</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=CAN&amp;diff=107892"/>
		<updated>2026-02-19T16:28:54Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Intern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;C&#039;&#039;&#039;ontroller &#039;&#039;&#039;A&#039;&#039;&#039;rea &#039;&#039;&#039;N&#039;&#039;&#039;etwork - Ein von Bosch entwickeltes, echtzeitfähiges Bussystem für den Automobilbereich, welches u.a. auch Anwendung in der Automatisierungstechnik findet.&lt;br /&gt;
&lt;br /&gt;
==Mikrocontroller mit CAN==&lt;br /&gt;
&lt;br /&gt;
=== Atmel AVR===&lt;br /&gt;
&lt;br /&gt;
==== AT90CAN ====&lt;br /&gt;
* Atmel AVR Controller mit CAN-Schnittstelle (ein Kanal)&lt;br /&gt;
* Speicher: (FLASH,EEPROM,RAM)&lt;br /&gt;
** AT90CAN32  -&amp;gt; 32KB 1KB 2KB&lt;br /&gt;
** AT90CAN64  -&amp;gt; 64KB 2KB 4KB&lt;br /&gt;
** AT90CAN128 -&amp;gt; 128KB 4KB 4KB&lt;br /&gt;
* 15 CAN &amp;quot;Message Objects&amp;quot;, jedes individuell konfigurierbar&lt;br /&gt;
* Bis auf den CAN controller weitestgehend identisch mit den nicht CAN Versionen (siehe [http://www.atmel.com/Images/doc4313.pdf AVR096])&lt;br /&gt;
* Beispielcode inkl. CAN für den IAR-C-Compiler findet sich bei atmel.com. Autobaud-Routinen in Assembler (etwas Aufwand bei der Portierung nach avr-gcc/avr-as).&lt;br /&gt;
* Dieser MC ist für nicht-gewerbliche Endanwender einzeln z.&amp;amp;nbsp;B. bei Reichelt, CSD und Segor erhältlich (ca. 9EUR). Beim Bestellen des MC sollte man einen CAN-BUS-Treiber gleich mitbestellen: z.&amp;amp;nbsp;B. Philips PCA82C250. Jedoch auf vorhandene Versorgungsspannungen achten (AT90CAN128 &amp;quot;kann mit&amp;quot; VCC=2,7...5,5V, PCA82C250 lt. Datenblatt für VCC=4,5...5V).&lt;br /&gt;
* CANopen software protocol stacks at http://www.port.de/Atmel.html&lt;br /&gt;
* Freier CANopen stack: http://www.canfestival.org/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Im Auslieferungszustand ist nur der interne RC-Oszillator aktiv (wie üblich bei allen modernen AVRs mit internem R/C-Oszillator vgl. [[AVR Checkliste]]). Umschalten auf externe Taktquelle über die AVR-Fusebits.&lt;br /&gt;
* Für die ISP-Programmierung schliesst man Ihn wie den ATmega128 an. MOSI-2 ; MISO-3 ; SCK-11 ; /Reset-20 ;  GND-22,53,63 ; Vcc-21,52,(62),(64). Auf die übliche &amp;quot;ATmega64/128-Problematik&amp;quot; achten: MISO/MOSI der Programmierschnittstelle sind nicht identisch mit der SPI-Schnittstelle.&lt;br /&gt;
[gehört nicht in den &amp;quot;CAN Artikel&amp;quot;] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * die aktuelle Hardware-Version (Stand 4/2005) hat einen &amp;quot;silicon bug&amp;quot; (Hardwarefehler, vgl. avrfreaks-Forum): Liegt der Stack im &#039;&#039;externen&#039;&#039; RAM, führt dies zu Fehlern in der Stackverwaltung (push/pop/rcall etc.). Details in aktuellen Fassungen des Datenblatts. Abhilfe/Workaround: Stack im internen RAM (&amp;lt;0x1001) verwalten. Dies ist ohnehin sinnvoll, da der Stackzugriff dann schneller ist.&lt;br /&gt;
[nicht mehr aktuell und errata ist immer zu beachten] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- *Als Programmieradapter braucht man einen, der eine gewisse Intelligenz beinhaltet. Vergebens waren auch bei mir die Versuche,   mit dem &#039;Kanda&#039;-Dongle vom STK200-Board und ähnliche Nachbauten.  -&amp;gt; www.mikrocontroller-projekte.de [- Einzeltest mit Stickprobenumfang 1 - sollte schon funktionieren, auskommentiert bis nochmals belegt - mt] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ATmega16M1/32M1/64M1 ====&lt;br /&gt;
* modernisierte Version der AT90CAN128 Serie inkl. LIN, PSC und DAC&lt;br /&gt;
* not sampled&lt;br /&gt;
&lt;br /&gt;
==== AT32UC3C ====&lt;br /&gt;
* 32bit AVR mit zwei CAN controllern&lt;br /&gt;
* bis zu 512k flash, 64k RAM&lt;br /&gt;
* DMA, USB, Ethernet MAC, 2Msmps 12bit ADC, 12bit DAC&lt;br /&gt;
&lt;br /&gt;
=== Atmel ARM ===&lt;br /&gt;
&lt;br /&gt;
==== AT91SAM7X ====&lt;br /&gt;
* ARM7TDMI-Kern mit einem CAN controller&lt;br /&gt;
* bis 512k flash und 128k RAM&lt;br /&gt;
&lt;br /&gt;
==== AT91SAM9X ====&lt;br /&gt;
* ARM926-Kern mit zwei CAN controllern&lt;br /&gt;
* kein onboard flash&lt;br /&gt;
* 32k RAM aber DDR2 support&lt;br /&gt;
&lt;br /&gt;
==== AT91SAM3A ====&lt;br /&gt;
* Cortex M3-Kern mit zwei CAN controllern&lt;br /&gt;
* bis zu 512k flash und 96k RAM&lt;br /&gt;
&lt;br /&gt;
==== AT91SAM3X ====&lt;br /&gt;
* Cortex M3-Kern mit zwei CAN controllern&lt;br /&gt;
* bis zu 512k flash und 96k RAM&lt;br /&gt;
&lt;br /&gt;
=== Luminary Micro Stellaris LM3S8xxx ===&lt;br /&gt;
* ARM Cortex-M3&lt;br /&gt;
* bis 64kByte RAM und 256kByte Flash&lt;br /&gt;
* CAN und Ethernet&lt;br /&gt;
&lt;br /&gt;
=== Microchip PIC18Fxx8 PIC18Fxx8x ===&lt;br /&gt;
* Mikrocontroller mit CAN Schnittstelle&lt;br /&gt;
* [http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=50&amp;amp;mid=10&amp;amp;lang=en&amp;amp;pageId=74 Herstellerseite]&lt;br /&gt;
&lt;br /&gt;
=== Mitsubishi / Renesas R8C / M16C / M32C ===&lt;br /&gt;
&lt;br /&gt;
R8C/23, M16C/6Nx&lt;br /&gt;
&lt;br /&gt;
=== Motorola / Freescale DSP56F8xx ===&lt;br /&gt;
* Clock des CAN-Moduls von PLL speisen, nicht von XTAL, sonst gibt es sporadische Aussetzer&lt;br /&gt;
* Bei hohen Datenraten ist es notwendig die CAN-TX-Leitung vom Controller mit einem PullUp-Widerstand zu beschalten. Sonst stimmt das Bit-Timing nicht, weil die Anstiegszeit des TX-Signals zu schlecht ist.&lt;br /&gt;
&lt;br /&gt;
=== Freescale MC9S08 ===&lt;br /&gt;
* D Serie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Freescale MC9S12 ===&lt;br /&gt;
* B, C, D, G und H Serie&lt;br /&gt;
&lt;br /&gt;
=== NXP LPC11CXX ===&lt;br /&gt;
* 32-bit ARM Cortex-M0&lt;br /&gt;
* LPC11C12 16KB flash, 8KB SRAM, 1x C_CAN&lt;br /&gt;
* LPC11C14 32KB flash, 8KB SRAM, 1x C_CAN&lt;br /&gt;
* LPC11C22 16KB flash, 8KB SRAM, 1x C_CAN, on-chip CAN transceiver&lt;br /&gt;
* LPC11C24 32KB flash, 8KB SRAM, 1x C_CAN, on-chip CAN transceiver&lt;br /&gt;
* Herstellerseite: [http://ics.nxp.com/products/lpc1000/lpc1100/lpc11cxx/]&lt;br /&gt;
&lt;br /&gt;
=== NXP LPC175X LPC176X ===&lt;br /&gt;
* Mikrocontroller mit Cortex-M3 Kern.&lt;br /&gt;
* 1 - 2 CAN Schnittstellen&lt;br /&gt;
* Herstellerseite: [http://ics.nxp.com/products/lpc1000/lpc17xx/ Philips Semiconductors]&lt;br /&gt;
&lt;br /&gt;
=== NXP (ex. Philips) LPC2129 LPC2194 LPC2290 LPC2292 LPC2294 ===&lt;br /&gt;
* Mikrocontroller mit ARM7TDMI-S-Kern (vgl. [[LPC2000 Philips ARM7TDMI-Familie]])&lt;br /&gt;
* 2 - 4 CAN Schnittstellen&lt;br /&gt;
* CAN-Modul angelehnt an Philips SJA1000 (aber mit recht langer und deftig gewürzter Bug-Liste)&lt;br /&gt;
* Herstellerseite: [http://www.nxp.com Philips Semiconductors]&lt;br /&gt;
* LPC2194 erhältlich bei http://www.microcontroller-starterkits.de und http://de.digikey.com/&lt;br /&gt;
* CANopen software protocol stacks at [http://www.port.de/Philips.html]&lt;br /&gt;
&lt;br /&gt;
=== NXP LPC23xx ===&lt;br /&gt;
* Mikrocontroller mit ARM7TDMI-S-Kern (vgl. [[LPC2000 Philips ARM7TDMI-Familie]])&lt;br /&gt;
* 2 CAN Schnittstellen&lt;br /&gt;
&lt;br /&gt;
=== NXP P80C591 P80C592 P80C598 ===&lt;br /&gt;
* 8-Bit Mikrocontroller mit 8051-Kern&lt;br /&gt;
* P80C591 ist neuer und beherrscht CAN2.0B&lt;br /&gt;
* P80C592: CAN2.0A, P80C598 ist die Automotive-Version vom &#039;592&lt;br /&gt;
&lt;br /&gt;
=== Silicon Labs C8051F04X C8051F06X C8051F5XX ===&lt;br /&gt;
*  8-Bit Mikrocontroller mit 8051-Kern&lt;br /&gt;
*  16K - 128K Flash, 2304 - 8448 RAM&lt;br /&gt;
*  LIN 2.1&lt;br /&gt;
*  25-50 MIPS&lt;br /&gt;
*  bis 5x5 QFN&lt;br /&gt;
&lt;br /&gt;
=== STMicroelectronics STM8S20  ===&lt;br /&gt;
* STM8 Kern [http://www.st.com/stonline/products/literature/ds/14733/stm8s208c6.pdf] DIV/MUL -Befehle &lt;br /&gt;
* SPI mit automatischer CRC Berechnung&lt;br /&gt;
* 1 beCAN Schnittstelle CAN2.0B &lt;br /&gt;
* sehr preiswert (128 kFlash/6K RAM ) 3,30 bis 4,80 &amp;amp;#8364; ([http://search.digikey.com/scripts/DkSearch/dksus.dll?vendor=0&amp;amp;keywords=CAN+STM8]  aber SMD LQFP &lt;br /&gt;
&lt;br /&gt;
=== STMicroelectronics STR730 STR750 ===&lt;br /&gt;
* ARM7TDMI-Kern&lt;br /&gt;
* 1-3 CAN Schnittstellen&lt;br /&gt;
&lt;br /&gt;
=== STMicroelectronics STR910FM32, STR910FW32, STR911FM42, STR911FM44, STR912FW42, STR912FW44 ===&lt;br /&gt;
* 96MHz ARM966E-S CPU Kern&lt;br /&gt;
&lt;br /&gt;
=== [[STM32|STM32 (Cortex M0/M3/M4)]] ===&lt;br /&gt;
Cortex M0 Core&lt;br /&gt;
 - [http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1574 STM32 F0 series of entry-level MCUs]&lt;br /&gt;
* STM32F042   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F072   : 1 CAN Schnittstelle&lt;br /&gt;
Cortex M3 Core&lt;br /&gt;
 - [http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1031 STM32 F1 series of mainstream MCUs]&lt;br /&gt;
* STM32F103   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F105   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F107   : 2 CAN Schnittstellen&lt;br /&gt;
 - [http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1575 STM32 F2 series of high-performance MCUs]&lt;br /&gt;
* STM32F205   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F207   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F215   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F217   : 2 CAN Schnittstellen&lt;br /&gt;
Cortex M4F Core&lt;br /&gt;
 - [http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1576 STM32 F3 series of mixed-signal MCUs with DSP and FPU instructions]&lt;br /&gt;
* STM32F302   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F373   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F383   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F303   : 1 CAN Schnittstelle&lt;br /&gt;
* STM32F313   : 1 CAN Schnittstelle&lt;br /&gt;
 - [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1577 STM32 F4 series of high-performance MCUs with DSP and FPU instructions]&lt;br /&gt;
* STM32F405   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F415   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F407   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F417   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F427   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F437   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F429   : 2 CAN Schnittstellen&lt;br /&gt;
* STM32F439   : 2 CAN Schnittstellen&lt;br /&gt;
&lt;br /&gt;
=== TI TMS470 ===&lt;br /&gt;
* ARM7TDMI-Kern&lt;br /&gt;
&lt;br /&gt;
=== Toshiba TLCS-870/C ===&lt;br /&gt;
&lt;br /&gt;
==CAN Controller==&lt;br /&gt;
&lt;br /&gt;
===MCP2515 ===&lt;br /&gt;
CAN-Controller von Microchip&lt;br /&gt;
* [[SPI]] &lt;br /&gt;
* 2 Empfangs- und 3 Sendepuffer jeweils individuell konfigurierbar (ID, Masken/Filter etc.)&lt;br /&gt;
* ein gemeinsamer Interruptpin&lt;br /&gt;
* ein Interruptpin pro Empfangspuffer, umkonfigurierbar als allgmeiner Ausgang&lt;br /&gt;
* ein Triggerpin pro Sendepuffer, umkonfigurierbar als allgemeiner Eingang&lt;br /&gt;
* Stromsparmodus&lt;br /&gt;
* auch für 3,3V-Betrieb geeignet.&lt;br /&gt;
* Diverse C- und Assembler Beispielcodes verfügbar (z.&amp;amp;nbsp;B. bei microchip.com und kvaser, Assembler meist für PICs). Auch Software für Direktanschluss an die parallele Schnittstelle eines PC verfügbar (&amp;quot;bit-bang Interface&amp;quot;).&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt (ca. 2&amp;amp;#8364;)&lt;br /&gt;
&lt;br /&gt;
====Links====&lt;br /&gt;
*[http://www.kreatives-chaos.com/index.php?seite=mcp2515 Ansteuerung eines MCP2515 in C]&lt;br /&gt;
*[http://mcp2510btc.berlios.de/ Bit Timing Calculator für Linux]&lt;br /&gt;
*[https://www.opendcc.de/info/eagle/eagle_libs.html Eagle Bauteil]&lt;br /&gt;
&lt;br /&gt;
===SJA1000===&lt;br /&gt;
CAN-Controller von Philips&lt;br /&gt;
* Parallele Schnittstelle mit ca. 12 Leitungen&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt (ca. 4 Euro)&lt;br /&gt;
&lt;br /&gt;
===AN82526===&lt;br /&gt;
CAN-Controller von Intel (entwickelt von Bosch)&lt;br /&gt;
* Vorgänger des AN82527&lt;br /&gt;
&lt;br /&gt;
===AN82527===&lt;br /&gt;
CAN-Controller von Intel (entwickelt von Bosch)&lt;br /&gt;
* Nachfolger des AN82526&lt;br /&gt;
* parallele Schnittstelle und [[SPI]]&lt;br /&gt;
* 8- oder 16-Bit Multiplex Bus oder 8-Bit Non-Multiplexed Bus&lt;br /&gt;
* 14 Tx/Rx Puffer&lt;br /&gt;
* bis zu 16 IO-Pins (je nach Controlleranbindung)&lt;br /&gt;
* Wird nicht mehr hergestellt&lt;br /&gt;
&lt;br /&gt;
===Bosch CC170 / CC750 / CC770===&lt;br /&gt;
* kompatibel zum AN82527&lt;br /&gt;
* mehr Debug-Register&lt;br /&gt;
* CC750 im SOIC16-W Gehäuse ohne Parallel-Interface, nur SPI&lt;br /&gt;
* erhältlich bei Rutronik (ca. 8 Euro)&lt;br /&gt;
&lt;br /&gt;
===SAE81C9x===&lt;br /&gt;
* SPI und Busanschluss möglich&lt;br /&gt;
* PLCC44 und PLCC28, letzteres allerdings in ungebräuchlicher Bauform&lt;br /&gt;
* Nur CAN 2.0A, beherrscht also keine Extended IDs.&lt;br /&gt;
* 2004 von infineon abgekündigt, ohne Nachfolgeprodukt&lt;br /&gt;
&lt;br /&gt;
==Bustreiber (CAN-Transceiver)==&lt;br /&gt;
&lt;br /&gt;
=== High-Speed ===&lt;br /&gt;
&lt;br /&gt;
====MCP2551====&lt;br /&gt;
* von Microchip&lt;br /&gt;
* PDIP8 und SOIC&lt;br /&gt;
* VCC = 4,5...5,5V&lt;br /&gt;
* kostet rund 1&amp;amp;#8364;&lt;br /&gt;
* [http://ww1.microchip.com/downloads/en/DeviceDoc/21667f.pdf Datenblatt]&lt;br /&gt;
* [https://www.opendcc.de/info/eagle/eagle_libs.html Eagle-Lib]&lt;br /&gt;
&lt;br /&gt;
====PCA 82C250====&lt;br /&gt;
* &amp;lt;s&amp;gt;ABGEKÜNDIGT!&amp;lt;/s&amp;gt; In Produktion: [http://www.nxp.com/products/interface-and-connectivity/wired-connectivity/can-lin-flexray-transceivers/can-transceivers/can-controller-interface:PCA82C250T?&amp;amp;cof=0&amp;amp;am=0&amp;amp;tab=Buy_Parametric_Tab&amp;amp;fpsp=1 NXP Orderlist]&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* PDIP8 und SO8&lt;br /&gt;
* VCC = 4,5...5,5V&lt;br /&gt;
* V-CAN: -8V..+18V   -&amp;gt; &amp;quot;TTL-kompatible&amp;quot; Bus-Spannung&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt (ca. 1,00&amp;amp;#8364;)&lt;br /&gt;
&lt;br /&gt;
====PCA 82C251====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* PDIP8 und SO8&lt;br /&gt;
* VCC = 4,5...5,5V&lt;br /&gt;
* V-CAN: -40V..+40V   -&amp;gt; +24V Bus-Spannung&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt (ca. 1,50&amp;amp;#8364;)&lt;br /&gt;
&lt;br /&gt;
====TJA 1041====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* SO14&lt;br /&gt;
* VCC = 4,75...5,25V&lt;br /&gt;
* Standby, Sleepmode&lt;br /&gt;
* 1 MBit/s&lt;br /&gt;
* -27..+40V&lt;br /&gt;
* Automatische Einstellung der I/O Pegel&lt;br /&gt;
* Erweiterte Diagnosefunktionen&lt;br /&gt;
* &amp;quot;Listen only&amp;quot;-Mode&lt;br /&gt;
* 2. Generation&lt;br /&gt;
* http://www.nxp.com/documents/data_sheet/TJA1041A.pdf&lt;br /&gt;
&lt;br /&gt;
====TJA 1042====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* SO8&lt;br /&gt;
* VCC = 4,5...5,5V auch als 3V I/O Version&lt;br /&gt;
* Standby&lt;br /&gt;
* -27..+40V&lt;br /&gt;
* +-8kV ESD, verträgt dauerhaft +-58V auf den CAN-BUS&lt;br /&gt;
* 3. Generation (bessere EMC und EMI Daten)&lt;br /&gt;
* http://www.nxp.com/documents/data_sheet/TJA1042.pdf&lt;br /&gt;
&lt;br /&gt;
====TJA 1043====&lt;br /&gt;
* wie TJA1041 (bessere EMC, ESD Eigenschaften und geringerer Ruhestrom)&lt;br /&gt;
* SO14&lt;br /&gt;
* Standby, Sleepmode&lt;br /&gt;
* -58..++58V&lt;br /&gt;
* +-8kV ESD, verträgt dauerhaft +-58V auf den CAN-BUS&lt;br /&gt;
* 3. Generation&lt;br /&gt;
* http://www.nxp.com/documents/data_sheet/TJA1043.pd&lt;br /&gt;
&lt;br /&gt;
==== TJA1051 ====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* SO8, pinkompatibel zu TJA1050&lt;br /&gt;
* VCC = 4,75...5,25V&lt;br /&gt;
* 3. Generation, Nachfolger der PCA82C25x&lt;br /&gt;
* http://www.nxp.com/products/interface_and_connectivity/transceivers/can_transceivers/TJA1051T.html&lt;br /&gt;
&lt;br /&gt;
==== TJA1052i ====&lt;br /&gt;
* von NXP&lt;br /&gt;
* SO16&lt;br /&gt;
* Integrierte galvanische Trennung&lt;br /&gt;
&lt;br /&gt;
====ATA6660====&lt;br /&gt;
* ABGEKÜNDIGT, wird nicht mehr hergestellt.&lt;br /&gt;
* von Atmel&lt;br /&gt;
* SO8&lt;br /&gt;
* VCC = 4,75...5,25V&lt;br /&gt;
&lt;br /&gt;
====SN65HVD23x====&lt;br /&gt;
* von Texas Instruments (auch als Sample erhaeltlich)&lt;br /&gt;
* SO8&lt;br /&gt;
* VCC = 3,0V...3,6V&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. bei Reichelt: SN65HVD230, SN65HVD231 (ca. 3,00 €)&lt;br /&gt;
Datenblatt:&lt;br /&gt;
*[http://www.ti.com/lit/gpn/sn65hvd230 SN65HVD230] &lt;br /&gt;
*[http://www.ti.com/lit/gpn/sn65hvd231 SN65HVD231]&lt;br /&gt;
&lt;br /&gt;
====MAX3051EKA/ESA====&lt;br /&gt;
* von Analog (fka Maxim)&lt;br /&gt;
* SOT23-8 und SO-8&lt;br /&gt;
* als SOT23 noch gut manuell zu verarbeiten, dabei relativ klein&lt;br /&gt;
* VCC = 3,3V, trotzdem voll kompatibel&lt;br /&gt;
* erhältlich z.&amp;amp;nbsp;B. Mouser, Digikey, LCSC&lt;br /&gt;
Datenblatt:&lt;br /&gt;
* https://www.analog.com/media/en/technical-documentation/data-sheets/max3051.pdf&lt;br /&gt;
&lt;br /&gt;
====HMT1040T====&lt;br /&gt;
* von Gatemode (asiatischer Hersteller)&lt;br /&gt;
* SO-8&lt;br /&gt;
* VCC = 5V&lt;br /&gt;
* Pin- und funktionskompatibel zu bekannten Brands&lt;br /&gt;
* Als nur ein Beispiel sehr günstiger asiatischer Hersteller (Xinluda, Chipanalog, ZHHXDZ, SIT)&lt;br /&gt;
* Preis 25ct Einzelstück, 20ct@50Stück&lt;br /&gt;
* erhältlich bei LCSC&lt;br /&gt;
Datenblatt:&lt;br /&gt;
* https://www.lcsc.com/datasheet/lcsc_datasheet_2402021513_GATEMODE-HMT1040T_C20415565.pdf&lt;br /&gt;
&lt;br /&gt;
=== Fault-Tolerant / Low-Speed ===&lt;br /&gt;
&lt;br /&gt;
==== TJA1055 ====&lt;br /&gt;
* von NXP (ex. Philips)&lt;br /&gt;
* bis 125 &amp;quot;kBaud&amp;quot;&lt;br /&gt;
* SO14&lt;br /&gt;
* TJA1055/3 unterstützt 3V interfaces&lt;br /&gt;
* 6kV ESD Schutz&lt;br /&gt;
* abgekündigt: ähnliche Funktionen, gleicher Hersteller: TJA1053, TJA1054&lt;br /&gt;
&lt;br /&gt;
==== UJA1061 ====&lt;br /&gt;
* NXP&lt;br /&gt;
* System Base Chip (SBC)&lt;br /&gt;
* TSSOP 32-Pin&lt;br /&gt;
* Serial Interface (SPI)&lt;br /&gt;
* Spannungsregler  3.3 V oder 5.0 V (LDO)&lt;br /&gt;
* 6kV ESD Schutz&lt;br /&gt;
&lt;br /&gt;
==== L4969 ====&lt;br /&gt;
* ST Microelectronics&lt;br /&gt;
* System Base Chip (SBC)&lt;br /&gt;
* SO20&lt;br /&gt;
* Serial Interface (SPI)&lt;br /&gt;
* Spannungsregler (LDO)&lt;br /&gt;
&lt;br /&gt;
==== MC33889 ====&lt;br /&gt;
* Motorola Freescale&lt;br /&gt;
* System Base Chip (SBC)&lt;br /&gt;
* SO28&lt;br /&gt;
* Serial Interface (SPI)&lt;br /&gt;
* Spannungsregler (LDO)&lt;br /&gt;
&lt;br /&gt;
== CAN Repeater ==&lt;br /&gt;
&lt;br /&gt;
==== AMIS-42700 ====&lt;br /&gt;
* Dual High-Speed CAN Transceiver&lt;br /&gt;
* High speed (up to 1Mbit/s)&lt;br /&gt;
* SOIC-20&lt;br /&gt;
* vgl. http://www.mikrocontroller.net/topic/53799&lt;br /&gt;
&lt;br /&gt;
==== Alternative ====&lt;br /&gt;
* zwei Transceiver&lt;br /&gt;
* [http://www.mikrocontroller.net/attachment/9353/CANREPEATER.JPG Schaltung]&lt;br /&gt;
* Anmerkung: Diese Schaltung ist Quatsch und funktioniert nicht.&lt;br /&gt;
* -Zum Senden eines Zeichen, muss beim CAN paralell auf dem Bus gelesen werden.&lt;br /&gt;
  -Die TRansceiver tun dies nicht, mach nur der Controller.&lt;br /&gt;
  -Die gelesene Nachricht muss also durch einen Controller erneut gesendet werden, wenn der Bus frei ist...&lt;br /&gt;
* Anmerkung: Die letzte Anmerkung ist Quatsch. Die Schaltung funktioniert in einem realen Projekt einwandfrei. Das tut es, weil die Kollisionen, auf die hier angespielt wird, durch die Schaltung auf das Segment des sendenden Controllers zurückgemeldet werden, dieser die Kollision also erkennt und die Sendung ggfs abbricht. Allerdings wird durch die zusätzliche Latenz die maximale Buslänge deutlich reduziert. In dem erwähnten Projekt war der Bus auch nur etwa 2m lang.&lt;br /&gt;
* Funktioniert NICHT (getestet in einem realen Projekt). Warum es nicht funktionieren kann steht z.B. hier: http://www.mikrocontroller.net/topic/106674&lt;br /&gt;
&lt;br /&gt;
==== CAN ISO 11898-2 Repeater - CAN Bus Hub ====&lt;br /&gt;
* https://github.com/sco3149/can-hub&lt;br /&gt;
&lt;br /&gt;
==SLIO-CAN==&lt;br /&gt;
&lt;br /&gt;
Preisgünstigste Bausteine sind die Serial Linked I/O Bausteine (SLIO). Diese Bausteine ermöglichen den Aufbau von Ein- und Ausgabeknoten ohne lokalen Prozessor. Auf der Basis dieser Bausteine lässt sich eine dezentrale Signal-Ein-Ausgabe mit minimalem Kostenaufwand realisieren.&lt;br /&gt;
&lt;br /&gt;
=== Philips P82C150===&lt;br /&gt;
* Single-Chip-I/O-Einheit mit integriertem CAN-Controller&lt;br /&gt;
* mögliche Busdatenrate 20kBd bis 125kBd&lt;br /&gt;
* interner RC-Oszillator wird durch den Bitstrom auf den Bus synchronisiert&lt;br /&gt;
* Kalibrierungsnachricht alle 8000 Bitzeiten erforderlich&lt;br /&gt;
** 4-Bit des Identifiers über Port-Pins einstellbar &lt;br /&gt;
* maximal 16 P82C150 in einem CAN-Segment&lt;br /&gt;
** 16 Port-Pins mit unterschiedlichen Konfigurationsmöglichkeiten&lt;br /&gt;
*** 16 mal als digitale Eingänge&lt;br /&gt;
*** 16 mal als digitale Ausgänge&lt;br /&gt;
*** 2 mal als analoger Ausgang ( 10-Bit, DPM )&lt;br /&gt;
*** 6 mal als analoger Eingang ( 10-Bit, multiplex )&lt;br /&gt;
*** 2 mal als Komparator &lt;br /&gt;
&lt;br /&gt;
* [http://www.htw-dresden.de/fe/labor/mikror/projects/slio_can/ slio-CAN]&lt;br /&gt;
&lt;br /&gt;
Anmerkung: Philips stellt die SLIO nicht mehr her! Es ist auch &amp;quot;nichts&amp;quot; mehr am Markt beschaffbar, wenn, dann zu horrenden Preisen (um die 60,-EUR/Stück zur Zeit). --[[Benutzer:OldBug|Patrick]] 09:08, 25. Jan 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===DS 36001M===&lt;br /&gt;
&#039;&#039;&#039;Obsolete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===MCP2502X/5X===&lt;br /&gt;
&lt;br /&gt;
CAN-IO Erweiterung. Braucht praktisch nur noch Quarz und Transciever. Preise ab 3€&lt;br /&gt;
* bis zu 8 digitale IOs &lt;br /&gt;
* bis zu 2 PWM, 10 Bit&lt;br /&gt;
* bis zu 4 ADC, 10 Bit, externe Ref.&lt;br /&gt;
* SLEEP-Mode etc.&lt;br /&gt;
&lt;br /&gt;
[http://ww1.microchip.com/downloads/en/devicedoc/21664c.pdf Datenblatt]&lt;br /&gt;
&lt;br /&gt;
==USB CAN Bridge==&lt;br /&gt;
&lt;br /&gt;
Neben der Möglichkeit mit CANable, CANdlelight, Klipper usw. einen eigenen USB-to-CAN Umsetzer zu bauen &lt;br /&gt;
gibt es auch ein fertiges IC von Holtek&lt;br /&gt;
&lt;br /&gt;
===Holtek HT42B536-1===&lt;br /&gt;
&lt;br /&gt;
* Leider benötigt das IC &lt;br /&gt;
** Zwei Betriebsspannungen 3,3V und 5,0V&lt;br /&gt;
** Einen eigenen Quarz für den CAN-Controller (STM32F0-Projekte können auf USB-Takt synchronisieren)&lt;br /&gt;
* Trotzdem interessant, da es nicht mehr programmiert werden muss. &lt;br /&gt;
* LAWICEL (SLCAN) Befehlssatz, daher hohe Kompatibilität zu bekannten Programmen (ungetestet)&lt;br /&gt;
* Sollte unter Linux als SLCAN direkt einbindbar sein (ungetestet)&lt;br /&gt;
&lt;br /&gt;
https://www.holtek.com/page/vg/HT42B536-1&lt;br /&gt;
&lt;br /&gt;
== Verkabelung ==&lt;br /&gt;
* auf beidseitige Busterminierung achten (typisch 2x 120Ω bei &amp;quot;high-speed&amp;quot;)&lt;br /&gt;
* Standardbelegung für diverse Steckverbindungen vgl. [http://www.can-cia.de/index.php?id=440 CANOpen-Dokumentation (CiA 303-1)];  erfordert Anmeldung&lt;br /&gt;
* Schaltplan für galvanische Trennung z.&amp;amp;nbsp;B. nach Datenblatt des PCA82C250&lt;br /&gt;
* für einfache Testaufbauten über sehr kurze Strecken oder &amp;quot;on-board-CAN&amp;quot; kann auf die Bustreiber verzichtet werden (vgl. Siemens Application-Note [http://www.mikrocontroller.net/attachment/28831/siemens_AP2921.pdf AP2921])&lt;br /&gt;
&lt;br /&gt;
Es gibt auch CAN mit &lt;br /&gt;
* einpoliger unsymmetrischer Verbindung (SAE J2411 single wire)&lt;br /&gt;
* optischer Verbindung (Faser, Glasfaser)&lt;br /&gt;
&lt;br /&gt;
Für einfache Tests genügt auch eine direkte wired-and-Verbindung ohne Treiber:&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/42105#317085 Forumsbeitrag]: CAN übertragung brich ca. nach 10 sek ab&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Hersteller von Debug-Geräten&lt;br /&gt;
* Vector-Informatik CANscope (Pegeltester) http://www.vector-informatik.de/deutsch/  - ca. 3300EUR&lt;br /&gt;
* Gemac CBT (CanBusTester) testet auch Pegel, Reflexionen ... (Treiber etc. etwas ältlich, von 2002, was ist mit Weiterentwicklung?), auch leihweise http://www.gemac-chemnitz.de/pages/d_html/produkte/bus-tester/new-de-can-bust.html http://www.brandt-data.de/canbus/can_intro.html  - ca. 2400EUR&lt;br /&gt;
 &amp;gt;&amp;gt; CBT wurde weiterentwickelt zum CBT2 (2007) bzw. CANtouch (2014) https://gemac-fieldbus.com&lt;br /&gt;
* ixxat bietet ebenfalls den Gemac-cbt an, auch leihweise&lt;br /&gt;
*QCANObserver http://qcanobserver.sourceforge.net/ CAN Debugger mit ähnlichen Fähigkeiten. Derzeit läuft die Entwicklung nur noch unter Linux. Freie Software (GPL)&lt;br /&gt;
&lt;br /&gt;
Oszilloskope mit CAN-Analyse (manche auch SPI, LIN, RS232, SATA ...):&lt;br /&gt;
* LeCroy WaveRunner 6040 wird mit Vector-CANcaseXL (externer CAN-Trigger) geliefert (sehr gut, ab ca.9000 EUR)&lt;br /&gt;
* LeCroy WaveSurfer 424 wird mit Vector-CANcaseXL (externer CAN-Trigger) geliefert (sehr gut, ab ca.8000 EUR)&lt;br /&gt;
* Yokogawa DL1640 und DL9040 (CAN-Trigger ist intern)  ähnliche Preise wie LeCroy, Bedienung gewöhnungsbedürftig, geht mit etwas Übung besser&lt;br /&gt;
* Tektronix&lt;br /&gt;
* HP / Agilent&lt;br /&gt;
* LogicPort http://www.pctestinstruments.com/&lt;br /&gt;
* Saleae Logic http://www.saleae.com/logic/ (kostet nur 149$; Professoren an Universitäten und Hochschulen können ein Gerät/Person kostenlos erhalten (auf Anfrage))&lt;br /&gt;
* Scanalogic-2 Logikanalysator und Signalgenerator http://www.exp-tech.de/Hacking---Measurement/Scanalogic-2-Logikanalysator-Signalgenerator.html (kostet nur ~60€)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Triggermöglichkeiten: SOF, CAN-ID, CAN-Data, ErrorFrame, RTR, Ack, NoAck  - alle verknüpfbar (gleich ungleich kleiner größer inRange outofRange)&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
&lt;br /&gt;
==Intern==&lt;br /&gt;
* [[CAN als Hausbus]]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/568845#7876672 Forumsbeitrag]: Leicht verbesserte CAN Bibliothek vom Kreativen Chaos&lt;br /&gt;
&lt;br /&gt;
==Allgemein==&lt;br /&gt;
* [http://can-wiki.info CAN-WIKI] - spezielle Wiki Site für CAN bus (Englisch)&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Controller_Area_Network Wikipedia - CAN]&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/CAN-Bus/can-bus.html Grundlagen zum CAN-Bus] - Kurze Zusammenfassung der Funktionsweise und Einsatzmöglichkeiten vom CAN-Bus&lt;br /&gt;
* [http://www.canbus.cz CAN] - Controller_Area_Network (Czech)&lt;br /&gt;
* [http://www.embedded.com/design/prototyping-and-development/4008824/CAN-in-30-minutes-or-less CAN in 30 minutes or less] by Hassane El-Khoury at www.embedded.com&lt;br /&gt;
* [http://elearning.vector.com/vl_can_introduction_de.html Einführung in CAN] - kostenloses E-Learning Angebot&lt;br /&gt;
&lt;br /&gt;
===Testboards===&lt;br /&gt;
&lt;br /&gt;
*[http://www.jtronics.de/platinen.html  AT90CAN Testboard by www.jtronics.de (aktualisiert 2010)]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/176804  universal Testboard - CAN RS232 SPI I2C ]&lt;br /&gt;
*[http://www.kreatives-chaos.com/artikel/can-testboard  ATmega8 CAN Testboard und  MCP2515 Tutorial]&lt;br /&gt;
*[http://thinkembedded.ch/_Hersteller/Olimex/AVR-CAN::41.html Olimex AVR-CAN mit AT90CAN128]&lt;br /&gt;
&lt;br /&gt;
===Dongles===&lt;br /&gt;
&lt;br /&gt;
==== Selbstbau Projekte ====&lt;br /&gt;
*[http://cryptomys.de/horo/CAN200/ Can200 Linux Project von Martin Homuth-Rosemann] CAN Businterface am Parallelport (LPT). Mit SJA1000.&lt;br /&gt;
*[http://www.mictronics.de/projects/usb-can-bus/ USB&amp;lt;&amp;gt;CAN Bus Interface mit AVR ATmega162] Open Source. Mit ATmega162, FT245 und SJA1000.&lt;br /&gt;
*[http://www.oschmid.ch/mt/can-hub/can-hub.php CAN Bus HUB]&lt;br /&gt;
*[http://martinsuniverse.de/projekte/caninterceptor/caninterceptor.html CAN-Interceptor von Martin S.] Mit R8C/23 und FT232R.&lt;br /&gt;
* [http://www.fischl.de/usbtin/ USBtin - Simple USB to CAN interface von Thomas Fischl] Mit PIC18F14K50 und MCP2515. Bausatz verfügbar (24,50 EUR).&lt;br /&gt;
&lt;br /&gt;
==== Fertiggeräte ====&lt;br /&gt;
*[http://www.mhs-elektronik.de/tiny_can.html Tiny-CAN USB-CAN-Adapter von MHS-Elektronik] Ab 60,- EUR. Open Source CAN-Monitor für Windows und Linux.&lt;br /&gt;
*[http://www.cantronik.com/ CANvu - CAN-Display-Produkte von CANtronik]&lt;br /&gt;
*[http://www.kopfweb.de/automobiltechnik.html CAN/LIN nach USB Adapter von KOPF GmbH] Ab 320,- EUR&lt;br /&gt;
*[http://www.ixxat.de/overview-pc-can-interface-board_de.html PC/CAN-Interfaces von IXXAT Automation GmbH] ca. 200 EUR&lt;br /&gt;
*[http://www.peak-system.com/Hardware-Liste.90+M5bc66b17d2f.0.html?&amp;amp;tx_commerce_pi1 CAN-Interfaces von Peak-System]  Ca. 200 EUR&lt;br /&gt;
*[http://www.ems-wuensche.com/product/datasheet/html/can-usb-adapter-converter-interface-cpcusb.html USB to CAN Bus Interface von EMS Dr. Thomas Wünsche]  Ca. 180 EUR&lt;br /&gt;
*[http://www.systec-electronic.com/html/index.pl/en_product_can_interfaces  USB-CANmodul Serie von SYS TEC electronic] mit Unterstützung von 1, 2, 8, oder 16 CAN Kanälen (ab 129,- EUR)&lt;br /&gt;
*[http://www.8devices.com/product/2/usb2can USB2CAN USB to CAN bus galvanic isolated converter von 8devices] Ab 65,- EUR. Open source interface DLL and software.&lt;br /&gt;
*[http://www.canusb.com/ canusb USB&amp;lt;&amp;gt;CAN über V24-Treiber] und [http://www.can232.com/  RS232/V24&amp;lt;&amp;gt;CAN Bus Interface] von Lawicel.&lt;br /&gt;
**[http://www.canusb.com/projects.htm Freie Software für canusb]&lt;br /&gt;
**[http://www.canviausb.com Weitere CAN BUS Monitor Software für canusb]&lt;br /&gt;
*[http://www.port.de/pages/products/can/canopen/hardware/ethercan.php?lang=en CAN-LAN-Bridge von PORT] mit ARM und Linux&lt;br /&gt;
*[https://www.anagate.de/products/can-ethernet-gateways.php CAN/CAN-FD Ethernet Gateways von AnaGate] Professionelle LAN-Adapter mit Linux System mit 2 bis 16 CAN/CAN-FD-Ports (Shop)&lt;br /&gt;
*[http://www.rs.canlab.cz/?q=en/node/69 PP2CAN LPT-CAN Interface], [http://www.rs.canlab.cz/?q=en/node/67 CAN2MMC Datenlogger] (CAN,RS232-GPS) und [http://www.rs.canlab.cz/?q=en/node/68 USB2CAN USB2CAN USB-CAN Interface] 80 EUR von CANLAB&lt;br /&gt;
*[http://www.canhack.de/viewtopic.php?t=137 CANHACK CANUSB Interface] High Speed CAN + OBD2 inkl. KCANMonitor. DLL/Programmierschnittstelle für eigene Anwendungen.&lt;br /&gt;
*[http://www.visionsystems.de/can-bus-adapters.html CAN Bus Adapters] ab 89,-€ von [http://www.vscom.de/ VSCOM ]&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
*[http://rbei-etas.github.com/busmaster/ BUSMASTER - Open Source CAN-Bus Analyzer von ETAS/BOSCH]&lt;br /&gt;
*[http://www.canviausb.com CAN Monitor für Lawicel CANUSB, Zanthic CAN-4-USB-FX/MCP2515 und MHS-Elektronik Tiny-CAN] &lt;br /&gt;
*[http://canhack.de/viewtopic.php?f=25&amp;amp;t=135 CAN Monitor und Tracer für Peak USB, Lawicel CANUSB+CAN232 und kompatible]&lt;br /&gt;
*[http://www.mhs-elektronik.de/tiny_can.html GNU – Open Source CAN Monitor, Makro und Filter Funktion, Plugin fähig, unter GTK+ entwickelt]&lt;br /&gt;
* [http://www.wireshark.org wireshark - Netzwerk Protokoll Analyse Tool, unterstützt via socket-CAN CAN und CANopen]&lt;br /&gt;
&lt;br /&gt;
===Tools===&lt;br /&gt;
*[http://www.mhs-elektronik.de/userdata/downloads/BitCalc.zip CAN-Bus Bit-Timing Kalkulator, unterstützt diverse Mikrocontroller, z.B. Atmel, STM32, Microchip, Renesas, ...]&lt;br /&gt;
&lt;br /&gt;
===Protokolle===&lt;br /&gt;
====CANopen====&lt;br /&gt;
&lt;br /&gt;
*[http://canopen.sourceforge.net/index.html CANopen free software resource center]&lt;br /&gt;
*[http://www.canopen-solutions.com/canopen_caneds_de.html Kostenloser Editor für CANopen EDS-Dateien von Vector]&lt;br /&gt;
*[http://developer.berlios.de/projects/socketcan Official Linux CAN interface]&lt;br /&gt;
*[https://github.com/sebi2k1/restcan Javascript interface to SocketCAN with signal processing (in progress)]&lt;br /&gt;
*[http://www.etas.com/de/products/applications_open_source.php BUSMASTER]&lt;br /&gt;
&lt;br /&gt;
[[Category:CAN| ]]&lt;br /&gt;
[[Kategorie:Bauteile]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=UART&amp;diff=107891</id>
		<title>UART</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=UART&amp;diff=107891"/>
		<updated>2026-02-19T16:24:11Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Siehe auch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;UART ist die Abkürzung für &#039;&#039;&#039;U&#039;&#039;&#039;niversal &#039;&#039;&#039;A&#039;&#039;&#039;synchronous &#039;&#039;&#039;R&#039;&#039;&#039;eceiver &#039;&#039;&#039;T&#039;&#039;&#039;ransmitter.&lt;br /&gt;
&lt;br /&gt;
Der UART ist die gängige [[seriell]]e Schnittstelle an PCs und Mikrocontrollern. Es können Daten in Wörtern von 5 bis 9 [[Digitaltechnik|Bit]] (beim Standard-Controller &amp;quot;16550&amp;quot;) übertragen werden, üblich sind 8 oder 9 Bit. Dies sind auch die von vielen Mikrocontrollern unterstützen Modi.&lt;br /&gt;
&lt;br /&gt;
==USART==&lt;br /&gt;
Neuere Mikrocontroller verfügen meist über einen oder zwei USARTs. USART steht für &amp;lt;br&amp;gt;&#039;&#039;&#039;U&#039;&#039;&#039;niversal &#039;&#039;&#039;S&#039;&#039;&#039;ynchronous/&#039;&#039;&#039;A&#039;&#039;&#039;synchronous &#039;&#039;&#039;R&#039;&#039;&#039;eceiver &#039;&#039;&#039;T&#039;&#039;&#039;ransmitter &amp;lt;br&amp;gt;und bietet die Möglichkeit einer zusätzlichen synchronen Datenübertragung.&lt;br /&gt;
&lt;br /&gt;
== Reihenfolge der Bits ==&lt;br /&gt;
&lt;br /&gt;
{| border=1 style=&amp;quot;width:33em; text-align:center&amp;quot;&lt;br /&gt;
 |Startbit (=0)&lt;br /&gt;
 |D0&lt;br /&gt;
 |D1&lt;br /&gt;
 |D2&lt;br /&gt;
 |D3&lt;br /&gt;
 |D4&lt;br /&gt;
 |D5&lt;br /&gt;
 |D6&lt;br /&gt;
 |D7&lt;br /&gt;
 |(Parität)&lt;br /&gt;
 | Stoppbit(s) (=1)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Achtung: das [[Byte#Byte|LSB]] wird zuerst gesendet!&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[RS-232]] ein serieller, asynchroner Übertragungsstandard&lt;br /&gt;
* [[Baudratenquarz]]&lt;br /&gt;
* [[AVR-Tutorial: UART|UART im AVR-Tutorial]]&lt;br /&gt;
* [[AVR-GCC-Tutorial/Der_UART|UART im AVR-GCC-Tutorial]]&lt;br /&gt;
* [[USB]] Ersatzschnittstelle für PC Peripherie, sollte bei Neuentwicklungen statt UART verwendet werden.&lt;br /&gt;
* [[UART auf USB]]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/78003#649525 Forumsbeitrag]: Synchronisieren beim UART&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/162909?goto=new#1553910 Forumsbeitrag]: Wie erkennt der UART das Startbit?&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/191359?goto=1867274#1867246 Forumsbeitrag]: Das A und O des UART- Puffers&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/270383#2827879 Forumsbeitrag]: Einfacher Kommandointerpreter mit ASCII Kodierung&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/399244?goto=4637911#4604641 Forumsbeitrag]: Atemega328p - schaffst du das? (Echtzeitübertragung von ADC-Daten)&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/580151#7935462 Forumsbeitrag]: AVR128DB USART Transmit Buffer&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.awavo.com/com-port-monitor/ UART Monitor]&lt;br /&gt;
* [http://pdfserv.maxim-ic.com/en/an/AN2141.pdf Determining Clock Accuracy Requirements for UART Communications (PDF)] - Application Note 2141 von Maxim. Wie genau muss eigentlich die Taktrate für UART sein?&lt;br /&gt;
&lt;br /&gt;
[[Category:UART und RS232| ]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Programmierstil&amp;diff=107890</id>
		<title>Programmierstil</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Programmierstil&amp;diff=107890"/>
		<updated>2026-02-18T12:15:37Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Programmierstil */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Programmierstil =&lt;br /&gt;
&lt;br /&gt;
Damit ein größeres Programm auch nach längerer Zeit überschaubar bleibt, sollte man sich bei der Gliederung, Namensgebung, Formatierung und Kommentierung an bewährten, begründeten Konzepten orientieren.&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/130218 Forumsbeitrag]: Programmier Stil für Mikrocontroller&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/132304 Forumsbeitrag]: Tutorial für _sauberen_ C-Code&lt;br /&gt;
* [[Include-Files (C)]]&lt;br /&gt;
* [[Strukturierte Programmierung auf Mikrocontrollern]]&lt;br /&gt;
* [http://www.avrfreaks.net/index.php?name=PNphpBB2&amp;amp;file=viewtopic&amp;amp;t=48535&amp;amp;postdays=0&amp;amp;postorder=asc www.avrfreaks.net Modularizing C Code]&lt;br /&gt;
* [https://www.elektroniknet.de/embedded/software/einsatz-von-misra-c.206803.html www.elektroniknet.de: Der Programmierstandard misra]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Programmierstil Wikipedia:Programmierstil]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:C]]&lt;br /&gt;
[[Kategorie:avr-gcc Tutorial]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_-_Die_genaue_Sekunde_/_RTC&amp;diff=107889</id>
		<title>AVR - Die genaue Sekunde / RTC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_-_Die_genaue_Sekunde_/_RTC&amp;diff=107889"/>
		<updated>2026-02-17T11:35:13Z</updated>

		<summary type="html">&lt;p&gt;Falk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
Oftmals sieht man Projekte, bei denen ein externer RTC-Baustein (engl. &#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;C&#039;&#039;&#039;lock, Echtzeituhr; z.&amp;amp;nbsp;B. PCF8583 mit [[I2C]]-Anschluss [http://www-us.semiconductors.philips.com/acrobat/datasheets/PCF8583_5.pdf Datenblatt (PDF)]) angeschlossen ist, ohne dessen Vorteil wirklich zu nutzen.&lt;br /&gt;
&lt;br /&gt;
Die wichtigsten Vorteile einer externen RTC sind &lt;br /&gt;
# Die Zeitzählung läuft während eines Ausfalls der Hauptstromversorgung über eine kleine Stützbatterie bei geringem Strombedarf weiter.&lt;br /&gt;
# Es gibt hochgenaue RTCs, die man im Gegensatz zu Selbstbaulösungen nicht abgleichen muss.&lt;br /&gt;
# Der Strombedarf eines externen RTC ist in der Regel etwas niedriger als die RTC Funktion eines Prozessors. Als Vergleich diene ein DS1302(300nA@2V) zu einem Mega32(5uA@2.7V) als nicht ganz neuer Vertreter, bzw. ein Mega324P(500nA@1.8V) als moderner Vertreter. Dieser Vorteil kommt bei Datenschreibern (engl. data logger) zum Tragen, welche die meiste Zeit inaktiv im [[Sleep Mode]] sind.&lt;br /&gt;
&lt;br /&gt;
In allen anderen Fällen ist die zusätzliche Hardware nicht unbedingt nötig und man kann eine präzise Zeitbasis bequem mit dem Hauptquarz des Mikrokontrollers programmieren. Daraus ergeben sich sogar noch zusätzliche Vorteile, wie eine geringere Temperaturabhängigkeit und höhere Güte, die Quarze im MHz-Bereich gegenüber Quarzen im kHz-Bereich besitzen. Ich möchte hiermit die Angst vor dem bisschen Mathematik nehmen, welche zur Berechnung der Teilerfaktoren benötigt wird.&lt;br /&gt;
&lt;br /&gt;
==Lösung==&lt;br /&gt;
&lt;br /&gt;
Speziell für den AVR kommen Quarze im Bereich 1MHz bis 20MHz zum Einsatz, d.h. in einer Sekunde werden 1.000.000 bis 20.000.000 Zyklen durchlaufen (Zyklen pro Sekunde = Frequenz). Möchte man eine Sekunde messen, kann man somit die entsprechende Anzahl Zyklen von Null an hochzählen oder von dem entsprechenden Wert bis auf 0 runterzählen. Für das Zählen bietet sich im µC der &amp;quot;Clear on compare match&amp;quot; (CTC) Modus eines Timers an.&lt;br /&gt;
&lt;br /&gt;
Die obigen Zahlen lassen sich jedoch nicht in einer 16 Bit Variablen ausdrücken da sie zu gross sind und somit ist ein direktes Setzen des Compare-Wertes des Timers T1 im AVR nicht möglich. Deshalb unterteilt man die Quarzfrequenz in zwei Faktoren; der erste (Softwareteiler) bestimmt die Anzahl der Interrupts pro Sekunde von Timers T1 und der zweite den Reloadwert von Timer 1, welcher die Anzahl von Timertakten pro Interrupt definiert.&lt;br /&gt;
&lt;br /&gt;
==Beispiel== &lt;br /&gt;
&lt;br /&gt;
Im Beispiel AVR wird ein 11,0592-MHz-Quarz verwendet, was einem üblichen [[Baudratenquarz]] entspricht, d.h. damit können die UART-Standardbaudraten erzeugt werden.&lt;br /&gt;
&lt;br /&gt;
Der Softwareteiler wird mit 256 gewählt, d.h. 256 Timerinterrupts pro Sekunde, und kann somit mit nur einem einzigen Byte realisiert werden. Für größere Werte muß der Softwareteiler als int (2 Byte) deklariert werden. Bei kleinen Werten für den Softwareteiler muss man beachten, dass der zweite Faktor immer noch in 2 Byte passt, um als Comparewert für den 16-Bit-Timer 1 verwendet werden zu können. Das wird im unten gezeigten Quelltext automatisch geprüft und ggf. eine Fehlermeldung erzeugt.&lt;br /&gt;
&lt;br /&gt;
Die Timer-[[Interrupt|ISR]] wird in einer Sekunde F_TIMER mal aufgerufen. Mit diesen 256 Hz ergibt sich eine Periodendauer von ca. 4ms, die auch sehr gut zum Entprellen von Tasten benutzt werden kann. Eine Entprellroutine kann also bequem in den Timerinterrupt mit eingefügt werden. Beachten muss man nur noch, dass das Nullsetzen des Timers erst einen Zyklus nach dem Comparematch erfolgt, d.h. eine Periode der ISR ist ORC1A + 1 Timertakte lang.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; In diesem Beispiel wird die Zahl 256 in einer 8-Bit Variablen gespeichert. Eigentlich geht das nicht, denn bei der Initialisierung wird die Variable aif 0 gesetzt. Praktisch geht es hier doch, weil eben durch das Dekrementieren die Variable beim nächsten Durchlauf der ISR einen normalen Wert bekommt (arithmetischer Überlauf). Allerdings ist das nicht der beste Programmierstil.&lt;br /&gt;
&lt;br /&gt;
==Berechnung==&lt;br /&gt;
&lt;br /&gt;
Die Berechnung des Comparewertes ist sehr einfach: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
Periodendauer     = 11059200 / 256    = 43200, Rest 0. &lt;br /&gt;
Comparewert OCR1A = Periodendauer - 1 = 43199 (siehe Datenblatt, Timer 1 CTC mode)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Da haben wir ja noch mal Glück gehabt, es gibt keinen Rest bei der Division und die Sekunde ist exakt 256 * 43200 = 11059200 Zyklen lang. Theoretisch. Denn selbst wenn auf dem Quarz eine Frequenz von 11,0592 Mhz aufgedruckt ist, so schwingt er doch auf einer etwas anderen Frequenz. Der Grund dafür sind Fertigungstoleranzen und natürlich die Tatsache, dass die Frequenz eines Quarzes auch von der Temperatur abhängig ist. Es gilt also zunächst einmal herauszufinden, auf welcher Frequenz der Quarz wirklich schwingt.&lt;br /&gt;
&lt;br /&gt;
Dazu wird eine Uhr programmiert und mit dem nominalen Wert laufen gelassen. Nun habe ich die Uhr&lt;br /&gt;
exakt einen Tag laufen lassen und festgestellt, dass sie 1,5 s nach geht. Dazu kann man beispielsweise die Tagesschau nutzen, welche jeden Tag um 20:00 (+einer konstanten Zeitverschiebung durch das Übertragungsmedium SAT,DVB-T, ...) beginnt und sogar eine Uhr dabei einblendet. D.h. die Quarzfrequenz beträgt in Wirklichkeit: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
11059200 * (1 - 1,5 / 24 / 60 / 60) = 11059008 Hz. &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Ausführliche Rechnung:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
(Zyklen in 24h - Zyklen Verspätung) / Sekunden pro 24h = korrekte Frequenz&lt;br /&gt;
((24 * 60 * 60 * 256 * 43200) - (1,5 * 256 * 43200)) / (24 * 60 * 60) = 11059008 Hz.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also die ganze Rechnung nochmal: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
Periodendauer     = 11059008 / 256    = 43199, Rest 64.&lt;br /&gt;
Comparewert OCR1A = Periodendauer - 1 = 43198 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Nun haben wir einen Rest und es würden uns jede Sekunde 64 Timer-Zyklen fehlen. Das geht natürlich nicht. &lt;br /&gt;
&lt;br /&gt;
Deshalb wird jedesmal, wenn der Softwareteiler Null ist und die Sekunde weitergezählt wird, ein&lt;br /&gt;
anderer Comparewert geladen. Dieser ist dann um den Rest größer. Und beim nächsten Timerinterrupt&lt;br /&gt;
wird dann wieder der Comparewert geladen, der das Ergebnis der Division war. &lt;br /&gt;
&lt;br /&gt;
Es ergeben sich somit: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
255 * (43198 + 1) + 1 * (43198 + 64  + 1) = 11059008 Zyklen&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Exakt so, wie wir es wollten.&lt;br /&gt;
&lt;br /&gt;
==Das Programm== &lt;br /&gt;
&lt;br /&gt;
Nachfolgend nun das C-Programm. Da wir ja alle nicht gerne rechnen, lassen wir das einfach den C-Compiler erledigen. D.h. wir brauchen nur noch per Definition für F_CPU den entsprechenden Wert eintragen und der Compiler rechnet alle nötigen Konstanten ganz alleine aus. So ein Compiler ist auch ziemlich faul, der merkt sofort, wenn die Operanden für eine Berechnung alles Konstanten sind. Und ehe er sich damit abquält, extra Code für diese Berechnungen zu erzeugen, rechnet er es lieber selber aus und fügt das Ergebnis direkt in den Code ein. Für den eher seltenen Sonderfall, daß Rest == 0 ist, wird ein Teil des Codes mit #if Rest==0 . . . #endif automatisch entfernt (bedingte Kompilierung mittels Präprozessordirektiven), damit spart man dort minimal CPU-Zeit und Programmspeicher. &lt;br /&gt;
&lt;br /&gt;
Der Assembler kann auch 32-Bit Konstanten-Berechnungen ausführen. Allerdings muß man dann die entsprechenden Präprozessoroperationen benutzen. Man könnte auch eine Divisionsroutine aufrufen, aber dann würde ja echter Code erzeugt. &lt;br /&gt;
&lt;br /&gt;
===Beispiel in C===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/************************************************************************/&lt;br /&gt;
/*                                                                      */&lt;br /&gt;
/*  Die genaue Sekunde / RTC                                            */&lt;br /&gt;
/*                                                                      */&lt;br /&gt;
/*  Erzeugt einen Timerinterrupt mit beliebiger Frequenz                */&lt;br /&gt;
/*                                                                      */&lt;br /&gt;
/*              Author: Peter Dannegger                                 */&lt;br /&gt;
/*                      danni@specs.de                                  */&lt;br /&gt;
/*                                                                      */&lt;br /&gt;
/************************************************************************/&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/interrupt.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// hier alles eintragen&lt;br /&gt;
//#define F_CPU      11059201L   // Nominalwert des CPU-Taktes&lt;br /&gt;
#define F_CPU        11059008L   // gemessener Wert, Abweichung -1.5s/d&lt;br /&gt;
#define F_TIMER      256L        // Timer1 ISR-Frequenz&lt;br /&gt;
#define T1_PRESCALER 1           // Hardware-Vorteiler für Timer 1, &lt;br /&gt;
                                 // muss mit der Konfiguratiom übereinstimmen!  &lt;br /&gt;
&lt;br /&gt;
// hier wird alles berechnet&lt;br /&gt;
#define OCRx_RELOAD ((F_CPU / (T1_PRESCALER * F_TIMER)) -1) // Periodendauer pro Interrupt /Timertakte&lt;br /&gt;
                                                            // -1, weil die Timerperiode OCR1x +1 ist&lt;br /&gt;
#define REST        ((F_CPU % (T1_PRESCALER * F_TIMER)) / T1_PRESCALER)     // Divisionsrest &lt;br /&gt;
&lt;br /&gt;
#if (OCRx_RELOAD+REST) &amp;gt; 65535&lt;br /&gt;
  #error Überlauf in Timer1! F_TIMER oder T1_PRESCALER erhöhen.&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
uint8_t volatile second;         // Sekundenzaehler&lt;br /&gt;
&lt;br /&gt;
ISR(TIMER1_COMPA_vect) {&lt;br /&gt;
    static uint8_t prescaler=(uint8_t)F_TIMER;&lt;br /&gt;
&lt;br /&gt;
    if( --prescaler == 0 ) { &lt;br /&gt;
        prescaler = (uint8_t)F_TIMER;&lt;br /&gt;
        second++;                               // eine Sekunde vorueber&lt;br /&gt;
        if( second == 60 ) second = 0;          // eine Minute vorbei    &lt;br /&gt;
#if REST==0&lt;br /&gt;
    }                                           // Sonderfall spart ein wenig Code&lt;br /&gt;
#else                            &lt;br /&gt;
        OCR1A = OCRx_RELOAD + REST;             // Rest behandeln&lt;br /&gt;
    } else {&lt;br /&gt;
        OCR1A = OCRx_RELOAD;                    // OCRx jeweils neu laden&lt;br /&gt;
    }&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
/************************************************************************/&lt;br /&gt;
/*          Hier Entprellung für Tasten etc. einfügen                   */&lt;br /&gt;
/************************************************************************/&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main( void ) {&lt;br /&gt;
&lt;br /&gt;
    DDRB = 0xFF;      // alles Ausgänge mit LEDs zur Anzeige&lt;br /&gt;
&lt;br /&gt;
    // Timer 1 initialisieren, mode 4, CTC, Vorteiler 1&lt;br /&gt;
    // Periode durch OCR1A definiert&lt;br /&gt;
&lt;br /&gt;
    TCCR1B = (1&amp;lt;&amp;lt;WGM12) | (1&amp;lt;&amp;lt;CS10);&lt;br /&gt;
    OCR1A = OCRx_RELOAD;&lt;br /&gt;
    // OCR1A Interrupt freigeben, wird für Timer CTC mode benutzt&lt;br /&gt;
    TIMSK = 1&amp;lt;&amp;lt;OCIE1A;                  &lt;br /&gt;
&lt;br /&gt;
    sei();&lt;br /&gt;
&lt;br /&gt;
    while(1) {&lt;br /&gt;
        PORTB = second;  // einfache Anzeige der Sekunden in Binärform&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Beispiel in Assembler===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt; &lt;br /&gt;
;************************************************************************/&lt;br /&gt;
;*                                                                      */&lt;br /&gt;
;*          Precise one second timebase                                 */&lt;br /&gt;
;*                                                                      */&lt;br /&gt;
;*              Author: Peter Dannegger                                 */&lt;br /&gt;
;*                      danni@specs.de                                  */&lt;br /&gt;
;*                                                                      */&lt;br /&gt;
;************************************************************************/&lt;br /&gt;
.nolist&lt;br /&gt;
.include &amp;lt;m8def.inc&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.equ    F_CPU        = 11059008&lt;br /&gt;
.equ    F_TIMER      = 256&lt;br /&gt;
.equ    T1_PRESCALER = 1  ; must be identical to initialisation!&lt;br /&gt;
.equ    ISR_PERIOD   = (F_CPU / (F_TIMER * T1_PRESCALER))&lt;br /&gt;
.equ    REMAINDER    = ( (F_CPU - (ISR_PERIOD * F_TIMER * T1_PRESCALER)) / T1_PRESCALER)&lt;br /&gt;
&lt;br /&gt;
.if (ISR_PERIOD + REMAINDER -1) &amp;gt; 65535&lt;br /&gt;
.error &amp;quot;Timer 1 overflow! Increase F_TIMER or T1_PRESCALER.&amp;quot;&lt;br /&gt;
.endif&lt;br /&gt;
&lt;br /&gt;
.def    isr_sreg   = r15&lt;br /&gt;
.def    isr_tmp    = r17&lt;br /&gt;
.def    tmp        = r16&lt;br /&gt;
.def    prescaler  = r18&lt;br /&gt;
.def    second     = r19&lt;br /&gt;
&lt;br /&gt;
.list&lt;br /&gt;
    rjmp    Reset&lt;br /&gt;
.org    OC1Aaddr&lt;br /&gt;
    rjmp    OC1Aint&lt;br /&gt;
;-------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
OC1Aint:&lt;br /&gt;
    in  isr_sreg, sreg&lt;br /&gt;
&lt;br /&gt;
;************************************************************************/&lt;br /&gt;
;*          Insert Key Debouncing Here                                  */&lt;br /&gt;
;************************************************************************/&lt;br /&gt;
&lt;br /&gt;
    dec prescaler&lt;br /&gt;
    brne _oci1&lt;br /&gt;
&lt;br /&gt;
    ldi prescaler, (F_TIMER &amp;amp; 0xFF)&lt;br /&gt;
    inc second&lt;br /&gt;
    cpi second, 60&lt;br /&gt;
    brne _oci3&lt;br /&gt;
&lt;br /&gt;
    ldi second, 0&lt;br /&gt;
_oci3:&lt;br /&gt;
    ldi isr_tmp, high( ISR_PERIOD + REMAINDER - 1 )&lt;br /&gt;
    out ocr1ah, isr_tmp&lt;br /&gt;
    ldi isr_tmp, low( ISR_PERIOD + REMAINDER - 1 )&lt;br /&gt;
    out ocr1al, isr_tmp&lt;br /&gt;
    rjmp _oci2&lt;br /&gt;
&lt;br /&gt;
_oci1:&lt;br /&gt;
    ldi isr_tmp, high( ISR_PERIOD - 1 )&lt;br /&gt;
    out ocr1ah, isr_tmp&lt;br /&gt;
    ldi isr_tmp, low( ISR_PERIOD - 1 )&lt;br /&gt;
    out ocr1al, isr_tmp&lt;br /&gt;
&lt;br /&gt;
_oci2:&lt;br /&gt;
    out sreg, isr_sreg&lt;br /&gt;
    reti&lt;br /&gt;
&lt;br /&gt;
;-------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reset:&lt;br /&gt;
    ; Stack initialaisieren&lt;br /&gt;
    ldi tmp, high( ramend )&lt;br /&gt;
    out sph, tmp&lt;br /&gt;
    ldi tmp, low( ramend )&lt;br /&gt;
    out spl, tmp&lt;br /&gt;
&lt;br /&gt;
    ; PORTB auf Ausgang&lt;br /&gt;
    ldi tmp, 0xFF&lt;br /&gt;
    out ddrb, tmp&lt;br /&gt;
&lt;br /&gt;
    ; Timer 1 initialisieren, mode 4, CTC, prescaler 1&lt;br /&gt;
    ldi tmp, 1&amp;lt;&amp;lt;WGM12 | 1&amp;lt;&amp;lt;CS10&lt;br /&gt;
    out TCCR1B, tmp&lt;br /&gt;
    &lt;br /&gt;
    ; Timer 1 Periode = OCR1A +1&lt;br /&gt;
    ldi tmp, high( ISR_PERIOD - 1 )&lt;br /&gt;
    out ocr1ah, tmp&lt;br /&gt;
    ldi tmp, low( ISR_PERIOD - 1 )&lt;br /&gt;
    out ocr1al, tmp&lt;br /&gt;
    out tcnt1l, tmp&lt;br /&gt;
&lt;br /&gt;
    ldi prescaler, (F_TIMER &amp;amp; 0xFF)&lt;br /&gt;
    ldi second, 0&lt;br /&gt;
&lt;br /&gt;
    ; OCR1A Interrupt freigeben&lt;br /&gt;
    ldi tmp, 1&amp;lt;&amp;lt;OCIE1A&lt;br /&gt;
    out TIMSK, tmp&lt;br /&gt;
    sei&lt;br /&gt;
&lt;br /&gt;
main_loop:&lt;br /&gt;
    out PORTB, second&lt;br /&gt;
    rjmp    main_loop&lt;br /&gt;
&lt;br /&gt;
;-------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Verbesserte Version mit durchlaufendem Hardwarezähler===&lt;br /&gt;
&lt;br /&gt;
Wird im Timer die Option &amp;quot;Clear On Compare Match&amp;quot; verwendet, so verliert man den Overflow Interrupt. Oder möchte man nebenher noch eine Zeit mit der Input Capture Funktion messen, so benötigt man einen durchlaufenden Timer. Um dies zu erreichen wird OCR1A nicht fest eingestellt sondern bei jedem Aufruf um den gleichen Wert erhöht.&lt;br /&gt;
&lt;br /&gt;
In vorherigen Code wird der Rest auf einmal abgearbeitet. Damit erspart man sich bei jedem Interrupt einen Vergleich und die Verarbeitungszeit verkürzt sich geringfügig. Der Unterschied zwischen kurzem und langem Interrupt ist hier die Anzahl REST Timertakte, welche je nach mathematischer Konstellation zwischen 0 und F_TIMER-1 liegen kann (Divisionsrest, Modulo-Operation). Bei dem nachfolgenden Beispiel wird der Rest gleichmäßig abgearbeitet, d.h. die Resttakte werden gleichmäßig über eine Sekunde verteilt. Der Unterschied zwischen kurzem und langem Interrupt beträgt nur 1 Timertakt. Der Preis dafür ist ein klein wenig mehr CPU-Last im Interrupt und eine zusätzliche 16 Bit Variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/************************************************************************/&lt;br /&gt;
/*                                                                      */&lt;br /&gt;
/*  Die genaue Sekunde / RTC                                            */&lt;br /&gt;
/*                                                                      */&lt;br /&gt;
/*  Erzeugt einen Timerinterrupt mit beliebiger Frequenz                */&lt;br /&gt;
/*                                                                      */&lt;br /&gt;
/*  verbesserte Version mit durchlaufendem Timer 1                      */&lt;br /&gt;
/*  und gleichmäßiger Verteilung der restlichen Timertakte              */&lt;br /&gt;
/*                                                                      */&lt;br /&gt;
/************************************************************************/&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/interrupt.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// hier alles einstellen&lt;br /&gt;
//#define F_CPU      11059200L   // Nominalwert des CPU-Taktes&lt;br /&gt;
#define F_CPU        11059008L   // gemessener Wert, Abweichung 1.5s/d&lt;br /&gt;
#define F_TIMER      256L        // Timer 1 ISR-Frequenz&lt;br /&gt;
#define T1_PRESCALER 1           // Hardware-Vorteiler für Timer 1&lt;br /&gt;
                                 // muss mit der Konfiguration übereinstimmen&lt;br /&gt;
&lt;br /&gt;
// hier wird alles berechnet&lt;br /&gt;
#define OCRx_INC     (F_CPU / (T1_PRESCALER * F_TIMER))     // Timertakte pro Interrupt &lt;br /&gt;
#define REST         ((F_CPU % (T1_PRESCALER * F_TIMER)) / T1_PRESCALER)     // Divisionsrest &lt;br /&gt;
&lt;br /&gt;
#if (OCRx_INC+1) &amp;gt; 65536&lt;br /&gt;
  #error Überlauf in Timer1! F_TIMER oder T1_PRESCALER erhöhen.&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
uint8_t volatile second;         // Sekundenzaehler&lt;br /&gt;
&lt;br /&gt;
ISR(TIMER1_COMPA_vect) {&lt;br /&gt;
    static uint8_t prescaler=(uint8_t)F_TIMER;&lt;br /&gt;
&lt;br /&gt;
    if( --prescaler== 0 ) { &lt;br /&gt;
        prescaler= (uint8_t)F_TIMER;&lt;br /&gt;
        second++;                               // eine Sekunde vorueber&lt;br /&gt;
        if( second == 60 ) second = 0;          // eine Minute vorbei                    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
#if REST !=0    &lt;br /&gt;
    static uint16_t restakku;&lt;br /&gt;
&lt;br /&gt;
    restakku += REST;&lt;br /&gt;
    if (restakku &amp;gt;= F_TIMER) {&lt;br /&gt;
        restakku -= F_TIMER;&lt;br /&gt;
        OCR1A += OCRx_INC + 1;      // lange Periode&lt;br /&gt;
    } else {   &lt;br /&gt;
        OCR1A += OCRx_INC;          // kurze Periode&lt;br /&gt;
    }&lt;br /&gt;
#else                               // kein REST&lt;br /&gt;
    OCR1A += OCRx_INC;              // immer kurze Periode&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
/************************************************************************/&lt;br /&gt;
/*          Hier Entprellung für Tasten etc. einfügen                   */&lt;br /&gt;
/************************************************************************/&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main( void ) {&lt;br /&gt;
&lt;br /&gt;
    DDRB = 0xFF;      // alles Ausgänge mit LEDs zur Anzeige&lt;br /&gt;
&lt;br /&gt;
    // Timer 1 initialisieren, mode 0, normal, Vorteiler 1&lt;br /&gt;
    TCCR1B = (1&amp;lt;&amp;lt;CS10);&lt;br /&gt;
    OCR1A  = OCRx_INC;&lt;br /&gt;
    // OCR1A Interrupt freigeben&lt;br /&gt;
    TIMSK = 1&amp;lt;&amp;lt;OCIE1A;                  &lt;br /&gt;
&lt;br /&gt;
    sei();&lt;br /&gt;
&lt;br /&gt;
    while(1) {&lt;br /&gt;
        PORTB = second;  // einfache Anzeige der Sekunden in Binärform&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Durchlaufender Hardwarezähler und fortlaufende Addition===&lt;br /&gt;
&lt;br /&gt;
Gänzlich ohne Hin- und Hertogglen eines Bits kommt man aus, wenn irgendein Timer mit einer Überlauf-Interruptfrequenz &amp;gt; 1Hz arbeitet. Dann kann die ISR eine 32-bit-Konstante auf einen 32-bit-Akkumulator addieren; bei Überlauf ist eine Sekunde vergangen. Zugegeben, es gibt &amp;quot;lange&amp;quot; und &amp;quot;kurze&amp;quot; Sekunden, aber der Fehler summiert sich nicht, und der Code ist sehr einfach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hier ein Beispiel:&lt;br /&gt;
&lt;br /&gt;
Es gibt ein Programm gettick(), das einen Wert holt. Dieser Wert wird von Zeit zu Zeit von der Hardware (Beispiel AVR: der Timer) oder dem Betriebssystem ermittelt. (Beispiel Linux: gettick ruft getmsec, getmsec ruft gettimeofday)&lt;br /&gt;
&lt;br /&gt;
Dieser aufgerufene Wert sollte pro Sekunde um TICKPERSEC erhöht werden, was aber mit einer gewissen Ungenauigkeit geschieht.&lt;br /&gt;
&lt;br /&gt;
Die Laufzeitkorrektur wird dadurch ausgeführt, dass der von gettick() zurückgegebene Wert mit einem Faktor TFAK multipliziert wird. Der Faktor sollte so gewählt werden, dass:&lt;br /&gt;
&lt;br /&gt;
* Das Ergebnis actual_value immer in 32 Bit hineinpasst.&lt;br /&gt;
* Die Multiplikation durch Schiebeopertionen ersetzt werden kann, weil der Faktor eine 2-er-Potenz ist. (Das erledigt avr-gcc)&lt;br /&gt;
&lt;br /&gt;
Immer wenn tsdaytim_calibrated() erkennt, dass eine Sekunde vergangen, wird last_value um die Zahl onesecond erhöht.&lt;br /&gt;
&lt;br /&gt;
Der Zahlenwert onsecond wird mit TICKPERSEC*TFAK initalisiert und kann angezeigt oder neu eingegeben werden (Die Bedienung der seriellen Schnittstelle hierfür ist in diesem Beispiel nicht enthalten).&lt;br /&gt;
&lt;br /&gt;
Wenn festgestellt wird, dass die Uhr pro Zeit (P) um (E) zu schnell geht, dann kann der Wert onsecond korrigiert werden.&lt;br /&gt;
&lt;br /&gt;
c = d *  (P+E)/P&lt;br /&gt;
Beispiel Pro 7 Tage 120 Sekunden zu viel:&lt;br /&gt;
&lt;br /&gt;
7 Tage = 7*86400= 604800 sekunden&lt;br /&gt;
c = 992000000 * (604800+120)/604800=991803175&lt;br /&gt;
Dann wird die Uhr genauer gehen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/****************************************************************/&lt;br /&gt;
/* File home/cc/qq/danclock.cpp                                 */&lt;br /&gt;
/*          Precise 1 Second Timebase                           */&lt;br /&gt;
/*                                                              */&lt;br /&gt;
/*      Author: Peter Dannegger / Hjherbert                     */&lt;br /&gt;
/*          danni@specs.de                                      */&lt;br /&gt;
/*                                                              */&lt;br /&gt;
/****************************************************************/&lt;br /&gt;
// Target: atmega8, (2313?)&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/interrupt.h&amp;gt;&lt;br /&gt;
// #include &amp;lt;avr/signal.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#ifndef OCR1A&lt;br /&gt;
#define OCR1A OCR1  // 2313 support&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
#ifndef WGM12&lt;br /&gt;
#define WGM12 CTC1  // 2313 support&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
#ifndef PINC&lt;br /&gt;
#define KEY_INPUT   PIND    // 2313&lt;br /&gt;
#else&lt;br /&gt;
#define KEY_INPUT   PINC    // Mega8&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
//#define F_CPU     11059201L   // nominal value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#define DIVISOR 256&lt;br /&gt;
&lt;br /&gt;
#define TICKPERSEC  (F_CPU/DIVISOR)&lt;br /&gt;
&lt;br /&gt;
uint8_t volatile second;            // count seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// TFAK ? TICKPERSEC must not exceed 2^32&lt;br /&gt;
#define TM (0x7FFFFFFFUL/2/TICKPERSEC)  // max of TFAK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#define TFAK ( (  (TM&amp;gt;&amp;gt;1) | (TM&amp;gt;&amp;gt;2) | (TM&amp;gt;&amp;gt;3)  | (TM&amp;gt;&amp;gt;4)  | (TM&amp;gt;&amp;gt;5)  | (TM&amp;gt;&amp;gt;6)  | (TM&amp;gt;&amp;gt;7) \&lt;br /&gt;
                | (TM&amp;gt;&amp;gt;8) | (TM&amp;gt;&amp;gt;9) | (TM&amp;gt;&amp;gt;10) | (TM&amp;gt;&amp;gt;11)  | (TM&amp;gt;&amp;gt;12)  | (TM&amp;gt;&amp;gt;13)  | (TM&amp;gt;&amp;gt;14)  | (TM&amp;gt;&amp;gt;15) \&lt;br /&gt;
                | (TM&amp;gt;&amp;gt;16) | (TM&amp;gt;&amp;gt;17) | (TM&amp;gt;&amp;gt;18) | (TM&amp;gt;&amp;gt;19)  | (TM&amp;gt;&amp;gt;20)  | (TM&amp;gt;&amp;gt;21)  | (TM&amp;gt;&amp;gt;22)  | (TM&amp;gt;&amp;gt;23) \&lt;br /&gt;
                | (TM&amp;gt;&amp;gt;24) | (TM&amp;gt;&amp;gt;25) | (TM&amp;gt;&amp;gt;26) | (TM&amp;gt;&amp;gt;27)  | (TM&amp;gt;&amp;gt;28)  | (TM&amp;gt;&amp;gt;29)  | (TM&amp;gt;&amp;gt;30)  | (TM&amp;gt;&amp;gt;31) \&lt;br /&gt;
               ) + 1 )&lt;br /&gt;
// TFAK is a power the biggest power of two which is less than TM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
uint32_t onesecond = 1*TICKPERSEC*TFAK ;    // correct this value if see the clock is late / too fast&lt;br /&gt;
uint32_t last_value ;&lt;br /&gt;
uint32_t ticks ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SIGNAL (SIG_OUTPUT_COMPARE1A)&lt;br /&gt;
{&lt;br /&gt;
    ++ticks ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
uint32_t gettick( void )&lt;br /&gt;
{&lt;br /&gt;
    uint32_t l ;&lt;br /&gt;
    cli();&lt;br /&gt;
    l = ticks ;&lt;br /&gt;
    sei();&lt;br /&gt;
    return l ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void tsdaytim_calibrated(void)&lt;br /&gt;
// Keep the time-of-the-day actual&lt;br /&gt;
// Add a second, if a second if gone&lt;br /&gt;
{&lt;br /&gt;
    uint32_t actual_value ;         // gettick() multiplied by factor 2^n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    actual_value = gettick() * TFAK ;   // because TFAK is a power of two&lt;br /&gt;
                                        // The compiler will create some shift commands&lt;br /&gt;
&lt;br /&gt;
    if ( actual_value - last_value &amp;gt; onesecond )&lt;br /&gt;
    {                           // once per second&lt;br /&gt;
        if ( ++second &amp;gt;= 60 )&lt;br /&gt;
        {&lt;br /&gt;
            second = 0 ;&lt;br /&gt;
        }&lt;br /&gt;
        last_value += onesecond ;   // One second more&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int main( void )&lt;br /&gt;
{&lt;br /&gt;
    DDRB = 0xFF;&lt;br /&gt;
    while( KEY_INPUT &amp;amp; 1 );         // start with key 0 pressed&lt;br /&gt;
&lt;br /&gt;
    TCCR1B = 1&amp;lt;&amp;lt;WGM12^1&amp;lt;&amp;lt;CS10;      // divide by 1&lt;br /&gt;
                                    // clear on compare&lt;br /&gt;
    OCR1A = DIVISOR ;               // Output Compare Register&lt;br /&gt;
    TCNT1 = 0;                      // Timer start value&lt;br /&gt;
    second = 0;&lt;br /&gt;
&lt;br /&gt;
    TIMSK = 1&amp;lt;&amp;lt;OCIE1A;              // beim Vergleichswertes Compare Match&lt;br /&gt;
                                    // Interrupt (SIG_OUTPUT_COMPARE1A)&lt;br /&gt;
    sei();&lt;br /&gt;
    last_value = gettick() * TFAK ;&lt;br /&gt;
    for(;;)&lt;br /&gt;
    {&lt;br /&gt;
        tsdaytim_calibrated();&lt;br /&gt;
        PORTB = second;             // display second (binary)&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Echtzeituhr mit Uhrenquarz ==&lt;br /&gt;
&lt;br /&gt;
=== RTC mit wenig Stromverbrauch ===&lt;br /&gt;
&lt;br /&gt;
Das vorgestellte Verfahren ist leider nicht direkt anwendbar, wenn man eine RTC mit einem 32,768 KHz Uhrenquarz realisieren möchte. Dieser Weg ist dann notwendig, wenn der Controller [[Ultra low power | batteriebetrieben]] sehr lange laufen soll und durch Verwendung des [[Sleep Mode]] Strom gespart wird.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung der Auflösung ===&lt;br /&gt;
&lt;br /&gt;
Wo liegt das Problem? Das obige Verfahren nutzt recht hochfrequente Quarze mit 1 MHz und mehr. Wenn man die Frequenz eines Quarzes von 1 MHz = 1.000.000 Hz mit einer [[Auflösung und Genauigkeit| Auflösung]] von 1 Hz angibt, entspricht das einem maximalen Fehler von 1/1.000.000 oder 1ppm (engl. parts per million, millionstel Teil). Das ist sehr wenig. Eine RTC mit einem Fehler von 1ppm hat eine Gangabweichung von 86,4ms pro Tag, oder 2,5s pro Monat. Das ist ein sehr guter Wert. Wenn ich nun aber die Frequenz 32768 Hz mit 1 Hz Auflösung angebe, ist das schlimmstenfalls ein Fehler von 1/32768 = 30,5ppm, was einer Abweichung von 2,5s pro Tag und 75s pro Monat entspricht!&lt;br /&gt;
&lt;br /&gt;
=== Uhrentakt genau messen und digital korrigieren ===&lt;br /&gt;
&lt;br /&gt;
Wie kann man das Problem lösen? Die AVRs können im [[Sleep Mode]] den Uhrenquarz nur am Timer 2 betreiben, welcher ein 8 Bit Timer ist. D.H. ein Überlauf passiert alle 256 Takte, sprich 7,8125ms (=128 Hz). Man kann auch einen Prescaler verwenden, welcher das Problem aber nicht löst.&lt;br /&gt;
&lt;br /&gt;
Wie bereits festgestellt, müssen wir die Frequenz des 32768Hz Uhrenquarzes genauer messen und darstellen. Wir wollen hier annehmen, dass wir die Frequenz auf 0,001Hz = 1mHz (Millihertz) auflösen, ein guter Frequenzzähler kann das problemlos und ist auch so [[Auflösung und Genauigkeit|&#039;&#039;&#039;genau&#039;&#039;&#039;]]. Wir können beispielsweise feststellen, dass ein Quarz mit 32768,423Hz schwingt, das entspricht einem Fehler von &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_r=(\frac{f_{ist}}{f_{soll}} -1 )\cdot 10^6=(\frac{32768,423}{32768} -1 )\cdot 10^6=12,9ppm&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dabei ist zu beachten, daß diese Messung &#039;&#039;&#039;nicht&#039;&#039;&#039; direkt am Quarz erfolgen darf, auch nicht mit kapazitätsarmen 10:1 Tastköpfen! Denn so ein Quarz wird von kleinsten Kapazitäten im Bereich von weniger als ein pF messbar verstimmt. Darum muss man in so einem Fall den Uhrentakt auf ein anderes IO-Pin ausgeben und dort messen. Beim [[MSP430]] ist das einfach, man kann ACLK auf ein Pin direkt ausgeben. Der [[AVR]] kann das leider nicht. Hier muss man zu einem Trick greifen. Man benutzt die Output Compare Funktion, um mit Timer 2 einen 128 Hz Takt zu erzeugen. Dieser ist fest mit dem Uhrentakt verbunden und kann anstellte dessen gemessen werden, ohne den Quarz zu verstimmen. Die Messung ergibt in diesem Fall eine Frequenz von 128,00165 Hz.&lt;br /&gt;
&lt;br /&gt;
OK, jetzt haben wir den Takt gemessen, wir wissen, daß pro Sekunde 128 Timerüberläufe passieren (Prescaler =1). Wir wissen, dass unser Quarz pro Sekunde um 0,423 Takte zu schnell ist. Wir können aber keine halben Takte mehr oder weniger zählen? Doch! Mit [[Festkommaarithmetik]]! Denn nach 1000s ist unser Quarz um 423 Takte zu weit gelaufen und muss um diese Anzahl zurückgestellt werden. Also könnte man im ersten Ansatz nach 1000 Sekunden den Timer 2 um diesen Betrag korrigieren. Das Problem dabei ist nur, dass der Zähler nur 8 Bit breit ist. Ein Addieren oder Subtrahieren von 423 würde mehrfache Überläufe verursachen, welche programmtechnisch nur schwer zu handhaben wären. Also muss eine etwas bessere Methode her.&lt;br /&gt;
&lt;br /&gt;
=== Bresenham für RTCs ===&lt;br /&gt;
&lt;br /&gt;
Wenn man sich die Idee der [[Festkommaarithmetik]] mal eine Weile durch den Kopf gehen lässt, kommt man vielleicht auf folgende Idee. Der Frequenzfehler beträgt in unserem Beispiel 0,423 Hz, also Takte pro Sekunde. Oder aber 423 Tausendstel Takte pro Sekunde. Nach drei Sekunden sind es schon 1,269 Takte oder 1269 Tausendstel Takte. Moment! &#039;&#039;&#039;Einen&#039;&#039;&#039; Takt können wir korrigieren, indem wir den Zähler um 1 Takt zurück setzen. Den Restfehler von 269 Tausendstel merken wir uns und akkumulieren weiter. Wenn dann wieder die 1000er Marke überschritten wird machen wir das Gleiche. Analog dazu natürlich auch bei negativem Vorzeichen, sprich wenn der Quarz zu langsam schwingt wird er um einen Takt vorgestellt. Et voilà! Dieses Verfahren ist sehr ähnlich zum [http://de.wikipedia.org/wiki/Bresenham-Algorithmus Bresenham-Algorithmus] zum Zeichnen von Linien auf Computermonitoren.&lt;br /&gt;
&lt;br /&gt;
=== Beispielprogramm ===&lt;br /&gt;
&lt;br /&gt;
Das folgende Beispiel stellt eine RTC mit sehr niedrigem Stromverbrauch zur Verfügung. Laut Datenblatt beträgt die Stromaufnahme nur ca. 6µA bei 3V Versorgungsspannung, besser als einige kommerzielle RTCs! Möglich macht das die Nutzung des Power Save [[Sleep Mode]]s. Die Frequenz kann auf &amp;lt;math&amp;gt;10^{-5}&amp;lt;/math&amp;gt; Hz genau abgeglichen werden, was in diesem Fall bei einer Messfrequenz von 128Hz einer Auflösung von 0,078ppm entspricht. Das bedeutet eine Abweichung von 6,7ms pro Tag, 0,2s pro Monat oder 2,46s pro Jahr!&lt;br /&gt;
&lt;br /&gt;
Die Abweichung des Quarzes wird in einer vorzeichenbehafteten 16 Bit Variable in der Einheit &amp;lt;math&amp;gt;10^{-3}&amp;lt;/math&amp;gt; Hz gespeichert. D.h. es kann ein Frequenzfehler von +/- 32,768 Hz korrigiert werden, das sind 1000ppm! Normale Quarze haben Abweichungen von max. 100ppm, meist viel weniger. Jede Sekunde wird der Frequenzfehler neu berechnet und in den darauffolgenden 128 Interrupts ggf. mehrfach korrigiert. Wichtig ist dabei, dass die Korrektur wirklich ganz am Anfang der ISR steht, weil hier das Timing wirklich kritisch ist. Denn innerhalb eines Uhrenquarztaktes von ~30µs muss der Timer 2 neu beschrieben werden. Bei 1 MHz RC-Oszillatortakt sind das nur 30 Takte, wovon 6 zum Aufwachen und 4 zum Anspringen der ISR benötigt werden. Dazu kommen noch das Sichern einiger Register am Anfang der ISR, was man im C nicht direkt sieht. Sicherheitshalber sollte man auch einen höheren Takt einstellen, z.&amp;amp;nbsp;B. 2 MHz, dann ist das Timing wesentlich entspannter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
************************************************************************&lt;br /&gt;
*&lt;br /&gt;
* Stromsparende Echtzeituhr mit 32768Hz Uhrenquarz&lt;br /&gt;
*&lt;br /&gt;
* ATmega88 mit internem 2 MHz Oszillator + 32,768 kHz Quarz&lt;br /&gt;
*&lt;br /&gt;
* Fuses bleiben auf Standardeistellungen&lt;br /&gt;
* LOW Fuse Byte = 0x62&lt;br /&gt;
* HIGH Fuse Byte = 0xDF&lt;br /&gt;
* EXT Fuse Byte = 0xF9&lt;br /&gt;
*&lt;br /&gt;
* LED mit 1K Vorwiderstand an PB5&lt;br /&gt;
* Kalibriertaktausgang an PB3&lt;br /&gt;
************************************************************************&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#define F_CPU 2000000L          // Systemtakt in Hz&lt;br /&gt;
#define F_CAL 12800000L         // gemessener Kalibriertakt in 10^-5 Hz&lt;br /&gt;
                                // Endung L ist wichtig!&lt;br /&gt;
&lt;br /&gt;
#define LED_TOGGLE PORTB ^= (1&amp;lt;&amp;lt;PB5);&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/sleep.h&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/interrupt.h&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/eeprom.h&amp;gt;&lt;br /&gt;
#include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// EEPROM Daten&lt;br /&gt;
&lt;br /&gt;
int16_t ee_rtc_cal EEMEM = (F_CAL-12800000)*256/100;        // Kalibrierung für RTC, Frequenzfehler in 1/1000 Hz&lt;br /&gt;
&lt;br /&gt;
// globale Variablen&lt;br /&gt;
&lt;br /&gt;
// beidseitiger Zugriff durch ISR und Hauptprogramm&lt;br /&gt;
&lt;br /&gt;
volatile uint32_t time;             // 24h Zeitstempel, 1s Auflösung&lt;br /&gt;
volatile int16_t rtc_cal;           // Kalibrierung des 32K Quarzes&lt;br /&gt;
volatile uint8_t flag_1s;           // Flag für 1s Intervall&lt;br /&gt;
&lt;br /&gt;
void long_delay(uint16_t ms) {&lt;br /&gt;
    for (; ms&amp;gt;0; ms--) _delay_ms(1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int main (void) {&lt;br /&gt;
&lt;br /&gt;
// Clock divider auf /4&lt;br /&gt;
&lt;br /&gt;
    CLKPR = 0x80;       // update  enable&lt;br /&gt;
    CLKPR = 2;          // Prescaler /4&lt;br /&gt;
&lt;br /&gt;
// IO konfigurieren&lt;br /&gt;
&lt;br /&gt;
    DDRB  = (1&amp;lt;&amp;lt;PB3) | (1&amp;lt;&amp;lt;PB5);&lt;br /&gt;
    PORTB = ~((1&amp;lt;&amp;lt;PB3) | (1&amp;lt;&amp;lt;PB5)); // Pull ups &lt;br /&gt;
    PORTC = 0xFF;       &lt;br /&gt;
    PORTD = 0xFF;&lt;br /&gt;
&lt;br /&gt;
// Analogcomparator ausschalten&lt;br /&gt;
&lt;br /&gt;
    ACSR = 0x80;&lt;br /&gt;
&lt;br /&gt;
// Timer2 konfigurieren&lt;br /&gt;
&lt;br /&gt;
    ASSR   = (1&amp;lt;&amp;lt; AS2);             // Timer2 asynchron takten&lt;br /&gt;
    long_delay(1000);               // Einschwingzeit des 32kHz Quarzes&lt;br /&gt;
    TCCR2A = (1&amp;lt;&amp;lt;COM2A1) | (1&amp;lt;&amp;lt;WGM21) | (1&amp;lt;&amp;lt;WGM20); // Fast PWM, non inverted&lt;br /&gt;
    TCCR2B = 1;                     // Vorteiler 1 -&amp;gt; 7,8ms Überlaufperiode&lt;br /&gt;
    OCR2A  = 128;                   // PWM, Tastverhältnis 50%&lt;br /&gt;
    while((ASSR &amp;amp; (1&amp;lt;&amp;lt; TCR2BUB)));  // Warte auf das Ende des Zugriffs&lt;br /&gt;
    TIFR2  &amp;amp;= ~(1&amp;lt;&amp;lt;TOV2);           // Interrupts löschen&lt;br /&gt;
    TIMSK2 |= (1&amp;lt;&amp;lt;TOIE2);           // Timer overflow Interrupt freischalten&lt;br /&gt;
&lt;br /&gt;
// EEPROM Werte auslesen&lt;br /&gt;
&lt;br /&gt;
    rtc_cal= eeprom_read_word(&amp;amp;ee_rtc_cal);&lt;br /&gt;
&lt;br /&gt;
// Interrupts freigeben&lt;br /&gt;
&lt;br /&gt;
    sei();&lt;br /&gt;
&lt;br /&gt;
// Endlose Hauptschleife&lt;br /&gt;
&lt;br /&gt;
    while(1) {&lt;br /&gt;
&lt;br /&gt;
        while((ASSR &amp;amp; (1&amp;lt;&amp;lt; OCR2AUB)));  // Warte auf das Ende des Zugriffs&lt;br /&gt;
        set_sleep_mode(SLEEP_MODE_PWR_SAVE);&lt;br /&gt;
        sleep_mode();                   // in den Schlafmodus wechseln&lt;br /&gt;
&lt;br /&gt;
        // hier wachen wir wieder auf, nach Ausführung des 7,8ms Timerinterupt&lt;br /&gt;
&lt;br /&gt;
        if (flag_1s) {  &lt;br /&gt;
            flag_1s =0;&lt;br /&gt;
            LED_TOGGLE                      // Test&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Timer2 overflow Interrupt&lt;br /&gt;
&lt;br /&gt;
ISR(TIMER2_OVF_vect) {&lt;br /&gt;
    static uint8_t ticks;               // Hilfsvariable für Messintervall&lt;br /&gt;
    static int16_t time_error;          // RTC Fehlerkompensation&lt;br /&gt;
&lt;br /&gt;
    // Zeitkritische Dinge, welche am Anfang der ISR stehen müssen!&lt;br /&gt;
&lt;br /&gt;
    OCR2A=128;                          // Dummy-Write zur Sicherung des Timings&lt;br /&gt;
                                        // von Timer 2 im asynchronen Modus &lt;br /&gt;
&lt;br /&gt;
    // RTC Fehler korrigieren&lt;br /&gt;
&lt;br /&gt;
    if (time_error&amp;gt;999) {               // RTC zu schnell&lt;br /&gt;
        TCNT2 = 2;                      // Zähler einen Schritt zurück setzen (2 Takte Verzögerung!)&lt;br /&gt;
        time_error -= 1000;&lt;br /&gt;
    } else if (time_error&amp;lt;-999) {       // RTC zu langsam&lt;br /&gt;
        TCNT2 = 4;                      // Zähler einen Schritt vor setzen (2 Takte Verzögerung!)&lt;br /&gt;
        time_error += 1000;     &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // ab hier ist es nicht mehr zeitkritisch&lt;br /&gt;
&lt;br /&gt;
    // Echtzeituhr&lt;br /&gt;
    ticks++;                            // 1/128tel Sekunde&lt;br /&gt;
    if (ticks==128) {                   // Sekundenintervall&lt;br /&gt;
        time_error += rtc_cal;          // RTC Fehler akkumulieren&lt;br /&gt;
&lt;br /&gt;
        // 24h Timer&lt;br /&gt;
        time++;&lt;br /&gt;
        if (time==86400) time=0;        // 24h Überlauf&lt;br /&gt;
&lt;br /&gt;
        ticks=0;&lt;br /&gt;
        flag_1s =1;                     // setzte Flag für 1s Verarbeitung in main Endlosschleife&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Weitere Verbesserungen ===&lt;br /&gt;
&lt;br /&gt;
Der Algorithmus ermöglicht eine sehr hochauflösende Kalibrierung der RTC. Allerdings heisst das leider noch lange nicht, daß die RTC dann auch wirklich so genau ist. Denn diese Kalibrierung gilt nur für eine exakte Temperatur! Auch ein Quarz hat eine Temperaturabhängigkeit der Schwingfrequenz. Wenn man nun eine sehr genaue RTC bauen möchte, welche über einen grossen Temperaturbereich genau läuft, muss man periodisch die Temperatur messen und in die Kalibrierung einbeziehen. Einen typischen Temperaturverlauf des Frequenzfehlers zeigt das folgende Bild.&lt;br /&gt;
&lt;br /&gt;
[[bild:rtc_tk.gif|thumb|260px|left|Temperaturgang eines Uhrenquarzes]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Weiterhin kann man natürlich die Kalibrierung ohne erneutes Kompilieren des Quelltextets vornehmen, indem man den Kalibrierwert per [[UART]] oder [[I2C]] an den AVR sendet und im [[Speicher#EEPROM | EEPROM]] speichert.&lt;br /&gt;
&lt;br /&gt;
Kernpunkt der Kalibrierung ist natürlich die Messung der realen Quarzfrequenz. Die oben beschriebene Methode per Tagesschau und 1 Tag warten ist sehr zeitaufwändig und hat eine begrenzte Genauigkeit von ca. 1/2 Sekunde, das entspricht 5,8ppm. Hier muss zwangsläufig ein guter Frequenzzähler her. Da dieser nicht jedem Hobbybastler zur Verfügung steht, muss man sich in Lehrwerkstätten, Universitäten oder Firmen im Elektronikbereich umsehen und nachfragen, ob man einen Frequenzzähler vor Ort kurze Zeit nutzen kann.&lt;br /&gt;
&lt;br /&gt;
Einige GPS-Module bieten auch einen hochgenauen 1PPS (Pulse Per Second) Ausgang an, der sich für den Abgleich gut heranziehen lässt. Auch das Sekunden-Zeichen eines DCF77-Funkuhr-Moduls ist sehr genau und kann als Referenz dienen.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
*[http://www.mikrocontroller.net/articles/Uhr Forumsbeitrag]: Implementierung einer Uhr mit Siebensegmentausgabe auf einem AVR ATTiny2313&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/165249 Forumsbeitrag]: Uhr mit genauer Sekunde BASCOM&lt;br /&gt;
*[https://www.mikrocontroller.net/topic/298306 Forumsbeitrag]: Stromsparende und günstige Zeitmessung: ATtiny mit Uhrenquarz getaktet&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/558666#7481836 Forumsbeitrag]: Untersuchungen zu verschiedenen RTCs&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/569155?goto=7696797#7696797 Forumsbeitrag]: RTC DS3231 ansteuern&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
*[https://blog.dan.drown.org/rtc-comparison/ RTC comparision], Vergleich von DS3231 RTC Modulen&lt;br /&gt;
*[https://thecavepearlproject.org/2014/05/21/using-a-cheap-3-ds3231-rtc-at24c32-eeprom-from-ebay/ Preiswerte RTCs]&lt;br /&gt;
&lt;br /&gt;
[[Category:AVR-Projekte]]&lt;br /&gt;
[[Category:Timer und Uhren]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Multitasking&amp;diff=107884</id>
		<title>Multitasking</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Multitasking&amp;diff=107884"/>
		<updated>2026-02-13T11:40:22Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Verbesserter Ansatz mit Timer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Multitasking bedeutet ein quasi paralleles Ausführen von mehreren Prozessen auf einem Prozessor.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
Da eine echte parallele Ausführung von mehreren Prozessen (Programmen, Funktionen) auf einer einzelnen CPU (genauer: einem CPU-Kern) nicht möglich ist, wird ein &amp;quot;Trick&amp;quot; angewendet. Er besteht darin, einzelne Prozesse jeweils nur für kurze Zeit (ungefähr 1...50 ms) zu bearbeiten und danach auf einen anderen Prozess umzuschalten. Man spricht auch von einer verschachtelten Bearbeitung (engl. interleaving).&lt;br /&gt;
&lt;br /&gt;
Das Herz jedes Multitasking-Systems ist der Scheduler. Dies ist ein Programm, das nach bestimmten Algorithmen überprüft, welcher Prozess als nächstes die CPU (also Rechenzeit) zugeteilt bekommt. Es gibt verschiedene Schedulingstrategien:&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;First come first served&amp;quot;: Prozesse bekommen Rechenzeit zugeteilt in der Reihenfolge, in der sie rechenbereit werden.&lt;br /&gt;
* &amp;quot;Shortest job first&amp;quot;: Der Prozess mit der kürzesten Rechenzeit wird als erstes bearbeitet. Dazu muss die Rechenzeit natürlich im Voraus bekannt sein.&lt;br /&gt;
* &amp;quot;Shortest remaining time next&amp;quot;: Der Prozess mit der kürzesten &#039;&#039;verbleibenden&#039;&#039; Rechenzeit wird jeweils als nächstes bearbeitet. Auch hier muss diese Zeit bekannt sein.&lt;br /&gt;
* Round robin: Alle Prozesse bekommen gleich viel Zeit zugeteilt. Der Scheduler lässt jeden Prozess für dieselbe Dauer rechnen und übergibt die CPU dann an den nächsten Prozess.&lt;br /&gt;
* Priority Scheduling: Die Prozesse sind nicht gleichwertig (wie beim Round-Robin-Verfahren), sondern haben Prioritäten. Der Scheduler sorgt dafür, dass höher priorisierte Prozesse bevorzugt behandelt werden.&lt;br /&gt;
&lt;br /&gt;
Soweit die &amp;quot;reine Lehre&amp;quot;. Scheduler in freier Wildbahn implementieren oftmals komplizierte Hybriden der genannten Techniken. Jene der &amp;quot;echten&amp;quot; Betriebsysteme (Windows, Linux, MacOS, *BSD) sind im Prinzip prioritäten-basierte Round-Robin-Scheduler. Generell hat ein Betriebssystem zwei Möglichkeiten, Multitasking zu realisieren: kooperativ oder präemptiv.&lt;br /&gt;
&lt;br /&gt;
Egal welche Art von Multitasking implementiert wird, Aufrufe von &amp;lt;code&amp;gt;_delay_ms()&amp;lt;/code&amp;gt; sollten tabu sein. Selbst wenn man präempptives Multitasking vorfindet ist das keine Einladung zum Rechenleistung vergeuden, sondern es gehört zum guten Ton auch da kooperativ zu sein. Die folgenden Implementierungen erscheinen für Mikrocontroller sinnvoll je nach weiteren Umständen:&lt;br /&gt;
&lt;br /&gt;
* Der Kode ist komplett in Interruptserviceroutinen (ISRs), das Hauptprogramm ruft nur noch sleep_cpu() auf. Dieser Ansatz wird verwendet, wenn die Rechenaufgaben kurz sind (= keine langen Sequenzen) und Energie sparen ganz oben auf der Agenda steht. Also für Batteriebetrieb. Von Vorteil ist dass die ISRs keine Register retten müssen (ISR_NAKED und reti() verwenden), solange sie sich nicht verschachteln. Es handelt sich um kooperatives Multitasking, da eine hängende ISR weitere ISRs sperrt.&lt;br /&gt;
&lt;br /&gt;
* Eine lang rechnende Interruptroutine (meistens: ADC) gibt Interrupts frei und ermöglicht Verschachtelung. Es entsteht so eine Art DPC (Deferred Procedure Call, Windows-Sprech) oder ein Bottom Half (Linux-Sprech). Das Hauptprogramm darf (aber sollte nie) lange _delay_ms()-Aufrufe tätigen, die je nach Interruptlast dann deutlich länger brauchen. Entweder man trifft Vorsorge, dass sich die DPCs nicht verschachteln, oder die Zeitverhältnisse lassen das nicht zu. Das Hauptprogramm kann eine lange Sequenz sein oder auch nur aus sleep_cpu() bestehen.&lt;br /&gt;
&lt;br /&gt;
* Sämtliche Warteschleifen des Hauptprogramms (= lange Sequenz) rufen eine Idle-Prozedur auf, die anstehende Aufgaben erledigt, die nicht in Interrupts erledigt werden können. _delay_ms() ist tabu und Zeitmessungen müssen anders gelöst werden. Die Hintergrundaufgabe darf keine (allzu) lange Sequenz sein und darf ihrerseits nicht idle() aufrufen. Da die Idle-Prozedur im main()-Kontext aufgerufen wird entfallen die Probleme des Register-Rettens und -Wiederherstellens. Für Mikrocontroller die erstrebenswerteste Struktur, da die Idle-Prozedur zum Energie sparen wiederum sleep_cpu() aufrufen kann, wenn alle interruptgetriggerten DPCs abgearbeitet sind.&lt;br /&gt;
&lt;br /&gt;
* Ist der Hintergrundprozess eine lange Sequenz, empfiehlt sich eine Stackumschaltung. Für nur zwei Threads ist der dazu erforderliche Kode besonders einfach. Die beiden (kooperativen) Threads spielen sich ihre Rechenzeit mittels yield() zu — das ist die Stackumschaltprozedur. Für mehr als zwei Threads geht es besser mittels yieldTo()-Prozedur. Für eine variable Thread-Anzahl, wie das typischerweise für Webserver erforderlich ist, braucht es eine dynamische Speicherverwaltung und damit viel RAM. Diese Art von Multitasking ist so wie man sie von Windows 3.1 oder alten Macs her kennt. Aber nur wenige Mikrocontroller-Projekte benötigen eine solche Struktur; mir fällt da prompt nichts ein. Ein oder auch beide Threads dürfen idle() aufrufen für DPCs, es ist aber besser für die Stack-Dimensionierung, wenn das nur /ein/ Thread tut.&lt;br /&gt;
&lt;br /&gt;
* Aus dem kooperativen Multithreading entsteht sofort präemptives Multithreading, wenn yield() vom Timer-Interrupt aufgerufen wird. Präemptiv ist hier nicht mit „absturzsicher“ gleichzusetzen, da ein Thread den Timer-Interrupt abschalten oder mit cli() unterbinden kann. Der Stack-Bedarf steigt erheblich, und man muss sich ernsthaft um Synchronisierungsmaßnahmen kümmern! Denn der Interrupt kann überall zuschlagen, und cli() verhindert Kooperation. Lohnt sich nicht so recht.&lt;br /&gt;
&lt;br /&gt;
* Schließlich entsteht aus präemptiven Multithreading präemptives Multitasking, wenn Prozessor-Features das Umschalten zwischen User-Mode und God-Mode zulassen. Im User-Mode werden irrlaufende Speicherzugriffe und das Herumspielen an den Interrupts mit &amp;quot;kill -9&amp;quot; bestraft. Die richtige Wahl für Prozesse, die aus externen oder dubiosen Quellen stammen: Plugins, Server-Side Scripting usw. Und aus dem Stack-Umschalter wird etwas, was man /Betriebssystem/ nennen darf.&lt;br /&gt;
&lt;br /&gt;
== Kooperatives Multitasking ==&lt;br /&gt;
&lt;br /&gt;
Beim kooperativen Multitasking gibt der Scheduler die Kontrolle komplett an den Prozess ab. Als Konsequenz davon ist das Betriebssystem darauf angewiesen, dass der Prozess seinerseits die Kontrolle &amp;quot;freiwillig&amp;quot; wieder zurückgibt. Geschieht das nicht, wird der Scheduler nicht wieder aufgerufen und damit auch kein anderer Prozess mehr ausgeführt - das System &amp;quot;hängt&amp;quot;. Das Betriebssystem ist also auf die [http://de.wikipedia.org/wiki/Kooperation Kooperation] der Prozesse angewiesen. Bekannte Beispiele für Betriebssysteme mit kooperativem Multitasking sind Windows 3.x und MacOS vor Version 10.&lt;br /&gt;
&lt;br /&gt;
Dennoch ist kooperatives Multitasking keineswegs überholt oder schlecht. Gerade im Bereich der Mikrocontroller und Echtzeitanwendungen gibt es viele gute Argumente dafür: Kooperatives Multitasking ist deterministischer, also besser zeitlich und logisch vorhersagbar. Es ist besser simulierbar, d. h. für ein gegebenes System ist leichter nachweisbar, dass es funktioniert. Zudem ist kooperatives Multitasking ressourcenschonender, ein wichtiger Grund auch für die älteren Betriebssysteme. Da es sich um geschlossene Systeme handelt, tritt das Problem, dass „irgendein“ Prozess das System anhält, nicht auf. Es laufen ja im Gegensatz zum PC nicht „irgendwelche“ Prozesse, sondern nur die, deren Korrektheit (im Idealfall) verifiziert und validiert wurde.&lt;br /&gt;
&lt;br /&gt;
=== Ein einfaches Beispiel für den AVR ===&lt;br /&gt;
&lt;br /&gt;
Hier soll ein einfaches Beispiel den Weg in die Programmierung von parallel bearbeiteten Aufgaben zeigen.&lt;br /&gt;
&lt;br /&gt;
Wichtigster Grundsatz ist die Herangehensweise! Viele Programmieranfänger haben damit Schwierigkeiten, was unter anderem an den schlecht vermittelten Grundlagen liegt. Oft sieht man Funktionen zum Warten in Form von&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
while(1) {&lt;br /&gt;
    PORTD ^= (1&amp;lt;&amp;lt;PD0);&lt;br /&gt;
    _delay_ms(500);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
um beispielsweise eine [[LED]] blinken zu lassen. Will man dann noch andere Dinge erledigen, wundert sich der Programmierer, warum der Mikrocontroller so langsam reagiert, trotz 16 MHz Taktfrequenz.&lt;br /&gt;
&lt;br /&gt;
==== Einfacher Ansatz ====&lt;br /&gt;
&lt;br /&gt;
Stellen wir uns vor, wir wollen drei Dinge gleichzeitig tun.&lt;br /&gt;
&lt;br /&gt;
* Eine Taste abfragen&lt;br /&gt;
* Eine LED blinken lassen, in Abhängigkeit der gedrückten Taste&lt;br /&gt;
* Daten vom UART empfangen und zum PC zurücksenden&lt;br /&gt;
&lt;br /&gt;
Ein einfacher Ansatz für die drei Dinge sieht etwa so aus. Die Beispiele wurden mit [[WinAVR]] Version 20081006 in der Optimierungsstufe -Os kompiliert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
&lt;br /&gt;
Multitasking Demo, erster Versuch&lt;br /&gt;
&lt;br /&gt;
ATmega32 @ 3,6864 MHz&lt;br /&gt;
&lt;br /&gt;
LED + 1KOhm Vorwiderstand an PB0&lt;br /&gt;
Taster nach GND an PA0&lt;br /&gt;
UART an RXD und TXD&lt;br /&gt;
&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#define F_CPU 3686400&lt;br /&gt;
// Baudrate, das L am Ende ist wichtig, NICHT UL verwenden!&lt;br /&gt;
#define BAUD 9600L          &lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;avr/io.h&amp;quot;&lt;br /&gt;
#include &amp;quot;util/delay.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
// Berechnungen&lt;br /&gt;
// clever runden&lt;br /&gt;
#define UBRR_VAL  ((F_CPU+BAUD*8)/(BAUD*16)-1)  &lt;br /&gt;
// Reale Baudrate&lt;br /&gt;
#define BAUD_REAL (F_CPU/(16*(UBRR_VAL+1)))     &lt;br /&gt;
// Fehler in Promille &lt;br /&gt;
#define BAUD_ERROR ((BAUD_REAL*1000)/BAUD-1000) &lt;br /&gt;
 &lt;br /&gt;
#if ((BAUD_ERROR&amp;gt;10) || (BAUD_ERROR&amp;lt;-10))&lt;br /&gt;
  #error Systematischer Fehler der Baudrate grösser 1% und damit zu hoch! &lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
uint8_t taste_lesen(void) {&lt;br /&gt;
    if (PINA &amp;amp; (1&amp;lt;&amp;lt;PA0))&lt;br /&gt;
        return 1;&lt;br /&gt;
    else &lt;br /&gt;
        return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void led_blinken(uint8_t taste) {&lt;br /&gt;
&lt;br /&gt;
    PORTB ^= (1&amp;lt;&amp;lt;PB0);&lt;br /&gt;
    if (taste) &lt;br /&gt;
        _delay_ms(1000);    // 1 s warten&lt;br /&gt;
    else&lt;br /&gt;
        _delay_ms(100);     // 0,1 s warten&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void uart_lesen(void) {&lt;br /&gt;
    uint8_t tmp;&lt;br /&gt;
    while (!(UCSRA &amp;amp; (1&amp;lt;&amp;lt;RXC)));            // Warte auf empfangenes Zeichen vom UART&lt;br /&gt;
    tmp = UDR;&lt;br /&gt;
    while (!(UCSRA &amp;amp; (1&amp;lt;&amp;lt;UDRE)));           // Warte auf freien Sendepuffer vom UART&lt;br /&gt;
    UDR = tmp;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main(void) {&lt;br /&gt;
    int8_t taste;&lt;br /&gt;
&lt;br /&gt;
    // IOs initialisieren&lt;br /&gt;
    &lt;br /&gt;
    PORTA = 1;              // Pull Up für PA0&lt;br /&gt;
    DDRB  = 1;              // PB0 ist Ausgang&lt;br /&gt;
&lt;br /&gt;
    // UART initialisieren&lt;br /&gt;
    &lt;br /&gt;
    UBRRH = UBRR_VAL &amp;gt;&amp;gt; 8;&lt;br /&gt;
    UBRRL = UBRR_VAL &amp;amp; 0xFF;&lt;br /&gt;
    UCSRB = (1&amp;lt;&amp;lt;RXEN) | (1&amp;lt;&amp;lt;TXEN);&lt;br /&gt;
    &lt;br /&gt;
    // Endlose Hauptschleife&lt;br /&gt;
&lt;br /&gt;
    while (1) {&lt;br /&gt;
        taste = taste_lesen();&lt;br /&gt;
        led_blinken(taste);&lt;br /&gt;
        uart_lesen();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man das Programm nun laufen lässt, wird man feststellen dass&lt;br /&gt;
&lt;br /&gt;
* das Hyperterminal sehr langsam reagiert und bisweilen Zeichen verschluckt&lt;br /&gt;
* die LED auf Tastendrücke nur dann reagiert, wenn man per Hyperterminal Zeichen eingibt&lt;br /&gt;
&lt;br /&gt;
Dieser Ansatz ist also untauglich. Egal wie schnell unser AVR auch ist, er reagiert sehr langsam.&lt;br /&gt;
&lt;br /&gt;
==== Verbesserter Ansatz ====&lt;br /&gt;
&lt;br /&gt;
Will man mehrere Dinge gleichzeitig bearbeiten, muss man die Aufgaben in kleinste Häppchen zerteilen. Diese kleinsten Häppchen werden dann verschachtelt abgearbeitet, also ein Häppchen von Aufgabe A, ein Häppchen von Aufgabe B, ein Häppchen von Aufgabe C.&lt;br /&gt;
&lt;br /&gt;
Das Auslesen der Taste geht immer sehr schnell, kein Ansatz zum optimieren. Das Blinken der LED dauer entweder 1s oder 100ms, eine Ewigkeit für einen Mikrocontroller! Hier muss man was ändern. Am schlimmsten ist die UART-Nutzung. Der AVR wartet solange, bis ein Zeichen empfangen wurde! Das kann ewig dauern! Unser Programm steht! Das darf nicht sein!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
&lt;br /&gt;
Multitasking Demo, zweiter Versuch&lt;br /&gt;
&lt;br /&gt;
ATmega32 @ 3,6468 MHz&lt;br /&gt;
&lt;br /&gt;
LED + 1KOhm Vorwiderstand an PB0&lt;br /&gt;
Taster nach GND an PA0&lt;br /&gt;
UART an RXD und TXD&lt;br /&gt;
&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#define F_CPU 3686400&lt;br /&gt;
// Baudrate, das L am Ende ist wichtig, NICHT UL verwenden!&lt;br /&gt;
#define BAUD 9600L          &lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;avr/io.h&amp;quot;&lt;br /&gt;
#include &amp;quot;util/delay.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
// Berechnungen&lt;br /&gt;
// clever runden&lt;br /&gt;
#define UBRR_VAL  ((F_CPU+BAUD*8)/(BAUD*16)-1)  &lt;br /&gt;
// Reale Baudrate&lt;br /&gt;
#define BAUD_REAL (F_CPU/(16*(UBRR_VAL+1)))     &lt;br /&gt;
// Fehler in Promille &lt;br /&gt;
#define BAUD_ERROR ((BAUD_REAL*1000)/BAUD-1000) &lt;br /&gt;
 &lt;br /&gt;
#if ((BAUD_ERROR&amp;gt;10) || (BAUD_ERROR&amp;lt;-10))&lt;br /&gt;
  #error Systematischer Fehler der Baudrate grösser 1% und damit zu hoch! &lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
uint8_t taste_lesen(void) {&lt;br /&gt;
    if (PINA &amp;amp; (1&amp;lt;&amp;lt;PA0))&lt;br /&gt;
        return 1;&lt;br /&gt;
    else &lt;br /&gt;
        return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void led_blinken(uint8_t taste) {&lt;br /&gt;
    static uint16_t zaehler=0;&lt;br /&gt;
&lt;br /&gt;
    if (taste) {&lt;br /&gt;
        if (zaehler&amp;gt;=999) {&lt;br /&gt;
            PORTB ^= (1&amp;lt;&amp;lt;PB0);&lt;br /&gt;
            zaehler=0;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
        if (zaehler&amp;gt;=99) {&lt;br /&gt;
            PORTB ^= (1&amp;lt;&amp;lt;PB0);&lt;br /&gt;
            zaehler=0;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    zaehler++;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void uart_lesen(void) {&lt;br /&gt;
    uint8_t tmp;&lt;br /&gt;
    if((UCSRA &amp;amp; (1&amp;lt;&amp;lt;RXC))) {                // empfangenes Zeichen abholbereit im UART ?&lt;br /&gt;
        tmp = UDR;&lt;br /&gt;
        while (!(UCSRA &amp;amp; (1&amp;lt;&amp;lt;UDRE)));       // Warte auf freien Sendepuffer vom UART&lt;br /&gt;
        UDR = tmp;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main(void) {&lt;br /&gt;
    int8_t taste;&lt;br /&gt;
&lt;br /&gt;
    // IOs initialisieren&lt;br /&gt;
    &lt;br /&gt;
    PORTA = 1;              // Pull Up für PA0&lt;br /&gt;
    DDRB  = 1;              // PB0 ist Ausgang&lt;br /&gt;
&lt;br /&gt;
    // UART initialisieren&lt;br /&gt;
    &lt;br /&gt;
    UBRRH = UBRR_VAL &amp;gt;&amp;gt; 8;&lt;br /&gt;
    UBRRL = UBRR_VAL &amp;amp; 0xFF;&lt;br /&gt;
    UCSRB = (1&amp;lt;&amp;lt;RXEN) | (1&amp;lt;&amp;lt;TXEN);&lt;br /&gt;
    &lt;br /&gt;
    // Endlose Hauptschleife&lt;br /&gt;
&lt;br /&gt;
    while (1) {&lt;br /&gt;
        taste = taste_lesen();&lt;br /&gt;
        led_blinken(taste);&lt;br /&gt;
        uart_lesen();&lt;br /&gt;
        _delay_ms(1);       // 1 ms warten&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dieses Programm reagiert &#039;&#039;&#039;ganz&#039;&#039;&#039; anders! Schnell wie der Wind und vollkommen unabhängig von anderen, parallel laufenden Prozessen. Warum ist das so?&lt;br /&gt;
&lt;br /&gt;
Die einzelnen kleinen Häppchen sind verdaulicher als die großen. Die maximale Durchlaufzeit der einzelnen Funktionen ist drastisch reduziert. Anstatt in der LED-Ausgabe einmal 1000 ms zu warten wird nun 1000 mal 1 ms gewartet. Zwischendurch werden aber 1000 mal die anderen Prozesse bearbeitet. Echte Demokratie sozusagen. Noch viel besser ist die Handhabung des UARTs. Anstatt eine Ewigkeit auf ein ankommendes Zeichen zu warten, wird nur dann etwas bearbeitet, wenn auch wirklich etwas zur Bearbeitung vorliegt. Klingt eigentlich logisch. Also nur dann, wenn schon ein Zeichen empfangen wurde wird es auch bearbeitet, ansonsten geht es zurück zur Hauptschleife. Das ist praktisch der ganze &amp;quot;Trick&amp;quot; eines kooperativen Multitaskings. Auch wenn die Verwendung von _delay_ms(1) noch ein kleiner Schönheitsfehler ist, den die Profis lieber mit einem [[Timer]] erledigen, so wird das Prinzip klar.&lt;br /&gt;
&lt;br /&gt;
*Prozesse eines kooperativen Multitaskingsystems warten nicht (lies: niemals) auf das Eintreten von Ereignissen, sondern bearbeiten nur bereits eingetretene Ereignisse.&lt;br /&gt;
*Größere Aufgaben werden in kleine Teilaufgaben zerlegt, welche nur durch mehrfaches Aufrufen der Funktion abgearbeitet werden. Das erreicht man meist am besten mit einer [[statemachine |State machine]].&lt;br /&gt;
*Prozesse eines kooperativen Multitaskings haben eine garantierte, maximale Durchlaufzeit, welche möglichst klein ist.&lt;br /&gt;
&lt;br /&gt;
Damit ähneln die Prozesse einem [[Interrupt]], auch wenn sie als ganz normale Funktionen außerhalb eines Interrupts ausgeführt werden. An diesem Beispiel erkennt man die Vor- und Nachteile des kooperativen Multitaskings:&lt;br /&gt;
&lt;br /&gt;
Vorteile&lt;br /&gt;
* einfacher Scheduler mit geringster CPU Belastung&lt;br /&gt;
* Deterministische Arbeitsweise, damit einfach prüfbar und strenges Timing möglich&lt;br /&gt;
&lt;br /&gt;
Nachteile&lt;br /&gt;
* eine andere Programmierweise zur Zerlegung größerer Aufgaben in kleine Teilaufgaben muss manuell vorgenommen werden&lt;br /&gt;
&lt;br /&gt;
==== Verbesserter Ansatz mit Timer ====&lt;br /&gt;
&lt;br /&gt;
Zum Abschluss die noch bessere Version mit Timer. Diese hat mehrere Vorteile.&lt;br /&gt;
&lt;br /&gt;
* Das Zeitraster der Hauptschleife ist exakt, unabhängig von der Laufzeit der Aufgaben, weil der Timer unabhängig eine feste Interruptfrequenz generiert. Im vorherigen Beispiel war das Zeitraster die Summe aus Laufzeit aller Funktionen/Tasks und dem _delay_ms(1).&lt;br /&gt;
* CPU-Rechenleistung wird zu 100% in der Abarbeitung der Task verwendet und nicht für nutzlose Warteschleifen verschwendet.&lt;br /&gt;
* Es kann leicht im realen System geprüft werden, ob die Laufzeit der Tasks klein genug ist, um den Anforderungen des Timers zu genügen.&lt;br /&gt;
&lt;br /&gt;
Diese Überprüfung kann an zwei Stellen durchgeführt werden.&lt;br /&gt;
&lt;br /&gt;
* Am Ende der Hauptschleife nach Abarbeitung aller Ausgaben. Wenn hier die Variable flag_1ms schon wieder aktiv ist, dauerte die Abarbeitung länger als 1ms. Wenn man ein sehr strenges Timing sicherstellen möchte, ist das ein Fehler, der erkannt und signalisiert werden kann.&lt;br /&gt;
* In der ISR. Wenn hier die Variable immer noch aktiv ist, wurde sie von der Hauptschleife noch nicht erkannt und zurück gesetzt. Das ist definitiv ein Fehler, denn jetzt würde ohne Fehlererkennung ein Timerdurchlauf von der Hauptschleife verschluckt werden. Diese Prüfung ist etwas entspannter, weil zwischenzeitlich ein Durchlauf der Hauptschleife mehr als 1ms, jedoch nicht länger als 2ms dauern darf. Siehe auch den Abschnitt [[Interrupt#Zeitverhalten_eines_Timerinterrupts]]. Man muss sich für eine der beiden Prüfungen entscheiden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
&lt;br /&gt;
Multitasking Demo, dritter Versuch&lt;br /&gt;
&lt;br /&gt;
ATmega32 @ 3,6468 MHz&lt;br /&gt;
&lt;br /&gt;
LED + 1KOhm Vorwiderstand an PB0 und PB1&lt;br /&gt;
Taster nach GND an PA0&lt;br /&gt;
UART an RXD und TXD&lt;br /&gt;
&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#define F_CPU 3686400&lt;br /&gt;
// Baudrate, das L am Ende ist wichtig, NICHT UL verwenden!&lt;br /&gt;
#define BAUD 9600L          &lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;avr/io.h&amp;quot;&lt;br /&gt;
#include &amp;quot;util/delay.h&amp;quot;&lt;br /&gt;
#include &amp;quot;avr/interrupt.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
// Berechnungen&lt;br /&gt;
// clever runden&lt;br /&gt;
#define UBRR_VAL  ((F_CPU+BAUD*8)/(BAUD*16)-1)  &lt;br /&gt;
// Reale Baudrate&lt;br /&gt;
#define BAUD_REAL (F_CPU/(16*(UBRR_VAL+1)))     &lt;br /&gt;
// Fehler in Promille &lt;br /&gt;
#define BAUD_ERROR ((BAUD_REAL*1000)/BAUD-1000) &lt;br /&gt;
 &lt;br /&gt;
#if ((BAUD_ERROR&amp;gt;10) || (BAUD_ERROR&amp;lt;-10))&lt;br /&gt;
  #error Systematischer Fehler der Baudrate grösser 1% und damit zu hoch! &lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
uint8_t taste_lesen(void) {&lt;br /&gt;
    if (PINA &amp;amp; (1&amp;lt;&amp;lt;PA0))&lt;br /&gt;
        return 1;&lt;br /&gt;
    else &lt;br /&gt;
        return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void led_blinken(uint8_t taste) {&lt;br /&gt;
    static uint16_t zaehler=0;&lt;br /&gt;
&lt;br /&gt;
    if (taste) {&lt;br /&gt;
        if (zaehler&amp;gt;=999) {&lt;br /&gt;
            PORTB ^= (1&amp;lt;&amp;lt;PB0);&lt;br /&gt;
            zaehler=0;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
        if (zaehler&amp;gt;=99) {&lt;br /&gt;
            PORTB ^= (1&amp;lt;&amp;lt;PB0);&lt;br /&gt;
            zaehler=0;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    zaehler++;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void uart_lesen(void) {&lt;br /&gt;
    uint8_t tmp;&lt;br /&gt;
    if((UCSRA &amp;amp; (1&amp;lt;&amp;lt;RXC))) {                // empfangenes Zeichen abholbereit im UART ?&lt;br /&gt;
        tmp = UDR;&lt;br /&gt;
        while (!(UCSRA &amp;amp; (1&amp;lt;&amp;lt;UDRE)));       // Warte auf freien Sendepuffer vom UART&lt;br /&gt;
        UDR = tmp;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
volatile uint8_t flag_1ms;&lt;br /&gt;
 &lt;br /&gt;
int main(void) {&lt;br /&gt;
    int8_t taste;&lt;br /&gt;
&lt;br /&gt;
    // IOs initialisieren&lt;br /&gt;
    &lt;br /&gt;
    PORTA = 1;              // Pull Up für PA0&lt;br /&gt;
    DDRB  = 3;              // PB0/1 sind Ausgang&lt;br /&gt;
&lt;br /&gt;
    // UART initialisieren&lt;br /&gt;
    &lt;br /&gt;
    UBRRH = UBRR_VAL &amp;gt;&amp;gt; 8;&lt;br /&gt;
    UBRRL = UBRR_VAL &amp;amp; 0xFF;&lt;br /&gt;
    UCSRB = (1&amp;lt;&amp;lt;RXEN) | (1&amp;lt;&amp;lt;TXEN);&lt;br /&gt;
&lt;br /&gt;
    // Timer 0 initialisieren, CTC, Presacler 64&lt;br /&gt;
&lt;br /&gt;
    TCCR0 = (1&amp;lt;&amp;lt;WGM01) | (1&amp;lt;&amp;lt;CS01) | (1&amp;lt;&amp;lt;CS00);&lt;br /&gt;
    OCR0  = 56;      // 1ms&lt;br /&gt;
    TIMSK |= (1&amp;lt;&amp;lt;OCIE0);&lt;br /&gt;
&lt;br /&gt;
    // Interrupts global freigeben&lt;br /&gt;
&lt;br /&gt;
    sei();&lt;br /&gt;
&lt;br /&gt;
    // Endlose Hauptschleife&lt;br /&gt;
&lt;br /&gt;
    while (1) {&lt;br /&gt;
        if (flag_1ms) {&lt;br /&gt;
            flag_1ms=0;&lt;br /&gt;
            taste = taste_lesen();&lt;br /&gt;
            led_blinken(taste);&lt;br /&gt;
            uart_lesen();&lt;br /&gt;
            if (flag_1ms) {&lt;br /&gt;
                // Strenge Zeitprüfung&lt;br /&gt;
                // Laufzeit der Tasks &amp;gt;1ms, Fehlersignalisierung&lt;br /&gt;
                // PB1 auf HIGH, Programm stoppen&lt;br /&gt;
                PORTB |= (1&amp;lt;&amp;lt;PB1);&lt;br /&gt;
                while(1);&lt;br /&gt;
            }&lt;br /&gt;
        }        &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Interruptserviceroutine für Timer 0&lt;br /&gt;
// hier 1ms&lt;br /&gt;
&lt;br /&gt;
ISR(TIMER0_COMP_vect) {    &lt;br /&gt;
    /*&lt;br /&gt;
    if (flag_1ms) {&lt;br /&gt;
        // entspannte Zeitpruefung&lt;br /&gt;
        // Laufzeit der Tasks &amp;gt;2ms, Fehlersignalisierung&lt;br /&gt;
        // PB1 auf HIGH, Programm stoppen&lt;br /&gt;
        PORTB |= (1&amp;lt;&amp;lt;PB1);&lt;br /&gt;
        while(1);&lt;br /&gt;
    }&lt;br /&gt;
    */&lt;br /&gt;
    flag_1ms = 1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Message passing Framework ====&lt;br /&gt;
&lt;br /&gt;
Im vorangegangenen Abschnitt wurde erklärt, wie man die einzelnen Tasks in kleine &amp;quot;Häppchen&amp;quot; zerlegen kann und diese alle innerhalb der Main Loop aufruft.&lt;br /&gt;
Dieses kooperative System hat aber noch einige Nachteile:&lt;br /&gt;
&lt;br /&gt;
* Alle Häppchen werden gleich oft aufgerufen und nicht nur bei Bedarf&lt;br /&gt;
* Für die Timeouts gibt es noch keine befriedigende Lösung&lt;br /&gt;
&lt;br /&gt;
Wenn man diese beiden Nachteile auch noch beseitigen möchte, wird das ganze noch ein klein wenig komplizierter. Da man das Grundprinzip aber für viele Mikrocontroller-Projekte immer wieder verwenden kann, lohnt es sich und man kann die Entwicklung für diese Art des Multitasking in einem Framework zusammenfassen.&lt;br /&gt;
&lt;br /&gt;
Ein Framework, das sind einige Dateien, die den Rahmen (Frame=Rahmen) für ein Programm bilden und den Teil enthalten, den man immer wieder braucht.&lt;br /&gt;
&lt;br /&gt;
===== Message =====&lt;br /&gt;
&lt;br /&gt;
Die Basis des Frameworks bildet die &amp;quot;Message&amp;quot;. Immer wenn wir für einen unserer &amp;quot;Tasks&amp;quot; etwas zu tun haben, schicken wir eine &amp;quot;Message&amp;quot;. Die &amp;quot;Messages&amp;quot; werden in eine Warteschlange einsortiert und der Reihe nach abgearbeitet. Dadurch kommt ein Task der viel zu tun hat (viele Messages bekommt) öfter dran, als ein &amp;quot;Task&amp;quot; der nicht so viel zu tun hat. Außerdem kann eine Message noch Daten enthalten (z. B. ein empfangenes Zeichen). So können die einzelnen Tasks sogar Daten austauschen.&lt;br /&gt;
&lt;br /&gt;
===== Message Receiver =====&lt;br /&gt;
&lt;br /&gt;
Unsere &amp;quot;Tasks&amp;quot; werden immer dann aufgerufen, wenn Arbeit für sie da ist. Das wissen wir, weil sie eine Message empfangen sollen. Deshalb heißen die &amp;quot;Tasks&amp;quot; ab jetzt &amp;quot;Message Receiver&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===== Timeout =====&lt;br /&gt;
&lt;br /&gt;
In diesem System wird jeder Message Receiver aufgerufen, wenn jemand Arbeit für ihn hat und er deshalb eine Message bekommt. Was aber, wenn keine Message kommt, oder ein Message Receiver selbst aktiv werden soll?&lt;br /&gt;
&lt;br /&gt;
Aus diesem Grund braucht es die Timeouts. Mit Hilfe &amp;lt;u&amp;gt;eines&amp;lt;/u&amp;gt; Hardware Timers wird eine &amp;quot;Systemzeit&amp;quot; programmiert. Jeder Message Receiver kann die Zeit angeben, wann er wieder aufgerufen werden muss. Das Framework verwaltet alle Timer und sendet den Message Receivern eine &amp;quot;Timeout&amp;quot; message, wenn ihre Zeit gekommen ist.&lt;br /&gt;
&lt;br /&gt;
===== Beispiel =====&lt;br /&gt;
Hier der Sourcecode eines solchen Framework [[Datei:ACF.zip]]&lt;br /&gt;
Das Framework implementiert die Message Warteschlange und die Timer Warteschlange. Die Prozessor spezifischen Dinge sind in der Datei &amp;quot;ACF_Hal.c&amp;quot; zusammengefasst und für Linux Desktop und atMega128 implementiert.&lt;br /&gt;
In dieser Datei kann man das ganze auch auf andere Prozessoren anpassen.&lt;br /&gt;
&lt;br /&gt;
Ein &amp;quot;main&amp;quot; sieht dann z.B. so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;ACF.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char** argv)&lt;br /&gt;
{&lt;br /&gt;
    ACF_init();&lt;br /&gt;
    ACF_loop();&lt;br /&gt;
    return 0; // we will never arrive here&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Tracing =====&lt;br /&gt;
Es gibt noch einen weiteren Grund, sich ein &amp;quot;Framework&amp;quot; zu erarbeiten, oder ein fertiges Framework zu verwenden. Da der Ablauf der Software und der Aufruf aller Teile vom Framework bestimmt wird, kann das Framework auch einen sehr detaillierten Trace über das Verhalten des Codes anfertigen. Das Framework aus vorstehendem Beispiel enthält bereits entsprechenden Code.&lt;br /&gt;
&lt;br /&gt;
Solche Traces von laufendem Code können gerade dann sehr hilfreich sein, wenn viele Dinge gleichzeitig ablaufen (und das war schließlich der Sinn des ganzen).&lt;br /&gt;
&lt;br /&gt;
Nachstehendes Bild zeigt den Trace eines Reglers, der mit dem Framework realisiert wurde.&lt;br /&gt;
[http://www.mikrocontroller.net/attachment/74409/ablauf.png Sequenzdiagramm]&lt;br /&gt;
&lt;br /&gt;
== Präemptives Multitasking ==&lt;br /&gt;
&lt;br /&gt;
Beim präemptiven oder verdrängenden Multitasking gibt das Betriebssystem die Kontrolle zu keinem Zeitpunkt auf. Ein Prozess, der gerade die CPU nutzt, kann jederzeit wieder vom Betriebssystem unterbrochen werden. Daher muss bei der Entwicklung für ein präemptives System immer damit gerechnet werden, dass ein Prozess &#039;&#039;&#039;jederzeit&#039;&#039;&#039; unterbrochen werden kann. Das kann z.&amp;amp;nbsp;B. zu Problemen beim Zugriff auf limitierte Betriebsmittel führen. Beispiel:&lt;br /&gt;
&lt;br /&gt;
* Prozess A sucht freien Speicher und findet einen freien Block&lt;br /&gt;
* Prozess B wird vom Scheduler gestartet und sucht ebenfalls einen Speicherblock. Der gefundene Block wird von Prozess B reserviert und benutzt&lt;br /&gt;
* Der Scheduler teilt wieder Prozess A die CPU zu. Prozess A wird fortgeführt, d.h. er reserviert jetzt den im letzten Systemcall gefundenen Speicherblock&lt;br /&gt;
Jetzt haben also beide Prozesse den gleichen Speicherblock reserviert. Entweder arbeiten jetzt beide Prozesse mit dem gleichen Speicher, und überschreiben daher gegenseitig die Daten, oder das Betriebsystem hat etwas gemerkt und zieht die Notbremse. In jedem Fall passieren schreckliche Dinge. Sowas nennt man eine Race-Condition.&lt;br /&gt;
&lt;br /&gt;
Die Lösung nennt sich Semaphore: Dieser Mechanismus wird vom Betriebsystem bereitgestellt und erlaubt es einem Prozess eine bestimmte Ressource zu sperren. Wenn also Prozess A aus obigem Beispiel Speicher haben möchte, setzt er vor Beginn der sogenannten &amp;quot;Kritischen Sektion&amp;quot; einen Semaphor für &amp;quot;Speicher reservieren&amp;quot;. Dieser Semaphor wird erst wieder aufgehoben, sobald Prozess A den Speicher für sich reserviert hat. Wenn der Prozess B zwischendurch gestartet wird und ebenfalls versucht den Semaphor zu setzen, wird er solange warten müssen, bis Prozess A den Semaphor wieder freigibt. Speziell für derartige Locking Mechanismen bieten die meisten Prozessoren sogenannte TAS-Befehle (Test And Set), die in einem Prozessorbefehl eine Variable testen und je nach Ergebnis setzen können. Das ist nötig um das Setzen von Semaphoren unteilbar (atomar) zu machen. Könnte der Scheduler das Setzen eines Semaphors unterbrechen, wäre ja der ganze Aufwand umsonst.&lt;br /&gt;
&lt;br /&gt;
Präemptive Multitasking Systeme sind sehr flexibel und kommen mit einer Vielzahl an Tasks klar. Amok laufende Prozesse können das System bei korrekter Implementierung nicht blockieren. Damit aber das System crash-sicher ist, muss es Systemresourcen geben, die nur der Scheduler verteilen kann (z.&amp;amp;nbsp;B. kein anderer Prozess darf in den Speicherbereich des Schedulers schreiben; kein anderer Prozess darf den Timerinterrupt des Schedulers ändern). Diese Möglichkeiten sind in Mikrocontrollern normalerweise gar nicht vorhanden, wodurch dieser Vorteil des Präemptiven MT weniger ins Gewicht fällt. Beispiele für Systeme mit präemptivem Multitasking sind Linux, *BSD  und Windows XP.&lt;br /&gt;
&lt;br /&gt;
Vorteile&lt;br /&gt;
* sehr flexibel in der Verwaltung von dynamisch ausgeführten Prozessen&lt;br /&gt;
* einzelne Prozesse können einfach linear programmiert werden, ohne die Aufgabe in kleine Teile zerlegen zu müssen&lt;br /&gt;
&lt;br /&gt;
Nachteile&lt;br /&gt;
* Der Scheduler ist aufwändiger und benötigt mehr CPU-Zeit&lt;br /&gt;
* Höherer Resourcenbedarf zu Verwaltung des Systems und Bereitstellung der Semaphore etc.&lt;br /&gt;
* nicht streng deterministisch, somit kann kein festes Timing garantiert werden&lt;br /&gt;
* nicht explizit debug- und prüfbar, da die Prozesse nicht fest gekoppelt sind&lt;br /&gt;
&lt;br /&gt;
== Multithreading ==&lt;br /&gt;
&lt;br /&gt;
Multithreading ist eine meist softwarebasierende Möglichkeit moderner Betriebssysteme, innerhalb eines Prozesses mehrere Tasks (threads) parallel auszuführen. Der Vorteil dieser weiteren Unterteilung ist, dass sich die Threads eines Tasks den Speicherbereich teilen können und eine Aufteilung in logische nebeneinander laufende Teile möglich ist. Je nach Betriebssystem kann der Übergang von Multithreading zu Multiprocessing fliessend bis starr sein. &lt;br /&gt;
&lt;br /&gt;
Das Hyperthreading eines Intel Pentium 4 folgt dem Konzept des Multithreadings auf Hardwarebasis und teilt den CPU-Kern zeitlich in zwei logische Prozessoren ein.&lt;br /&gt;
&lt;br /&gt;
== Umsetzung auf Prozessoren ==&lt;br /&gt;
Unabhängig davon, ob Multitasking oder -threading auf einem Prozessor konkret unterstützt wird, lässt es sich immer in Form von Software realisieren. Dies wird in modernen Systemen durch das OS geleistet, das standardisierte Funktionen und Strukturen zur Verfügung stellt. Besonders C++ bietet ein stark abstrahiertes Programmiermodell und Methoden-Set an, um effektiv untereinander kompatible Programmmodule erstellen zu können. Nutzt man diese nicht, wie z.B. bei der Programmierung in C, müssen Strukturen manuell erzeugt und gehandhabt werden, was aufwändiger ist, aber auch geringeren overhead bewirkt. Das Programm ist dann fast immer erheblich kleiner, in den meisten Fällen strukturell einfacher, bezüglich komplizierter Änderungen jedoch auch unflexibler und träger. &lt;br /&gt;
&lt;br /&gt;
Bei Mikrocontrollern findet man je nach Komplexität und Struktur der Appliation praktisch alle denkbaren Kombinationen:&lt;br /&gt;
&lt;br /&gt;
=== System mit real-time OS und Entwicklung in C++ ===&lt;br /&gt;
* Programmentwicklung stark an abstrakte Interfaces und Standards gebunden&lt;br /&gt;
* Starke Abhängigkeit an das OS im Bezug auf RT-Funktionalität&lt;br /&gt;
* Innerhalb gleicher OS-Landschaft gut portierbar&lt;br /&gt;
* Sehr geringe Abhängigkeit vom Prozessortyp&lt;br /&gt;
* Multitasking muss über OS-Schicht ausprogrammiert werden&lt;br /&gt;
* Multithreading muss/kann durch Programmierleistung optimiert werden&lt;br /&gt;
* Laufzeiteffizienz ist niedrig durch relativ hohen Anteil des OS-Bedarfs&lt;br /&gt;
* Datendurchsatz regelt sich selbst und ist gleichmäßig am relativen Maximum&lt;br /&gt;
* Programmiereffizienz ist niedrig durch sehr viel Arbeit an Formalismen&lt;br /&gt;
* Planungsaufwand ist noch überschaubar&lt;br /&gt;
* Planungseffizienz ist relativ hoch durch viele Standards&lt;br /&gt;
* Erweiterung um komplexe Module einfach möglich, Timing regelt sich selber&lt;br /&gt;
&lt;br /&gt;
=== System mit real-time OS und Entwicklung in C ===&lt;br /&gt;
* Programmentwicklung stark an Interfaces und weniger an Standards&lt;br /&gt;
* Starke Abängigkeit an das OS im Bezug auf RT-Funktionalität&lt;br /&gt;
* Innerhalb aber auch ausserhalb gleicher OS-Landschaft gut portierbar&lt;br /&gt;
* Geringe Abhängig von dem Prozessortyp&lt;br /&gt;
* Multitasking muss über OS-Schicht und eigene Strukturen programmiert werden&lt;br /&gt;
* Multithreading muss/kann durch Programmierleistung optimiert werden&lt;br /&gt;
* Laufzeiteffizienz ist höher durch geringeren Anteil des OS-Bedarfs&lt;br /&gt;
* Datendurchsatz regelt sich selbst und ist gleichmässig am relativen Maximum&lt;br /&gt;
* Programmiereffizienz ist höher durch weniger Arbeit mit Formalien&lt;br /&gt;
* Planungsaufwand ist etwas höher, je nach Applikation&lt;br /&gt;
* Planungseffizienz ist relaiv niedriger durch weniger Standards&lt;br /&gt;
* Erweiterung mit akzeptablem Aufwand möglich, Timing muss beachtet werden&lt;br /&gt;
&lt;br /&gt;
=== System ohne real-time OS und Entwicklung in C ===&lt;br /&gt;
* Programmentwicklung stark an Interfaces und kaum an Standards gebunden&lt;br /&gt;
* Ausprägung und Gestaltung der RT-Funktionalität absolut frei&lt;br /&gt;
* nur ausserhalb von OS-Landschaft portierbar, dafür prinziepiell sehr gut&lt;br /&gt;
* Stärkere Abhängig von dem Prozessortyp, kann die Portierbarkeit einschränken&lt;br /&gt;
* Multitasking muss auschlieslich durch eigene Strukturen programmiert werden&lt;br /&gt;
* Multithreading muss durch umständliche Programmierung ermöglicht werden werden&lt;br /&gt;
* Laufzeiteffizienz kann sehr hoch sein, ist aber stark von der Progr. abhängig&lt;br /&gt;
* Datendurchsatz muss selbst ins Maximum gesteuert werden, das aber höher liegt&lt;br /&gt;
* Programmiereffizienz ist hoch, dank Wegfall von Konventionen&lt;br /&gt;
* Planungsaufwand ist stark Applikations abhängig, gfs sehr viel grösser&lt;br /&gt;
* Planungseffizienz ist gering, da RT Konzept selber optmiert werden muss&lt;br /&gt;
* Erweiterung nur möglich, wenn Timing weitestgehend überarbeitet wird&lt;br /&gt;
&lt;br /&gt;
=== System ohne real-time OS und Entwicklung in ASM ===&lt;br /&gt;
* Programmentw. nur an physische Interfaces gebunden und frei von Standards&lt;br /&gt;
* Ausprägung und Gestaltung der RT-Funktionalität absolut frei&lt;br /&gt;
* nur innerhalb der Prozessorlandschaft gut portierbar&lt;br /&gt;
* Volle Abhängig vom Prozessortyp, Portierbarkeit auf andere aufwändig&lt;br /&gt;
* Multitasking muss auschlieslich durch eigene Strukturen programmiert werden&lt;br /&gt;
* Multithreading muss durch umständliche Programmierung ermöglicht werden werden&lt;br /&gt;
* Laufzeiteffizienz sehr hoch, jedoch stark von Programmierung abhängig&lt;br /&gt;
* Datendurchsatz muss selbst ins Maximum gesteuert werden, das aber höher liegt&lt;br /&gt;
* Programmiereffizienz ist hoch, dank Wegfall von Konventionen&lt;br /&gt;
* Planungsaufwand ist stark applikationsabhängig, ggfs. sehr viel grösser&lt;br /&gt;
* Planungseffizienz sehr gering, RT Konzept nur für einfache System machbar&lt;br /&gt;
* Erweiterung nur möglich, wenn Timing komplett überarbeitet wird&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [[Scheduler mit Erweiterung zum Mini-Betriebssystem]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Pr%E4emptives_Multitasking Präemptives Multitasking] bei [http://de.wikipedia.org Wikipedia]&lt;br /&gt;
* [http://www.femtoos.org/ Femto OS], ein ultrakompaktes Mulitaskingbetriebssystem für kleine Mikrocontroller&lt;br /&gt;
*[http://www.freertos.org/ FreeRTOS], ein freies Echtzeitbetriebssystem für Mikrocontroller&lt;br /&gt;
* [http://w3.ualg.pt/~rmarcel/Get%20by%20Without%20an%20RTOS.pdf Get by Without an RTOS] Ein schönes Beispiel wie man ohne ein RTOS auch Multitasking hinbekommt. &lt;br /&gt;
* [[TNKernel]], freier Multitasking-Kernel. &lt;br /&gt;
* [http://embeddedgurus.com/state-space/2010/04/i-hate-rtoses/ i-hate-rtoses] Blog zum Thema RTOS&lt;br /&gt;
* [http://stefanfrings.de/multithreading_arduino/index.html Multitasking mit Arduino] Multithreading in C und Arduino&lt;br /&gt;
[[Kategorie:Betriebssysteme]]&lt;br /&gt;
* Für ATtiny geeignete [[AVR-Tutorial:_Stack#Multitasking|einfache Stackumschaltung]] für 2 Threads&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Multitasking&amp;diff=107883</id>
		<title>Multitasking</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Multitasking&amp;diff=107883"/>
		<updated>2026-02-13T11:29:08Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Weblinks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Multitasking bedeutet ein quasi paralleles Ausführen von mehreren Prozessen auf einem Prozessor.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
Da eine echte parallele Ausführung von mehreren Prozessen (Programmen, Funktionen) auf einer einzelnen CPU (genauer: einem CPU-Kern) nicht möglich ist, wird ein &amp;quot;Trick&amp;quot; angewendet. Er besteht darin, einzelne Prozesse jeweils nur für kurze Zeit (ungefähr 1...50 ms) zu bearbeiten und danach auf einen anderen Prozess umzuschalten. Man spricht auch von einer verschachtelten Bearbeitung (engl. interleaving).&lt;br /&gt;
&lt;br /&gt;
Das Herz jedes Multitasking-Systems ist der Scheduler. Dies ist ein Programm, das nach bestimmten Algorithmen überprüft, welcher Prozess als nächstes die CPU (also Rechenzeit) zugeteilt bekommt. Es gibt verschiedene Schedulingstrategien:&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;First come first served&amp;quot;: Prozesse bekommen Rechenzeit zugeteilt in der Reihenfolge, in der sie rechenbereit werden.&lt;br /&gt;
* &amp;quot;Shortest job first&amp;quot;: Der Prozess mit der kürzesten Rechenzeit wird als erstes bearbeitet. Dazu muss die Rechenzeit natürlich im Voraus bekannt sein.&lt;br /&gt;
* &amp;quot;Shortest remaining time next&amp;quot;: Der Prozess mit der kürzesten &#039;&#039;verbleibenden&#039;&#039; Rechenzeit wird jeweils als nächstes bearbeitet. Auch hier muss diese Zeit bekannt sein.&lt;br /&gt;
* Round robin: Alle Prozesse bekommen gleich viel Zeit zugeteilt. Der Scheduler lässt jeden Prozess für dieselbe Dauer rechnen und übergibt die CPU dann an den nächsten Prozess.&lt;br /&gt;
* Priority Scheduling: Die Prozesse sind nicht gleichwertig (wie beim Round-Robin-Verfahren), sondern haben Prioritäten. Der Scheduler sorgt dafür, dass höher priorisierte Prozesse bevorzugt behandelt werden.&lt;br /&gt;
&lt;br /&gt;
Soweit die &amp;quot;reine Lehre&amp;quot;. Scheduler in freier Wildbahn implementieren oftmals komplizierte Hybriden der genannten Techniken. Jene der &amp;quot;echten&amp;quot; Betriebsysteme (Windows, Linux, MacOS, *BSD) sind im Prinzip prioritäten-basierte Round-Robin-Scheduler. Generell hat ein Betriebssystem zwei Möglichkeiten, Multitasking zu realisieren: kooperativ oder präemptiv.&lt;br /&gt;
&lt;br /&gt;
Egal welche Art von Multitasking implementiert wird, Aufrufe von &amp;lt;code&amp;gt;_delay_ms()&amp;lt;/code&amp;gt; sollten tabu sein. Selbst wenn man präempptives Multitasking vorfindet ist das keine Einladung zum Rechenleistung vergeuden, sondern es gehört zum guten Ton auch da kooperativ zu sein. Die folgenden Implementierungen erscheinen für Mikrocontroller sinnvoll je nach weiteren Umständen:&lt;br /&gt;
&lt;br /&gt;
* Der Kode ist komplett in Interruptserviceroutinen (ISRs), das Hauptprogramm ruft nur noch sleep_cpu() auf. Dieser Ansatz wird verwendet, wenn die Rechenaufgaben kurz sind (= keine langen Sequenzen) und Energie sparen ganz oben auf der Agenda steht. Also für Batteriebetrieb. Von Vorteil ist dass die ISRs keine Register retten müssen (ISR_NAKED und reti() verwenden), solange sie sich nicht verschachteln. Es handelt sich um kooperatives Multitasking, da eine hängende ISR weitere ISRs sperrt.&lt;br /&gt;
&lt;br /&gt;
* Eine lang rechnende Interruptroutine (meistens: ADC) gibt Interrupts frei und ermöglicht Verschachtelung. Es entsteht so eine Art DPC (Deferred Procedure Call, Windows-Sprech) oder ein Bottom Half (Linux-Sprech). Das Hauptprogramm darf (aber sollte nie) lange _delay_ms()-Aufrufe tätigen, die je nach Interruptlast dann deutlich länger brauchen. Entweder man trifft Vorsorge, dass sich die DPCs nicht verschachteln, oder die Zeitverhältnisse lassen das nicht zu. Das Hauptprogramm kann eine lange Sequenz sein oder auch nur aus sleep_cpu() bestehen.&lt;br /&gt;
&lt;br /&gt;
* Sämtliche Warteschleifen des Hauptprogramms (= lange Sequenz) rufen eine Idle-Prozedur auf, die anstehende Aufgaben erledigt, die nicht in Interrupts erledigt werden können. _delay_ms() ist tabu und Zeitmessungen müssen anders gelöst werden. Die Hintergrundaufgabe darf keine (allzu) lange Sequenz sein und darf ihrerseits nicht idle() aufrufen. Da die Idle-Prozedur im main()-Kontext aufgerufen wird entfallen die Probleme des Register-Rettens und -Wiederherstellens. Für Mikrocontroller die erstrebenswerteste Struktur, da die Idle-Prozedur zum Energie sparen wiederum sleep_cpu() aufrufen kann, wenn alle interruptgetriggerten DPCs abgearbeitet sind.&lt;br /&gt;
&lt;br /&gt;
* Ist der Hintergrundprozess eine lange Sequenz, empfiehlt sich eine Stackumschaltung. Für nur zwei Threads ist der dazu erforderliche Kode besonders einfach. Die beiden (kooperativen) Threads spielen sich ihre Rechenzeit mittels yield() zu — das ist die Stackumschaltprozedur. Für mehr als zwei Threads geht es besser mittels yieldTo()-Prozedur. Für eine variable Thread-Anzahl, wie das typischerweise für Webserver erforderlich ist, braucht es eine dynamische Speicherverwaltung und damit viel RAM. Diese Art von Multitasking ist so wie man sie von Windows 3.1 oder alten Macs her kennt. Aber nur wenige Mikrocontroller-Projekte benötigen eine solche Struktur; mir fällt da prompt nichts ein. Ein oder auch beide Threads dürfen idle() aufrufen für DPCs, es ist aber besser für die Stack-Dimensionierung, wenn das nur /ein/ Thread tut.&lt;br /&gt;
&lt;br /&gt;
* Aus dem kooperativen Multithreading entsteht sofort präemptives Multithreading, wenn yield() vom Timer-Interrupt aufgerufen wird. Präemptiv ist hier nicht mit „absturzsicher“ gleichzusetzen, da ein Thread den Timer-Interrupt abschalten oder mit cli() unterbinden kann. Der Stack-Bedarf steigt erheblich, und man muss sich ernsthaft um Synchronisierungsmaßnahmen kümmern! Denn der Interrupt kann überall zuschlagen, und cli() verhindert Kooperation. Lohnt sich nicht so recht.&lt;br /&gt;
&lt;br /&gt;
* Schließlich entsteht aus präemptiven Multithreading präemptives Multitasking, wenn Prozessor-Features das Umschalten zwischen User-Mode und God-Mode zulassen. Im User-Mode werden irrlaufende Speicherzugriffe und das Herumspielen an den Interrupts mit &amp;quot;kill -9&amp;quot; bestraft. Die richtige Wahl für Prozesse, die aus externen oder dubiosen Quellen stammen: Plugins, Server-Side Scripting usw. Und aus dem Stack-Umschalter wird etwas, was man /Betriebssystem/ nennen darf.&lt;br /&gt;
&lt;br /&gt;
== Kooperatives Multitasking ==&lt;br /&gt;
&lt;br /&gt;
Beim kooperativen Multitasking gibt der Scheduler die Kontrolle komplett an den Prozess ab. Als Konsequenz davon ist das Betriebssystem darauf angewiesen, dass der Prozess seinerseits die Kontrolle &amp;quot;freiwillig&amp;quot; wieder zurückgibt. Geschieht das nicht, wird der Scheduler nicht wieder aufgerufen und damit auch kein anderer Prozess mehr ausgeführt - das System &amp;quot;hängt&amp;quot;. Das Betriebssystem ist also auf die [http://de.wikipedia.org/wiki/Kooperation Kooperation] der Prozesse angewiesen. Bekannte Beispiele für Betriebssysteme mit kooperativem Multitasking sind Windows 3.x und MacOS vor Version 10.&lt;br /&gt;
&lt;br /&gt;
Dennoch ist kooperatives Multitasking keineswegs überholt oder schlecht. Gerade im Bereich der Mikrocontroller und Echtzeitanwendungen gibt es viele gute Argumente dafür: Kooperatives Multitasking ist deterministischer, also besser zeitlich und logisch vorhersagbar. Es ist besser simulierbar, d. h. für ein gegebenes System ist leichter nachweisbar, dass es funktioniert. Zudem ist kooperatives Multitasking ressourcenschonender, ein wichtiger Grund auch für die älteren Betriebssysteme. Da es sich um geschlossene Systeme handelt, tritt das Problem, dass „irgendein“ Prozess das System anhält, nicht auf. Es laufen ja im Gegensatz zum PC nicht „irgendwelche“ Prozesse, sondern nur die, deren Korrektheit (im Idealfall) verifiziert und validiert wurde.&lt;br /&gt;
&lt;br /&gt;
=== Ein einfaches Beispiel für den AVR ===&lt;br /&gt;
&lt;br /&gt;
Hier soll ein einfaches Beispiel den Weg in die Programmierung von parallel bearbeiteten Aufgaben zeigen.&lt;br /&gt;
&lt;br /&gt;
Wichtigster Grundsatz ist die Herangehensweise! Viele Programmieranfänger haben damit Schwierigkeiten, was unter anderem an den schlecht vermittelten Grundlagen liegt. Oft sieht man Funktionen zum Warten in Form von&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
while(1) {&lt;br /&gt;
    PORTD ^= (1&amp;lt;&amp;lt;PD0);&lt;br /&gt;
    _delay_ms(500);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
um beispielsweise eine [[LED]] blinken zu lassen. Will man dann noch andere Dinge erledigen, wundert sich der Programmierer, warum der Mikrocontroller so langsam reagiert, trotz 16 MHz Taktfrequenz.&lt;br /&gt;
&lt;br /&gt;
==== Einfacher Ansatz ====&lt;br /&gt;
&lt;br /&gt;
Stellen wir uns vor, wir wollen drei Dinge gleichzeitig tun.&lt;br /&gt;
&lt;br /&gt;
* Eine Taste abfragen&lt;br /&gt;
* Eine LED blinken lassen, in Abhängigkeit der gedrückten Taste&lt;br /&gt;
* Daten vom UART empfangen und zum PC zurücksenden&lt;br /&gt;
&lt;br /&gt;
Ein einfacher Ansatz für die drei Dinge sieht etwa so aus. Die Beispiele wurden mit [[WinAVR]] Version 20081006 in der Optimierungsstufe -Os kompiliert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
&lt;br /&gt;
Multitasking Demo, erster Versuch&lt;br /&gt;
&lt;br /&gt;
ATmega32 @ 3,6864 MHz&lt;br /&gt;
&lt;br /&gt;
LED + 1KOhm Vorwiderstand an PB0&lt;br /&gt;
Taster nach GND an PA0&lt;br /&gt;
UART an RXD und TXD&lt;br /&gt;
&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#define F_CPU 3686400&lt;br /&gt;
// Baudrate, das L am Ende ist wichtig, NICHT UL verwenden!&lt;br /&gt;
#define BAUD 9600L          &lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;avr/io.h&amp;quot;&lt;br /&gt;
#include &amp;quot;util/delay.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
// Berechnungen&lt;br /&gt;
// clever runden&lt;br /&gt;
#define UBRR_VAL  ((F_CPU+BAUD*8)/(BAUD*16)-1)  &lt;br /&gt;
// Reale Baudrate&lt;br /&gt;
#define BAUD_REAL (F_CPU/(16*(UBRR_VAL+1)))     &lt;br /&gt;
// Fehler in Promille &lt;br /&gt;
#define BAUD_ERROR ((BAUD_REAL*1000)/BAUD-1000) &lt;br /&gt;
 &lt;br /&gt;
#if ((BAUD_ERROR&amp;gt;10) || (BAUD_ERROR&amp;lt;-10))&lt;br /&gt;
  #error Systematischer Fehler der Baudrate grösser 1% und damit zu hoch! &lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
uint8_t taste_lesen(void) {&lt;br /&gt;
    if (PINA &amp;amp; (1&amp;lt;&amp;lt;PA0))&lt;br /&gt;
        return 1;&lt;br /&gt;
    else &lt;br /&gt;
        return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void led_blinken(uint8_t taste) {&lt;br /&gt;
&lt;br /&gt;
    PORTB ^= (1&amp;lt;&amp;lt;PB0);&lt;br /&gt;
    if (taste) &lt;br /&gt;
        _delay_ms(1000);    // 1 s warten&lt;br /&gt;
    else&lt;br /&gt;
        _delay_ms(100);     // 0,1 s warten&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void uart_lesen(void) {&lt;br /&gt;
    uint8_t tmp;&lt;br /&gt;
    while (!(UCSRA &amp;amp; (1&amp;lt;&amp;lt;RXC)));            // Warte auf empfangenes Zeichen vom UART&lt;br /&gt;
    tmp = UDR;&lt;br /&gt;
    while (!(UCSRA &amp;amp; (1&amp;lt;&amp;lt;UDRE)));           // Warte auf freien Sendepuffer vom UART&lt;br /&gt;
    UDR = tmp;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main(void) {&lt;br /&gt;
    int8_t taste;&lt;br /&gt;
&lt;br /&gt;
    // IOs initialisieren&lt;br /&gt;
    &lt;br /&gt;
    PORTA = 1;              // Pull Up für PA0&lt;br /&gt;
    DDRB  = 1;              // PB0 ist Ausgang&lt;br /&gt;
&lt;br /&gt;
    // UART initialisieren&lt;br /&gt;
    &lt;br /&gt;
    UBRRH = UBRR_VAL &amp;gt;&amp;gt; 8;&lt;br /&gt;
    UBRRL = UBRR_VAL &amp;amp; 0xFF;&lt;br /&gt;
    UCSRB = (1&amp;lt;&amp;lt;RXEN) | (1&amp;lt;&amp;lt;TXEN);&lt;br /&gt;
    &lt;br /&gt;
    // Endlose Hauptschleife&lt;br /&gt;
&lt;br /&gt;
    while (1) {&lt;br /&gt;
        taste = taste_lesen();&lt;br /&gt;
        led_blinken(taste);&lt;br /&gt;
        uart_lesen();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man das Programm nun laufen lässt, wird man feststellen dass&lt;br /&gt;
&lt;br /&gt;
* das Hyperterminal sehr langsam reagiert und bisweilen Zeichen verschluckt&lt;br /&gt;
* die LED auf Tastendrücke nur dann reagiert, wenn man per Hyperterminal Zeichen eingibt&lt;br /&gt;
&lt;br /&gt;
Dieser Ansatz ist also untauglich. Egal wie schnell unser AVR auch ist, er reagiert sehr langsam.&lt;br /&gt;
&lt;br /&gt;
==== Verbesserter Ansatz ====&lt;br /&gt;
&lt;br /&gt;
Will man mehrere Dinge gleichzeitig bearbeiten, muss man die Aufgaben in kleinste Häppchen zerteilen. Diese kleinsten Häppchen werden dann verschachtelt abgearbeitet, also ein Häppchen von Aufgabe A, ein Häppchen von Aufgabe B, ein Häppchen von Aufgabe C.&lt;br /&gt;
&lt;br /&gt;
Das Auslesen der Taste geht immer sehr schnell, kein Ansatz zum optimieren. Das Blinken der LED dauer entweder 1s oder 100ms, eine Ewigkeit für einen Mikrocontroller! Hier muss man was ändern. Am schlimmsten ist die UART-Nutzung. Der AVR wartet solange, bis ein Zeichen empfangen wurde! Das kann ewig dauern! Unser Programm steht! Das darf nicht sein!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
&lt;br /&gt;
Multitasking Demo, zweiter Versuch&lt;br /&gt;
&lt;br /&gt;
ATmega32 @ 3,6468 MHz&lt;br /&gt;
&lt;br /&gt;
LED + 1KOhm Vorwiderstand an PB0&lt;br /&gt;
Taster nach GND an PA0&lt;br /&gt;
UART an RXD und TXD&lt;br /&gt;
&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#define F_CPU 3686400&lt;br /&gt;
// Baudrate, das L am Ende ist wichtig, NICHT UL verwenden!&lt;br /&gt;
#define BAUD 9600L          &lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;avr/io.h&amp;quot;&lt;br /&gt;
#include &amp;quot;util/delay.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
// Berechnungen&lt;br /&gt;
// clever runden&lt;br /&gt;
#define UBRR_VAL  ((F_CPU+BAUD*8)/(BAUD*16)-1)  &lt;br /&gt;
// Reale Baudrate&lt;br /&gt;
#define BAUD_REAL (F_CPU/(16*(UBRR_VAL+1)))     &lt;br /&gt;
// Fehler in Promille &lt;br /&gt;
#define BAUD_ERROR ((BAUD_REAL*1000)/BAUD-1000) &lt;br /&gt;
 &lt;br /&gt;
#if ((BAUD_ERROR&amp;gt;10) || (BAUD_ERROR&amp;lt;-10))&lt;br /&gt;
  #error Systematischer Fehler der Baudrate grösser 1% und damit zu hoch! &lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
uint8_t taste_lesen(void) {&lt;br /&gt;
    if (PINA &amp;amp; (1&amp;lt;&amp;lt;PA0))&lt;br /&gt;
        return 1;&lt;br /&gt;
    else &lt;br /&gt;
        return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void led_blinken(uint8_t taste) {&lt;br /&gt;
    static uint16_t zaehler=0;&lt;br /&gt;
&lt;br /&gt;
    if (taste) {&lt;br /&gt;
        if (zaehler&amp;gt;=999) {&lt;br /&gt;
            PORTB ^= (1&amp;lt;&amp;lt;PB0);&lt;br /&gt;
            zaehler=0;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
        if (zaehler&amp;gt;=99) {&lt;br /&gt;
            PORTB ^= (1&amp;lt;&amp;lt;PB0);&lt;br /&gt;
            zaehler=0;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    zaehler++;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void uart_lesen(void) {&lt;br /&gt;
    uint8_t tmp;&lt;br /&gt;
    if((UCSRA &amp;amp; (1&amp;lt;&amp;lt;RXC))) {                // empfangenes Zeichen abholbereit im UART ?&lt;br /&gt;
        tmp = UDR;&lt;br /&gt;
        while (!(UCSRA &amp;amp; (1&amp;lt;&amp;lt;UDRE)));       // Warte auf freien Sendepuffer vom UART&lt;br /&gt;
        UDR = tmp;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main(void) {&lt;br /&gt;
    int8_t taste;&lt;br /&gt;
&lt;br /&gt;
    // IOs initialisieren&lt;br /&gt;
    &lt;br /&gt;
    PORTA = 1;              // Pull Up für PA0&lt;br /&gt;
    DDRB  = 1;              // PB0 ist Ausgang&lt;br /&gt;
&lt;br /&gt;
    // UART initialisieren&lt;br /&gt;
    &lt;br /&gt;
    UBRRH = UBRR_VAL &amp;gt;&amp;gt; 8;&lt;br /&gt;
    UBRRL = UBRR_VAL &amp;amp; 0xFF;&lt;br /&gt;
    UCSRB = (1&amp;lt;&amp;lt;RXEN) | (1&amp;lt;&amp;lt;TXEN);&lt;br /&gt;
    &lt;br /&gt;
    // Endlose Hauptschleife&lt;br /&gt;
&lt;br /&gt;
    while (1) {&lt;br /&gt;
        taste = taste_lesen();&lt;br /&gt;
        led_blinken(taste);&lt;br /&gt;
        uart_lesen();&lt;br /&gt;
        _delay_ms(1);       // 1 ms warten&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dieses Programm reagiert &#039;&#039;&#039;ganz&#039;&#039;&#039; anders! Schnell wie der Wind und vollkommen unabhängig von anderen, parallel laufenden Prozessen. Warum ist das so?&lt;br /&gt;
&lt;br /&gt;
Die einzelnen kleinen Häppchen sind verdaulicher als die großen. Die maximale Durchlaufzeit der einzelnen Funktionen ist drastisch reduziert. Anstatt in der LED-Ausgabe einmal 1000 ms zu warten wird nun 1000 mal 1 ms gewartet. Zwischendurch werden aber 1000 mal die anderen Prozesse bearbeitet. Echte Demokratie sozusagen. Noch viel besser ist die Handhabung des UARTs. Anstatt eine Ewigkeit auf ein ankommendes Zeichen zu warten, wird nur dann etwas bearbeitet, wenn auch wirklich etwas zur Bearbeitung vorliegt. Klingt eigentlich logisch. Also nur dann, wenn schon ein Zeichen empfangen wurde wird es auch bearbeitet, ansonsten geht es zurück zur Hauptschleife. Das ist praktisch der ganze &amp;quot;Trick&amp;quot; eines kooperativen Multitaskings. Auch wenn die Verwendung von _delay_ms(1) noch ein kleiner Schönheitsfehler ist, den die Profis lieber mit einem [[Timer]] erledigen, so wird das Prinzip klar.&lt;br /&gt;
&lt;br /&gt;
*Prozesse eines kooperativen Multitaskingsystems warten nicht (lies: niemals) auf das Eintreten von Ereignissen, sondern bearbeiten nur bereits eingetretene Ereignisse.&lt;br /&gt;
*Größere Aufgaben werden in kleine Teilaufgaben zerlegt, welche nur durch mehrfaches Aufrufen der Funktion abgearbeitet werden. Das erreicht man meist am besten mit einer [[statemachine |State machine]].&lt;br /&gt;
*Prozesse eines kooperativen Multitaskings haben eine garantierte, maximale Durchlaufzeit, welche möglichst klein ist.&lt;br /&gt;
&lt;br /&gt;
Damit ähneln die Prozesse einem [[Interrupt]], auch wenn sie als ganz normale Funktionen außerhalb eines Interrupts ausgeführt werden. An diesem Beispiel erkennt man die Vor- und Nachteile des kooperativen Multitaskings:&lt;br /&gt;
&lt;br /&gt;
Vorteile&lt;br /&gt;
* einfacher Scheduler mit geringster CPU Belastung&lt;br /&gt;
* Deterministische Arbeitsweise, damit einfach prüfbar und strenges Timing möglich&lt;br /&gt;
&lt;br /&gt;
Nachteile&lt;br /&gt;
* eine andere Programmierweise zur Zerlegung größerer Aufgaben in kleine Teilaufgaben muss manuell vorgenommen werden&lt;br /&gt;
&lt;br /&gt;
==== Verbesserter Ansatz mit Timer ====&lt;br /&gt;
&lt;br /&gt;
Zum Abschluss die noch bessere Version mit Timer. Diese hat mehrere Vorteile.&lt;br /&gt;
&lt;br /&gt;
* Das Zeitraster der Hauptschleife ist exakt, unabhängig von der Laufzeit der Aufgaben, weil der Timer unabhängig eine feste Interruptfrequenz generiert. Im vorherigen Beispiel war das Zeitraster die Summe aus Laufzeit aller Funktionen/Tasks und dem _delay_ms(1).&lt;br /&gt;
* CPU-Rechenleistung wird zu 100% in der Abarbeitung der Task verwendet und nicht für nutzlose Warteschleifen verschwendet.&lt;br /&gt;
* Es kann leicht im realen System geprüft werden, ob die Laufzeit der Tasks klein genug ist, um den Anforderungen des Timers zu genügen.&lt;br /&gt;
&lt;br /&gt;
Diese Überprüfung kann an zwei Stellen durchgeführt werden.&lt;br /&gt;
&lt;br /&gt;
* Am Ende der Hauptschleife nach Abarbeitung aller Ausgaben. Wenn hier die Variable flag_1ms schon wieder aktiv ist, dauerte die Abarbeitung länger als 1ms. Wenn man ein sehr strenges Timing sicherstellen möchte, ist das ein Fehler, der erkannt und signalisiert werden kann.&lt;br /&gt;
* In der ISR. Wenn hier die Variable immer noch aktiv ist, wurde sie von der Hauptschleife noch nicht erkannt und zurück gesetzt. Das ist definitiv ein Fehler, denn jetzt würde ohne Fehlererkennung ein Timerdurchlauf von der Hauptschleife verschluckt werden. Diese Prüfung ist etwas nachgiebiger, weil zwischenzeitlich ein Durchlauf der Hauptschleife mehr als 1ms, jedoch nicht länger als 2ms dauern darf. Siehe auch den Abschnitt [[Interrupt#Zeitverhalten_eines_Timerinterrupts]]. Sinnvollerweise nutzt man nur eine der beiden Prüfungen, nicht beide zusammen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
&lt;br /&gt;
Multitasking Demo, dritter Versuch&lt;br /&gt;
&lt;br /&gt;
ATmega32 @ 3,6468 MHz&lt;br /&gt;
&lt;br /&gt;
LED + 1KOhm Vorwiderstand an PB0 und PB1&lt;br /&gt;
Taster nach GND an PA0&lt;br /&gt;
UART an RXD und TXD&lt;br /&gt;
&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#define F_CPU 3686400&lt;br /&gt;
// Baudrate, das L am Ende ist wichtig, NICHT UL verwenden!&lt;br /&gt;
#define BAUD 9600L          &lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;avr/io.h&amp;quot;&lt;br /&gt;
#include &amp;quot;util/delay.h&amp;quot;&lt;br /&gt;
#include &amp;quot;avr/interrupt.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
// Berechnungen&lt;br /&gt;
// clever runden&lt;br /&gt;
#define UBRR_VAL  ((F_CPU+BAUD*8)/(BAUD*16)-1)  &lt;br /&gt;
// Reale Baudrate&lt;br /&gt;
#define BAUD_REAL (F_CPU/(16*(UBRR_VAL+1)))     &lt;br /&gt;
// Fehler in Promille &lt;br /&gt;
#define BAUD_ERROR ((BAUD_REAL*1000)/BAUD-1000) &lt;br /&gt;
 &lt;br /&gt;
#if ((BAUD_ERROR&amp;gt;10) || (BAUD_ERROR&amp;lt;-10))&lt;br /&gt;
  #error Systematischer Fehler der Baudrate grösser 1% und damit zu hoch! &lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
uint8_t taste_lesen(void) {&lt;br /&gt;
    if (PINA &amp;amp; (1&amp;lt;&amp;lt;PA0))&lt;br /&gt;
        return 1;&lt;br /&gt;
    else &lt;br /&gt;
        return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void led_blinken(uint8_t taste) {&lt;br /&gt;
    static uint16_t zaehler=0;&lt;br /&gt;
&lt;br /&gt;
    if (taste) {&lt;br /&gt;
        if (zaehler&amp;gt;=999) {&lt;br /&gt;
            PORTB ^= (1&amp;lt;&amp;lt;PB0);&lt;br /&gt;
            zaehler=0;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
        if (zaehler&amp;gt;=99) {&lt;br /&gt;
            PORTB ^= (1&amp;lt;&amp;lt;PB0);&lt;br /&gt;
            zaehler=0;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    zaehler++;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void uart_lesen(void) {&lt;br /&gt;
    uint8_t tmp;&lt;br /&gt;
    if((UCSRA &amp;amp; (1&amp;lt;&amp;lt;RXC))) {                // empfangenes Zeichen abholbereit im UART ?&lt;br /&gt;
        tmp = UDR;&lt;br /&gt;
        while (!(UCSRA &amp;amp; (1&amp;lt;&amp;lt;UDRE)));       // Warte auf freien Sendepuffer vom UART&lt;br /&gt;
        UDR = tmp;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
volatile uint8_t flag_1ms;&lt;br /&gt;
 &lt;br /&gt;
int main(void) {&lt;br /&gt;
    int8_t taste;&lt;br /&gt;
&lt;br /&gt;
    // IOs initialisieren&lt;br /&gt;
    &lt;br /&gt;
    PORTA = 1;              // Pull Up für PA0&lt;br /&gt;
    DDRB  = 3;              // PB0/1 sind Ausgang&lt;br /&gt;
&lt;br /&gt;
    // UART initialisieren&lt;br /&gt;
    &lt;br /&gt;
    UBRRH = UBRR_VAL &amp;gt;&amp;gt; 8;&lt;br /&gt;
    UBRRL = UBRR_VAL &amp;amp; 0xFF;&lt;br /&gt;
    UCSRB = (1&amp;lt;&amp;lt;RXEN) | (1&amp;lt;&amp;lt;TXEN);&lt;br /&gt;
&lt;br /&gt;
    // Timer 0 initialisieren, CTC, Presacler 64&lt;br /&gt;
&lt;br /&gt;
    TCCR0 = (1&amp;lt;&amp;lt;WGM01) | (1&amp;lt;&amp;lt;CS01) | (1&amp;lt;&amp;lt;CS00);&lt;br /&gt;
    OCR0  = 56;      // 1ms&lt;br /&gt;
    TIMSK |= (1&amp;lt;&amp;lt;OCIE0);&lt;br /&gt;
&lt;br /&gt;
    // Interrupts global freigeben&lt;br /&gt;
&lt;br /&gt;
    sei();&lt;br /&gt;
&lt;br /&gt;
    // Endlose Hauptschleife&lt;br /&gt;
&lt;br /&gt;
    while (1) {&lt;br /&gt;
        if (flag_1ms) {&lt;br /&gt;
            flag_1ms=0;&lt;br /&gt;
            taste = taste_lesen();&lt;br /&gt;
            led_blinken(taste);&lt;br /&gt;
            uart_lesen();&lt;br /&gt;
            if (flag_1ms) {&lt;br /&gt;
                // Laufzeit der Tasks &amp;gt;1ms, Fehlersignalisierung&lt;br /&gt;
                // PB1 auf HIGH, Programm stoppen&lt;br /&gt;
                PORTB |= (1&amp;lt;&amp;lt;PB1);&lt;br /&gt;
                while(1);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Interruptserviceroutine für Timer 0&lt;br /&gt;
// hier 1ms&lt;br /&gt;
&lt;br /&gt;
ISR(TIMER0_COMP_vect) {&lt;br /&gt;
    if (flag_1ms) {&lt;br /&gt;
        // Laufzeit der Tasks &amp;gt;2ms, Fehlersignalisierung&lt;br /&gt;
        // PB1 auf HIGH, Programm stoppen&lt;br /&gt;
        PORTB |= (1&amp;lt;&amp;lt;PB1);&lt;br /&gt;
        while(1);&lt;br /&gt;
    }&lt;br /&gt;
    flag_1ms = 1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Message passing Framework ====&lt;br /&gt;
&lt;br /&gt;
Im vorangegangenen Abschnitt wurde erklärt, wie man die einzelnen Tasks in kleine &amp;quot;Häppchen&amp;quot; zerlegen kann und diese alle innerhalb der Main Loop aufruft.&lt;br /&gt;
Dieses kooperative System hat aber noch einige Nachteile:&lt;br /&gt;
&lt;br /&gt;
* Alle Häppchen werden gleich oft aufgerufen und nicht nur bei Bedarf&lt;br /&gt;
* Für die Timeouts gibt es noch keine befriedigende Lösung&lt;br /&gt;
&lt;br /&gt;
Wenn man diese beiden Nachteile auch noch beseitigen möchte, wird das ganze noch ein klein wenig komplizierter. Da man das Grundprinzip aber für viele Mikrocontroller-Projekte immer wieder verwenden kann, lohnt es sich und man kann die Entwicklung für diese Art des Multitasking in einem Framework zusammenfassen.&lt;br /&gt;
&lt;br /&gt;
Ein Framework, das sind einige Dateien, die den Rahmen (Frame=Rahmen) für ein Programm bilden und den Teil enthalten, den man immer wieder braucht.&lt;br /&gt;
&lt;br /&gt;
===== Message =====&lt;br /&gt;
&lt;br /&gt;
Die Basis des Frameworks bildet die &amp;quot;Message&amp;quot;. Immer wenn wir für einen unserer &amp;quot;Tasks&amp;quot; etwas zu tun haben, schicken wir eine &amp;quot;Message&amp;quot;. Die &amp;quot;Messages&amp;quot; werden in eine Warteschlange einsortiert und der Reihe nach abgearbeitet. Dadurch kommt ein Task der viel zu tun hat (viele Messages bekommt) öfter dran, als ein &amp;quot;Task&amp;quot; der nicht so viel zu tun hat. Außerdem kann eine Message noch Daten enthalten (z. B. ein empfangenes Zeichen). So können die einzelnen Tasks sogar Daten austauschen.&lt;br /&gt;
&lt;br /&gt;
===== Message Receiver =====&lt;br /&gt;
&lt;br /&gt;
Unsere &amp;quot;Tasks&amp;quot; werden immer dann aufgerufen, wenn Arbeit für sie da ist. Das wissen wir, weil sie eine Message empfangen sollen. Deshalb heißen die &amp;quot;Tasks&amp;quot; ab jetzt &amp;quot;Message Receiver&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===== Timeout =====&lt;br /&gt;
&lt;br /&gt;
In diesem System wird jeder Message Receiver aufgerufen, wenn jemand Arbeit für ihn hat und er deshalb eine Message bekommt. Was aber, wenn keine Message kommt, oder ein Message Receiver selbst aktiv werden soll?&lt;br /&gt;
&lt;br /&gt;
Aus diesem Grund braucht es die Timeouts. Mit Hilfe &amp;lt;u&amp;gt;eines&amp;lt;/u&amp;gt; Hardware Timers wird eine &amp;quot;Systemzeit&amp;quot; programmiert. Jeder Message Receiver kann die Zeit angeben, wann er wieder aufgerufen werden muss. Das Framework verwaltet alle Timer und sendet den Message Receivern eine &amp;quot;Timeout&amp;quot; message, wenn ihre Zeit gekommen ist.&lt;br /&gt;
&lt;br /&gt;
===== Beispiel =====&lt;br /&gt;
Hier der Sourcecode eines solchen Framework [[Datei:ACF.zip]]&lt;br /&gt;
Das Framework implementiert die Message Warteschlange und die Timer Warteschlange. Die Prozessor spezifischen Dinge sind in der Datei &amp;quot;ACF_Hal.c&amp;quot; zusammengefasst und für Linux Desktop und atMega128 implementiert.&lt;br /&gt;
In dieser Datei kann man das ganze auch auf andere Prozessoren anpassen.&lt;br /&gt;
&lt;br /&gt;
Ein &amp;quot;main&amp;quot; sieht dann z.B. so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;ACF.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char** argv)&lt;br /&gt;
{&lt;br /&gt;
    ACF_init();&lt;br /&gt;
    ACF_loop();&lt;br /&gt;
    return 0; // we will never arrive here&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Tracing =====&lt;br /&gt;
Es gibt noch einen weiteren Grund, sich ein &amp;quot;Framework&amp;quot; zu erarbeiten, oder ein fertiges Framework zu verwenden. Da der Ablauf der Software und der Aufruf aller Teile vom Framework bestimmt wird, kann das Framework auch einen sehr detaillierten Trace über das Verhalten des Codes anfertigen. Das Framework aus vorstehendem Beispiel enthält bereits entsprechenden Code.&lt;br /&gt;
&lt;br /&gt;
Solche Traces von laufendem Code können gerade dann sehr hilfreich sein, wenn viele Dinge gleichzeitig ablaufen (und das war schließlich der Sinn des ganzen).&lt;br /&gt;
&lt;br /&gt;
Nachstehendes Bild zeigt den Trace eines Reglers, der mit dem Framework realisiert wurde.&lt;br /&gt;
[http://www.mikrocontroller.net/attachment/74409/ablauf.png Sequenzdiagramm]&lt;br /&gt;
&lt;br /&gt;
== Präemptives Multitasking ==&lt;br /&gt;
&lt;br /&gt;
Beim präemptiven oder verdrängenden Multitasking gibt das Betriebssystem die Kontrolle zu keinem Zeitpunkt auf. Ein Prozess, der gerade die CPU nutzt, kann jederzeit wieder vom Betriebssystem unterbrochen werden. Daher muss bei der Entwicklung für ein präemptives System immer damit gerechnet werden, dass ein Prozess &#039;&#039;&#039;jederzeit&#039;&#039;&#039; unterbrochen werden kann. Das kann z.&amp;amp;nbsp;B. zu Problemen beim Zugriff auf limitierte Betriebsmittel führen. Beispiel:&lt;br /&gt;
&lt;br /&gt;
* Prozess A sucht freien Speicher und findet einen freien Block&lt;br /&gt;
* Prozess B wird vom Scheduler gestartet und sucht ebenfalls einen Speicherblock. Der gefundene Block wird von Prozess B reserviert und benutzt&lt;br /&gt;
* Der Scheduler teilt wieder Prozess A die CPU zu. Prozess A wird fortgeführt, d.h. er reserviert jetzt den im letzten Systemcall gefundenen Speicherblock&lt;br /&gt;
Jetzt haben also beide Prozesse den gleichen Speicherblock reserviert. Entweder arbeiten jetzt beide Prozesse mit dem gleichen Speicher, und überschreiben daher gegenseitig die Daten, oder das Betriebsystem hat etwas gemerkt und zieht die Notbremse. In jedem Fall passieren schreckliche Dinge. Sowas nennt man eine Race-Condition.&lt;br /&gt;
&lt;br /&gt;
Die Lösung nennt sich Semaphore: Dieser Mechanismus wird vom Betriebsystem bereitgestellt und erlaubt es einem Prozess eine bestimmte Ressource zu sperren. Wenn also Prozess A aus obigem Beispiel Speicher haben möchte, setzt er vor Beginn der sogenannten &amp;quot;Kritischen Sektion&amp;quot; einen Semaphor für &amp;quot;Speicher reservieren&amp;quot;. Dieser Semaphor wird erst wieder aufgehoben, sobald Prozess A den Speicher für sich reserviert hat. Wenn der Prozess B zwischendurch gestartet wird und ebenfalls versucht den Semaphor zu setzen, wird er solange warten müssen, bis Prozess A den Semaphor wieder freigibt. Speziell für derartige Locking Mechanismen bieten die meisten Prozessoren sogenannte TAS-Befehle (Test And Set), die in einem Prozessorbefehl eine Variable testen und je nach Ergebnis setzen können. Das ist nötig um das Setzen von Semaphoren unteilbar (atomar) zu machen. Könnte der Scheduler das Setzen eines Semaphors unterbrechen, wäre ja der ganze Aufwand umsonst.&lt;br /&gt;
&lt;br /&gt;
Präemptive Multitasking Systeme sind sehr flexibel und kommen mit einer Vielzahl an Tasks klar. Amok laufende Prozesse können das System bei korrekter Implementierung nicht blockieren. Damit aber das System crash-sicher ist, muss es Systemresourcen geben, die nur der Scheduler verteilen kann (z.&amp;amp;nbsp;B. kein anderer Prozess darf in den Speicherbereich des Schedulers schreiben; kein anderer Prozess darf den Timerinterrupt des Schedulers ändern). Diese Möglichkeiten sind in Mikrocontrollern normalerweise gar nicht vorhanden, wodurch dieser Vorteil des Präemptiven MT weniger ins Gewicht fällt. Beispiele für Systeme mit präemptivem Multitasking sind Linux, *BSD  und Windows XP.&lt;br /&gt;
&lt;br /&gt;
Vorteile&lt;br /&gt;
* sehr flexibel in der Verwaltung von dynamisch ausgeführten Prozessen&lt;br /&gt;
* einzelne Prozesse können einfach linear programmiert werden, ohne die Aufgabe in kleine Teile zerlegen zu müssen&lt;br /&gt;
&lt;br /&gt;
Nachteile&lt;br /&gt;
* Der Scheduler ist aufwändiger und benötigt mehr CPU-Zeit&lt;br /&gt;
* Höherer Resourcenbedarf zu Verwaltung des Systems und Bereitstellung der Semaphore etc.&lt;br /&gt;
* nicht streng deterministisch, somit kann kein festes Timing garantiert werden&lt;br /&gt;
* nicht explizit debug- und prüfbar, da die Prozesse nicht fest gekoppelt sind&lt;br /&gt;
&lt;br /&gt;
== Multithreading ==&lt;br /&gt;
&lt;br /&gt;
Multithreading ist eine meist softwarebasierende Möglichkeit moderner Betriebssysteme, innerhalb eines Prozesses mehrere Tasks (threads) parallel auszuführen. Der Vorteil dieser weiteren Unterteilung ist, dass sich die Threads eines Tasks den Speicherbereich teilen können und eine Aufteilung in logische nebeneinander laufende Teile möglich ist. Je nach Betriebssystem kann der Übergang von Multithreading zu Multiprocessing fliessend bis starr sein. &lt;br /&gt;
&lt;br /&gt;
Das Hyperthreading eines Intel Pentium 4 folgt dem Konzept des Multithreadings auf Hardwarebasis und teilt den CPU-Kern zeitlich in zwei logische Prozessoren ein.&lt;br /&gt;
&lt;br /&gt;
== Umsetzung auf Prozessoren ==&lt;br /&gt;
Unabhängig davon, ob Multitasking oder -threading auf einem Prozessor konkret unterstützt wird, lässt es sich immer in Form von Software realisieren. Dies wird in modernen Systemen durch das OS geleistet, das standardisierte Funktionen und Strukturen zur Verfügung stellt. Besonders C++ bietet ein stark abstrahiertes Programmiermodell und Methoden-Set an, um effektiv untereinander kompatible Programmmodule erstellen zu können. Nutzt man diese nicht, wie z.B. bei der Programmierung in C, müssen Strukturen manuell erzeugt und gehandhabt werden, was aufwändiger ist, aber auch geringeren overhead bewirkt. Das Programm ist dann fast immer erheblich kleiner, in den meisten Fällen strukturell einfacher, bezüglich komplizierter Änderungen jedoch auch unflexibler und träger. &lt;br /&gt;
&lt;br /&gt;
Bei Mikrocontrollern findet man je nach Komplexität und Struktur der Appliation praktisch alle denkbaren Kombinationen:&lt;br /&gt;
&lt;br /&gt;
=== System mit real-time OS und Entwicklung in C++ ===&lt;br /&gt;
* Programmentwicklung stark an abstrakte Interfaces und Standards gebunden&lt;br /&gt;
* Starke Abhängigkeit an das OS im Bezug auf RT-Funktionalität&lt;br /&gt;
* Innerhalb gleicher OS-Landschaft gut portierbar&lt;br /&gt;
* Sehr geringe Abhängigkeit vom Prozessortyp&lt;br /&gt;
* Multitasking muss über OS-Schicht ausprogrammiert werden&lt;br /&gt;
* Multithreading muss/kann durch Programmierleistung optimiert werden&lt;br /&gt;
* Laufzeiteffizienz ist niedrig durch relativ hohen Anteil des OS-Bedarfs&lt;br /&gt;
* Datendurchsatz regelt sich selbst und ist gleichmäßig am relativen Maximum&lt;br /&gt;
* Programmiereffizienz ist niedrig durch sehr viel Arbeit an Formalismen&lt;br /&gt;
* Planungsaufwand ist noch überschaubar&lt;br /&gt;
* Planungseffizienz ist relativ hoch durch viele Standards&lt;br /&gt;
* Erweiterung um komplexe Module einfach möglich, Timing regelt sich selber&lt;br /&gt;
&lt;br /&gt;
=== System mit real-time OS und Entwicklung in C ===&lt;br /&gt;
* Programmentwicklung stark an Interfaces und weniger an Standards&lt;br /&gt;
* Starke Abängigkeit an das OS im Bezug auf RT-Funktionalität&lt;br /&gt;
* Innerhalb aber auch ausserhalb gleicher OS-Landschaft gut portierbar&lt;br /&gt;
* Geringe Abhängig von dem Prozessortyp&lt;br /&gt;
* Multitasking muss über OS-Schicht und eigene Strukturen programmiert werden&lt;br /&gt;
* Multithreading muss/kann durch Programmierleistung optimiert werden&lt;br /&gt;
* Laufzeiteffizienz ist höher durch geringeren Anteil des OS-Bedarfs&lt;br /&gt;
* Datendurchsatz regelt sich selbst und ist gleichmässig am relativen Maximum&lt;br /&gt;
* Programmiereffizienz ist höher durch weniger Arbeit mit Formalien&lt;br /&gt;
* Planungsaufwand ist etwas höher, je nach Applikation&lt;br /&gt;
* Planungseffizienz ist relaiv niedriger durch weniger Standards&lt;br /&gt;
* Erweiterung mit akzeptablem Aufwand möglich, Timing muss beachtet werden&lt;br /&gt;
&lt;br /&gt;
=== System ohne real-time OS und Entwicklung in C ===&lt;br /&gt;
* Programmentwicklung stark an Interfaces und kaum an Standards gebunden&lt;br /&gt;
* Ausprägung und Gestaltung der RT-Funktionalität absolut frei&lt;br /&gt;
* nur ausserhalb von OS-Landschaft portierbar, dafür prinziepiell sehr gut&lt;br /&gt;
* Stärkere Abhängig von dem Prozessortyp, kann die Portierbarkeit einschränken&lt;br /&gt;
* Multitasking muss auschlieslich durch eigene Strukturen programmiert werden&lt;br /&gt;
* Multithreading muss durch umständliche Programmierung ermöglicht werden werden&lt;br /&gt;
* Laufzeiteffizienz kann sehr hoch sein, ist aber stark von der Progr. abhängig&lt;br /&gt;
* Datendurchsatz muss selbst ins Maximum gesteuert werden, das aber höher liegt&lt;br /&gt;
* Programmiereffizienz ist hoch, dank Wegfall von Konventionen&lt;br /&gt;
* Planungsaufwand ist stark Applikations abhängig, gfs sehr viel grösser&lt;br /&gt;
* Planungseffizienz ist gering, da RT Konzept selber optmiert werden muss&lt;br /&gt;
* Erweiterung nur möglich, wenn Timing weitestgehend überarbeitet wird&lt;br /&gt;
&lt;br /&gt;
=== System ohne real-time OS und Entwicklung in ASM ===&lt;br /&gt;
* Programmentw. nur an physische Interfaces gebunden und frei von Standards&lt;br /&gt;
* Ausprägung und Gestaltung der RT-Funktionalität absolut frei&lt;br /&gt;
* nur innerhalb der Prozessorlandschaft gut portierbar&lt;br /&gt;
* Volle Abhängig vom Prozessortyp, Portierbarkeit auf andere aufwändig&lt;br /&gt;
* Multitasking muss auschlieslich durch eigene Strukturen programmiert werden&lt;br /&gt;
* Multithreading muss durch umständliche Programmierung ermöglicht werden werden&lt;br /&gt;
* Laufzeiteffizienz sehr hoch, jedoch stark von Programmierung abhängig&lt;br /&gt;
* Datendurchsatz muss selbst ins Maximum gesteuert werden, das aber höher liegt&lt;br /&gt;
* Programmiereffizienz ist hoch, dank Wegfall von Konventionen&lt;br /&gt;
* Planungsaufwand ist stark applikationsabhängig, ggfs. sehr viel grösser&lt;br /&gt;
* Planungseffizienz sehr gering, RT Konzept nur für einfache System machbar&lt;br /&gt;
* Erweiterung nur möglich, wenn Timing komplett überarbeitet wird&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [[Scheduler mit Erweiterung zum Mini-Betriebssystem]]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Pr%E4emptives_Multitasking Präemptives Multitasking] bei [http://de.wikipedia.org Wikipedia]&lt;br /&gt;
* [http://www.femtoos.org/ Femto OS], ein ultrakompaktes Mulitaskingbetriebssystem für kleine Mikrocontroller&lt;br /&gt;
*[http://www.freertos.org/ FreeRTOS], ein freies Echtzeitbetriebssystem für Mikrocontroller&lt;br /&gt;
* [http://w3.ualg.pt/~rmarcel/Get%20by%20Without%20an%20RTOS.pdf Get by Without an RTOS] Ein schönes Beispiel wie man ohne ein RTOS auch Multitasking hinbekommt. &lt;br /&gt;
* [[TNKernel]], freier Multitasking-Kernel. &lt;br /&gt;
* [http://embeddedgurus.com/state-space/2010/04/i-hate-rtoses/ i-hate-rtoses] Blog zum Thema RTOS&lt;br /&gt;
* [http://stefanfrings.de/multithreading_arduino/index.html Multitasking mit Arduino] Multithreading in C und Arduino&lt;br /&gt;
[[Kategorie:Betriebssysteme]]&lt;br /&gt;
* Für ATtiny geeignete [[AVR-Tutorial:_Stack#Multitasking|einfache Stackumschaltung]] für 2 Threads&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Statemachine&amp;diff=107880</id>
		<title>Statemachine</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Statemachine&amp;diff=107880"/>
		<updated>2026-02-11T10:50:44Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Weblinks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Einleitung==&lt;br /&gt;
&lt;br /&gt;
Bei einem sogenannten [http://de.wikipedia.org/wiki/Finite_State_Machine Endlichen Zustandsautomaten] (engl. &#039;&#039;&#039;f&#039;&#039;&#039;inite &#039;&#039;&#039;s&#039;&#039;&#039;tate &#039;&#039;&#039;m&#039;&#039;&#039;achine, kurz FSM) handelt es sich um die Realisation eines Steuerungskonzeptes, welches eine abstrahierte Maschine zum Vorbild hat, die eine Reihe von Zuständen besitzt, durch die sich ihre Funktion definiert. Diese Maschine arbeitet, indem sie von einem Zustand in einen anderen übergeht und bei den Zustandsübergängen oder dem Verharren in Zuständen bestimmte Aktionen ausführt. Dabei ergibt sich der Folgezustand aus der Kombination des momentanen Zustands und einem externen Ereignis, z. B. einem Tastendruck oder einem Signal aus anderen Bereichen der Software. Dabei wird die Maschine oftmals in verschiedenen Zuständen nur für ganz bestimmte Ereignisse sensibel gemacht.&lt;br /&gt;
&lt;br /&gt;
Die FSM selbst wird immer in irgendeiner Weise über einen Takt angetrieben, kann also nicht in beliebig kurzen Zeitspannen auf Ereignisse reagieren und Zustände wechseln. Der aktive Takt definiert dabei, ob gerade ein Zustandswechsel stattfindet, oder ob in Zuständen verharrt wird. Mit jedem Takt wird anhand des vorliegenden Zustands und dem Status der Eingabekanäle entschieden, welcher Zustand als nächstes vorliegen soll und welche Aktionen dabei auszuführen sind.&lt;br /&gt;
&lt;br /&gt;
Abstrahierte Formen dieser Maschine werden in vielen elektronischen Geräten eingesetzt, um Bedieneraktivitäten und andere Ereignisse im System zu verarbeiten sowie autark ablaufende Prozesse geeignet zu beeinflussen. Entsprechend formulierte FSMs können sowohl in Software auf Prozessoren als auch als eletronische Hardware aufgebaut werden. &lt;br /&gt;
&lt;br /&gt;
Die Beschreibung einer FSM ist auf mehrere Arten möglich. Zum einen kann sie in Form einer Tabelle beschrieben werden, aber auch eine graphische Darstellung der Zustände und deren Abhängigkeiten in Form eines Zustandsdiagramms ist möglich.&lt;br /&gt;
&lt;br /&gt;
==Darstellung von Zustandsautomaten==&lt;br /&gt;
&lt;br /&gt;
Zustandsautomaten haben den großen Charme, dass es meistens leicht möglich ist, ihre Funktion durch eine Grafik zu veranschaulichen.&lt;br /&gt;
&lt;br /&gt;
Beispiel: Es ist eine FSM zu entwerfen, die eine Rollosteuerung übernimmt. Es gibt einen Motor, der sich in 3 Zuständen befinden kann: stop, rauf drehend, runter drehend. Außerdem gibt es Endschalter, welche betätigt werden, wenn das Rollo die jeweilige Endposition erreicht hat. Und es gibt 2 Taster &amp;quot;Up&amp;quot; und &amp;quot;Down&amp;quot; durch welche der Benutzer den Bewegungswunsch an die FSM weitergibt. Irgendwie weiß jeder, wie so eine Rollosteuerung funktioniert, und so recht und schlecht kann das auch jeder in der einen oder anderen Form beschreiben. Aber kann man das ganze auch so &#039;beschreiben&#039;, dass man im Vorfeld, vor der Programmierung tatsächlich alle Eventualitäten erfasst und so darstellt, dass auch ein Nicht-Informatiker die Funktionsweise versteht? Genau an dieser Stelle kommt die graphische Darstellung ins Spiel. &lt;br /&gt;
&lt;br /&gt;
Wie sieht nun eine derartige FSM aus? Jede Wolke im Bild sei ein Zustand, dem man einen Namen gibt. Die Pfeile zwischen den Wolken zeigen die Zustandsübergänge an, wobei am Pfeil vermerkt ist, unter welcher Bedingung dieser Übergang genommen werden kann (in Rot) und welche Aktionen dabei auszuführen sind (in Blau).&lt;br /&gt;
&lt;br /&gt;
[[Datei:StateRollo.jpg|center|framed|Zustandsautomat für eine Rollosteuerung]]&lt;br /&gt;
&lt;br /&gt;
Aus der Zeichnung ist ablesbar:&lt;br /&gt;
Befindet sich die Maschine im Zustand &amp;quot;unten&amp;quot; und wird die Taste &amp;quot;Up&amp;quot; gedrückt, dann folgt als Aktion, daß der Motor auf &amp;quot;rauf drehend&amp;quot; gestellt wird und gleichzeitig wechselt die Maschine in den Zustand &amp;quot;nach oben&amp;quot;. In diesem Zustand verbleibt die Maschine, während der Motor immer weiter dreht, bis der Endschalter meldet, dass das Rollo oben angekommen ist. Dies ist eine Möglichkeit wie die Maschine den Zustand &amp;quot;nach oben&amp;quot; verlassen kann. In diesem Fall wird dann der Motor abgeschaltet und die Maschine wechselt in den Zustand &amp;quot;oben&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Man sieht hier schon, dass es mit so einer Grafik relativ einfach ist, sich von der korrekten Logik zu überzeugen. In einfachsten Fall legt man zur Simulation einfach einen Gegenstand in die betreffende Wolke, die den gerade aktiven Zustand symbolisiert. Danach geht man alle Möglichkeiten durch, wie diese Maschine von aussen (Taster, Schalter, etc) beeinflusst werden kann und sieht sich an, ob es dafür in der Grafik einen Pfeil gibt, der von der aktiven Wolke wegführt. Gibt es keinen, dann passiert auch nichts. Gibt es einen, dann verschiebt man den Gegenstand in die betreffende Wolke und führt (in Gedanken) die Aktion aus. Auf die Art kann man ganz leicht einige typische Benutzerszenarien durchspielen aber auch ausprobieren, ob man alle Eventualitäten berücksichtigt hat. Denn gerade diese Evantualitäten, an die man am Anfang gar nicht denkt, die sind es, die einem in weiterer Folge oft Probleme bereiten.&lt;br /&gt;
&lt;br /&gt;
Um bei der Rollosteuerung zu bleiben: Was soll denn passieren, wenn das Rollo gerade hochfährt und der Benutzer ein weiteres mal auf &amp;quot;Up&amp;quot; drückt? Oder wenn er auf &amp;quot;Down&amp;quot; drückt? In der Grafik ist ersichtlich, wie in diesem Fall zu verfahren ist. (Und Hand aufs Herz: Hätten Sie daran gedacht, dass diese Fälle zu berücksichtigen sind, als sie &#039;Rollosteuerung&#039; gelesen haben?)&lt;br /&gt;
&lt;br /&gt;
==Implementierungsvariationen==&lt;br /&gt;
&lt;br /&gt;
Der konkrete softwaremässige Aufbau einer FSM kann in weiten Grenzen variieren. Das grundlegende Konzept, Aktionen an Zustände zu knüpfen und logische Abläufe an die Abfolge von Zuständen zu binden, bleibt dabei in allen Fällen erhalten. Aber je nach Lust und Laune und dem Können des Programmierers gibt es viele unterschiedliche Möglichkeiten eine FSM zu implementieren. Ziel ist es dabei immer, die eigentliche Maschine, also das was in der Zustandstabelle ausgedrückt wird, so einfach und überschaubar wie möglich zu präsentieren. Sie implementiert die Logik und definiert was die Maschine eigentlich macht und warum sie es macht. Ein einfacher Ansatz ist die Verwendung des C-Konstukts switch, in der in jedem case-zweig die einzelnen Zustände kodiert werden. Es ist aber auch durchaus möglich eine universelle FSM zu bauen, bei denen eine generische Funktion die Tabelle in Arrayform bekommt und zusammen mit einigen globalen Variablen die Maschine implementiert. Oft wird auch eine Statemaschine dadurch gebaut, indem das zentrale switch-case Konstukt der Sprache [C] durch einen einzelnen [[Funktionszeiger in C | Funktionszeiger]] ersetzt wird und jeder Zustand nichts anderes als eine Funktion ist. Der Übergang von einem Zustand in einen anderen Zustand ist dann nichts anderes als das Zuweisen einer Funktion an diesen Funktionszeiger. Oder aber man kombiniert Tabelle und Funktionszeiger in ein gemeinsames Konzept.&lt;br /&gt;
&lt;br /&gt;
==Grundlegender Aufbau==&lt;br /&gt;
&lt;br /&gt;
Im Folgenden wird eine FSM in Software verwirklicht, welche die Ampelsteuerung einer Kreuzung übernimmt.&lt;br /&gt;
[[Bild:Statemachine_Kreuzung.png|center|framed|Ampeln an einer Kreuzung]]&lt;br /&gt;
&lt;br /&gt;
Die Abfolge der Lichtzeichen einer einzelnen Ampel ist dabei&lt;br /&gt;
&amp;lt;br&amp;gt;[[Bild:Statemachine_Ampel.png|center|framed|Zustände einer einzelnen Ampel]]&lt;br /&gt;
&lt;br /&gt;
Die komplette Lichtfolge aller Ampeln in der Kreuzung stellt sich dann wie folgt dar: Es ist dabei ausreichend, nur Ampel 1 und Ampel 2 zu betrachten, da Ampel 3 bzw. Ampel 4 die jeweils gleichen Lichtsignale anzeigen. Dies muss nicht immer so sein! Auf einer Kreuzung kann es durchaus für eine Fahrtrichtung Zusatzampeln geben, die die Lichtfolge der Hauptampel modifizieren.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| {{Tabelle|min-width:15em;text-align:center;}}&lt;br /&gt;
|+ &#039;&#039;&#039;Zustandstabelle der Ampelanlage&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddcc&amp;quot;&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Zustand ||width=&amp;quot;20%&amp;quot;| Ampel 1 ||width=&amp;quot;20%&amp;quot;| Ampel 2 ||width=&amp;quot;20%&amp;quot;| nächster&amp;lt;br&amp;gt;Zustand&lt;br /&gt;
|-&lt;br /&gt;
|  1 || rot ||  grün || 2&lt;br /&gt;
|-&lt;br /&gt;
|  2 || rot ||  gelb || 3&lt;br /&gt;
|-&lt;br /&gt;
|  3 || rot ||  rot  || 4&lt;br /&gt;
|-&lt;br /&gt;
|  4 || rot/gelb ||  rot  || 5&lt;br /&gt;
|-&lt;br /&gt;
|  5 || grün ||  rot  || 6&lt;br /&gt;
|-&lt;br /&gt;
|  6 || gelb ||  rot  || 7&lt;br /&gt;
|-&lt;br /&gt;
|  7 || rot ||  rot  || 8&lt;br /&gt;
|-&lt;br /&gt;
|  8 || rot ||  rot/gelb  || 1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Zustandsnummer ist in diesem Fall einfach die Taktung der FSM. Verfolgt man die Zustände von einem Zustand zum nächsten, dann kann man sich sehr leicht davon überzeugen, daß die Lichtfolge der beiden Ampeln tatsächlich der gewünschten Abfolge entspricht.&lt;br /&gt;
&lt;br /&gt;
Hat man die Funktionalität einer FSM erst mal soweit in Tabellenform festgelegt, dann ist es sehr einfach daraus ein Programm in einer Programmiersprache wie z.B. C abzuleiten, welches diese Statemachine implementiert.&lt;br /&gt;
&lt;br /&gt;
Kochrezeptartig kann man dabei folgenden Aufbau vornehmen:&lt;br /&gt;
* Es gibt eine globale Variable, die den aktuellen Zustand der Maschine repräsentiert. Die Zustände wurden in obiger Tabelle bereits durchnummeriert, so dass es sich anbietet, Zustände innerhalb der Maschine durch ebendiese Zahlen darzustellen.&lt;br /&gt;
* Die FSM wird als Funktion implementiert, die für jeden einzelnen Takt aufgerufen wird.&lt;br /&gt;
* Jeder Zustand wird innerhalb der Funktion durch einen case innerhalb einer  switch Anweisung dargestellt.&lt;br /&gt;
* Jeder Zustand kann vor verlassen der Funktion den aktuellen Zustand der FSM beim nächsten Aufruf der Funktion festlegen, indem er an die globale Variable die Nummer des nächsten Zustands zuweist.&lt;br /&gt;
* Jegliche Form von Warteschleifen innerhalb der FSM sind verboten. Wenn die FSM auf ein Ereignis warten müsste, dann ist dafür ein eigener Zustand vorzusehen, der auf das Eintreten des Ereignisses prüft und nur dann den nächsten Zustand auswählt, wenn das Ereignis tatsächlich eingetreten ist. Damit erreicht man [[Multitasking]].&lt;br /&gt;
* Es ist sinnvoll, den Ampelfarben Namen in Form eines #define oder enums zu geben, damit wird das Konstrukt deutlich leichter lesbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define ROT       1&lt;br /&gt;
#define ROT_GELB  2&lt;br /&gt;
#define GRUEN     3&lt;br /&gt;
#define GELB      4&lt;br /&gt;
&lt;br /&gt;
void Ampel1( unsigned char Farbe );  // schaltet Ampel1 auf eine Farbe&lt;br /&gt;
void Ampel2( unsigned char Farbe );  // schaltet Ampel2 auf eine Farbe&lt;br /&gt;
&lt;br /&gt;
unsigned char state = 1;   // globale Variable, die den Status repräsentiert&lt;br /&gt;
&lt;br /&gt;
void stateMachine()&lt;br /&gt;
{&lt;br /&gt;
  switch( state ) {&lt;br /&gt;
    case 1:&lt;br /&gt;
      Ampel1( ROT );&lt;br /&gt;
      Ampel2( GRUEN );&lt;br /&gt;
      state = 2;&lt;br /&gt;
      break;&lt;br /&gt;
&lt;br /&gt;
    case 2:&lt;br /&gt;
      Ampel1( ROT );&lt;br /&gt;
      Ampel2( GELB );&lt;br /&gt;
      state = 3;&lt;br /&gt;
      break;&lt;br /&gt;
&lt;br /&gt;
    case 3:&lt;br /&gt;
      Ampel1( ROT );&lt;br /&gt;
      Ampel2( ROT );&lt;br /&gt;
      state = 4;&lt;br /&gt;
      break;&lt;br /&gt;
&lt;br /&gt;
    case 4:&lt;br /&gt;
      Ampel1( ROT_GELB );&lt;br /&gt;
      Ampel2( ROT );&lt;br /&gt;
      state = 5;&lt;br /&gt;
      break;&lt;br /&gt;
&lt;br /&gt;
    case 5:&lt;br /&gt;
      Ampel1( GRUEN );&lt;br /&gt;
      Ampel2( ROT );&lt;br /&gt;
      state = 6;&lt;br /&gt;
      break;&lt;br /&gt;
&lt;br /&gt;
    case 6:&lt;br /&gt;
      Ampel1( GELB );&lt;br /&gt;
      Ampel2( ROT );&lt;br /&gt;
      state = 7;&lt;br /&gt;
      break;&lt;br /&gt;
&lt;br /&gt;
    case 7:&lt;br /&gt;
      Ampel1( ROT );&lt;br /&gt;
      Ampel2( ROT );&lt;br /&gt;
      state = 8;&lt;br /&gt;
      break;&lt;br /&gt;
&lt;br /&gt;
    case 8:&lt;br /&gt;
      Ampel1( ROT );&lt;br /&gt;
      Ampel2( ROT_GELB );&lt;br /&gt;
      state = 1;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  ....&lt;br /&gt;
&lt;br /&gt;
  while( 1 ) {&lt;br /&gt;
    stateMachine();&lt;br /&gt;
    delay_ms( 1000 );&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wird diese Funktion im Sekundentakt aufgerufen, so werden die Funktionen Ampel1() bzw. Ampel2() mit der jeweils richtigen Lichtstellung in der richtigen Reihenfolge aufgerufen um die Lichtwechsel der Ampeln einer Kreuzung zu realisieren. Der Einfachheit halber wird in diesem Beispiel die Funktion delay_ms() verwendet. Praktisch wird man in den meisten Fällen besser einen [[Timer]] benutzen, um die Statemachine periodisch aufzurufen. Wie das geht und was das für Vorteile hat ist im Artikel [[Multitasking#Verbesserter Ansatz mit Timer | Multitasking]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
==Reaktionen auf äußere Ereignisse==&lt;br /&gt;
&lt;br /&gt;
Obige Statemaschine ist noch sehr primitiv. Angenommen an dieser Ampelkreuzung gibt es eine Induktionsschleife. Diese sei derartig geschaltet, dass die Hauptrichtung über Ampel2/Ampel4 ständig Grün zeigt und nur bei Annäherung eines Fahrzeugs auf der Strecke Ampel1/Ampel3 wird ein Lichtwechselzyklus durchgeführt, um diesem Fahrzeug die geordnete Durchfahrt zu ermöglichen. Die Statemaschine muss daher auf ein äußeres Ereignis reagieren können. Der Übergang von Zustand 1 in Zustand 2 ist von diesem Ereignis abhängig. Nur wenn es auftritt wird dieser Übergang durchgeführt, ansonsten verbleibt die Maschine im Zustand 1. Die Beschreibung der FSM wird also um einen weiteren Tabelleneintrag ergänzt, in dem festgehalten wird, wie mit dem zusätzlichen Eingang verfahren werden soll. In dieserm erweiterten Beispiel sollen die Zustände mit einem aussagekräftigen Namen versehen werden, denn Menschen sind sehr schlecht im Umgang mit abstrakten Zahlen, sie sind viel besser mit Wörtern vertraut. Die x in der Tabellenspalte &amp;quot;Induktionsschleife&amp;quot; besagen, daß dieses Eingangsignal für die Entscheidungen der Statemaschine keine Rolle spielt (engl. don&#039;t care).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| {{Tabelle|min-width:50em;text-align:center;}}&lt;br /&gt;
|+ &#039;&#039;&#039;Zustandstabelle der Ampelanlage mit zusätzlichem Eingang&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddcc&amp;quot;&lt;br /&gt;
!| Zustand ||| Name ||| Ampel 1 || | Ampel 2 ||  Induktionsschleife || | nächster&amp;lt;br&amp;gt;Zustand&lt;br /&gt;
|-&lt;br /&gt;
|  1 || OSTWEST_GRUEN      || rot     ||  grün      || ==1 ? || 2&lt;br /&gt;
|-&lt;br /&gt;
|  2 || OSTWEST_GELB       || rot     ||  gelb      || x ||3&lt;br /&gt;
|-&lt;br /&gt;
|  3 || ALLE_ROT_1         || rot     ||  rot       || x || 4&lt;br /&gt;
|-&lt;br /&gt;
|  4 || NORDSUED_ROTGELB   ||rot/gelb ||  rot       || x || 5&lt;br /&gt;
|-&lt;br /&gt;
|  5 || NORDSUED_GRUEN     || grün    ||  rot       || x || 6&lt;br /&gt;
|-&lt;br /&gt;
|  6 || NORDSUED_GELB      || gelb    ||  rot       || x || 7&lt;br /&gt;
|-&lt;br /&gt;
|  7 || ALLE_ROT_2         || rot     ||  rot       || x || 8&lt;br /&gt;
|-&lt;br /&gt;
|  8 || OSTWEST_ROTGELB    || rot     ||  rot/gelb  || x || 1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define ROT       1&lt;br /&gt;
#define ROT_GELB  2&lt;br /&gt;
#define GRUEN     3&lt;br /&gt;
#define GELB      4&lt;br /&gt;
 &lt;br /&gt;
void Ampel1( unsigned char Farbe );   // schaltet Ampel1 auf eine Farbe&lt;br /&gt;
void Ampel2( unsigned char Farbe );   // schaltet Ampel2 auf eine Farbe&lt;br /&gt;
unsigned char Induktionsschleife();   // fragt die Induktionsschleife ab&lt;br /&gt;
typedef enum { NORDSUED_ROTGELB, NORDSUED_GRUEN, NORDSUED_GELB, ALLE_ROT_1,&lt;br /&gt;
               OSTWEST_ROTGELB, OSTWEST_GRUEN, OSTWEST_GELB, ALLE_ROT_2} state_t ;&lt;br /&gt;
&lt;br /&gt;
state_t state = ALLE_ROT_1;&lt;br /&gt;
 &lt;br /&gt;
void stateMachine()&lt;br /&gt;
{&lt;br /&gt;
  switch( state ) {&lt;br /&gt;
    case OSTWEST_GRUEN:&lt;br /&gt;
      Ampel1( ROT );&lt;br /&gt;
      Ampel2( GRUEN );&lt;br /&gt;
      if( Induktionsschleife() ) {&lt;br /&gt;
        state = OSTWEST_GELB;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
 &lt;br /&gt;
    case OSTWEST_GELB:&lt;br /&gt;
      Ampel1( ROT );&lt;br /&gt;
      Ampel2( GELB );&lt;br /&gt;
      state = ALLE_ROT_1;&lt;br /&gt;
      break;&lt;br /&gt;
 &lt;br /&gt;
    case ALLE_ROT_1:&lt;br /&gt;
      Ampel1( ROT );&lt;br /&gt;
      Ampel2( ROT );&lt;br /&gt;
      state = NORDSUED_ROTGELB;&lt;br /&gt;
      break;&lt;br /&gt;
 &lt;br /&gt;
    case NORDSUED_ROTGELB:&lt;br /&gt;
      Ampel1( ROT_GELB );&lt;br /&gt;
      Ampel2( ROT );&lt;br /&gt;
      state = NORDSUED_GRUEN;&lt;br /&gt;
      break;&lt;br /&gt;
 &lt;br /&gt;
    case NORDSUED_GRUEN:&lt;br /&gt;
      Ampel1( GRUEN );&lt;br /&gt;
      Ampel2( ROT );&lt;br /&gt;
      state = NORDSUED_GELB;&lt;br /&gt;
      break;&lt;br /&gt;
 &lt;br /&gt;
    case NORDSUED_GELB:&lt;br /&gt;
      Ampel1( GELB );&lt;br /&gt;
      Ampel2( ROT );&lt;br /&gt;
      state = ALLES_ROT_2;&lt;br /&gt;
      break;&lt;br /&gt;
 &lt;br /&gt;
    case ALLES_ROT_2:&lt;br /&gt;
      Ampel1( ROT );&lt;br /&gt;
      Ampel2( ROT );&lt;br /&gt;
      state = OSTWEST_ROTGELB;&lt;br /&gt;
      break;&lt;br /&gt;
 &lt;br /&gt;
    case OSTWEST_ROTGELB:&lt;br /&gt;
      Ampel1( ROT );&lt;br /&gt;
      Ampel2( ROT_GELB );&lt;br /&gt;
      state = OSTWEST_GRUEN;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Warteschleifen==&lt;br /&gt;
&lt;br /&gt;
Das Warten auf ein äußeres Ereignis kann mit dem Verzweigen oder auch nicht Verzweigen in einen anderen Zustand realisiert werden. In obiger Statemaschine soll z.B. die Grünphase der Ampel1 von einem Takt auf 5 Takte angehoben werden. Grundfalsch wäre es, dies jetzt mit einer while-Schleife im Zustand 5 zu realisieren. Warten wird immer über zusätzliche Zustände realisiert. Eine Statemaschine darf innerhalb eines Zustands niemals auf etwas warten, sondern muss so schnell als möglich die Kontrolle wieder abgeben. Geht man naiv an die Sache ran, dann könnte man die 5 Takte über die Einführung von zusätzlichen Zuständen leicht erreichen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| {{Tabelle|min-width:35em;text-align:center;}}&lt;br /&gt;
|+ &#039;&#039;&#039;Zustandstabelle der Ampelanlage mit zusätzlichem Eingang&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddcc&amp;quot;&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Zustand ||width=&amp;quot;20%&amp;quot;| Ampel 1 ||width=&amp;quot;20%&amp;quot;| Ampel 2 ||width=&amp;quot;20%&amp;quot;| Induktions-&amp;lt;br&amp;gt;schleife ||width=&amp;quot;20%&amp;quot;| nächster&amp;lt;br&amp;gt;Zustand&lt;br /&gt;
|-&lt;br /&gt;
|  1 || rot ||  grün || ==1? || 2&lt;br /&gt;
|-&lt;br /&gt;
|  2 || rot ||  gelb || x ||3&lt;br /&gt;
|-&lt;br /&gt;
|  3 || rot ||  rot  || x || 4&lt;br /&gt;
|-&lt;br /&gt;
|  4 || rot/gelb ||  rot  || x || 5&lt;br /&gt;
|-&lt;br /&gt;
|  5 || grün ||  rot  || x || 9&lt;br /&gt;
|-&lt;br /&gt;
|  6 || gelb ||  rot  || x || 7&lt;br /&gt;
|-&lt;br /&gt;
|  7 || rot ||  rot  || x || 8&lt;br /&gt;
|-&lt;br /&gt;
|  8 || rot ||  rot/gelb  || x || 1&lt;br /&gt;
|-&lt;br /&gt;
|  9 || grün ||  rot  || x || 10&lt;br /&gt;
|-&lt;br /&gt;
| 10 || grün ||  rot  || x || 11&lt;br /&gt;
|-&lt;br /&gt;
| 11 || grün ||  rot  || x || 12&lt;br /&gt;
|-&lt;br /&gt;
| 12 || grün ||  rot  || x || 6&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daß ein derartiges Vorgehen bei längeren Wartezeiten oder gar bei berechneter Wartezeitdauer nicht praktikabel ist, dürfte auf der Hand liegen. Besser ist daher die Einführung eines internen Zählers sowie nur eines einzigen, neuen Wartezustands. Beginnt die Wartezeit wird der Zähler auf einen Wert entsprechend der Wartezeit gestellt. Im neuen Zustand wird der Zähler um 1 verringert und nur dann, wenn der Zähler 0 erreicht hat, wird in den ursprünglichen Folgezustand gewechselt. Der Zähler kann also in ähnlicher Form wie die Induktionsschleife als Ereignislieferant aufgefasst werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| {{Tabelle|width:40em; text-align:center;}}&lt;br /&gt;
|+ &#039;&#039;&#039;Zustandstabelle der Ampelanlage mit zusätzlichem Eingang&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddcc&amp;quot;&lt;br /&gt;
! width=&amp;quot;17%&amp;quot; | Zustand&lt;br /&gt;
! width=&amp;quot;17%&amp;quot; | Ampel 1&lt;br /&gt;
! width=&amp;quot;17%&amp;quot; | Ampel 2&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; | Induktions-&amp;lt;br&amp;gt;schleife&lt;br /&gt;
! width=&amp;quot;15%&amp;quot; | Wartezeit&lt;br /&gt;
! nächster&amp;lt;br&amp;gt;Zustand&lt;br /&gt;
|-&lt;br /&gt;
|  1 || rot ||  grün || ==1 ? || x || 2&lt;br /&gt;
|-&lt;br /&gt;
|  2 || rot ||  gelb || x || x || 3&lt;br /&gt;
|-&lt;br /&gt;
|  3 || rot ||  rot  || x || x || 4&lt;br /&gt;
|-&lt;br /&gt;
|  4 || rot/gelb ||  rot  || x || x || 5&lt;br /&gt;
|-&lt;br /&gt;
|  5 || grün ||  rot  || x || =4 || 9&lt;br /&gt;
|-&lt;br /&gt;
|  6 || gelb ||  rot  || x || x || 7&lt;br /&gt;
|-&lt;br /&gt;
|  7 || rot ||  rot  || x || x || 8&lt;br /&gt;
|-&lt;br /&gt;
|  8 || rot ||  rot/gelb  || x || x || 1&lt;br /&gt;
|-&lt;br /&gt;
|  9 || x ||  x  || x || dec / ==0 ? || 6&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define ROT       1&lt;br /&gt;
#define ROT_GELB  2&lt;br /&gt;
#define GRUEN     3&lt;br /&gt;
#define GELB      4&lt;br /&gt;
&lt;br /&gt;
void Ampel1( unsigned char Farbe );   // schaltet Ampel1 auf eine Farbe&lt;br /&gt;
void Ampel2( unsigned char Farbe );   // schaltet Ampel2 auf eine Farbe&lt;br /&gt;
unsigned char Induktionsschleife();   // fragt die Induktionsschleife ab&lt;br /&gt;
typedef enum { NORDSUED_ROTGELB, NORDSUED_GRUEN, NORDSUED_GELB,&lt;br /&gt;
               ALLE_ROT_1,&lt;br /&gt;
               OSTWEST_ROTGELB, OSTWEST_GRUEN, OSTWEST_GELB,&lt;br /&gt;
               ALLE_ROT_2, WARTE_NORDSUED}  state_t;&lt;br /&gt;
 &lt;br /&gt;
state_t state = ALLE_ROT_1;&lt;br /&gt;
unsigned char zaehler;&lt;br /&gt;
 &lt;br /&gt;
void stateMachine()&lt;br /&gt;
{&lt;br /&gt;
  switch( state ) {&lt;br /&gt;
    case OSTWEST_GRUEN:&lt;br /&gt;
      Ampel1( ROT );&lt;br /&gt;
      Ampel2( GRUEN );&lt;br /&gt;
      if( Induktionsschleife() ) {&lt;br /&gt;
        state = OSTWEST_GELB;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
 &lt;br /&gt;
    case OSTWEST_GELB:&lt;br /&gt;
      Ampel1( ROT );&lt;br /&gt;
      Ampel2( GELB );&lt;br /&gt;
      state = ALLES_ROT_1;&lt;br /&gt;
      break;&lt;br /&gt;
 &lt;br /&gt;
    case ALLES_ROT_1:&lt;br /&gt;
      Ampel1( ROT );&lt;br /&gt;
      Ampel2( ROT );&lt;br /&gt;
      state = NORDSUED_ROTGELB;&lt;br /&gt;
      break;&lt;br /&gt;
 &lt;br /&gt;
    case NORDSUED_ROTGELB:&lt;br /&gt;
      Ampel1( ROT_GELB );&lt;br /&gt;
      Ampel2( ROT );&lt;br /&gt;
      state = NORDSUED_GRUEN;&lt;br /&gt;
      break;&lt;br /&gt;
 &lt;br /&gt;
    case NORDSUED_GRUEN:&lt;br /&gt;
      Ampel1( GRUEN );&lt;br /&gt;
      Ampel2( ROT );&lt;br /&gt;
      zaehler = 4;&lt;br /&gt;
      state = WARTE_NORDSUED;&lt;br /&gt;
      break;&lt;br /&gt;
 &lt;br /&gt;
    case NORDSUED_GELB:&lt;br /&gt;
      Ampel1( GELB );&lt;br /&gt;
      Ampel2( ROT );&lt;br /&gt;
      state = ALLES_ROT_2;&lt;br /&gt;
      break;&lt;br /&gt;
 &lt;br /&gt;
    case ALLES_ROT_2:&lt;br /&gt;
      Ampel1( ROT );&lt;br /&gt;
      Ampel2( ROT );&lt;br /&gt;
      state = OSTWEST_ROTGELB;&lt;br /&gt;
      break;&lt;br /&gt;
 &lt;br /&gt;
    case OSTWEST_ROTGELB:&lt;br /&gt;
      Ampel1( ROT );&lt;br /&gt;
      Ampel2( ROT_GELB );&lt;br /&gt;
      state = OSTWEST_GRUEN;&lt;br /&gt;
      break;&lt;br /&gt;
&lt;br /&gt;
    case WARTE_NORDSUED:&lt;br /&gt;
      zaehler = zaehler - 1;&lt;br /&gt;
      if( zaehler == 0 )&lt;br /&gt;
        state = NORDSUED_GELB;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Umsetzung in Tabellenform ==&lt;br /&gt;
&lt;br /&gt;
Im letzten Beispiel wollen wir die Ampelsteuerung noch etwas realistischer gestalten. Denn die einzelnen Phasen sind unterschiedlich lang, der Zustand Gelb ist deutlich kürzer als der Zustand Grün. Wenn wir also in fast jedem Zustand eine bestimmte Anzahl Takte warten wollen, erscheint es nicht sinnvoll, dafür jedesmal einen neuen Zustand anzuspringen. Sinnvoller ist die Integration des Wartens direkt in den Zustand, so wie im vorherigen Beispiel der Zustand &amp;quot;WARTE_NORDSUED&amp;quot;. Dabei fallen jedoch zwei Sachen auf.&lt;br /&gt;
&lt;br /&gt;
* In jedem Zustand muss die Wartezeit des &#039;&#039;nächsten&#039;&#039; Zustands zugewiesen werden. Das ist etwas verwirrend.&lt;br /&gt;
* Fast alle Anweisungen sind gleich in den Zuständen, nur die Zahlen und der Wert für den nächsten Zustand ändern sich.&lt;br /&gt;
&lt;br /&gt;
Darum soll hier die FSM von einer großen switch Anweisung auf eine Tabelle geändert werden. Das hat den Vorteil, dass die Zustandstabelle nahezu 1:1 in den Quelltext geschrieben werden kann und sie so sehr kompakt und übersichtlich ist. Die eigentliche FSM wird sehr klein und arbeitet sich durch die Tabelle durch. Zur weiteren Verbesserung der Lesbarkeit (siehe [[Strukturierte Programmierung auf Mikrocontrollern]]) nutzen wir einen Struct, welche den Zustand der State machine mit sinnvollen Variablennamen beschreibt. Bei dieser Methode muss man beachten, dass die Reihenfolge der Zustände in der enum Definition gleich sein muss mit der Reihenfolge der Zustände in der Tabelle, sonst funktioniert es nicht. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define ROT       1&lt;br /&gt;
#define GRUEN     2&lt;br /&gt;
#define GELB      4&lt;br /&gt;
#define ROTGELB   5&lt;br /&gt;
 &lt;br /&gt;
void Ampel1( unsigned char Farbe );   // schaltet Ampel1 auf eine Farbe&lt;br /&gt;
void Ampel2( unsigned char Farbe );   // schaltet Ampel2 auf eine Farbe&lt;br /&gt;
int Induktionsschleife();   // fragt die Induktionsschleife ab&lt;br /&gt;
 &lt;br /&gt;
typedef enum { OSTWEST_GRUEN=0, OSTWEST_GELB, ALLE_ROT_1,&lt;br /&gt;
               NORDSUED_ROTGELB, NORDSUED_GRUEN, NORDSUED_GELB, ALLE_ROT_2,&lt;br /&gt;
               OSTWEST_ROTGELB }  state_t;&lt;br /&gt;
&lt;br /&gt;
typedef struct {&lt;br /&gt;
    int Ampel1;&lt;br /&gt;
    int Ampel2;&lt;br /&gt;
    int I_Schleife;&lt;br /&gt;
    int Wartezeit;&lt;br /&gt;
    int Naechster;&lt;br /&gt;
} ampel_state_t;&lt;br /&gt;
&lt;br /&gt;
state_t state = ALLE_ROT_1;&lt;br /&gt;
int zaehler=1;&lt;br /&gt;
 &lt;br /&gt;
// Tabelle fuer state machine&lt;br /&gt;
 &lt;br /&gt;
ampel_state_t state_table[8] = {&lt;br /&gt;
 &lt;br /&gt;
// AMPEL1 AMPEL2   Induktionsschleife ? &lt;br /&gt;
// |         |       |   Wartezeit in s&lt;br /&gt;
// |         |       |   |&lt;br /&gt;
// |         |       |   |   naechster Zustand     Name&lt;br /&gt;
//----------------------------------------------------------------------&lt;br /&gt;
{ROT     , GRUEN   , 1, 10,  OSTWEST_GELB},        // OSTWEST_GRUEN&lt;br /&gt;
{ROT     , GELB    , 0,  1,  ALLE_ROT_1},          // OSTWEST_GELB&lt;br /&gt;
{ROT     , ROT     , 0,  3,  NORDSUED_ROTGELB},    // ALLE_ROT_1&lt;br /&gt;
{ROTGELB , ROT     , 0,  1,  NORDSUED_GRUEN},      // NORDSUED_ROTGELB&lt;br /&gt;
{GRUEN   , ROT     , 0, 10,  NORDSUED_GELB},       // NORDSUED_GRUEN&lt;br /&gt;
{GELB    , ROT     , 0,  1,  ALLE_ROT_2},          // NORDSUED_GELB&lt;br /&gt;
{ROT     , ROT     , 0,  3,  OSTWEST_ROTGELB},     // ALLE_ROT_2&lt;br /&gt;
{ROT     , ROTGELB , 0,  1,  OSTWEST_GRUEN}};      // OSTWEST_ROTGELB&lt;br /&gt;
 &lt;br /&gt;
void stateMachine()&lt;br /&gt;
{&lt;br /&gt;
    Ampel1(state_table[state].Ampel1);&lt;br /&gt;
    Ampel2(state_table[state].Ampel2);&lt;br /&gt;
 &lt;br /&gt;
    if (zaehler&amp;gt;0) {&lt;br /&gt;
        zaehler--;    &lt;br /&gt;
    } else {&lt;br /&gt;
        if ( ((state_table[state].I_Schleife == 1) &amp;amp;&amp;amp; Induktionsschleife() ) ||&lt;br /&gt;
             (state_table[state].I_Schleife == 0) )&lt;br /&gt;
        {&lt;br /&gt;
            state =   state_table[state].Naechster;&lt;br /&gt;
            zaehler = state_table[state].Wartezeit;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implementierung einer objektorientierten Finite State Machine in C++==&lt;br /&gt;
&lt;br /&gt;
* Notation von Endlichen Automaten in UML&lt;br /&gt;
* Praktisches Beispiel, anhand dessen die Funktionsweise eines Toasters erklärt wird. Dazu wird die Notation in UML verwendet. &lt;br /&gt;
* Implementation des Beispiels in C++ auf einem AVR-Controller&lt;br /&gt;
&lt;br /&gt;
Die gezeigte Möglichkeit bzw. das Beispiel sollte als Denkanstoss verstanden werden und nicht als Referenzimplementation. Es wurden bewusst bestimmte Feinheiten von endlichen Automaten verzichtet, um das Beispiel auf gut verständlichem Niveau zu halten. &lt;br /&gt;
&lt;br /&gt;
* Dokumentation im PDF Format [http://www.mikrocontroller.net/attachment/137066/ImplementierungEinerFiniteStateMachine_V1.1.pdf ImplementierungEinerFiniteStateMachine_V1.1.pdf]&lt;br /&gt;
* LaTeX Source der Dokumentation [http://www.mikrocontroller.net/attachment/137067/Dokumentation_Source_V1.1.zip Dokumentation_Source_V1.1.zip]&lt;br /&gt;
* Beispielcode für AVR-Studio 4 [http://www.mikrocontroller.net/attachment/135434/AVR_Beispiel_Source.zip AVR_Beispiel_Source.zip]&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/248837#2556592 Forumsbeitrag]: Eine objektorientierte State Machine in C++&lt;br /&gt;
&lt;br /&gt;
== Grafische Modellierung einer Finite State Machine ==&lt;br /&gt;
Das Open Source Werkzeug Yakindu Statechart Tools (http://www.statecharts.org) ermöglicht es Zustandsautomaten grafisch zu modellieren, deren Verhalten zu simulieren und Code für verschiedene Sprachen (C/C++, Java) zu generieren.&lt;br /&gt;
Die grafischen Modellelemente entsprechen denen der UML2 und werden durch eine einfache und zweckmäßige Expression-Language ergänzt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Einfaches Ampel Modell&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Das Modell einer einfachen Ampel wie oben beschrieben sieht in Yakindu SCT wie folgt aus: &lt;br /&gt;
&lt;br /&gt;
[[Datei:Sct_beispiel1.jpg|center|framed|Einfaches Ampel Modell]]&lt;br /&gt;
&lt;br /&gt;
Wie erwartet hat die Ampel vier Zustände, die wiederum mit Übergangs-Pfeilen (Transitionen) verbunden sind. Jede Transition verfügt über einen Auslöser, in diesem Fall mit dem Namen &#039;&#039;tick&#039;&#039;    &lt;br /&gt;
Mit Hilfe der Yakindu DSL wird im linken Teil des Editors ein internes Event mit dem Name &amp;quot;tick&amp;quot; definiert, das entsprechend der Taktung des Zustandsautomaten &amp;quot;gefeuert&amp;quot; werden soll. Der Ausdruck &#039;&#039;every 1s / raise tick&#039;&#039; sorgt dafür, dass das Event &#039;&#039;tick&#039;&#039; jede Sekunde einmal gefeuert wird.&lt;br /&gt;
Da Yakindu SCT es erlaubt Zustandsautomaten zu simulieren, ist es jederzeit überprüfbar ob das modellierte Verhalten den Erwartungen entspricht. Über &#039;&#039;Run as... --&amp;gt; YAKINDU Statechart&#039;&#039; lässt sich in die &#039;&#039;Simulation View&#039;&#039; wechseln. Der jeweils aktive Zustand wird nun rot hinterlegt.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Sct_beispiel1b.jpg|center|framed|Simulation View]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Einfache Kreuzung mit Zwei Ampel-Gruppen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Im zweiten Beispiel soll eine einfache Ampelkreuzung modelliert werden. Es wird davon ausgegangen, dass die Ampeln in zwei Gruppen geschaltet werden. Ampel 1 und 3 bilden die nord_süd – Gruppe, während die übrigen Ampeln die ost-west – Gruppe bilden. Der Einfachheit halber werden Ampeln einer Gruppe immer gleich geschaltet. Wie oben darf eine Ampel-Gruppe nur dann den Zustand &#039;&#039;rot&#039;&#039; verlassen, wenn die jeweils andere Gruppe sich im Zustand &#039;&#039;rot&#039;&#039; befindet. &lt;br /&gt;
&lt;br /&gt;
[[Datei:Sct_beispiel2.jpg|800px|center|Ampelkreuzung]]&lt;br /&gt;
&lt;br /&gt;
Im Yakindu SCT Modell gibt es nun für jede Ampel-Gruppe eine eigene Region. Wird der Zustandsautomat betreten so wird nun parallel der Zustand &#039;&#039;rot&#039;&#039; in der &#039;&#039;nord_sued&#039;&#039; Region und der Zustand &#039;&#039;gruen&#039;&#039; in der &#039;&#039;ost_west&#039;&#039; Region aktiv. Wie bereits im ersten Beispiel wird der Zustandsautomat über das &#039;&#039;tick&#039;&#039; Ereignis angetrieben, das jede Sekunde einmal auftritt. &lt;br /&gt;
Um das gewünschte Ampel-Verhalten zu modellieren wird nun die Transition von &#039;&#039;rot&#039;&#039; zu &#039;&#039;rot-gelb&#039;&#039; mit einem &#039;&#039;Guard&#039;&#039;, also einer Bedingung geschützt. Zwar wird der Übergang weiterhin mit dem Ereignis &#039;&#039;tick&#039;&#039; angestoßen, allerdings wird der Übergang nur ausgeführt wenn die in eckigen Klammern formulierte Boolesche-Bedingung erfüllt ist. Die Funktion &#039;&#039;active()&#039;&#039; gehört zu den Bordmitteln von Yakindu SCT und prüft ob ein bestimmter Zustand aktiv ist. In diesem Beispiel kann in der Region &#039;&#039;nord_sued&#039;&#039; der Zustand &#039;&#039;rot&#039;&#039; nur verlassen werden, wenn in der Region &#039;&#039;ost-west&#039;&#039; der Zustand &#039;&#039;rot&#039;&#039; aktiv ist. Wie auch im vorhergegangenen Beispiel lässt sich das Verhalten simulieren, so das überprüft werden kann ob das Verhalten den Erwartungen entspricht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ampel mit Induktionsschleife&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Das Verhalten der Ampelanlage aus Beispiel 2 soll um eine Induktionsschleife erweitert werden. Der Verkehr an der Ampelanlage fließt normalerweise in &#039;&#039;ost_west&#039;&#039; – Richtung, daher die Ampel in dieser Richtung immer den Zustand &#039;&#039;grün&#039;&#039; haben, es sei denn die Induktionsschleife in &#039;&#039;nord-süd&#039;&#039; - Richtung wird ausgelöst.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Sct_beispiel3.jpg|800px|center|Ampelkreuzung mit Induktionsschleife]]&lt;br /&gt;
&lt;br /&gt;
Um dieses Verhalten in das SCT-Modell zu integrieren muss zunächst ein neues Ereignis definiert werden. Dieses Ereignis wird als Teil des &#039;&#039;Interface-Scopes&#039;&#039; definiert, da es außerhalb des Zustandsautomaten erzeugt werden soll. Ereignisse die Teil einer externen Schnittstelle sind werden mit einer Richtung (in / out) deklariert, die angibt ob das Ereignis den Zustandsautomat betritt, oder verlässt. &lt;br /&gt;
&lt;br /&gt;
Nach dem das neue Ereignis definiert ist,  muss nur noch der Auslöser für den Übergang von &#039;&#039;gruen&#039;&#039; zu &#039;&#039;gelb&#039;&#039; geändert werden. Statt wie bisher durch das &#039;&#039;tick&#039;&#039; Event, wird nun das &#039;&#039;induktionsSignal&#039;&#039; als Auslöser verwendet. In der Simulations-Ansicht kann das neue Ereignis manuell mit einem Klick ausgelöst werden, so dass das korrekte Verhalten wieder getestet werden kann.   &lt;br /&gt;
&lt;br /&gt;
[[Datei:Sct_simView.jpg|center|framed|Induktionsschleife auslösen]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warteschleife&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Es soll die Grün-Phase verlängert werden, so dass erst nach dem 5. &#039;&#039;tick&#039;&#039; der Übergang in den &#039;&#039;gelb&#039;&#039; Zustand erfolgt.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Sct beispiel4.jpg|800px|center|Ampelkreuzung mit Warteschleife]]&lt;br /&gt;
&lt;br /&gt;
Um eine Warteschleife zu realisieren wird dem &#039;&#039;Internal-Scope&#039;&#039; zuerst eine neue Variable hinzugefügt. Da während des Wartens der &#039;&#039;grün&#039;&#039; Zustand nicht verlassen wird, lässt sich das Herunterzählen der Wartezeit mittels eines zusammengesetzten Zustands darstellen. Wird der Zustand &#039;&#039;grün&#039;&#039; betreten, wird zunächst einen Eintritts-Aktion ausgeführt, die den Wert von &#039;&#039;wartezeit&#039;&#039; auf 5 setzt. Außerdem wird ebenfalls der Zustand &#039;&#039;Warten&#039;&#039; aktiv. Erfolgt nun ein &#039;&#039;tick&#039;&#039; wird ohne &#039;&#039;grün&#039;&#039; zu verlassen in &#039;&#039;WartezeitVerringern&#039;&#039; gewechselt und der Wert von &#039;&#039;wartezeit&#039;&#039; um 1 verringert. &lt;br /&gt;
Der Übergang zu &#039;&#039;gelb&#039;&#039; ist wieder durch einen Guard geschützt und kann nur erfolgen wenn die  Bedingung &#039;&#039;wartezeit == 0&#039;&#039; erfüllt ist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;C-Code aus dem Modell generieren&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Um nun Code aus dem Modell zu generieren muss zuerst eine GeneratorModel-Datei erzeugt werden, in der unter anderem die Ziel-Sprache angegeben wird.&lt;br /&gt;
Um den Zustandsautomaten abzubilden verwendet die konkrete Implementierung ein &#039;&#039;switch case&#039;&#039; Konstrukt, das dem oben Gezeigten ähnelt. Außerdem wurde ein &#039;&#039;code-only&#039;&#039; Ansatz verfolgt, so dass keine externen Bibliotheken oder Frameworks benötigt werden. Das komplette Eclipse Projekt kann [http://statecharts.org/Examples/ampel.zip hier] runtergeladen werden.&lt;br /&gt;
&lt;br /&gt;
== Realisation von FSMs in Hardware ==&lt;br /&gt;
=== Aufbau einer FSM in digitalen Chips ===&lt;br /&gt;
&lt;br /&gt;
Sollen sehr schnelle Steuerungen und Entscheider aufgebaut werden, wurden und werden digitale Bausteine mit Logikgattern verdrahtet, die steuerbare Zähler enthalten. Damit lassen sich effektive Taktgeschwindigkeiten im Bereich von mehreren MHz erreichen, die in Sicherheitsbereichen eingesetzt werden. Oft werden solche Schaltungen auch zur Überwachung von anderen Schaltungsteilen eingesetzt.&lt;br /&gt;
&lt;br /&gt;
Früher wurden fast alle logischen Schaltungen auf diese Weise entworfen, z.B. auch die ersten Computer von IBM.&lt;br /&gt;
&lt;br /&gt;
=== Umsetzung von FSMs in programmierbarer Hardware ===&lt;br /&gt;
&lt;br /&gt;
Da heute digitale Hardware vielfach in Form von programmierter PLD- und [[FPGA]]-Bausteine realisiert ist, gleicht der Entwurfsprozess der FSMs dem in der klassischen Softwareentwicklung. Dabei besteht je nach Vorliegen der funktionellen Beschreibung und anderer Randbedingungen die Möglichkeit, ein Abbild der digitalen Schaltung in VHDL zu formulieren und zu importieren, bzw. ein klassisches state diagram neu zu entwerfen oder die Zustandswechsel in Tabellenform zu importieren und das Erzeugerwerkzeug die FSM generieren zu lassen, was besonders bei umfangreichen FMSs praktiziert wird.&lt;br /&gt;
&lt;br /&gt;
Letztendlich kann in Hardware jede sequentielle Logikschaltung, welche [[FlipFlop]]s und Dekoder enthält als FSM betrachtet werden, egal ob es ein einfaches Schieberegister oder eine komplexe ALU einer CPU ist. Die einfachste, denkbare FSM ist ein Toggle-FlipFlop, welches mit jedem Takt seinen Ausgangszustand wechselt.&lt;br /&gt;
&lt;br /&gt;
== Geschwindigkeitsvergleich ==&lt;br /&gt;
* In Software realisierte state machines erreichen unter C++ auf Windows-PCs trotz hoher Prozessorleistung selten niedrigere Reaktionszeiten als im Millisekundenbereich. Die damit in Echtzeit erfassbaren und prozessierbaren externen Ereignisse bewegen sich üblicherweise im Bereich von einigen 100Hz. Ein Extrembeispiel ist der USB-3.0-Bus im Zusammenspiel mit HW-IO-Karten: Die Bandbreite lässt ein Laden von Daten mit über 3Gbit im streaming-Modus zu, während im Regelungsbetrieb in der Schleife typische Latenzen von bis zu 10ms auftreten, bis die Reaktion der PC-Software auf eine äußeree Signaländerung auch ausgegeben wurde&lt;br /&gt;
* Mit einem Echtzeitbetriebssystem auf einem PC, z. B. Linux mit Preempt-RT Patch, werden ungefähr 35 µs Zykluszeit erreicht, also circa 30 kHz. Trotz des stark verbesserten Treiberssystems unter Linux sind auf PCs auch hier mehrere Millisekunden Latenz zu beobachten.&lt;br /&gt;
* Mit Microcontrollern und DSPs erreicht man mit Nicht-Multi-tasking-FSMs Abtastraten bis einige 100kHz. Mit Assembler programmierte Signalprozessoren erreichen Abtastraten bis hin zu 20% ihrer Taktfrequenz, wenn sie direkt auf externe Port-Pins zugreifen.&lt;br /&gt;
* In VHDL realisierte state machines besitzen je nach FPGA-Familie, Art der Codierung typische Taktfrequenzen von bis zu 400MHz. Je nach Zyklustiefe laufen damit realisierte FSMs auf bis zu 100MHz und anders als bei DSPs und PCs senkt die Hinzunahme weiterer FMSs nicht deren Schleifen-Frequenz.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch==&lt;br /&gt;
* [[Multitasking]]&lt;br /&gt;
*[https://www.mikrocontroller.net/topic/583475?goto=8007826#8007780 Forumsbeitrag]: Statemachine: Toller Artikel&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://statecharts.online statecharts.online] Comprehensive and interactive tutorial on statecharts and state machines&lt;br /&gt;
* [http://www.aqdi.com/state.htm Using State Machines In Your Designs] (C) 2003 Hank Wallace&lt;br /&gt;
* [http://qfsm.sourceforge.net/ Qfsm] - A graphical tool for designing finite state machines (GPL)&lt;br /&gt;
* [https://www.itemis.com/en/products/itemis-create/ itemis CREATE] Ein Werkzeug zum Modellieren und Simulieren von Statecharts sowie Code-Generatoren für Java, C und C++. &lt;br /&gt;
* [http://www.sinelabore.com www.sinelabore.com] Ein Werkzeug das aus UML State Machines C-Code speziell für eingebettete Systeme erzeugt.&lt;br /&gt;
* [http://smc.sourceforge.net SMC The State Machine Compiler]&lt;br /&gt;
* [http://block-net.de/Programmierung/cpp/fsm/fsm.html C/C++ event driven FSM] Open source Werkzeug zur Generierung von C++ FSM Code und UML Diagramm mittels Transitionstabelle. &lt;br /&gt;
* http://astade.tigris.org/ -&amp;gt; http://wiki.astade.de/dokuwiki/doku.php (https://www.mikrocontroller.net/search?query=astade)&lt;br /&gt;
* [http://stefanfrings.de/multithreading_arduino/index.html Multithreading in C und Arduino] von Stefan Frings&lt;br /&gt;
[[Kategorie:Algorithmen und Arithmetik]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Strukturierte_Programmierung_auf_Mikrocontrollern&amp;diff=107879</id>
		<title>Strukturierte Programmierung auf Mikrocontrollern</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Strukturierte_Programmierung_auf_Mikrocontrollern&amp;diff=107879"/>
		<updated>2026-02-06T14:54:50Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Siehe auch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Grundlegendes ==&lt;br /&gt;
&lt;br /&gt;
In diesem Artikel sollen die Grundlagen der sauberen Aufteilung eines Programms in Module, Schichten und Strukturen erklärt werden, besonders bezogen auf Mikrocontroller.&lt;br /&gt;
&lt;br /&gt;
Leider fällt im Forum oft auf, daß sehr gerne einfach alles in eine C-Datei &amp;quot;geklatscht&amp;quot; wird, was für kleinere Programme halbwegs funktionieren mag, bei größeren Projekten jedoch versagt, da man schnell die Übersicht verliert und sich auch die Wartbarkeit des Codes sehr verschlechtert. Zudem erschwert es die Arbeit in einem Team an einem gemeinsamen Projekt sowie das Erzeugen von Derivaten für ähnliche Projekte.&lt;br /&gt;
&lt;br /&gt;
Für die stukturierte (professionelle) Programmierung sind 3 Faktoren von Bedeutung:&lt;br /&gt;
&lt;br /&gt;
== Planung ==&lt;br /&gt;
Zahllose Softwareentwickler starten ihre Programmierkarriere out of the box, d.h. sie haben keine Ausbildung und bringen sich das Programmieren selbst bei. Sie starten daher oft direkt mit der Entwicklungsplattform und Beispiel-Codes, die sie modifizieren. Damit wird sozusagen auf der Ebene der Umsetzung gestartet und die Funktion des Programmes quasi nebenbei mit geplant. Dieses für kleine Projekte funktionable Vorgehen bringt dann bei wachsenden Programmen Probleme, weil der Entwickler niemals ein strukturiertes Entwickeln gelernt hat. Diese Personen haben dann in der Praxis das Problem, dass sie gesteigerten Anforderungen in Sachen Planung und Dokumentation gegenüberstehen und die althergebrachte bottom-up Methode nicht mehr gefragt ist. Unglücklicherweise wird selbst an Hochschulen nur sehr selten auf praktische Belange diesbezüglich Rücksicht genommen.&lt;br /&gt;
&lt;br /&gt;
Am Anfang eines Projektes steht daher sinnvollerweise ein Konzept, in dem wichtige Dinge vorab erfasst sind, damit man sich während des Entwickelns nicht &amp;quot;verläuft&amp;quot;. Als nützlich haben sich erwiesen:&lt;br /&gt;
&lt;br /&gt;
- Beschreibung der Funktionen eines Programmes mit Benutzereingriffsmöglichkeiten (use cases), jeweilige Reaktion des Programms (responses, event handling), autonome Aktionen im Hintergrund (interrupts, polling), erlaubte Funktionen, verbotene Zustände&lt;br /&gt;
&lt;br /&gt;
- Erstellung eines Blockdiagramms zur Aufteilung der funktionellen Module und Beschreibung der Untermodule und ihrer Funktion&lt;br /&gt;
&lt;br /&gt;
- Erstellung von Ablaufdiagrammen für kompliziertere Module mit detaillierter Beschreibung der Funktionen&lt;br /&gt;
&lt;br /&gt;
- Festlegung der Interaktion mit Hardware, Boot-Reihenfolgen, Test an Peripherie etc.&lt;br /&gt;
&lt;br /&gt;
- Hinweise zur Umsetzung unter Rücksichtnahme auf Randbedingungen der speziellen Hardware (z.B. Timing, Tempo des Controllers, Loop-Anzahl, Verzögerungen infolge polling, maximale Interrupttiefe, und -dichte.&lt;br /&gt;
&lt;br /&gt;
- Beschreibung der mathematischen Funktionen, Niederlegung der Formeln, Beispielrechnungen in Excel mit Test der Auflösungen und Rundungsuntersuchung samt Bereichsgrenzenprüfung etc.&lt;br /&gt;
&lt;br /&gt;
- Erstellung eines Arbeitsplans mit Zeitabschätzungen für alle Module, um Möglichkeiten der Parallelisierung und Zeitoptimierung erkennen - und Termine für mile stones festlegen zu können&lt;br /&gt;
&lt;br /&gt;
Diese Vordokumentation ergibt einen Leitfaden für die Entwicklung (= Umsetzung) und hilft, daß mehrere Personen an einem Projekt arbeiten können. Zudem ist das Projekt so leichter erweiterbar, da sofort ersichtlich ist, was die Software können soll und was sie nicht kann, auf welche Randbedinungen Rücksicht genommen wurde, bzw was ignoriert wurde, da es bei der ersten Festlegung der Funktionen nicht relevant war. Gerade dieser Punkt ist für eine Weiterverwendung eines Moduls in anderen Projekten oder durch andere Personen essenziell.&lt;br /&gt;
&lt;br /&gt;
Diese Dokumentation wird bei Änderungen aktualisiert und um die finale Doku erweitert. Sie bildet die Basis für Änderungen, die Erzeugung von Abkömmlingen und auch die Planung neuer Projekte: Hat man nämlich einen Stamm an Dokumenten beisammen, ist die Planung und Definition oft nur noch ein Copy&amp;amp;Paste und man hat direkt einen Leitfaden der TODOs im neuen Projekt. Die Chance, etwas zu vergessen oder zu übersehen, wird damit drastisch verringert.&lt;br /&gt;
&lt;br /&gt;
Die Vordokumentation ist auch Grundlage für die tägliche Umsetzung und erlaubt eine enge Projektverfolgung, weil jederzeit ersichtlich ist, wie weit man bereits ist und wie weit der Weg zum nächsten milestone noch ist. Vor allem ist damit erkennbar, wenn die Teamarbeit aus dem Ruder läuft und es kann rasch reagiert und umgeplant werden.&lt;br /&gt;
&lt;br /&gt;
== Versionsverwaltung ==&lt;br /&gt;
&lt;br /&gt;
Oft kommt es vor, daß man an einem Programm arbeitet und irgendwann nach einer Änderung gar nichts mehr funktioniert und man es, warum auch immer, nicht schafft, den alten Zustand wiederherzustellen. Labile Naturen werfen dann meist das Projekt einfach hin, echte Männer fangen von vorn an ;-). Beides ist keine Lösung. Besonders interessant wird es, wenn man mit mehreren Personen an einer Datei arbeiten möchte und mehrere sogar zur gleichen Zeit auf der selben Datei arbeiten. Wenn jeder einfach speichert, bleiben nur die letzten Änderungen erhalten.&lt;br /&gt;
&lt;br /&gt;
Dies löst ein Versionsverwaltungssystem, auch Source Code Management (SCM) oder Version Control System (VCS) genannt. Bekannte Versionsverwaltungssysteme sind RCS, CVS, SVN, GIT. Ich möchte mich hier auf SVN beschränken. Eine gute Grundlagenerklärung zur Funktion von SVN bietet der Wikipedia-Artikel [http://de.wikipedia.org/wiki/Subversion_(Software) Subversion]. Ich bitte den Leser, sich diesen Artikel gründlich zu Gemüte zu führen. Dort sind vor allem wichtige Grundbegriffe und möglichen Funktionen erklärt, die den Rahmen dieses Artikels sprengen würden.&lt;br /&gt;
&lt;br /&gt;
Wer unter Linux, Unix oder BSD-Varianten arbeitet, der hat unter allen bekannten Versionsverwaltungen die größte Auswahl. Selbst ein frühes Festlegen auf ein SCM ist nicht unumkehrbar, denn es gibt sogar Konverter, die später den ganzen Code-Baum samt Geschichte umwandeln in ein anderes SCM.&lt;br /&gt;
&lt;br /&gt;
=== Installation von SVN ===&lt;br /&gt;
&lt;br /&gt;
Unter Windows empfehle ich den Server [http://www.visualsvn.com/ VisualSVN] und den in die Windows-Oberfläche integrierten Client [http://tortoisesvn.net/ TortoiseSVN]. Unter einem Debian-Derivat (z.&amp;amp;nbsp;B. Kubuntu) installiert man einfach das Paket &#039;&#039;&#039;subversion&#039;&#039;&#039;. Es existieren auch für Linux graphische Clients, auf die ich hier nicht weiter eingehen möchte.&lt;br /&gt;
&lt;br /&gt;
=== Verwendung von SVN ===&lt;br /&gt;
&lt;br /&gt;
Zur Verwendung von SVN gibt es eine sehr gute Anleitung unter: [https://www.bsdwiki.de/Subversion BSDwiki]. Die Nutzung eines Versionsverwaltungssystems mag zunächst lästig erscheinen, ist aber bei geschickter Nutzung und Konfiguration mit sehr wenig Aufwand verwendbar. Im Bezug auf backups, die Verwaltung von branches, der automatischen Vergabe von Versions-Zahlen und der Arbeit an mehreren Rechnern (z.B. im Labor und am Arbeitsplatz), spart es sogar sehr viel Zeit. Spätestens, nachdem man das erste Mal seine Software zerschossen hat, mag man es nicht mehr missen.&lt;br /&gt;
&lt;br /&gt;
In Fällen, in denen viele Änderungen und Versuchsversionen programmiert werden, empfiehlt sich ein 2-stufiens System: Der Entwickler benutzt seine eigene Datenbank (Repository), u.U. auf dem eigenen Rechner, um stündliche oder tägliche backups zu fahren und Stände für Verzweigungen oder Probierversionen zu sichern und checkt dann nur getestete, dokumentiert und den milestones entsprechemde Versionen für andere in der Hauptdatenbank ein. So ist gewährleistet, dass andere am Projekt immer nur einen klar definierten Stand vorfinden.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
Wichtig ist eine gute Dokumentation des Codes. Eine Möglichkeit dabei sind aussagekräftige Kommentare im Programmtext, die es gestatten, einen Zusammenhang zwischen der Implementierung und der Funktion herzustellen. &amp;quot;Aussagekräftig&amp;quot; bedeutet damit, dass man nicht schreibt, &#039;was&#039; die Codezeile macht, sondern &#039;warum&#039; und was sie funktionell bedeutet:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;schlecht&#039;&#039;&#039;:&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
maxTests = 5;       # Setze maxTests auf 5         &amp;lt;--- redundant und daher nutzlos&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;gut&#039;&#039;&#039;:&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
maxTests = 5;       # Maximal 5 Abfragedurchläufe  &amp;lt;--- Bindung zur gewünschten Funktion. &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Weiterhin wird vor allem für größere Sachen empfohlen, ein integriertes Dokumentationssystems zu verwenden. Hier wurden gute Erfahrungen mit [http://de.wikipedia.org/wiki/Doxygen Doxygen] gemacht. Dieses Programm wurde unter der GPL veröffentlicht und erzeugt u.A. auch sogannte Callgraphs. Durch entsprechende Codes und Tags im C-Code, können Kommentare und Erklärungen platziert werden, die dann automatisch in die Doku übernommen werden. Hierbei kann das Versionierungssystem unterstützen, indem es bei dem Einchecken des Codes, Versionsnummern, Datum und Hinweise auf den Ersteller automatisch fortschreibt und einsetzt, sodaß dies in die SVN-Datenbank übernommen wird und dann auch im Doygen-Code auftaucht. Damit ist ein eindeutiger Zusammenhang von einer Doxy-Version zu einem Projektstand gegeben. Bei professionellen Projekten in regulierten Bereichen sind auch links auf Confluence-Seiten und JIRA-Tasks, sowie explizite requirements in DOORs- und Polarion-Datenbanken möglich. Änderungen an diesen Information werden so ebenfalls automatisch versioniert, beim Doy-built in das Dokusystem übertragen und sind damit stets konsitent.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Doch nicht nur das Vorhandensein inhaltlicher Erläuterungen ist wichtig - auch die Art der Codegestaltung spielt in der Praxis eine wesentliche Rolle:&lt;br /&gt;
&lt;br /&gt;
== Formatierung des Quelltextes ==&lt;br /&gt;
&lt;br /&gt;
Um ein Programm gut und schnell verstehen zu können, muss auch der Quelltext sauber formatiert sein. Denn ein Programm schreibt man einmal, liest es aber viele Male. Dazu müssen ein paar grundlegende Formatierungsregeln beachtet und einheitlich umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
* Syntax highlighting: Die meisten Editoren und Entwicklungsumgebungen unterstützen das farbige Hervorheben von Schlüsselwörtern. Das erleichtert die Lesbarkeit deutlich. Vor allem Kommentare sind somit leichter lokalisierbar.&lt;br /&gt;
* Einrückung: Bei While oder For -Schleife, If-Abfragen oder switch-Anweisungen sollen die Blöcke stets eingerückt werden, um die logische Struktur darzustellen. Dadurch sieht man auch leichter vergessene Klammern oder falsche logische Zuordung in verketteten if-Anweisungen.&lt;br /&gt;
* Begrenzung der Zeilenlänge auf 80-100 Zeichen&lt;br /&gt;
* Tabulatoren als Leerzeichen einfügen lassen: Das können die Editoren heute allein. Der Vorteil ist, dass der Quelltext danach immer gleich aussieht, und nicht auf einem anderen Editor mit anderer Tabulatoreinstellung verschoben aussieht.&lt;br /&gt;
&lt;br /&gt;
=== Benennung von Variablen, Makros, Nutzung von Anweisungen ===&lt;br /&gt;
&lt;br /&gt;
* Selbsterklärende Funktions- und Variablennamen ersparen einem 100000 Kommentare&lt;br /&gt;
* Variablennamen sollen in erster Linie den Inhalt einer Variablen beschreiben, nicht ihren Datentyp.&lt;br /&gt;
* Defines komplett in GROSSBUCHSTABEN&lt;br /&gt;
* Namen von Variablen und Funktionen bzw. Methoden in Kleinbuchstaben; Worttrennung mit Unterstrich oder CamelCase (jede Wortsilbe beginnt mit einem Großbuchstaben, z.B GetInfo, MaxCount etc.)&lt;br /&gt;
* Namen wie i, j, k für Indizes für Zählschleifen&lt;br /&gt;
* Variablen wie x, y, z für Positionen&lt;br /&gt;
* Bei Arrays z.B. einkaufsPreis[i] oder einkaufsPreis[index] verwenden. i bzw. index sind übliche Namen um aus einem Array ein einzelnes Element zu identifizieren.&lt;br /&gt;
* Variablen und Makros so lokal wie möglich halten&lt;br /&gt;
* Mit globalen Variablen sparsam umgehen und diese auch im Namen kennzeichnen, z. B. den Modulnamen voranstellen &#039;i8_LOG_Position&#039;&lt;br /&gt;
* Vermeidung langer Funktionen / Aufspalten in kleinere Funktionen und Bibliotheken: Verwendest du den gleichen Code an verschiedenen Stellen lohnt es sich diesen in eine Funktion auszulagern.&lt;br /&gt;
* Eine Funktion löst genau eine Aufgabenstellung&lt;br /&gt;
* Funktionen sollen nur das machen, was der Funktionsname erwarten lässt.&lt;br /&gt;
* Wiederverwendbarkeit durch Funktionen, keine doppelten Codeteile, für Geschwindigkeit notfalls #inline verwenden&lt;br /&gt;
* Kurze und knackige Berechnungen, keinen Spaghetticode; Werden in der Berechnung Konstanten verwendet, dann am besten einen Kommentar dazu (z. B. b = a*3.6e6 // 3.6e6 ist Millisekunden pro Stunde)&lt;br /&gt;
* Statt ?: am besten Verzweigungen verwenden, da dieser oft nicht bekannt ist und auch nur noch selten verwendet wird.&lt;br /&gt;
* Leerzeichen und Leerzeilen kosten kein Geld! Aber bitte nicht tonnenweise!&lt;br /&gt;
* Kommentare schreibt man für sich selbst, für später&lt;br /&gt;
* Kommentare sofort schreiben, hinterher ist man zu faul und nicht mehr zu 100 % im Problem vertieft&lt;br /&gt;
* Je genialer die Idee, um so nötiger der Kommentar.&lt;br /&gt;
* Zusammenhänge dokumentieren. Die erschliessen sich nicht aus den paar Zeilen Code, auf die man gerade schaut!&lt;br /&gt;
* Kommentare sollen die &#039;Warum&#039;-Frage beantworten und nicht die &#039;Wie&#039;-Frage! Wie etwas gemacht wird, steht im Code. Aber dort steht nicht warum es gemacht wird.&lt;br /&gt;
* Kommentare nach dem Muster &amp;quot;Das ist eine for-Schleife&amp;quot; lösen maximal Schmunzeln aus, es sei denn es handelt sich um ein C-Lehrbuch. Solche Kommentare (&amp;quot;Hier beginnen die Variablen&amp;quot;, &amp;quot;Hier beginnen die Funktionen&amp;quot;, etc) lässt man besser. Jeder der mehr als 5 Stunden C programmiert erkennt eine for-Schleife auf Anhieb und wenn nicht soll er zuerst ein C-Buch studieren, ehe er sich an Code versucht.&lt;br /&gt;
* Die üblichen Regeln der Muttersprache sollten in den Stil einfließen&lt;br /&gt;
* Einheitlicher Stil bei Formatierung und Namensgebung&lt;br /&gt;
* Vermeidung voreiliger Optimierungen&lt;br /&gt;
&lt;br /&gt;
Beispiele&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/* Sicherung gegen doppeltes Einfuegen von Headerfiles */&lt;br /&gt;
#ifndef HEADER_FILE_NAME&lt;br /&gt;
#define HEADER_FILE_NAME&lt;br /&gt;
&lt;br /&gt;
// Das Headerfile&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
#define IN_GROSSBUCHSTABEN       // Caps mit underline&lt;br /&gt;
&lt;br /&gt;
int funktionsName(int param);    // CamelCase&lt;br /&gt;
&lt;br /&gt;
char varName;                    // CamelCase&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modularisierung ==&lt;br /&gt;
&lt;br /&gt;
Nun zum wichtigsten Punkt: Ein Programm richtig in Module und Schichten zu unterteilen. Das ist aus verschiedenen Gründen notwendig.&lt;br /&gt;
&lt;br /&gt;
* Übersichtlichkeit: Vor allem bei größeren Sachen will und muss man den Überblick behalten. Dazu muss ein Programm sauber formatiert und strukturiert sein.&lt;br /&gt;
* Wartungsfreundlichkeit: Sowohl in der Entwicklungsphase als auch später bei der Erweiterung/Wartung ist ein gut modularisiertes Programm sehr wichtig&lt;br /&gt;
* Speicherverbrauch: Einen Ablauf, welcher mehrfach im Programm verwendet wird, packt man sinnvollerweise in eine Funktion. Dadurch wird nur einmal Speicherplatz benötigt, egal wie oft sie verwendet wird. &lt;br /&gt;
* Kapselung: Das Prinzip des Versteckens von Details steigert die Lesbarkeit deutlich, denn eine Funktion, die vielleicht drei Bildschirmseiten füllt, steht einfach als eine Anweisung in einer Zeile. Das ist vor allem deshalb von Vorteil, weil man sich nur einmal mit den Details einer Funktion beschäftigen muss, nämlich dann, wenn man sie erstellt. Für die Nutzung im Programm will man diese Information gar nicht haben, sie stören hier nur (Informationsüberfluß). &lt;br /&gt;
* Leistungsfähigkeit: Ein gut modularisiertes Programm erreicht ein bestimmte Funktionalität einfach und kompakt, weil die einzelnen Funktionen so angelegt sind, dass sie einfach und dennoch vielfältig verwendet werden können. Wichtig ist dabei die richtige Portionierung.&lt;br /&gt;
**Welche Funktion sollen immer zusammen sein, welche sollten getrennt werden?&lt;br /&gt;
**Wie gestaltet man die Parameter für eine Funktion sinnvoll?&lt;br /&gt;
* Testbarkeit: Das leidige Thema der Softwareentwicklung ist der Test. Dieser sollte theoretisch alle Fehler finden, praktisch wird das aber oft nicht erreicht. Da Software meist eine recht komplexe Sache ist, kann man sie nur sehr schwer als Gesamtwerk vollständig prüfen. Darum müssen zuerst die Teile einzeln getestet werden. Ein gut modularisiertes Programm kann man leichter testen.&lt;br /&gt;
*Versionierbarkeit: Ein großer sicher ständig ändernder Code ist schwerer zu versionieren und zu mergen. Es ist besser, ausgereifte Code-Teile fertig und unverändert zu haben. Bei einer höheren Anzahl von Modulen mit weniger Inhalt ist damit bereits früh ein Teil des Codes eingefroren und damit fest verwendbar. Sehr späte Änderungen sind leichter durch den Nutzer oder andere erkennbar.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
*[[Erweiterte LCD-Ansteuerung]]: Artikel mit einem einfachen Beispiel für strukturierte Programmierung&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/26550#new Forumsbeitrag]: C++ CodeChecking (Style,...)&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/132304#new Forumsbeitrag]: Tutorial für _sauberen_ C-Code&lt;br /&gt;
*[https://www.mikrocontroller.net/topic/392060?goto=new#new Forumsbeitrag]: goto verpönnt - was dann nehmen?&lt;br /&gt;
*[https://www.mikrocontroller.net/topic/438529#new Forumsbeitrag]: Doku zu AVR Assembler für komplexe Projekte&lt;br /&gt;
*[https://www.mikrocontroller.net/topic/1675?goto=new#10504 Forumsbeitrag]: Klingonische Softwareentwickler (Achtung Humor!)&lt;br /&gt;
*[https://www.mikrocontroller.net/topic/533978#7002671 Forumsbeitrag]: Suche Literatur für strukturierte Embedded Programmierung&lt;br /&gt;
*[https://www.mikrocontroller.net/topic/554716#7419705 Forumsbeitrag]: DREI gute Fragen für fast alles&lt;br /&gt;
*[https://www.mikrocontroller.net/topic/583282#8005091 Forumsbeitrag]: ADS1115 Initialisierung ADC auslesen ATmega8 Assembler ASM&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.gimpel.com/html/pcl.htm PC-lint, ein Analyseprogramm für C-Code]&lt;br /&gt;
* [http://www.chris-lott.org/resources/cstyle/indhill-cstyle.html Recommended C Style and Coding Standards, engl.]&lt;br /&gt;
* [http://www.jetcafe.org/jim/c-style.html Standards and Style for Coding in ANSI C, engl.]&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Programmierstil Wikipediaartikel über Programmierstil]&lt;br /&gt;
* [http://www.campwoodsw.com/sourcemonitor.html Tool zur statischen Codeanalyse u.a. für C/C++]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Program_optimization Program optimization] auf Wikipedia, engl.&lt;br /&gt;
* [https://sites.google.com/site/artcfox/demystifying-the-tlc5940 demystifying-the-tlc5940] Umfassende Erklärung zur Ansteuerung eines TLC5940 sowie Hinweisen zum Vorgehen bei der Einarbeitung in neue Hard- und Software, engl.&lt;br /&gt;
* [http://kotaku.com/5975610/the-exceptional-beauty-of-doom-3s-source-code The Exceptional Beauty of Doom 3&#039;s Source Code] (engl.)&lt;br /&gt;
* [ftp://ftp.idsoftware.com/idstuff/doom3/source/CodeStyleConventions.doc CodeStyleConventions.doc] von iD Software für DOOM 3, (lokale [[:Datei:CodeStyleConventions_ID_Software.pdf | Kopie]]) &lt;br /&gt;
* [http://www.amazon.de/Weniger-schlecht-programmieren-Kathrin-Passig/dp/3897215675/ref=sr_1_1?ie=UTF8&amp;amp;qid=1444238128&amp;amp;sr=8-1&amp;amp;keywords=weniger+schlecht+programmieren Weniger schlecht programmieren], ISBN: 3897215675&lt;br /&gt;
* [http://c2.com/cgi/wiki?ThreeStarProgrammer ThreeStarProgrammer]: Warum man keinen hochkomplexen Code schreiben soll (engl.)&lt;br /&gt;
* [https://de.wikipedia.org/wiki/Therac-25 Therac-25] Beschreibung eines Unfalls in der Medizintechnik, hervorgerufen durch Software- und Konzeptfehler&lt;br /&gt;
* [http://www.ccnr.org/fatal_dose.html FATAL DOSE] Radiation Deaths linked to AECL Computer Errors (engl.)&lt;br /&gt;
* [https://www.safetty.net/publications/pttes ‘Patterns for Time-Triggered Embedded Systems’]  by Michael J. Pont&lt;br /&gt;
* [https://www.youtube.com/watch?v=jivPPyj8OlA The problem with comments - Kevlin Henney], Youtube Vide (engl.)&lt;br /&gt;
* [https://www.youtube.com/@DevToolsMadeSimple/videos Dev Tools Made Simple], Youtube Playlist (engl.)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Algorithmen und Arithmetik]]&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Relais_mit_Logik_ansteuern&amp;diff=107844</id>
		<title>Relais mit Logik ansteuern</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Relais_mit_Logik_ansteuern&amp;diff=107844"/>
		<updated>2026-01-13T20:10:19Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Siehe auch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
Häufig sollen mit µC-Schaltungen &amp;quot;größere Dinge bewegt werden&amp;quot;, das heißt ein höherer Laststrom oder Netzspannung geschaltet werden. Dieser Artikel soll dem Anfänger dabei helfen, typische Probleme zu umgehen. Die hier für Relais aufgeführten Maßnahmen sollen natürlich sinngemäß auch bei anderen induktiven Lasten in Betracht gezogen werden.&lt;br /&gt;
&lt;br /&gt;
== Schaltstufen ==&lt;br /&gt;
&lt;br /&gt;
Wenn normale Bauelemente zum Einsatz kommen sollen, endet man erfahrungsgemäß bei Schaltungen, bei denen mit der Logikspannung ein [[Transistor | Bipolartransistor]] oder [[FET | MOSFET]] im Schaltbetrieb angesteuert wird und damit die in der Regel höhere Betriebsspannung der Relaisspule geschaltet wird.&lt;br /&gt;
&lt;br /&gt;
=== Schaltstufe für kleine Lasten ===&lt;br /&gt;
&lt;br /&gt;
[[bild:relais_npn.png | framed | ohne| Schaltstufe für kleine Lasten mit NPN-Bipolartransistor (links) oder N-Channel-MOSFET (rechts) als &#039;&#039;Low-Side&#039;&#039;-Schalter]] &lt;br /&gt;
&lt;br /&gt;
Links im Bild ist die Ansteuerung mit einem NPN-Bipolartransistor gezeigt. Hier wird mit einem Steuersignal durch den Vorwiderstand der Steuerstrom erzeugt, der den Transistor Q2 durchschaltet. Die maximal schaltbare Spannung hängt von dem Transistor ab, bei höheren Lastströmen ist darauf zu achten, dass möglicherweise der Steuerstrom nicht mehr hoch genug ist um den Laststrom sicher zu schalten. Deshalb ist die Stromverstärkung des Transistors zu beachten. Voll durchgesteuert oder voll gesperrt sind die Lieblingszustände des Schalttransistors, bei unvollständiger Ansteuerung (Linearbetrieb) fällt am Transistor eine erhöhte Verlustleistung ab.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:30em; text-align:center&amp;quot;&lt;br /&gt;
! Schaltstrom [mA]&lt;br /&gt;
! Transistor&lt;br /&gt;
! Steuer-&amp;lt;br&amp;gt;spannung&amp;lt;br&amp;gt;[V]&lt;br /&gt;
! &amp;lt;br&amp;gt;R2&amp;lt;br&amp;gt;[&amp;amp;Omega;]&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 500 &lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |  BC337&amp;lt;br&amp;gt;(THT)&lt;br /&gt;
|  5 || 470&lt;br /&gt;
|-&lt;br /&gt;
|3,3 || 270&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 100&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | BC846&amp;lt;br&amp;gt;(SMD)&lt;br /&gt;
|   5 || 2,2k&lt;br /&gt;
|-&lt;br /&gt;
| 3,3 || 1,3k&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Werden andere Transistoren eingesetzt oder muss für das Relais mehr oder weniger Strom zur Verfügung gestellt werden, dann findet sich hier die Berechnung des [[Basiswiderstand]]s.&lt;br /&gt;
&lt;br /&gt;
Rechts im Bild wird das Relais mit einem N-Channel MOSFET gesteuert. Der Vorteil ist hier der wesentlich geringere Steuerstrom im statischen HIGH Zustand (praktisch Null). Wichtig ist hier R1. Dieser Pull-Down-Widerstand sorgt dafür, dass der MOSFET sicher sperrt wenn der steuernde [[Mikrocontroller]] sich im Reset befindet oder gerade programmiert wird. Dann sind nämlich die IO-Pins als Eingänge geschaltet und das Gate des MOSFET würde &amp;quot;in der Luft hängen&amp;quot; (engl. float). R1 verhindert das. Der Wert von R1 kann je nach Anwendung variieren. Üblich sind auch 10k, um den Eingang gegen Störeinstrahlungen zu festigen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:30em; text-align:center&amp;quot;&lt;br /&gt;
! &amp;lt;br&amp;gt;Schaltstrom&amp;lt;br&amp;gt;[mA]&lt;br /&gt;
! Transistor&lt;br /&gt;
! Steuer-&amp;lt;br&amp;gt;spannung&amp;lt;br&amp;gt;[V]&lt;br /&gt;
|-&lt;br /&gt;
| 300&lt;br /&gt;
| BS170 (THT) &lt;br /&gt;
| 5-10 &lt;br /&gt;
|-&lt;br /&gt;
| 200&lt;br /&gt;
| BSS138 (SMD)&lt;br /&gt;
|    3,3-10&lt;br /&gt;
|-&lt;br /&gt;
| 5000 (*1)&lt;br /&gt;
| IRLZ34N (THT) &lt;br /&gt;
| 5-10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(*1) maximaler Strom ohne [[Kühlkörper]]; mit Kühlkörper bis ca. 20A&lt;br /&gt;
&lt;br /&gt;
Um Relais vom PC aus zu schalten gibt es diverse Relais-Karten, aber es geht auch direkt mit dem Parallelport um ein 5 V-Relais mit 110 Ohm Spulenwiderstand anzusteuern, mit dem man bis zu 230 V / 10 A schalten kann. Dafür reichen die acht Daten-Pins vom Parallelport, zusammengeschaltet mit 75 Ohm-Widerständen.&lt;br /&gt;
&lt;br /&gt;
=== Schaltstufe für große Lasten ===&lt;br /&gt;
&lt;br /&gt;
Bei großen zu schaltenden Leistungen kommt daher oft vor dem Schalttransistor/FET ein Treiber zum Einsatz. Große MOSFETs brauchen meist 10-15V Gatespannung um voll durchzusteuern, deshalb wird ein [[Pegelwandler]] bzw. [[Treiber]] benötigt und wir haben etwas Mehrstufiges. Ausnahmen sind sogenannte [https://www.mikrocontroller.net/articles/FET#Gate-Source_Threshold_Voltage &#039;&#039;Logic Level MOSFETs&#039;&#039;], welche schon mit 4,5V praktisch voll durchgesteuert sind. Diese können direkt von 5V Logikausgängen betrieben und somit wie im vorherigen Kapitel angeschlossen werden, wie man in diesem [http://www.mikrocontroller.net/topic/246449#2519459 Forumsbeitrag] sehen kann. Entsprechende Typen findet man im Artikel [[MOSFET-Übersicht]]. Diese direkte Ansteuerung per CMOS-Ausgang reicht dann sogar für niedrige PWM-Frequenzen von vielleicht 100Hz und noch etwas mehr.&lt;br /&gt;
&lt;br /&gt;
[[bild:relais_mosfet.png | framed | ohne| Schaltstufe mit N-Channel MOSFET als &#039;&#039;Low-Side&#039;&#039;-Schalter für große Lasten]]&lt;br /&gt;
&lt;br /&gt;
Zu beachten ist hier, daß durch den Treiber eine Invertierung stattfindet, d.h. ist der Steuereingang HIGH ist der MOSFET gesperrt und die Last wird nicht von Strom durchflossen. R2 ist die [[Basiswiderstand | Basisstrombegrenzung]], er wird so gewählt daß der Transistor gerade so übersteuert wird um sicherzugehen daß er komplett und schnell durchgesteuert wird. R3 begrenzt den Kollektorstrom des Treibertransistors, wenn dieser leitet, das Gate des MOSFET Q2 liegt dann auf 0V. Wenn er nicht leitet wird über R3 das Gate des MOSFET geladen und dieser ist dann leitend ([[Ausgangsstufen_Logik-ICs#Open_Collector | Open Collector]]). Die hier gezeigte Schaltung kann bis zu 30A schalten, allerdings braucht der MOSFET Q2 ab ca. 5A einen [[Kühlkörper]]. Die Versorgungsspannung VCC kann 10V bis 20V betragen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Achtung!&#039;&#039;&#039; Diese Schaltung ist nur für langsame Ansteuerung mit ein paar hundert Hertz geeignet. [[PWM]] mit Frequenzen von 1kHz und höher ist damit nicht möglich, da die erste Schaltstufe dafür viel zu langsam ist. Der Leistungstransistor kann nicht schnell ein und aus geschaltet werden, dadurch befindet er sich während der Umschaltung im Linearbetrieb und erzeugt viel Verlustleistung (=Wärme). Für höherfrequente PWM muss ein schneller [[Mosfet-Übersicht#Mosfet-Treiber | MOSFET-Treiber]] eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Gemeinsam ist diesen Schaltungen allerdings, daß sie sich prima für ohmsche Lasten eignen, aber bei induktiven Lasten gerne Probleme bereiten:&lt;br /&gt;
&lt;br /&gt;
* Die Logikschaltung stürzt beim Schalten gelegentlich oder immer ab, insbesondere beim Abschalten&lt;br /&gt;
* Bauteile verabschieden sich beim ersten Schalten oder nach einigen problemlosen Schaltvorgängen&lt;br /&gt;
* sonstiges unreproduzierbares Verhalten.&lt;br /&gt;
&lt;br /&gt;
== Entstörung ==&lt;br /&gt;
&lt;br /&gt;
Das Hauptproblem ist die Gegeninduktionsspannung der Spule, eine Eigenschaft die in Schaltnetzteilen erwünscht sein mag, mit ihren u.U. mehreren hundert Volt im Logiksystem sich aber eher schädlich auswirkt. Beim Abschalten von Induktivitäten bricht deren Magnetfeld zusammen. Die im Magnetfeld gespeicherte Energie kann nicht einfach verschwinden. Damit wird die Induktivität zur Energiequelle, welche sehr hohe Spannungen erzeugen kann (Prinzip der Zündspule).&lt;br /&gt;
&lt;br /&gt;
Diese Störungen können durch Schaltungsergänzungen gemildert oder beseitigt werden.&lt;br /&gt;
&lt;br /&gt;
=== Freilaufdiode ===&lt;br /&gt;
&lt;br /&gt;
In den obigen Bildern ist die Freilaufdiode als D1 und D2 sichtbar. Dieses Bauteil ist ein absolutes &#039;&#039;&#039;Muss&#039;&#039;&#039; bei induktiven Lasten wie Relais, Motoren etc. Teilweise in Relais schon eingebaut, handelt es sich um eine [[Diode]], die für die Betriebsspannung in Sperrrichtung eingebaut ist. Mit ihr wird die Selbstinduktionsspannung der induktiven Last im Abschaltmoment kurzgeschlossen. Sie sollte mindestens die Versorgungsspannung als Sperrspannung verkraften — eine Reserve von 20 % tut preislich nicht weh. Der zulässige Spitzendurchlassstrom der Diode muss mindestens dem Betriebsstrom des Relais entsprechen. Die Dauerstrombelastbarkeit darf auch geringer ausfallen, da übliche Relaisanwendungen nur mit geringen Frequenzen schalten (einige Hertz). Eine kleine 1N4148 (Nachfolger der 1N914) kann für bis zu 1 A eingesetzt werden. Allerdings lohnen sicht derartige Tricksereien kaum noch, da Dioden sehr billig sind. Wer auf Nummer sicher gehen will nimmt eine Diode, deren Nennstrom größer oder gleich dem Relaisstrom ist. &lt;br /&gt;
&lt;br /&gt;
Einfache Gleichrichterdioden wie z.&amp;amp;nbsp;B. 1N400x sind hier entgegen der oft gehörten Meinung ausreichend, es müssen &#039;&#039;&#039;keine&#039;&#039;&#039; schnellen Schaltdioden verwendet werden. Denn entscheidend für die Freilaufdiode ist die Einschaltzeit (forward recovery time), und die ist auch bei einer langsamen Diode sehr klein (einige Nanosekunden). Eine umfassende Erklärung findet man auf [https://web.archive.org/web/20150509044624/http://www.cliftonlaboratories.com/diode_turn-on_time.htm dieser Seite]. &#039;&#039;&#039;Achtung!&#039;&#039;&#039; Das gilt nur für Relais, da diese nicht sehr oft schalten (wenige Hz) und am Ende des Schaltvorgangs der Strom durch die Diode auf Null abgesunken ist. In einer Anwendung mit [[PWM]] und hohen Frequenzen im kHz-Bereich müssen schnelle Schaltdioden verwendet werden. Hier ist der Strom am Ende des Schaltvorgangs nicht Null, sondern meistens relativ hoch. Schaltet dann die Diode von Flußrichtung in Sperrichtung, kommt die Reverse Recovery Time zum tragen (&amp;lt;math&amp;gt;t_{rr}&amp;lt;/math&amp;gt;). Ist sie sehr hoch, wird viel Verlustwärme in der Diode erzeugt, was sowohl die Schaltung als auch die Diode zerstören kann.&lt;br /&gt;
&lt;br /&gt;
Gelegentlich sieht man auch Dioden in Sperrichtung über die Schaltstrecke (Kollektor-Emitter, Source-Drain), die machen sowas ähnliches. Das klappt aber nur bei Halb-und Vollbrücken! Einfache Emitterschaltungen wie sie hier gezeigt sind brauchen eine Diode antiparallel zum Relais!&lt;br /&gt;
&lt;br /&gt;
Fehler aufgrund „vergessener“ Freilaufdioden können extrem tückisch sein! Transistoren versagen dann &#039;&#039;manchmal&#039;&#039; komplett und gehen am nächsten Tag wieder. Oder ihre Stromverstärkung nimmt unmerklich ab und das Relais zieht nur „halb“ an. Sicherheitshalber sollte man in solchen Fällen die Transistoren auswechseln und vernichten, auch wenn noch keine Fehlfunktion festgestellt wurde.&lt;br /&gt;
&lt;br /&gt;
[[bild:relais_z-diode.png | framed | Freilaufdiode plus Z-Diode für kurze Abschaltzeiten — das Relais darf hierbei &#039;&#039;keine&#039;&#039; interne Diode haben, wie im Schaltbild angegeben]]&lt;br /&gt;
&lt;br /&gt;
Wenn ein schnelles Abschalten des Relais gewünscht ist, wie zum Beispiel beim Schalten hoher Ströme, sind andere Maßnahmen besser geeignet, um die Selbstinduktionspannung sicher zu begrenzen. Dazu  nutzt man in Reihe zur Freilaufdiode eine [[Diode#Z-Diode | Z-Diode]], deren Durchbruchspannung (Z-Spannung) als Richtwert ungefähr der Nennspannung des Relais entsprechen sollte. Dadurch klingt der Spulenstrom wesentlich schneller ab, das Relais fällt schneller ab und der Lichtbogen an den Kontakten wird schneller unterbrochen. Die Kontaktlebensdauer steigt signifikant, ebenso werden weniger Störungen erzeugt. Allerdings ist dieser Effekt immer wieder Thema von Diskussionen im Forum. Nicht bei allen Relais und unter allen Bedinungen bewirkt die Z-Diode ein deutlich schelleres Abschalten des Relais und deutlich erhöhte Kontaktlebensdauer. Die Masse der Relais dieser Welt haben nur einfache Freilaufdioden, das ist meistens ausreichend. Zu beachten ist dabei, dass der Schalttransistor die Summe aus Betriebsspannung und Z-Spannung als Sperrspannung &amp;lt;math&amp;gt;U_{CE}&amp;lt;/math&amp;gt; bzw. &amp;lt;math&amp;gt;U_{DS}&amp;lt;/math&amp;gt; aushalten muss.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;U_{CE, max} \geqq Vcc+U_Z&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Genaueres findet sich im Abschnitt [[#Links | Links]].&lt;br /&gt;
&lt;br /&gt;
Eine andere Möglichkeit der Überspannungsbegrenzung für den Transistor ist eine Zener-Diode über die Kollektor-Emitter-Strecke (ohne Illustration). Deren Zenerspannung darf (knapp) so hoch wie U&amp;lt;sub&amp;gt;CE&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;&amp;lt;/sub&amp;gt; sein. Auch hier sorgt eine höhere Zener- als Betriebsspannung für ein schnelles Abfallen des Relais, mit dem Nachteil, dass der Abklingstrom von der Speisespannung gezapft wird. Von Vorteil bei dieser Variante ist, dass diese Diode auch bei Offenen Kollektorausgängen „vorsorglich“ beschaltet werden kann, ohne auf die (bei der Konstruktion noch unbekannte oder entfernungsmäßig weit weg liegende) Speisespannung des Relais zugreifen zu müssen. &#039;&#039;Die Freilaufdiode wird nicht benötigt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die kurzzeitige Strombelastung der Zenerdiode entspricht dem Last- also dem Relaisstrom. Deren Verlustleistung spielt bei geringer Schaltfrequenz nur eine untergeordnete Rolle. An Stelle der Zenerdiode kann auch eine Supressordiode oder ein Varistor verwendet werden. Freilaufdioden sind mit Abstand die billigste Methode der Überspannungsbegrenzung.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
=== Entkopplung der Versorgungsspannungen ===&lt;br /&gt;
&lt;br /&gt;
Es schadet in der Regel nicht die Spannungsversorgung für die Logikschaltung gut zu stabilisieren und zu filtern. Die Schaltstufe kann oft mit eher &amp;quot;rohen&amp;quot; Spannungen betrieben werden, also direkt vom Glättungskondensator des Gleichrichters. Allerdings kann etwas Filterung da auch nicht schaden, um Störspannungen durch die Schaltstufe nicht ungedämpft weiterzugeben.&lt;br /&gt;
&lt;br /&gt;
=== Spannungsbegrenzung ===&lt;br /&gt;
&lt;br /&gt;
Parallel zur Schaltstrecke und/oder parallel zur Last können anstelle der Diode Varistoren angeschlossen werden, welche die Spannung am Bauteil begrenzen. Dabei muss beachtet werden, dass die maximal zulässige Kollektor- bzw. Drainspannung nicht überschritten wird. Betriebsspannung und Induktionsspannung der Relaisspule liegen in Reihe, sodass gilt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\!\ U_{CE,max} \geqq VCC + V_{Varistor}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suppressordioden eignen sich auch, sie schalten etwas schneller, können aber AFAIK nicht soviel Pulsleistung aufnehmen.&lt;br /&gt;
&lt;br /&gt;
=== Löschglieder ===&lt;br /&gt;
&lt;br /&gt;
[[bild:relais_snubber.png| framed | Löschglied zur Störungsverminderung über einem Relaiskontakt]]&lt;br /&gt;
&lt;br /&gt;
Im Englischen [[Snubber]] Network genannt. Durch eine Beschaltung der Schaltkontakte des Relais mit einem RC-Serienglied werden hochfrequente Überschwingeffekte beim Schalten gedämpft. Snubberglieder sind fast immer sinnvoll. Prinzipiell kann man sagen, dass der Widerstand Rs hochfrequente Anteile dämpft und der Kondensator dafür sorgt, dass dieser Vorgang beim Umschalten erfolgen kann. Bei Anschluß einer Wechselspannungsquelle stellt sich jedoch ein kontinuierlicher Stromfluss über die Kapazität ein. Deshalb werden diese Glieder parallel zum induktiven Verbraucher (Elektromotor, Drossel, Relaisspule...) und somit in Reihe zur Spannungsversorgung und dem Öffner angebracht. Wichtig ist dabei, dass der Widerstand ausreichend dimensioniert ist, um die auftretende Verlustleistung auszuhalten. Ebenso muss der Kondensator eine ausreichende Spannungsfestigkeit aufweisen, bei Netzspannung sollten es mindestens 400V sein. Außerdem muss man recht große Mindestabstände zwischen den Steuerkontakten und den 230V Schaltkontakten einhalten, wie in den Artikeln [[Leiterbahnabstände]] und [[Leiterbahnbreite]] beschrieben ist.&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
== Logikschaltungen mit Relais ==&lt;br /&gt;
&lt;br /&gt;
Wenngleich Relais heute oft per Mikrocontroller und Transistoren angesteuert werden und die Schaltlogik in der Software steckt, so gibt es dennoch immer mal wieder Fälle, in denen man auf reine Relaislogik zurückgreifen möchte. Die Gründe dafür sind z.B. robuster Aufbau, Stromversorgung, Bauteillogistik etc.&lt;br /&gt;
&lt;br /&gt;
=== Selbsthaltung ===&lt;br /&gt;
&lt;br /&gt;
[[bild:relais_selbsthaltung.png| framed | Selbsthaltung]]&lt;br /&gt;
&lt;br /&gt;
Eine oft genutzte Schaltung ist die [http://de.wikipedia.org/wiki/Selbsthaltefunktion Selbsthaltung]. Dabei wird durch den Taster S2 das Relais erstmalig mit Strom versorgt und zieht an. Der Strom kann jetzt auch über den Schließer von K1 fließen, auch wenn der Taster wieder losgelassen wird. Das Relais hält sich selbst. Mit einem Druck auf S1 wird der Strom unterbrochen, K1 fällt wieder ab. Solche Schaltungen werden z.B. in Maschinen eingesetzt, wo nur mittels Tastendruck ein Start möglich sein soll. Fällt der Strom aus oder muss eine schnelle Notabschaltung gemacht werden, so geht das Relais aus und bleibt auch aus, auch wenn der Strom wieder eingeschaltet wird.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
=== Selbstunterbrecher ===&lt;br /&gt;
&lt;br /&gt;
[[bild:relais_selbstunterbrecher_2.png| framed | Selbstunterbrecher]]&lt;br /&gt;
&lt;br /&gt;
Eine noch einfachere Schaltung ist der Selbstunterbrecher. Er ist ein elektromechanischer Oszillator. Wird die Versorgungsspannung eingeschaltet, so zieht K1 an. Dabei unterbricht es seinen eigenen Stromfluß und fällt wieder ab. Rein statisch betrachtet klingt das wie ein Widerspruch. Praktisch und dynamisch betrachtet funktioniert es aber, da die mechanische Trägkeit des Kontaktes und der Hebelmechanik nicht sofort reagiert. Wie schnell das Relais &amp;quot;flattert&amp;quot; hängt in erster Linie von der Masse der Schaltkontakte und der Rückstellfeder ab. Beispiele findet man [http://www.mikrocontroller.net/topic/198373#1947466 hier]. So ein rasselndes Relais erzeugt durch den Schaltfunken am Kontakt aus einiges an Störungen. Diese Schaltung findet man in allen einfachen elektromechanischen Klingeln, sie ist auch als [http://de.wikipedia.org/wiki/Wagnerscher_Hammer Wagnerscher Hammer] bekannt.&lt;br /&gt;
&lt;br /&gt;
Ferner kann diese Schaltung - bedingt durch die hohen (Selbst-)Induktionsspannungen - auch zum Testen von Glimmlampen verwendet werden. Hierzu wird die Schutzdiode durch die zu Testende Glimmlampe ersetzt.&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
=== Umschaltung per Taster ===&lt;br /&gt;
&lt;br /&gt;
Will man mit einem Taster ein Relais mit jedem Tastendruck zwischen Ein und Aus wechseln lassen (engl. to toggle, umschalten), so kann man das mit der nachfolgenden Schaltung tun. Sie benötigt nur zwei Relais mit einem Wechselkontakt sowie einen Taster mit Wechselkontakt. Hat man den nicht, kann man ihn durch einen einfachen Taster ersetzen, der dann ein drittes Relais mit Wechselkontakt schaltet. Als dritte Möglichkeit kann ein Taster mit getrenntem Öffner und Schließer verwendet werden. Wesentliche Eigenschaft der Schaltung ist, dass bei Ausfall der Stromversorgung immer wieder der Ausgangszustand eingenommen wird.&lt;br /&gt;
&lt;br /&gt;
[[bild:Relais_toggle_animation.gif| framed | Umschaltung per Tastendruck]]&lt;br /&gt;
&lt;br /&gt;
Und so funktioniert das Ganze&lt;br /&gt;
* Ausgangszustand: K1 und K2 sind ohne Strom, die Kontakte liegen wie im Schaltplan, da kein Strom über K1 oder S1 zu den Relais fließen kann&lt;br /&gt;
* Taster S1 wird gedrückt: Über S1 und K2 wird Spannung an die Spule von K1 gelegt, der Kontakt von K1 schließt&lt;br /&gt;
* Taster S1 wird losgelassen, d.h. ein paar Millisekunden hängt der Schaltkontakt in der Luft, der Strom fließt über K1 und K2 weiter and K1 (Selbsthaltung)&lt;br /&gt;
* Taster S1 erreicht Ruheposition, jetzt fließt Strom über die Kontakte K1, S1 und D1 und D2 an die Spulen von K1 und K2, wodurch der Kontakt K2 öffnet. K1 bekommt nun nur noch über K1, S1 und D1 Strom.&lt;br /&gt;
* S1 wird zum 2. Mal gedrückt und hängt sehr kurz in der Luft. Die Selbsthaltung über K1, S1 und D1 wird unterbrochen, K1 fällt ab, dadurch öffnet K1. K2 würde nun auch abfallen. Tut es aber nicht, da die Umschaltung sehr schnell geht. Und hier liegt der &amp;quot;Trick&amp;quot; der Schaltung. &#039;&#039;&#039;Die Umschaltung von S1 muss schneller sein als die Abfallzeit der Relais K1 plus K2!&#039;&#039;&#039;&lt;br /&gt;
* S1 schaltet komplett um, die Selbsthaltung für K2 läuft nun über S1, K2. K1 fällt ab, da es weder über K2 noch über D1 versorgt wird.&lt;br /&gt;
* S1 wird wieder losgelassen und erreicht wieder die Ruheposition, die Selbsthaltung für K2 wird unterbrochen und K2 fällt ab. &lt;br /&gt;
&lt;br /&gt;
Wie man sieht schaltet K1 immer dann, wenn die Taste gedrückt wird und K2 immer dann, wenn die Taste losgelassen wird. Je nach gewünschter Funktion kann man das Signal für weitere Schaltfunktionen an der Spule für K1 oder K2 abgreifen. &lt;br /&gt;
&lt;br /&gt;
==== Version mit einem D-Flip-Flop====&lt;br /&gt;
&lt;br /&gt;
[[Datei:toggle.png | thumb | 500px | Umschalten des Relais mittels D-FlipFlop]]&lt;br /&gt;
&lt;br /&gt;
Hat man keine zwei Relais oder nicht den Platz um ein zweites Relais einzusetzen, kann man das Umschalten auch mit Hilfe eines D-[[FlipFlop]]s realisieren.&lt;br /&gt;
&lt;br /&gt;
Funktion:&lt;br /&gt;
* Im Ruhemodus liegt der Ausgang Q auf LOW, Q negiert auf High&lt;br /&gt;
* Wird auf den Takteingang von IC1A eine steigende Flanke gelegt, wird der Highpegel vom Eingang übernommen, Q ist High, der MOSFET steuert durch und läßt das Relais anziehen, Q negiert ist Low.&lt;br /&gt;
* Bei der nächsten positiven Taktflanke wird der Pegel des negierten Ausgangs wieder übernommen, jetzt Low, und der Ausgang wird wieder auf Low geschaltet.&lt;br /&gt;
&lt;br /&gt;
Wird ein Taster verwendet muss dieser unbedingt [[Entprellung|entprellt]] werden. Hier im Beispiel durch das RC-Glied und der genügend trägen CMOS-Logik. Ein 4017 — nicht aber ein Standard-4013 — hat [[Schmitt-Trigger]]-Verhalten am Takteingang, welcher die Entprellung wirkungsvoll unterstützt. Durch die Nutzung der alten, bis zu 15 V einsetzbaren 4000er Logikserie spart man sich eine zusätzliche 5-V-Stromversorgung. Außerdem kann man jeden normalen MOSFET direkt ansteuern, ein Logic-Level-Typ ist nicht nötig. Der IC enthält zwei D-FlipFlops, womit man die Funktion zweifach aufbauen kann. Alternativ kann man die Schaltung aus diesem [http://www.mikrocontroller.net/topic/196590?goto=new#1926072 Forumsbetrag] nutzen.&lt;br /&gt;
&lt;br /&gt;
Im Gegensatz zum folgenden Stromstoßrelais hat dieses Flipflop kein Speicherverhalten bei Stromausfall. Bei Stromzuschaltung steht das Flipflop zufällig oder kann per Set- oder Reset-Eingang definiert belegt werden.&lt;br /&gt;
Heutzutage ist Speicherverhalten (sowie Entprellung) mit einem &#039;&#039;Mikrocontroller mit EEPROM&#039;&#039; billiger als via Stützbatterie oder einem echten Stromstoßrelais (= mechanischer Speicher) zu erreichen!&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
=== Stromstoßrelais ===&lt;br /&gt;
&lt;br /&gt;
[[Datei:Stromstoss_bistabil.png |thumb |right |500px |Nachgebildetes Stromstoßrelais]]&lt;br /&gt;
&lt;br /&gt;
In der Installationstechnik für Gebäude wird man meist auf ein Stromstoßrelais zurückgreifen, dort wird die Umschaltung meist über die Mechanik im Relais erreicht. Dann reicht auch ein einfacher Schließer als Taster. Diese Relais benötigen nur zum Umschalten Strom und halten dabei den Schaltzustand auch bei Stromausfall.&lt;br /&gt;
&lt;br /&gt;
Diese Funktion kann man aber auch mit zwei bistabilen und einem monostabilen Relais nachbilden. Die Schaltung ist sehr ähnlich zum Vorgänger. Zwei bistabile Relais mit jeweils einer Spule zum Setzen und Rücksetzen schalten wechselseitig um. Jeweils ein Kontakt von K1 und K2 steht zur freien Verfügung. Die Energie zum Schalten von K2 wird im Kondensator C1 gespeichert, welcher im Moment des Loslassens des Tasters S1 über die Kontakte K3 und K1 das Relais K2 kurzzeitig mit Strom versorgt. Die Schaltung benötigt somit nur zum Umschalten Strom. Der Widerstand R1 begrenzt den Ladestrom von C1 auf erträgliche Werte. Bei der Entladung von C1 fließt der Strom hauptsächlich über D7, damit kann die Energie von C1 besser ausgenutzt werden. Für die Dimensionierung von R1 und C1 gilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;R1 \approx \frac{R_{\text{Spule}}}{5}&amp;lt;/math&amp;gt;, &amp;amp;nbsp;&lt;br /&gt;
&amp;lt;math&amp;gt;C1 \approx \frac{5 \cdot t_{\text{Schalt}}}{R_{\text{Spule}}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, R_{\text{Spule}}&amp;lt;/math&amp;gt; = Spulenwiderstand von K2&lt;br /&gt;
* &amp;lt;math&amp;gt;\!\, t_{\text{Schalt}}&amp;lt;/math&amp;gt; = Schaltzeit von K2&lt;br /&gt;
&lt;br /&gt;
== 230V Netzspannung schalten ==&lt;br /&gt;
&lt;br /&gt;
Im Internet gibt es sehr viele Angebote von sehr kleinen, billigen Relais, welche mit 5V direkt angesteuert werden können. Das Problem der meisten dieser Relais ist aber, daß sie eine unzureichende Isolation zwischen den Schaltkontakten und der Spule haben, um am 230V Netz als sicher zu gelten. Denn dazu braucht es nicht nur 230V Spannungsfestigkeit sondern eher 4000V, um gegen die immer wieder auftretenden Überspannungspulse geschützt zu sein. Ebenso müssen die Kriechwege zwischen den Schaltkontakten und der Spule ausreichend groß sein, siehe [[Leiterbahnabstände]]. Zusammengefaßt kann man sagen, daß ein Relais an 230V Netzspannung folgende Eigenschaften haben sollte. Das betrifft auch das Layout.&lt;br /&gt;
&lt;br /&gt;
* Isolationsspannung zwischen Kontakten und Spule: 4kV (Impulsspannung 1,2/50us), reine Relaiseigenschaft!&lt;br /&gt;
* Kriechweg zwischen den Kontakten: 3mm; Relais + Layout&lt;br /&gt;
* Kriechweg zwischen Kontakten und Spule: 6mm; Relais + Layout&lt;br /&gt;
&lt;br /&gt;
Einige der Billigrelais steuern diese mittels [[Optokoppler]] an und erzeugen damit ein falsches Gefühl der Sicherheit. Denn damit der Optokoppler wirklich zusätzlich isolieren kann, muss&lt;br /&gt;
&lt;br /&gt;
* das Layout mit den entsprechenden Abständen vorhanden sein (Luft- und Kriechstrecken)&lt;br /&gt;
* die Versorgungsspannung am Ausgang des [[Optokoppler | Optokopplers]], welche auch die Relais schaltet, ebenfalls [[Galvanische Trennung | galvanisch getrennt]] sein und die entsprechend hohe Isolationsspannung besitzen.&lt;br /&gt;
&lt;br /&gt;
Beides ist meistens &#039;&#039;&#039;nicht&#039;&#039;&#039; der Fall und damit ist der Optokoppler wirkungslos! In 99,9% aller Anwendungen ist eine Ansteuerung von Relais mittels Optokoppler sinnlos!&lt;br /&gt;
&lt;br /&gt;
[[Bild:Relais1.jpg|thumb|300px|left|Typisches Relais mit Optokoppleransteuerung]]&lt;br /&gt;
[[Bild:Relais2a.jpg|thumb|300px|left|Unterseite, Kriechwege zu klein, Layout ungünstig]]&lt;br /&gt;
&lt;br /&gt;
Einige Relais haben einen Frässchlitz an der kritischen Stelle des Wechslerkontakts, um den Kriechweg zu vergrößern. So weit, so gut, aber dadaurch erhöht sich nicht die Spannungsfestigkeit &#039;&#039;&#039;im&#039;&#039; Relais! Die Serie 36.11 von Finder hat hier 2,5kV Spannungsfestigkeit, was für viele Anwendungen ausreicht. Ob die billigen Kopien das ebenfalls garantieren können, bleibt unklar.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Relais4.jpg|thumb|300px|left|Relais mit Transistoransteuerung]]&lt;br /&gt;
[[Bild:Relais5.jpg|thumb|300px|left|Relais mit minimal verlängerten Kriechwegen]]&lt;br /&gt;
&lt;br /&gt;
=== Empfehlung ===&lt;br /&gt;
&lt;br /&gt;
Man sollte an 230V Netzspannung nur Relais einsetzen, welche alle oben genannten Kriterien erfüllen bzw. diese auch im Layout einfach umsetzbar sind. Dazu gehören die Standardrelais wie z.B. die 40.61 oder 40.52 Serie von Finder, andere Hersteller haben pinkompatible im Programm. Beim Einsatz auf Lochraster müssen &#039;&#039;&#039;alle&#039;&#039;&#039; Kupferaugen zwischen Spulenanschlüssen und Schaltkontakten entfernt werden, um den maximalen Kriechweg herzustellen, ebenso zwischen den Kontakten. Zum Schluß sollte auch jede Schaltung an 230V eine Sicherung besitzen, die im Falle eines Kurzschlusses das Schlimmste verhindert. Wer noch zusätzliche Sicherheit haben will, packt noch einen 250V Varistor zwischen L und N, allerdings erst nach der Sicherung!&lt;br /&gt;
&lt;br /&gt;
[[Bild:Relais3.jpg|thumb|300px|left|Relais 40.61 mit ausreichender Spannungsfestigkeit]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:Relais6.png|thumb|300px|left]]&lt;br /&gt;
&lt;br /&gt;
Das Bild oben zeigt das Layout des Relais auf Lochraster mit 2,54mm Rastermaß (Gitternetzlinien).&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/147610#new Forumsbeitrag]: Toggle mit Relais&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/91229?goto=new#new Forumsbeitrag]: Einmal drücken ein, nochmal drücken aus (Toggeln per Relais)&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/217912#2175374 Forumsbeitrag]: Erklärung des Entregungswiderstands bei bistabilen Relais&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/193291 Forumsbeitrag]: Fachbegriffe bei Relais&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/196590?goto=new#1926072 Forumsbeitrag] Toggleschaltung mit zwei Invertern&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/289861#3083276 Forumsbeitrag]: Quizzmaster für 4 Spieler komplett mit Relais&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/372156#4205430 Forumsbeitrag]: Energie einer Spule zurückgewinnen&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/453346?page=single#5455102 Forumsbeitrag]: Freilaufdiode auf Platine platzieren?&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/539528#new Forumsbeitrag]: 32 Relais über einen Arduino mit SCPI&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/571201#7753680 Forumsbeitrag]: Störungen von Relais (EMI) bringen I2C-Display/USB aus dem Takt&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Relais Relais] bei Wikipedia&lt;br /&gt;
* [https://web.archive.org/web/20111031011711/http://www.ridleyengineering.com/snubber.htm Entwicklungshilfe für Snubber], web.archive.org, englisch&lt;br /&gt;
* [http://www.te.com/commerce/DocumentDelivery/DDEController?Action=srchrtrv&amp;amp;DocNm=13C3264_AppNote&amp;amp;DocType=CS&amp;amp;DocLang=EN Coil Suppression Can Reduce Relay Life] (pdf)&lt;br /&gt;
* [http://www.te.com/commerce/DocumentDelivery/DDEController?Action=srchrtrv&amp;amp;DocNm=13C3311_AppNote&amp;amp;DocType=CS&amp;amp;DocLang=EN The application of relay coil suppression with DC relays] (PDF) (ursprünglich [http://www.kilovac.com/appnotes/app_pdfs/13c3311.pdf hier])&lt;br /&gt;
* [http://www.panasonic-electric-works.at/pewat/de/downloads/ds_x61_de_relay_technical_information.pdf Technische Informationen zu Relais], Panasonic (PDF)&lt;br /&gt;
* [http://www.cliftonlaboratories.com/diode_turn-on_time.htm Diode Turn-on/off Time and Relay Snubbing], englisch&lt;br /&gt;
* [https://web.archive.org/web/20121021180139/http://www.panasonic-electric-works.at/pewat/de/downloads/ds_x61_de_relay_technical_information.pdf Grundlagen der Relaistechnik und der Solid-State-Relaistechnik (phoenixcontact)], Deutsch&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EMV&amp;diff=107843</id>
		<title>EMV</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EMV&amp;diff=107843"/>
		<updated>2026-01-13T20:10:05Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Siehe auch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;EMV&#039;&#039;&#039; steht für &#039;&#039;&#039;e&#039;&#039;&#039;lektro&#039;&#039;&#039;m&#039;&#039;&#039;agnetische &#039;&#039;&#039;V&#039;&#039;&#039;erträglichkeit und bezieht sich auf die Eigenschaft von Geräten, entweder durch äußere elektromagnetische Felder in ihrer Funktion gestört werden zu können (Immission) oder selbst derartige Wechselfelder auszusenden (Emission). Um diese Probleme zu minimieren, wurden Normen eingeführt.&lt;br /&gt;
&lt;br /&gt;
Zur Entstehung unerwünschter HF Abstrahlung:&lt;br /&gt;
* Jede Leiterbahn wirkt als Induktivität und hat zu benachbarten Bauteilen und Leiterbahnen eine gewisse Kapazität. Es können Resonanzkreise entstehen, die EMV-Probleme unerwartet erschweren können. HF-Ströme bzw. extrem kurze Impulse können induktiv oder kapazitiv ausgekoppelt werden. Leiterbahnen wirken letztendlich immer wie kleine Antennen.&lt;br /&gt;
* Ein schneller Stromanstieg bewirkt eine schnelle Veränderung des Magnetfelds in seiner Umgebung und damit eine Induktion von Spannung in alle Leiterschleifen, die in der Nähe sind.&lt;br /&gt;
* Ein schneller Spannungsanstieg wirkt kapazitiv auf alle Leiter in der Nähe.&lt;br /&gt;
&lt;br /&gt;
== Maßnahmen beim Platinenentwurf ==&lt;br /&gt;
&lt;br /&gt;
* Niedrige Versorgungsspannung verbessert die Situation auf der Emissionseite, da so auch geringere Ströme mit geringeren Magnetfeldern entstehen. Auf der Immissionsseite kann die Situation sich aber verschlechtern.&lt;br /&gt;
* Prozessortakt möglichst niedrig wählen&lt;br /&gt;
* Prozessortakt wenn möglich mit [https://de.wikipedia.org/wiki/Frequenzspreizung Spread Spectrum] betreiben&lt;br /&gt;
* Besonders breite Leiterbahnen für Vss und Vcc. Besser noch zwei extra Layer.&lt;br /&gt;
* [[Kondensator#Entkoppelkondensator | Stützkondensatoren]] möglichst nahe am Verbraucher. Dies hält die Stromschleifen klein, die kurze hochfrequente Stromimpulse auf der Leiterkarte zurücklegen müssen.&lt;br /&gt;
* Einsatz von Filtern bei Stromversorgung sowie an allen Ein- und Ausgängen. z.b. Ferritperlen, RC-Tiefpässe, Gleichtaktfilter.&lt;br /&gt;
* Unbenutzte digitale Eingänge nicht offen lassen sondern auf GND oder VCC legen.&lt;br /&gt;
* Eingänge zu Schaltern, die quasi offen sind, über Widerstände hoch- oder runterlegen (Pull Up oder Pull Down Widerstand).&lt;br /&gt;
* Bei der Wahl von EMV-wirksamen Kondensatoren mehrere Kondensatoren parallel schalten, da jeder Kondensator eine eigene Resonanzfrequenz hat. Durch das Parallelschalten von sehr unterschiedlichen Kondensatoren ergibt sich zwar immer noch ein möglicher Gesamt-Resonanzfall, er kann aber in einen sehr niedrigen Frequenzbereich verbannt werden. Z.B. Zusammenschaltung von kleinen Elektrolyt- und Vielschichtkondensatoren und keramischen Kondensatoren. &lt;br /&gt;
* Große Massefläche zur Schirmung, am besten eine ganze Platinenfläche. Der Zugriff auf die Masse jeweils so kurz wie möglich.&lt;br /&gt;
* Masseleitungen vermaschen, wenn keine einheitliche Massefläche vorhanden ist, dabei die Maschenwaben möglichst klein halten&lt;br /&gt;
* Verwendung von schirmenden Gehäusen bzw. Kunstoffgehäusen, die intern mit einem elektrisch leitenden Lack (EMV-Lack) beschichtet sind, der wiederum geerdet ist.&lt;br /&gt;
* Galvanische Trennung von Digitalsignalen durch Optokoppler.&lt;br /&gt;
* Abstrahlende Gebiete sind gerne Quarze und ihre Zuleitung. Kurze gerade Bahnen verwenden, Quarzgehäuse auf ein definiertes Potential legen (meist GND) und Bahnen wenn möglich wie einen Sandwich von 2 Seiten durch Masseflächen einsperren.&lt;br /&gt;
* HF-&amp;quot;heiße&amp;quot; Kontakte oder Leiterbahnen die abgeschirmt/abgedeckt werden sollten, kann man bei bekannter Frequenz finden, indem man in kurzer Entfernung mit einem Messempfänger die Frequenz überwacht und mit einem Schraubenzieher (wirkt als Antenne und Schnüffelsonde) die in Frage kommenden Anschlüsse berührt. Bei anwesender HF steigt dann der Pegel am Empfänger deutlich an. Mitunter reicht es aus, in ein paar mm Entfernung zu den Leiterbahnen den Schraubenzieher zu bewegen, die geringe Kapazität (noch unter 1 pF) reicht als Koppelkapazität aus.&lt;br /&gt;
* Prozessoren und Taktleitungen wenn möglich ebenfalls durch gut geerdete Masseflächen abdecken.&lt;br /&gt;
* Funken an Schaltkontakten mit [[Snubber]] löschen&lt;br /&gt;
&lt;br /&gt;
==Maßnahmen am Aufbau==&lt;br /&gt;
* Kabel zu einer getrennten Stromversorgung oder Batterie über verdrillte Kabel oder sogar abgeschirmte Leitung&lt;br /&gt;
* Alle Datenkabel abschirmen. Die Abschirmung direkt mit dem Gehäuse verbinden.&lt;br /&gt;
* Keine Flachkabel verwenden. (Innerhalb des Gehäuses ist das erlaubt. Außerhalb nicht.)&lt;br /&gt;
* Zahnscheiben beim Zusammenschrauben verwenden, damit das Gehäuseteile (wie Rückwand, Frontplatte, Deckel) leitend mit dem Gehäuse verbunden sind.&lt;br /&gt;
* Alle Gehäuseteile an mehreren Stellen über Leitungen oder Kupferband miteinander zu verbinden.&lt;br /&gt;
* Steuerleitungen und leistungsführende Leitungen nie parallel verlegen. Nicht in gleiche Kabelschächte, sondern möglichst weit voneinander entfernt.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[EMV Einfache Tester]] - einfache EMV-Tests mit Hobbymitteln&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/292796?goto=new#new Forumsbeitrag]: Ferrit-Beads und Spulen Werte/Values&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/554799?goto=7422227#7420498 Forumsbeitrag]: Sonnenstürme Auswirkung&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/571201#7753680 Forumsbeitrag]: Störungen von Relais (EMI) bringen I2C-Display/USB aus dem Takt&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.emv-foerderverein.de/listen/lit_tec.htm Verein zur Förderung der EMV-Technologie im Land NRW e.V.]&lt;br /&gt;
* Joachim Franz, EMV Störungssicherer Aufbau elektronischer Schaltungen, [http://www.teubner.de/index.php;do=show/site=t/book_id=6416/sid=23 Teubner], ISBN 978-3-519-10397-4&lt;br /&gt;
* [http://www.infineon.com Infineon], AP24026, EMC Design Guidelines for Microcontroller Board Layout ([http://www.infineon.com/dgdl/Infineon-ap2402633_EMC_Guidelines.pdf-AN-v03_05-EN.pdf?fileId=db3a304412b407950112b409ea7b03d0 PDF], [http://application-notes.digchip.com/070/70-41115.pdf neuer Link], 3.5 MB)&lt;br /&gt;
* [http://www.infineon.com Infineon], PCB Design Guidelines Appl. Note ([http://www.infineon.com/dgdl/PCB_design_guidelines_appl_notes.pdf?folderId=db3a304412b407950112b414e5cb1ceb&amp;amp;fileId=db3a304412b407950112b414e5fb1cec PDF], 0.5 MB)&lt;br /&gt;
* [http://www.bmwi.de/BMWi/Redaktion/PDF/Gesetz/emvg,property=pdf,bereich=bmwi,sprache=de,rwb=true.pdf EMV-Gesetz] (EMVG) von 2008&lt;br /&gt;
* [http://www.fordemc.com/docs/download/EMC%20Design%20Guide%20for%20PCB.pdf EMC Design Guide] der Ford Motor Company&lt;br /&gt;
* [https://hott.shielddigitaldesign.com/tips.html Tech Tips] by Henry Ott Consultants&lt;br /&gt;
* [http://www.vishay.com/inductors/ferrite-bead-calculator/ Ferrite Bead Calculator] von Vishay &lt;br /&gt;
* [https://www.sieb-meyer.de/tl_files/media/Produkte/Downloads/EMC_EMV/Deutsch/EMV_Geraeteaufbau.pdf EMV-Geräteaufbau] von Sieb &amp;amp; Meyer&lt;br /&gt;
*[https://recom-power.com/de/support/resource-library/book-of-knowledge/ac-dc-book-of-knowledge/ac-dc-book-of-knowledge.html?0 The AC/DC Book Of Knowledge], Umfangreiches Dokument zur Anwendung und Entstörung von Schaltreglern, deutsch und englisch, Anmeldung erforderlich&lt;br /&gt;
* [https://www.emcstandards.co.uk/cable-shield-grounded-at-one-end-only Cable Shield Grounded At One End Only] (engl.), Argumente für eine beidseitige Masseverbindung zum Schirm&lt;br /&gt;
* [https://www.emcstandards.co.uk/one-plane-to-rule-them-all One Plane to rule them all!] EMC meets Lord of the Rings, Ode an die durchgehende Massefläche ;-)&lt;br /&gt;
* [https://www.youtube.com/watch?v=MmG_m4xVNfQ ESD Protection Basics] - TVS Diode Selection &amp;amp; Routing - Phil&#039;s Lab #75&lt;br /&gt;
* [https://doi.org/10.1029/2019SW002278 A 21st Century View of the March 1989 Magnetic Storm]&lt;br /&gt;
* [https://irp.fas.org/eprint/geomag.pdf Geomagnetic Storms and Their Impacts on the U.S. Power Grid]&lt;br /&gt;
* [https://https://www.nutwooduk.co.uk/archive/old_archive/Bananaskins.htm EMC &amp;amp; Compliance Journal: Banana Skins]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Platinen]]&lt;br /&gt;
[[Kategorie:Spannungsversorgung und Energiequellen]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Spannungsteiler&amp;diff=107811</id>
		<title>Spannungsteiler</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Spannungsteiler&amp;diff=107811"/>
		<updated>2025-12-28T14:17:08Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Siehe auch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
Oft ist es notwendig, die Ausgangsspannung eines Sensors an den Eingangsspannungsbereich eines [[AD-Wandler]]s anzupassen. Ist die Ausgangsspannung größer als die Eingangsspannung, ist dies sehr einfach und kostengünstig mit einem Spannungsteiler machbar.&lt;br /&gt;
&lt;br /&gt;
== Einfacher Spannungsteiler ==&lt;br /&gt;
&lt;br /&gt;
Die wohl einfachste Anwendung des Ohmschen Gesetzes ist der einfache Spannungsteiler. Dabei wird eine große Eingangsspannung linear in eine kleine Ausgangsspannung umgesetzt. Der mathematische Zusammenhang ist dabei&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;U_\text{AUS} = U_\text{EIN} \cdot \frac{R_2}{R_1+R_2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Datei:st_einfach.png]]&lt;br /&gt;
&lt;br /&gt;
Die Berechnung von &amp;lt;math&amp;gt;R_1&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;R_2&amp;lt;/math&amp;gt; ist einfach. Es wird ein Wert für &amp;lt;math&amp;gt;R_1&amp;lt;/math&amp;gt; oder &amp;lt;math&amp;gt;R_2&amp;lt;/math&amp;gt; gewählt und die Formel nach &amp;lt;math&amp;gt;R_1&amp;lt;/math&amp;gt; bzw. &amp;lt;math&amp;gt;R_2&amp;lt;/math&amp;gt; umgestellt. Das soll hier beispielhaft geschehen.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;R_2 = R_1 \cdot \frac{U_\text{AUS}}{U_\text{EIN}-U_\text{AUS}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für die Herleitung der Formel siehe den [https://de.wikipedia.org/wiki/Spannungsteiler Wikipedia-Artikel zum Spannungsteiler].&lt;br /&gt;
&lt;br /&gt;
Ein Windows-Programm, das den Spannungsteiler aus Widerständen der E12- oder E24-Reihe mit der niedrigsten Toleranz automatisch berechnet, findet sich unter [http://www.elexs.de/kap2_4.htm elexs.de/kap2_4.htm]. Online (mit JavaScript) geht dies unter [http://www.gjlay.de/helferlein/spannungsteiler.html gjlay.de/helferlein/spannungsteiler.html].&lt;br /&gt;
&lt;br /&gt;
== Spannungsteiler mit Biaskorrektur ==&lt;br /&gt;
&lt;br /&gt;
Manche Spannungsteiler ziehen Strom, bzw. liefern einen &#039;&#039;konstanten&#039;&#039; Strom. Eine Möglichkeit besteht darin, die Widerstände niederohmig zu dimensionieren. Nachteil dieser Lösung ist die überproportional zunehmende Verlustleistung.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man den Spannungsteiler mit Offset folgendermaßen berechnen:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;U_\text{AUS} = \frac{R_2 \cdot U_\text{EIN}}{R_1+R_2}-\frac{I_B}{\frac{1}{R_1}+\frac{1}{R_2}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Löst man die Gleichung nach &amp;lt;math&amp;gt;R_2&amp;lt;/math&amp;gt; auf, erhält man&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;R_{2} = \frac{U_\text{AUS} \cdot R_1}{U_\text{EIN}-I_B \cdot R_1-U_\text{AUS}}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Spannungsteiler mit Offset, passiv ==&lt;br /&gt;
&lt;br /&gt;
Um einiges komplizierter wird die Situation, wenn die Eingangsspannung mit einem Offset behaftet ist, oder wenn die Ausgangsspannung einen Offset haben soll. Hier kommt ein Spannungsteiler mit 3 Widerständen zum Einsatz. Die Berechnung der Widerstände &amp;lt;math&amp;gt;R_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;R_2&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;R_3&amp;lt;/math&amp;gt; ist um einiges komplexer. Hier kann mit dem Überlagerungsprinzip (Superpositionsprinzip) gerechnet werden. Man erhält&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;U_\text{AUS} = U_\text{EIN} \cdot \frac{\frac{R_1 \cdot R_2}{R_1+R_2}}{\frac{R_1 \cdot R_2}{R_1+R_2} + R_3}&lt;br /&gt;
 + V_\text{CC} \cdot \frac{\frac{R_3 \cdot R_2}{R_3+R_2}}{\frac{R_3 \cdot R_2}{R_3+R_2} + R_1}&amp;lt;/math&amp;gt; und&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;U_\text{EIN} = \left(U_\text{AUS} - V_\text{CC} \cdot \frac{\frac{R_3 \cdot R_2}{R_3+R_2}}{\frac{R_3 \cdot R_2}{R_3+R_2} + R_1}\right) \cdot \frac{\frac{R_1 \cdot R_2}{R_1+R_2} + R_3}{\frac{R_1 \cdot R_2}{R_1+R_2}}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Mit&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;R_a = R_1||R_2 = \frac{R_1 \cdot R_2}{R_1+R_2}&amp;lt;/math&amp;gt; und&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;R_b = R_3||R_2 = \frac{R_3 \cdot R_2}{R_3+R_2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lassen sich die Formeln etwas übersichtlicher schreiben:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;U_\text{AUS} = U_\text{EIN} \cdot \frac{R_a}{R_a + R_3}&lt;br /&gt;
 + V_\text{CC} \cdot \frac{R_b}{R_b + R_1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;U_\text{EIN} = \left(U_\text{AUS} - V_\text{CC} \cdot \frac{R_b}{R_b + R_1}\right) \cdot \frac{R_a + R_3}{R_a}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dieses Gleichungssystem ist unterbestimmt. Das heißt, dass es unendlich viele Lösungen gibt. Zur praktischen Anwendung muss man daher bei gegebenen Spannungswerten noch einen Widerstandswert wählen, zum Beispiel den von &amp;lt;math&amp;gt;R_2&amp;lt;/math&amp;gt;, um die Werte der anderen Widerstände wie &amp;lt;math&amp;gt;R_1&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;R_3&amp;lt;/math&amp;gt; bestimmen zu können.&lt;br /&gt;
&lt;br /&gt;
Um die praktische Anwendung zu vereinfachen finden sich alle Formeln in einer [[Media:Spannungsteiler_mit_Offset.zip | Exceltabelle]] wieder. Die Nutzung ist praktisch selbsterklärend. Im oberen Teil trägt man alle gegebenen bzw. gewünschten Parameter ein, im Mittelteil erscheinen Zwischenergebnisse, die jedoch für die direkte Anwendung nicht von Bedeutung sind. Wichtig sind nur die Ergebnisse ganz unten mit den Werten für &amp;lt;math&amp;gt;R_1&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;R_3&amp;lt;/math&amp;gt; sowie dem Eingangs- und Ausgangswiderstand des Spannungsteilers sowie die obere Grenzfrequenz.&lt;br /&gt;
&lt;br /&gt;
[[Datei:st_offet.png]]&lt;br /&gt;
&lt;br /&gt;
Für die Anwendung ist es wichtig zu wissen, dass die Quelle, welche den Spannungsteiler speist, einen geringen Innenwiderstand haben muss, damit es nicht zu unakzeptablen Messfehlern kommt. „Pi mal Daumen“ gilt, dass der Innenwiderstand nur 1 % vom Eingangswiderstand des Spannungsteilers betragen darf, damit der Messfehler nicht größer als 1 % wird (&amp;lt;math&amp;gt;R_2&amp;lt;/math&amp;gt; möglichst groß wählen). Ist das nicht möglich, dann muss ein Operationsverstärker als Impedanzwandler eingesetzt werden (Spannungsfolger). Als weiterer systematischer Messfehler kommen noch die Toleranzen der Widerstände R1…R3 hinzu. Bei 1-%-Metallschichtwiderständen beträgt dieser etwa 2 %. Wenn es genauer sein soll, muss man 0,1-%-Widerstände verwenden oder eine Kalibrierung durchführen. Eine dritte systematische Fehlerquelle ist die Spannung &amp;lt;math&amp;gt;V_\text{CC}&amp;lt;/math&amp;gt;, welche normalerweise die Versorgungsspannung bzw. Referenzspannung des ADC ist. Der Einfluss von &amp;lt;math&amp;gt;V_\text{CC}&amp;lt;/math&amp;gt; wird durch den Spannungsteiler etwas abgeschwächt und liegt bei ca. 0,1 bis 1. D.&amp;amp;nbsp;h. 10&amp;amp;nbsp;mV Fehler von &amp;lt;math&amp;gt;V_\text{CC}&amp;lt;/math&amp;gt; erscheinen als 1…10&amp;amp;nbsp;mV Fehler auf dem Messsignal. Selbstverständlich muss &amp;lt;math&amp;gt;V_\text{CC}&amp;lt;/math&amp;gt; auch ausreichend stabil und belastbar sein. Der einfache Aufbau wird jedoch mit einigen Nachteilen erkauft.&lt;br /&gt;
&lt;br /&gt;
* relativ geringer Eingangswiderstand&lt;br /&gt;
* hoher Ausgangswiderstand&lt;br /&gt;
* bei hochohmigen Widerständen sinkt die obere Grenzfrequenz, nur langsame Signale sind dann noch messbar&lt;br /&gt;
&lt;br /&gt;
Als grobe Abschätzung gilt&lt;br /&gt;
* &amp;lt;math&amp;gt;R_\text{aus}=R_1||R_2||R_3 = \frac{1}{\frac{1}{R_1} + \frac{1}{R_2} + \frac{1}{R_3}}&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;f_\text{3 dB}=\frac{1}{2 \pi \cdot R_\text{aus} \cdot C_\text{ein}}&amp;lt;/math&amp;gt;&lt;br /&gt;
* Einschränkungen bezüglich der Werte für &amp;lt;math&amp;gt;U_\text{ein,min}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;U_\text{ein,max}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;U_\text{aus,min}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;U_\text{aus,max}&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;U_\text{aus,min} &amp;gt;= U_\text{ein,min}&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;U_\text{aus,max} &amp;gt;= U_\text{ein,max}&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;V_\text{CC} &amp;gt;= U_\text{ein,max}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(&amp;lt;math&amp;gt;f_\text{3 dB}&amp;lt;/math&amp;gt; ist die Frequenz, bei der das Ausgangssignal um 3&amp;amp;nbsp;dB (≈&amp;amp;nbsp;30 % der Spannung) abgefallen ist.)&lt;br /&gt;
&lt;br /&gt;
Nachfolgend ist eine praktische Schaltung des Spannungsteilers mit einem [[AVR]]-Mikrocontroller gezeigt. Prinzipiell gilt sie natürlich für jeden [[Mikrocontroller]] bzw. ADC. Wichtig ist hier der Kondensator C1. Dieser ist notwendig, um kurzzeitig Strom zu liefern, wenn der ADC das Eingangssignal abtastet. Leider sinkt damit auch die obere Grenzfrequenz (siehe Formel für &amp;lt;math&amp;gt;f_\text{3 dB}&amp;lt;/math&amp;gt;). Hier muss ein Kompromiss aus Grenzfrequenz, Ausgangswiderstand und Messfehler gefunden werden. Der Kondensator C2 ist kein diskret platziertes Bauteil, er symbolisiert vielmehr die unvermeidliche Eingangskapazität des ADC.&lt;br /&gt;
&lt;br /&gt;
[[Datei:st_avr.png]]&lt;br /&gt;
&lt;br /&gt;
== Spannungsteiler mit Offset, aktiv ==&lt;br /&gt;
&lt;br /&gt;
Mit etwas mehr Aufwand kann man die genannten Probleme beseitigen. Ein Operationsverstärker bietet hier viele Vorteile.&lt;br /&gt;
&lt;br /&gt;
* sehr hoher Eingangswiderstand&lt;br /&gt;
* niedriger Ausgangswiderstand, wichtig zum Speisen von ADC-Eingängen&lt;br /&gt;
* &amp;lt;math&amp;gt;U_\text{ein,min}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;U_\text{ein,max}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;U_\text{aus,min}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;U_\text{aus,max}&amp;lt;/math&amp;gt; hängen praktisch nur von der Beschaltung des Operationsverstärker ab.&lt;br /&gt;
&lt;br /&gt;
[[Datei:st_opv.png]]&lt;br /&gt;
&lt;br /&gt;
Der mathematische Zusammenhang ist dabei gegeben durch&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;U_\text{AUS} =  U_\text{P} \cdot \left( 1 + \frac{R_1}{R_2} \right) - U_\text{N} \cdot \frac{R_1}{R_2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann sowohl UP als auch UN als Eingang benutzen und erhält damit einen invertierenden oder nichtinvertierenden Verstärker mit Offset. Die Berechung der Parameter findet man auch in der [[Media:Spannungsteiler_mit_Offset.zip | Exceltabelle]]. Wenn die Rechnung negative Zahlen ergibt, ist die gewählte Kombination aus Ein- und Ausgangsspannungsbereich nicht möglich!&lt;br /&gt;
&lt;br /&gt;
== Spannungsteiler, der Geheimtip ==&lt;br /&gt;
&lt;br /&gt;
Oft verwendet man Spannungsteiler, um ein Signal für eine anschließende ADC-Wandlung anzupassen.&lt;br /&gt;
Verwendet man 15&amp;amp;nbsp;kΩ und 1&amp;amp;nbsp;kΩ bzw. 150&amp;amp;nbsp;kΩ und 10&amp;amp;nbsp;kΩ, stellt sich ein Teilungsverhältnis von 1:16 ein … welches sehr einfach durch 4fach-Shift im Controller kompensiert werden kann. Das geht wesentlich schneller als die entsprechende Multiplikation.&lt;br /&gt;
&lt;br /&gt;
== Messung hochohmiger Widerstände ==&lt;br /&gt;
&lt;br /&gt;
Will man sehr hochohmige Widerstände messen, die deutlich hochohmiger als der Meßbereich der meisten Multimeter sind (10-50MOhm), so kann man das relativ leicht mittels Spannungsteiler aus Meßobjekt RX und Meßgerät tun. Die allermeisten Digitalmultimeter haben 10 MOhm Eingangswiderstand. Damit läßt sich der gesuchte Widerstand einfach ermitteln. Selbst wenn das Meßobjekt 100 mal hochohmiger als das Multimeter ist (z.B. 1 GOhm), so hat man mit 10V Testspannung immer noch 100mV als Meßwert, welcher relativ sicher und genau gemessen werden kann.&lt;br /&gt;
[[bild:Gohm_Messung.png | thumb | 150px | left | Praktischer Aufbau]]&lt;br /&gt;
&lt;br /&gt;
* Messung der Spannungsquelle, UT&lt;br /&gt;
* Messung in Reihe mit Meßobjekt, U2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;R_X=(\frac{U_T}{U_2}-1) \cdot 10M\Omega&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fehlerrechnung ==&lt;br /&gt;
Bei vielen Meßtechnikanwendungen dient der Spannungsteiler der Einstellung bestimmter Verstärkungsverhaltnisse, um z.B. einen ADC sinnvoll auszusteuern oder auch eine analoge Anzeige zu skalieren. Dabei ist es wichtig, eine Fehlerrechnung durchzuführen, welche eine Aussage macht, inwieweit die Streuung der Bauteile Einfluss nimmt. Dies ist besonders dann wichtig, wenn die Belastung eines Spannungsteilers nicht genau bekannt ist, weil z.B. der Rin eines Chips nur auf 10% bekannt ist. Die klassische Behandlung solcher Unsicherheiten besteht darin, den vorgeschalteten Spannungsteiler entsprechend niederohmig auszulegen. Fließt dort z.B. der 10-fache Strom gegenüber dem belastenden Eingang, so sinkt der Einfluss dessen Ungenauigkeit auf 1:10 - mit dem Resultat, dass er zusammen mit dem vorgeschalteten Spannungsteiler aus 1%-Widerständen zu einem Gesamtfehler von ca 3% führt.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/297748#3185471 Forumsbeitrag]: Frequenzkompensierter 10:1-Teiler mit 1&amp;amp;nbsp;MΩ Impedanz&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/577673#7874088 Forumsbeitrag]: Differentieller Spannungsteiler bis 5kV&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [https://de.wikipedia.org/wiki/Spannungsteiler Wikipedia-Artikel zum Spannungsteiler]&lt;br /&gt;
* [https://www.youtube.com/watch?v=jUvSP3BQpvs Youtube-Video]: Dynamischer Spannungsteiler für 5kV&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Bauteile]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Fehlersuche&amp;diff=107805</id>
		<title>Fehlersuche</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Fehlersuche&amp;diff=107805"/>
		<updated>2025-12-18T19:33:33Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
Auf neudeutsch [http://de.wikipedia.org/wiki/Debugger Debugging] genannt (engl. bug = Wanze). Die Fehlersuche in Geräten, welche defekt sind oder die man sogar selber gebaut hat, ist eine der Hauptbeschäftigungen beim Umgang mit Elektronik, egal ob Hardware oder Software. Deshalb sollte man sie möglichst effizient betreiben.&lt;br /&gt;
&lt;br /&gt;
== Grundlagen ==&lt;br /&gt;
&lt;br /&gt;
=== Vorgehen ===&lt;br /&gt;
&lt;br /&gt;
Am Anfang kann man von unzähligen Fehlermöglichkeiten förmlich erschlagen werden. Und dann weiß man manchmal nicht so recht, wo man anfangen soll. Aber auch dafür gibt es Konzepte, welche sich dem individuellen Problem anpassen lassen.&lt;br /&gt;
&lt;br /&gt;
* Einfach zu prüfende, grundlegend wichtige Dinge zuerst prüfen. Wenn ein Auto stehen bleibt, prüft man erstmal, ob noch Treibstoff im Tank ist und nicht, ob die Kurbelwelle gebrochen ist. Grundlegende Dinge sind&lt;br /&gt;
** Stromversorgung&lt;br /&gt;
** wichtige Eingangssignale&lt;br /&gt;
** wichtigen Zwischensignale&lt;br /&gt;
* Sind meine Messgeräte OK?&lt;br /&gt;
**Batterie im [[Multimeter]] noch halbwegs voll?&lt;br /&gt;
**Kalibrierung stimmt?&lt;br /&gt;
**Tastköpfe am Oszilloskop richtig kompensiert?&lt;br /&gt;
* Messe ich am richtigen IC und am richtigen Pin? Je nach Bauteil zeigt das Datenblatt die Pinbelegung von oben (top view) oder unten (bottom view).&lt;br /&gt;
* Keine voreiligen Schlüsse. Man sollte Fehlerursachen nur dann wirklich ausschließen, wenn man sie eindeutig geprüft und gemessen hat.&lt;br /&gt;
* Den Testaufbau schrittweise einschränken und vereinfachen. Nach Möglichkeit Schaltungs/- oder Softwareteile deaktivieren bzw. abklemmen oder austauschen (ICs, Module, Kabel, Programmteile, Funktionen, etc.).&lt;br /&gt;
* Teile und herrsche. Wenn in einer langen Signalkette das Ausgangssignal nicht stimmt, sollte man sich sich nicht Schritt für Schritt durchhangeln sondern immer erst die Mitte der Kette prüfen. Beispiel. In einer Kette von 10 Verstärkerstufen prüft man zuerst die 5. Stufe. Ist das Signal dort OK, liegt der Fehler zwischen Stufe 5 und 10, also prüft man danach Stufe 7 oder 8. Im anderen Fall, wenn Stufe 5 schon kein gutes Siganl mehr ausgibt, liegt der Fehler zwischen 1 bis 5, man prüft somit im nächsten Schritt Stufe 2 oder 3. Somit findet man in einer Kette bzw. Reihenschaltung von sehr vielen Elementen sehr schnell das Problem.&lt;br /&gt;
&lt;br /&gt;
=== Hilfsmittel ===&lt;br /&gt;
&lt;br /&gt;
Für die Fehlersuche in  Hardware braucht man je nach Art der Schaltung&lt;br /&gt;
&lt;br /&gt;
* ein oder mehrere [[Multimeter]]&lt;br /&gt;
* Labornetzteil mit Strombegrenzung&lt;br /&gt;
* Status-[[LED]]s&lt;br /&gt;
* [[Oszilloskop]]&lt;br /&gt;
* Logikanalysator&lt;br /&gt;
* Funktionsgenerator&lt;br /&gt;
* Netzwerkanalysator&lt;br /&gt;
* Trenntrafo&lt;br /&gt;
&lt;br /&gt;
Typische Werkzeuge für das Softwaredebuggen sind&lt;br /&gt;
&lt;br /&gt;
* Simulator: Damit wird der Code nur auf dem PC simuliert&lt;br /&gt;
* In Circuit Debugger: Er kann das echte Programm auf der echten Hardware debuggt werden, man kann Haltepunkte (engl. break points) im Programm setzen, Variablen anschauen und vieles mehr&lt;br /&gt;
* [[UART]] für Debugausgaben&lt;br /&gt;
* Status-[[LED]]s&lt;br /&gt;
* Testpins&lt;br /&gt;
&lt;br /&gt;
=== Allgemeine Hinweise ===&lt;br /&gt;
&lt;br /&gt;
*Wenn ein Fehler konstant vorliegt oder reproduzierbar ist, hat man in gewisser Weise Glück. Diese Fehler sind eher leicht zu finden und zu beheben. Ziel der Fehlersuche ist es, einen Fehler reproduzierbar zu machen.&lt;br /&gt;
*Sporadische Fehler sind sehr gefährlich und sehr schwer lokalisierbar, wie z.B. Hardwarefehler&lt;br /&gt;
**Wackelkontakte&lt;br /&gt;
**Haarrisse&lt;br /&gt;
**Risse durch mechanische oder thermische Spannungen&lt;br /&gt;
*oder Softwarefehler wie&lt;br /&gt;
** nichtatomare Zugriffsfehler auf Variablen in [[Interrupt#Atomarer Datenzugriff|Interrupts]]&lt;br /&gt;
**Variablenüberläufe, welche erst nach Stunden oder Tagen auftreten (Echtzeituhr, Datum, Ereigniszähler)&lt;br /&gt;
**Pufferüberläufe in Strings und Arrays&lt;br /&gt;
Gerade die sporadischen Fehler sollte man vermeiden, indem man möglichst solide arbeitet. D.h.&lt;br /&gt;
*Hardware&lt;br /&gt;
** gutes Konzept, d.h. die Schaltung sollte möglichst unempfindlich gegenüber Bauteiltoleranzen und Störungen sein&lt;br /&gt;
** sauber löten&lt;br /&gt;
** Bauteilkennwerte nicht überschreiten, Reserven einplanen&lt;br /&gt;
** Toleranzen und Temperaturverhalten der Bauteile beachten&lt;br /&gt;
*Software&lt;br /&gt;
** gutes Konzept&lt;br /&gt;
** [[Strukturierte Programmierung auf Mikrocontrollern | sauber programmieren]], keine Hackertricks&lt;br /&gt;
** defensiv programmieren, umfangreiche Fehlerbehandlung&lt;br /&gt;
&lt;br /&gt;
== Fehlersuche in Hardware ==&lt;br /&gt;
&lt;br /&gt;
* Stromversorgung&lt;br /&gt;
** Ist das Gerät ans Netz(teil) angeschlossen? Korrekte Polung?&lt;br /&gt;
** Ist die Sicherung OK?&lt;br /&gt;
** Liefert der Spannungsregler die korrekte Spannung?&lt;br /&gt;
** Ist mein Messgerät auf die richtige Spannungsform eingestellt (AC oder DC)?&lt;br /&gt;
** Liegt die Spannung an allen wichtigen ICs an?&lt;br /&gt;
** Liegt die Stromaufnahme im erwarteten Bereich?&lt;br /&gt;
* Signalpfade&lt;br /&gt;
** Wie sieht das Eingangssignal aus?&lt;br /&gt;
** Liegen die richtigen Ruhesignale (Arbeitspunkt, Ruhestrom) an den wichtigen Punkten der Schaltung an?&lt;br /&gt;
** Liegen die richtigen Signale an den Zwischenpunkten der Schaltung an?&lt;br /&gt;
** Sind Logikpegel sauber LOW und HIGH? Wenn nein, dann sind oft mehrere Ausgänge gleichzeitig auf einem [[Bus]] aktiv und ziehen in verschiedene Richtungen (Low und High). Oder Die Ausgänge sind zu schwach, um die Lasten zu treiben.&lt;br /&gt;
** Sind Taktsignale sauber ohne Überschwinger und Zacken in den Flanken? Falsche [[Wellenwiderstand | Terminierung]], schleche Leitungsführung (Masse) oder EMV-Probleme können die Ursache sein.&lt;br /&gt;
**Dabei sollte man aber auch sauber messen, um nicht einem Phantom hinterher zu jagen (Bandbreite des [[Oszilloskop#Tastköpfe richtig benutzen| Tastkopfes]] und [[Oszilloskop]]s, kurze Masseverbindung ([http://www.mikrocontroller.net/topic/81049#677911 ground spring]), möglichst keine Erdschleifen).&lt;br /&gt;
** Wenn Signale ganz fehlen oder sich nicht ändern? Kurzschlüsse? Unterbrechungen? Wackelkontakte?&lt;br /&gt;
*Fehlfunktionen&lt;br /&gt;
** Werden ICs ungewöhnlich heiß? Einfache Logik-ICs und Operationsverstärker werden normalerweise kaum warm, Endstufen, [[Treiber]], Leistungstransistoren, Linearregler und große ICs ([[FPGA]]s, Tranceiver etc.) dagegen schon.&lt;br /&gt;
** Schwingen Quarze und Oszillatoren korrekt? Vorsicht beim direkten Messen an Quarzen, die reagieren bisweilen empfindlich auf zusätzliche Lastkapazitäten, hier auf jeden Fall mit einem 10:1 Tastkopf messen. In schwierigen Fällen schaltet man noch einen winzigen Kondensator mit 1pF in Reihe zum Tastkopf. Damit wird das Signal zum Oszilloskop zwar noch kleiner, aber die kapazitive Belastung des Oszillators sinkt auf unter 1pF.&lt;br /&gt;
** &amp;quot;Hello World!&amp;quot; Minimaltest für Mikrocontroller. Eine [https://www.mikrocontroller.net/articles/AVR_Checkliste#Testprogramm LED im 1s Rhytmus blinken] lassen. Damit kann man viele einfache Dinge erstmal prüfen, das sollte man am Anfang immer erst einmal machen.&lt;br /&gt;
*** Compiler funktioniert und erzeugt ein gültiges Hex-File&lt;br /&gt;
*** Programmierung funktioniert&lt;br /&gt;
*** Mikrocontroller kann das Programm ausführen, Spannung und Takt liegen an&lt;br /&gt;
&lt;br /&gt;
=== Tips zum Hardwaredebugging ===&lt;br /&gt;
&lt;br /&gt;
* Freie Pins an Mikrocontrollern, [[FPGA]]s, [[CPLD]]s auf Testpads legen, das ist vor allem bei kleinen Gehäusen wie TQFP, MLF oder gar [[BGA]]s notwendig, um dort mit Testspitzen und Drähten ranzukommen. Wenn es genügend Platz gibt sollte man Testpunkte mit Bohrung (THT) nehmen, in diese kann man Drähte einlöten und dort Prüfklemmen anschließen. Diese Testpunkte sind mechanisch deutlich stabiler.&lt;br /&gt;
* In wichtige Punkte der Stromverteilung Null Ohm Widerstände einfügen, dort kann man später ein Messgerät einschleifen; alternativ wenigstens die Leiterbahn gut zugänglich auf der Ober- oder Unterseite layouten, damit man sie im Testfall mit dem Skalpell auftrennen kann.&lt;br /&gt;
* Viele Vorgänge in Mikrocontrollerschaltungen sind nicht periodisch. Um sie zu messen braucht man meist ein [[Oszilloskop | Digitaloszilloskop]]. Hat man sowas nicht zur Verfügung, muss man versuchen, die Vorgänge periodisch zu machen, indem man z.B. eine Datenausgabe per [[UART]] oder [[SPI]] in einer Schleife immer wieder ausführt. Damit kann man sie auch mit einem Analogoszilloskop darstellen.&lt;br /&gt;
* Testpins sind sehr nützlich, um Zeitverhalten von Software zu messen, z.B. Interruptroutinen. Zum Beginn setzt man ein Pin auf HIGH, am Ende auf LOW, das kann man dann sehr einfach mit einem Oszilloskop messen&lt;br /&gt;
* Ebenfalls kann man mit so einem Testpin den Anfang eines speziellen Programmablaufs signalisieren, um ein Oszilloskop zu triggern, was sonst in einem komplexen Signalspiel nur sehr schwer möglich wäre&lt;br /&gt;
*Treten Fehler erst bei hohen oder niedrigen Temperaturen auf? Mit Kältespray und Heißluftpistole kann man sie provozieren.&lt;br /&gt;
*Einfache Logikschaltungen wie z.B. den [[SPI]]-[[Bus]] kann man auch ohne [[Oszilloskop]] anschauen, indem man das Timing der Steuersignale extrem verlangsamt. Das schafft man, indem man im Programm hinter jedem Portzugriff eine Pause von ca. 1s macht (avr gcc -&amp;gt; _delay_ms(1000)). Damit kann man an jedes Signal eine [[LED]] mit Vorwiderstand anschließen und das Signalspiel sichtbar machen. Das Gleiche gilt für [[I2C]], da auch dieser ein synchroner Bus ist und damit beliebig langsam getaktet werden kann. Man muss nur beachten, dass dadurch die Busleitungen mit den Open Drain Ausgängen nicht zu sehr belastet werden. Am Besten schließt man diese Test-LEDs ebenfalls invertiert an, parallel zu den Pull Up Widerständen, d.h. Anode über Vorwiderstand an VCC und die Kathode jeweils an die beiden Siganle SCL und SDA. Beim [[UART]] geht das leider nicht, dieser ist asynchron und auf ein genaues Timing angewiesen.&lt;br /&gt;
&lt;br /&gt;
=== FPGAs und CPLDs ===&lt;br /&gt;
&lt;br /&gt;
* In komplexeren FPGA-Schaltungen, welche z.B. Videodaten mittels [[AD-Wandler]] aufnehmen und verarbeiten, kann man den AD-Wandler zu Testzwecken durch ein synthetisches Modul im FPGA ersetzen, welches definierte Datenströme erzeugt, sozusagen ein digitaler Funktionsgenerator&lt;br /&gt;
* In FPGAs kann man auch virtuelle Logikanalysatoren einbauen, welche Datenströme im FPGA aufzeichnen; Die Steuerung erfolgt oft über [[JTAG]] oder spezielle Schnittstellen&lt;br /&gt;
  &lt;br /&gt;
=== Kurzschlüsse finden ===&lt;br /&gt;
&lt;br /&gt;
In der Entwicklung von Schaltungen geht immer mal was kaputt. Bauteile brennen durch. Doch wie findet man sie, wenn sie zwar defekt, aber nicht äusserlich zerstört sind? Wie findet man einen defekten IC an einem [[SPI]]-[[Bus]] mit 10 angeschlossenen ICs?&lt;br /&gt;
&lt;br /&gt;
* Verpolte [[Kondensator#Elektrolyt-Kondensator|Elektrolytkondensatoren]] (Aluminium, Tantal) findet man meist recht schnell, wenn man mit einem strombegrenzten Netzteil die Schaltung speist. Sie werden warm bis heiß, das findet man schnell (Mit dem Finger alle Bauteile prüfen, ggf. vorher den Finger leicht anfeuchten, das verhindert Verbrennungen). Immer daran denken. In realen Kurzschlüssen wird Wärme erzeugt, denn der Widerstand ist nie Null. Wenn man Strom und Spannung mißt, kennt man die Verlustleistung. Die kann nicht verschwinden, die muss irgendwo Wärme erzeugen. Diesen Fleck bzw. das Bauteil muss man finden. Ist der Kurzschluß SEHR niederohmig, braucht man eben deutlich mehr Strom.&lt;br /&gt;
*Kurzschlüsse auf verzweigten Netzen findet man per Milliohmmessung nach dem [http://de.wikipedia.org/wiki/Vierdrahtmessung Vierleiterprinzip].&lt;br /&gt;
**Schaltung ausschalten&lt;br /&gt;
**Über ein strombegrenztes Netzteil oder eine Spannungsquelle mit großem Vorwiderstand einen Konstantstrom in das fehlerhafte Netz einspeisen. Dabei richtet sich dessen Höhe nach der Art des elektrischen Netzes. Für ein Signal auf einer Platine reichen meist 100mA, für Stromversorgungsleitungen oder Verkabelung in einem Gerät können es schon mal 1-10A sein.&lt;br /&gt;
**Mit dem Multimeter im Millivolt-Messbereich die Spannung vom Einspeisepunkt (0) zu den verschiedensten Punkten im Netz messen.&lt;br /&gt;
** Dabei mißt man zunächst die Spannung an den Verzweigungspunkten im Layout. Dazu kann man sich das Netz im Layoutprogramm anzeigen lassen (bei [[Eagle]] ist das SHOW). Vorsicht, man sollte sich dabei nicht von der Darstellung im Schaltplan irritieren lassen.&lt;br /&gt;
** Steigt die Spannung hinter einer Verweigung nicht an, liegt der Kurzschluß im anderen Abzweig.&lt;br /&gt;
** Hat man die letzte Verzweigung mit dem höchsten Spannungsabfall gefunden (7), weiß man, daß der Kurzschluß zwischen diesem Meßpunkt und dem vorherigen (3) liegt.&lt;br /&gt;
** Zwischen den beiden Meßpunkten muss man nun die Leitung an mehreren Stellen messen und den Punkt finden, an dem der Spannungsabfall nicht mehr größer wird. Dort liegt der Kurzschluß.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Kurzschlussnetz.png | 600px | Netz mit Kurzschluss]]&lt;br /&gt;
&lt;br /&gt;
* Feine Kurzschlüsse auf Leiterbahnen, welche z.B. durch Fehler beim Ätzen entstehen, weil Dreck, Haare oder ähliches beim Belichten zu sehr feinen Kurzschlüssen geführt haben, kann man teilweise durch einen starken Strompuls aus einem großen Kondensator oder Netzteil freibrennen, der Kurzschluss verdampft dabei das Kupfer. Aber Vorsicht! Wenn man Pech hat verdampft auch gleich ein guter Teil der Leiterbahn!&lt;br /&gt;
* Kurzschlüsse durch Fehler in den CAM-Daten ([[Gerber-Tools|Gerber-Daten]]) kommen auch hin und wieder vor, vor allem bei Prototypen. Wie findet man den Kurzschluss zwischen einer Massefläche und VCC-Fläche? Die Vierdrahtmethode versagt hier, weil die Massefläche so groß und niederohmig ist, dass kaum Potentialunterschiede messbar sind. Auch hier braucht man wieder viel Strom. Mittels Hochstromnetzteil speist man 10-200A über möglichst dicke Anbindungen in die Flächen. Eine flächige Anbindung erreicht man bei Mehrlagenplatinen, indem man die oberen Lagen wegfräst und dort breit ein Kupferband oder Kupferfolie anlötet. Mit einer Thermokamera kann man dann den Fleck mit der Wärmeentwicklung sehen. Heutzutage gibt es bereits preiswerte Vorsätze für Smartphones ([http://www.golem.de/news/waermebildkamera-predator-auge-fuer-das-iphone-1401-103829.html FLIR ONE], [http://www.flir.de/flirone/content/?id=62912 Homepage]), um diese als preiswerte Thermokamera nutzen zu können. Um einzelne VIAs als Übeltäter überführen zu können muss man einen kurzen (1s) Strompuls mit möglichst viel Strom nutzen, dann leuchten die VIAs kurz auf. Denn schon nach wenigen Sekunden hat man nur noch einen großen, unscharfen Wärmefleck, weil die Masseflächen die Wärme des Kurzschlußes schnell und gut verteilen. Bei der [[Kühlkörper#Die Platine als Kühlkörper | Kühlung]] eines ICs ist das von Vorteil, hier aber ein Nachteil. Einen Hochstromtrafo für Wechselspannung kann man sich mit einem kleinen Ringkerntrafo (50-200W) selber bauen. Auf diesen wickelt man 1-5 Windungen sehr dicken Kabels, 6mm^2 Querschnitt und mehr. Damit hat man einen Schweißtrafo, er locker 200A bei wenig Spannung abgeben kann. Die Strommessung, so man sie braucht, macht man dabei sinnvollerweise über einen [[Stromwandler]]. Den Trafo kann man primärseitig problemlos schalten und mit einem Stelltrafo ggf. auch den Ausgangsstrom einstellen.&lt;br /&gt;
* Hat man keine Thermokamera muss man den warmen Fleck mit dem Finger ertasten. Um dann einzelne VIAs als Kurzschluss zu finden, muss man sie einzeln aufbohren und prüfen, ob der Kurzschluss beseitigt ist.&lt;br /&gt;
&lt;br /&gt;
=== Erstmaliges Einschalten einer Schaltung ===&lt;br /&gt;
&lt;br /&gt;
Schaltet man eine Schaltung das erste Mal ein, sollte man einiges beachten, um im Fehlerfall nicht vor einem Haufen Asche zu sitzen. Das gilt vor allem für Schaltungen, die größere Leistungen beinhalten (Netzteile, Motorendstufen, Wechselrichter, etc.) oder aus sehr kräftigen Quellen gespeist werden (Stromstarke Netzteile, Akkumulatoren, 230V Netz).&lt;br /&gt;
* Vor dem Einschalten die Platine noch einmal kontrollieren&lt;br /&gt;
** Sind alle Bauteile richtig bestückt?&lt;br /&gt;
** Polarität von Dioden und Kondensatoren stimmt?&lt;br /&gt;
** ICs nicht verdreht?&lt;br /&gt;
** Keine Kurzschlüsse durch Lötzinn?&lt;br /&gt;
** Ist alles um die Platine herum richtig angeschlossen? &lt;br /&gt;
*Schaltungen mit Kleinspannung aus einem Netzteil mit Strombegrenzung speisen, die Strombegrenzung nur wenig höher einstellen als das Gerät schätzungsweise benötigt.&lt;br /&gt;
*Schaltungen mit größerer Leistung bzw. Netzanschluss mit einem Sicherungsautomaten absichern.&lt;br /&gt;
*Nach dem Einschalten die wichtigsten Ströme und Spannungen messen und prüfen, ob sie wie erwartet sind&lt;br /&gt;
*Wichtige Zwischensignale messen und prüfen&lt;br /&gt;
*Wärmeentwicklung prüfen&lt;br /&gt;
*Belastung von Netzteilen und Verstärkern langsam steigern&lt;br /&gt;
&lt;br /&gt;
== Fehlersuche in Software ==&lt;br /&gt;
&lt;br /&gt;
=== Tips zum Softwaredebugging ===&lt;br /&gt;
&lt;br /&gt;
* Eine Ausgabe von Debuginformationen per [[UART]] ist oft sehr nützlich, auch wenn das Gerät im Normalbetrieb keinerlei UART nutzt&lt;br /&gt;
* Im [[EEPROM]] kann man auch Debuginformationen ablegen und später wieder auslesen&lt;br /&gt;
* Wenn man fremde Projeke übernimmt, sollte man schrittweise vorgehen.&lt;br /&gt;
** Zuerst das Projekt, welches meist ein Beispiel enthält, ohne jegliche Änderungen/Anpassungen komplett kompilieren. Wenn das funktioniert, weiß man erstmal, dass der Compiler soweit funktioniert.&lt;br /&gt;
** Danach nur minimale Änderungen, z.b. Pinzuordungen, Konfigurationen vornehmen und testen.&lt;br /&gt;
** Nach erfolgreichem Test des Beispiels mit minimalen Änderungen kann man das Projekt in größerem Maße umbauen bzw. in sein Projekt integrieren. Aber auch hier sollte man eher kleine Schritte machen und zwischendurch immer wieder die Funktion testen. Das ist einfacher als sehr viele Änderungen auf einmal durchzuführen und danach zu testen.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[AVR Checkliste]]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/299061?goto=3206880#3206853 Forumsbeitrag]: Protokoll eines unbekannt Display mittels Chaosangriff entziffern&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* Analog Circuits (World Class Designs) ISBN 978-0750686273, eine Zusammenstellung von verschiedensten Schaltungen mit ausführlichen Erklärungen; Filter, AD-Wandler, Lasertreiber, U-F Wandler, Mikrocontroller etc.&lt;br /&gt;
* Troubleshooting Analog Circuits, ISBN 978-0750694995, eine umfangreiche Mischung von Praxistips zur Entwicklung und Fehlersuche in analogen Schaltungen, viele Informationen über Bauteile und Konzepte, geschrieben von der Analoglegende [https://www.youtube.com/watch?v=-E_zUJ-SKRE Robert A. Pease]. Im Elektor-Verlag erschien die deutsche Übersetzung &amp;quot;Troubleshooting in Analogschaltungen&amp;quot; ISBN 3-89576-059-5&lt;br /&gt;
* http://www.repairfaq.org Seite mit umfangreichen Tips zur Fehlersuche, Reperatur diverser Elektronik, Laser und mehr (engl.)&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
* [http://www.analog.com/library/analogdialogue/archives/43-09/linear_circuit_design_handbook.html Basic Linear Design seminar notes] - fundiertes eBook / PDFs mit nützlichen Infos zu Schaltungsdesign, parasitären Effekten und Fehlersuche&lt;br /&gt;
* [http://www.edn.com/electronics-blogs/signal-integrity/4317296/Finger-the-culprit-Debugging-rare-modes-of-failure Debugging rare modes of failure (engl.)]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Fehlersuche&amp;diff=107804</id>
		<title>Fehlersuche</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Fehlersuche&amp;diff=107804"/>
		<updated>2025-12-18T19:18:42Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
Auf neudeutsch [http://de.wikipedia.org/wiki/Debugger Debugging] genannt (engl. bug = Wanze). Die Fehlersuche in Geräten, welche defekt sind oder die man sogar selber gebaut hat, ist eine der Hauptbeschäftigungen beim Umgang mit Elektronik, egal ob Hardware oder Software. Deshalb sollte man sie möglichst effizient betreiben.&lt;br /&gt;
&lt;br /&gt;
== Grundlagen ==&lt;br /&gt;
&lt;br /&gt;
=== Vorgehen ===&lt;br /&gt;
&lt;br /&gt;
Am Anfang kann man von unzähligen Fehlermöglichkeiten förmlich erschlagen werden. Und dann weiß man manchmal nicht so recht, wo man anfangen soll. Aber auch dafür gibt es Konzepte, welche sich dem individuellen Problem anpassen lassen.&lt;br /&gt;
&lt;br /&gt;
* Einfach zu prüfende, grundlegend wichtige Dinge zuerst prüfen. Wenn ein Auto stehen bleibt, prüft man erstmal, ob noch Treibstoff im Tank ist und nicht, ob die Kurbelwelle gebrochen ist. Grundlegende Dinge sind&lt;br /&gt;
** Stromversorgung&lt;br /&gt;
** wichtige Eingangssignale&lt;br /&gt;
** wichtigen Zwischensignale&lt;br /&gt;
* Sind meine Messgeräte OK?&lt;br /&gt;
**Batterie im [[Multimeter]] noch halbwegs voll?&lt;br /&gt;
**Kalibrierung stimmt?&lt;br /&gt;
**Tastköpfe am Oszilloskop richtig kompensiert?&lt;br /&gt;
* Messe ich am richtigen IC und am richtigen Pin? Je nach Bauteil zeigt das Datenblatt die Pinbelegung von oben (top view) oder unten (bottom view).&lt;br /&gt;
* Keine voreiligen Schlüsse. Man sollte Fehlerursachen nur dann wirklich ausschließen, wenn man sie eindeutig geprüft und gemessen hat.&lt;br /&gt;
* Den Testaufbau schrittweise einschränken und vereinfachen. Nach Möglichkeit Schaltungs/- oder Softwareteile deaktivieren bzw. abklemmen oder austauschen (ICs, Module, Kabel, Programmteile, Funktionen, etc.).&lt;br /&gt;
* Teile und herrsche. Wenn in einer langen Signalkette das Ausgangssignal nicht stimmt, sollte man sich sich nicht Schritt für Schritt durchhangeln sondern immer erst die Mitte der Kette prüfen. Beispiel. In einer Kette von 10 Verstärkerstufen prüft man zuerst die 5. Stufe. Ist das Signal dort OK, liegt der Fehler zwischen Stufe 5 und 10, also prüft man danach Stufe 7 oder 8. Im anderen Fall, wenn Stufe 5 schon kein gutes Siganl mehr ausgibt, liegt der Fehler zwischen 1 bis 5, man prüft somit im nächsten Schritt Stufe 2 oder 3. Somit findet man in einer Kette bzw. Reihenschaltung von sehr vielen Elementen sehr schnell das Problem.&lt;br /&gt;
&lt;br /&gt;
=== Hilfsmittel ===&lt;br /&gt;
&lt;br /&gt;
Für die Fehlersuche in  Hardware braucht man je nach Art der Schaltung&lt;br /&gt;
&lt;br /&gt;
* ein oder mehrere [[Multimeter]]&lt;br /&gt;
* Labornetzteil mit Strombegrenzung&lt;br /&gt;
* Status-[[LED]]s&lt;br /&gt;
* [[Oszilloskop]]&lt;br /&gt;
* Logikanalysator&lt;br /&gt;
* Funktionsgenerator&lt;br /&gt;
* Netzwerkanalysator&lt;br /&gt;
* Trenntrafo&lt;br /&gt;
&lt;br /&gt;
Typische Werkzeuge für das Softwaredebuggen sind&lt;br /&gt;
&lt;br /&gt;
* Simulator: Damit wird der Code nur auf dem PC simuliert&lt;br /&gt;
* In Circuit Debugger: Er kann das echte Programm auf der echten Hardware debuggt werden, man kann Haltepunkte (engl. break points) im Programm setzen, Variablen anschauen und vieles mehr&lt;br /&gt;
* [[UART]] für Debugausgaben&lt;br /&gt;
* Status-[[LED]]s&lt;br /&gt;
* Testpins&lt;br /&gt;
&lt;br /&gt;
=== Allgemeine Hinweise ===&lt;br /&gt;
&lt;br /&gt;
*Wenn ein Fehler konstant vorliegt oder reproduzierbar ist, hat man in gewisser Weise Glück. Diese Fehler sind eher leicht zu finden und zu beheben. Ziel der Fehlersuche ist es, einen Fehler reproduzierbar zu machen.&lt;br /&gt;
*Sporadische Fehler sind sehr gefährlich und sehr schwer lokalisierbar, wie z.B. Hardwarefehler&lt;br /&gt;
**Wackelkontakte&lt;br /&gt;
**Haarrisse&lt;br /&gt;
**Risse durch mechanische oder thermische Spannungen&lt;br /&gt;
*oder Softwarefehler wie&lt;br /&gt;
** nichtatomare Zugriffsfehler auf Variablen in [[Interrupt#Atomarer Datenzugriff|Interrupts]]&lt;br /&gt;
**Variablenüberläufe, welche erst nach Stunden oder Tagen auftreten (Echtzeituhr, Datum, Ereigniszähler)&lt;br /&gt;
**Pufferüberläufe in Strings und Arrays&lt;br /&gt;
Gerade die sporadischen Fehler sollte man vermeiden, indem man möglichst solide arbeitet. D.h.&lt;br /&gt;
*Hardware&lt;br /&gt;
** gutes Konzept, d.h. die Schaltung sollte möglichst unempfindlich gegenüber Bauteiltoleranzen und Störungen sein&lt;br /&gt;
** sauber löten&lt;br /&gt;
** Bauteilkennwerte nicht überschreiten, Reserven einplanen&lt;br /&gt;
** Toleranzen und Temperaturverhalten der Bauteile beachten&lt;br /&gt;
*Software&lt;br /&gt;
** gutes Konzept&lt;br /&gt;
** [[Strukturierte Programmierung auf Mikrocontrollern | sauber programmieren]], keine Hackertricks&lt;br /&gt;
** defensiv programmieren, umfangreiche Fehlerbehandlung&lt;br /&gt;
&lt;br /&gt;
== Fehlersuche in Hardware ==&lt;br /&gt;
&lt;br /&gt;
* Stromversorgung&lt;br /&gt;
** Ist das Gerät ans Netz(teil) angeschlossen? Korrekte Polung?&lt;br /&gt;
** Ist die Sicherung OK?&lt;br /&gt;
** Liefert der Spannungsregler die korrekte Spannung?&lt;br /&gt;
** Ist mein Messgerät auf die richtige Spannungsform eingestellt (AC oder DC)?&lt;br /&gt;
** Liegt die Spannung an allen wichtigen ICs an?&lt;br /&gt;
** Liegt die Stromaufnahme im erwarteten Bereich?&lt;br /&gt;
* Signalpfade&lt;br /&gt;
** Wie sieht das Eingangssignal aus?&lt;br /&gt;
** Liegen die richtigen Ruhesignale (Arbeitspunkt, Ruhestrom) an den wichtigen Punkten der Schaltung an?&lt;br /&gt;
** Liegen die richtigen Signale an den Zwischenpunkten der Schaltung an?&lt;br /&gt;
** Sind Logikpegel sauber LOW und HIGH? Wenn nein, dann sind oft mehrere Ausgänge gleichzeitig auf einem [[Bus]] aktiv und ziehen in verschiedene Richtungen (Low und High). Oder Die Ausgänge sind zu schwach, um die Lasten zu treiben.&lt;br /&gt;
** Sind Taktsignale sauber ohne Überschwinger und Zacken in den Flanken? Falsche [[Wellenwiderstand | Terminierung]], schleche Leitungsführung (Masse) oder EMV-Probleme können die Ursache sein.&lt;br /&gt;
**Dabei sollte man aber auch sauber messen, um nicht einem Phantom hinterher zu jagen (Bandbreite des [[Oszilloskop#Tastköpfe richtig benutzen| Tastkopfes]] und [[Oszilloskop]]s, kurze Masseverbindung ([http://www.mikrocontroller.net/topic/81049#677911 ground spring]), möglichst keine Erdschleifen).&lt;br /&gt;
** Wenn Signale ganz fehlen oder sich nicht ändern? Kurzschlüsse? Unterbrechungen? Wackelkontakte?&lt;br /&gt;
*Fehlfunktionen&lt;br /&gt;
** Werden ICs ungewöhnlich heiß? Einfache Logik-ICs und Operationsverstärker werden normalerweise kaum warm, Endstufen, [[Treiber]], Leistungstransistoren, Linearregler und große ICs ([[FPGA]]s, Tranceiver etc.) dagegen schon.&lt;br /&gt;
** Schwingen Quarze und Oszillatoren korrekt? Vorsicht beim direkten Messen an Quarzen, die reagieren bisweilen empfindlich auf zusätzliche Lastkapazitäten, hier auf jeden Fall mit einem 10:1 Tastkopf messen. In schwierigen Fällen schaltet man noch einen winzigen Kondensator mit 1pF in Reihe zum Tastkopf. Damit wird das Signal zum Oszilloskop zwar noch kleiner, aber die kapazitive Belastung des Oszillators sinkt auf unter 1pF.&lt;br /&gt;
** &amp;quot;Hello World!&amp;quot; Minimaltest für Mikrocontroller. Eine [https://www.mikrocontroller.net/articles/AVR_Checkliste#Testprogramm LED im 1s Rhytmus blinken] lassen. Damit kann man viele einfache Dinge erstmal prüfen, das sollte man am Anfang immer erst einmal machen.&lt;br /&gt;
*** Compiler funktioniert und erzeugt ein gültiges Hex-File&lt;br /&gt;
*** Programmierung funktioniert&lt;br /&gt;
*** Mikrocontroller kann das Programm ausführen, Spannung und Takt liegen an&lt;br /&gt;
&lt;br /&gt;
=== Tips zum Hardwaredebugging ===&lt;br /&gt;
&lt;br /&gt;
* Freie Pins an Mikrocontrollern, [[FPGA]]s, [[CPLD]]s auf Testpads legen, das ist vor allem bei kleinen Gehäusen wie TQFP, MLF oder gar [[BGA]]s notwendig, um dort mit Testspitzen und Drähten ranzukommen. Wenn es genügend Platz gibt sollte man Testpunkte mit Bohrung (THT) nehmen, in diese kann man Drähte einlöten und dort Prüfklemmen anschließen. Diese Testpunkte sind mechanisch deutlich stabiler.&lt;br /&gt;
* In wichtige Punkte der Stromverteilung Null Ohm Widerstände einfügen, dort kann man später ein Messgerät einschleifen; alternativ wenigstens die Leiterbahn gut zugänglich auf der Ober- oder Unterseite layouten, damit man sie im Testfall mit dem Skalpell auftrennen kann.&lt;br /&gt;
* Viele Vorgänge in Mikrocontrollerschaltungen sind nicht periodisch. Um sie zu messen braucht man meist ein [[Oszilloskop | Digitaloszilloskop]]. Hat man sowas nicht zur Verfügung, muss man versuchen, die Vorgänge periodisch zu machen, indem man z.B. eine Datenausgabe per [[UART]] oder [[SPI]] in einer Schleife immer wieder ausführt. Damit kann man sie auch mit einem Analogoszilloskop darstellen.&lt;br /&gt;
* Testpins sind sehr nützlich, um Zeitverhalten von Software zu messen, z.B. Interruptroutinen. Zum Beginn setzt man ein Pin auf HIGH, am Ende auf LOW, das kann man dann sehr einfach mit einem Oszilloskop messen&lt;br /&gt;
* Ebenfalls kann man mit so einem Testpin den Anfang eines speziellen Programmablaufs signalisieren, um ein Oszilloskop zu triggern, was sonst in einem komplexen Signalspiel nur sehr schwer möglich wäre&lt;br /&gt;
*Treten Fehler erst bei hohen oder niedrigen Temperaturen auf? Mit Kältespray und Heißluftpistole kann man sie provozieren.&lt;br /&gt;
*Einfache Logikschaltungen wie z.B. den [[SPI]]-[[Bus]] kann man auch ohne [[Oszilloskop]] anschauen, indem man das Timing der Steuersignale extrem verlangsamt. Das schafft man, indem man im Programm hinter jedem Portzugriff eine Pause von ca. 1s macht (avr gcc -&amp;gt; _delay_ms(1000)). Damit kann man an jedes Signal eine [[LED]] mit Vorwiderstand anschließen und das Signalspiel sichtbar machen. Das Gleiche gilt für [[I2C]], da auch dieser ein synchroner Bus ist und damit beliebig langsam getaktet werden kann. Man muss nur beachten, dass dadurch die Busleitungen mit den Open Drain Ausgängen nicht zu sehr belastet werden. Am Besten schließt man diese Test-LEDs ebenfalls invertiert an, parallel zu den Pull Up Widerständen, d.h. Anode über Vorwiderstand an VCC und die Kathode jeweils an die beiden Siganle SCL und SDA. Beim [[UART]] geht das leider nicht, dieser ist asynchron und auf ein genaues Timing angewiesen.&lt;br /&gt;
&lt;br /&gt;
=== FPGAs und CPLDs ===&lt;br /&gt;
&lt;br /&gt;
* In komplexeren FPGA-Schaltungen, welche z.B. Videodaten mittels [[AD-Wandler]] aufnehmen und verarbeiten, kann man den AD-Wandler zu Testzwecken durch ein synthetisches Modul im FPGA ersetzen, welches definierte Datenströme erzeugt, sozusagen ein digitaler Funktionsgenerator&lt;br /&gt;
* In FPGAs kann man auch virtuelle Logikanalysatoren einbauen, welche Datenströme im FPGA aufzeichnen; Die Steuerung erfolgt oft über [[JTAG]] oder spezielle Schnittstellen&lt;br /&gt;
  &lt;br /&gt;
=== Kurzschlüsse finden ===&lt;br /&gt;
&lt;br /&gt;
In der Entwicklung von Schaltungen geht immer mal was kaputt. Bauteile brennen durch. Doch wie findet man sie, wenn sie zwar defekt, aber nicht äusserlich zerstört sind? Wie findet man einen defekten IC an einem [[SPI]]-[[Bus]] mit 10 angeschlossenen ICs?&lt;br /&gt;
&lt;br /&gt;
* Verpolte [[Kondensator#Elektrolyt-Kondensator|Elektrolytkondensatoren]] (Aluminium, Tantal) findet man meist recht schnell, wenn man mit einem strombegrenzten Netzteil die Schaltung speist. Sie werden warm bis heiß, das findet man schnell (Mit dem Finger alle Bauteile prüfen, ggf. vorher den Finger leicht anfeuchten, das verhindert Verbrennungen). Immer daran denken. In realen Kurzschlüssen wird Wärme erzeugt, denn der Widerstand ist nie Null. Wenn man Strom und Spannung mißt, kennt man die Verlustleistung. Die kann nicht verschwinden, die muss irgendwo Wärme erzeugen. Diesen Fleck bzw. das Bauteil muss man finden. Ist der Kurzschluß SEHR niederohmig, braucht man eben deutlich mehr Strom.&lt;br /&gt;
*Kurzschlüsse auf verzweigten Netzen findet man per Milliohmmessung nach dem [http://de.wikipedia.org/wiki/Vierdrahtmessung Vierleiterprinzip].&lt;br /&gt;
**Schaltung ausschalten&lt;br /&gt;
**Über ein strombegrenztes Netzteil oder eine Spannungsquelle mit großem Vorwiderstand einen Konstantstrom in das fehlerhafte Netz einspeisen. Dabei richtet sich dessen Höhe nach der Art des elektrischen Netzes. Für ein Signal auf einer Platine reichen meist 100mA, für Stromversorgungsleitungen oder Verkabelung in einem Gerät können es schon mal 1-10A sein.&lt;br /&gt;
**Mit dem Multimeter im Millivolt-Messbereich die Spannung vom Einspeisepunkt (0) zu den verschiedensten Punkten im Netz messen.&lt;br /&gt;
** Dabei mißt man zunächst die Spannung an den Verzweigungspunkten im Layout. Dazu kann man sich das Netz im Layoutprogramm anzeigen lassen (bei [[Eagle]] ist das SHOW). Vorsicht, man sollte sich dabei nicht von der Darstellung im Schaltplan irritieren lassen.&lt;br /&gt;
** Steigt die Spannung hinter einer Verweigung nicht an, liegt der Kurzschluß im anderen Abzweig.&lt;br /&gt;
** Hat man die letzte Verzweigung mit dem höchsten Spannungsabfall gefunden (7), weiß man, daß der Kurzschluß zwischen diesem Meßpunkt und dem vorherigen (3) liegt.&lt;br /&gt;
** Zwischen den beiden Meßpunkten muss man nun die Leitung an mehreren Stellen messen und den Punkt finden, an dem der Spannungsabfall nicht mehr größer wird. Dort liegt der Kurzschluß.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Kurzschlussnetz.png | 600px | Netz mit Kurzschluss]]&lt;br /&gt;
&lt;br /&gt;
* Feine Kurzschlüsse auf Leiterbahnen, welche z.B. durch Fehler beim Ätzen entstehen, weil Dreck, Haare oder ähliches beim Belichten zu sehr feinen Kurzschlüssen geführt haben, kann man teilweise durch einen starken Strompuls aus einem großen Kondensator oder Netzteil freibrennen, der Kurzschluss verdampft dabei das Kupfer. Aber Vorsicht! Wenn man Pech hat verdampft auch gleich ein guter Teil der Leiterbahn!&lt;br /&gt;
* Kurzschlüsse durch Fehler in den CAM-Daten ([[Gerber-Tools|Gerber-Daten]]) kommen auch hin und wieder vor, vor allem bei Prototypen. Wie findet man den Kurzschluss zwischen einer Massefläche und VCC-Fläche? Die Vierdrahtmethode versagt hier, weil die Massefläche so groß und niederohmig ist, dass kaum Potentialunterschiede messbar sind. Auch hier braucht man wieder viel Strom. Mittels Hochstromnetzteil speist man 10-200A über möglichst dicke Anbindungen in die Flächen. Eine flächige Anbindung erreicht man bei Mehrlagenplatinen, indem man die oberen Lagen wegfräst und dort breit ein Kupferband oder Kupferfolie anlötet. Mit einer Thermokamera kann man dann den Fleck mit der Wärmeentwicklung sehen. Heutzutage gibt es bereits preiswerte Vorsätze für Smartphones ([http://www.golem.de/news/waermebildkamera-predator-auge-fuer-das-iphone-1401-103829.html FLIR ONE], [http://www.flir.de/flirone/content/?id=62912 Homepage]), um diese als preiswerte Thermokamera nutzen zu können. Um einzelne VIAs als Übeltäter überführen zu können muss man einen kurzen (1s) Strompuls mit möglichst viel Strom nutzen, dann leuchten die VIAs kurz auf. Denn schon nach wenigen Sekunden hat man nur noch einen großen, unscharfen Wärmefleck, weil die Masseflächen die Wärme des Kurzschlußes schnell und gut verteilen. Bei der [[Kühlkörper#Die Platine als Kühlkörper | Kühlung]] eines ICs ist das von Vorteil, hier aber ein Nachteil. Einen Hochstromtrafo für Wechselspannung kann man sich mit einem kleinen Ringkerntrafo (50-200W) selber bauen. Auf diesen wickelt man 1-5 Windungen sehr dicken Kabels, 6mm^2 Querschnitt und mehr. Damit hat man einen Schweißtrafo, er locker 200A bei wenig Spannung abgeben kann. Die Strommessung, so man sie braucht, macht man dabei sinnvollerweise über einen [[Stromwandler]]. Den Trafo kann man primärseitig problemlos schalten und mit einem Stelltrafo ggf. auch den Ausgangsstrom einstellen.&lt;br /&gt;
* Hat man keine Thermokamera muss man den warmen Fleck mit dem Finger ertasten. Um dann einzelne VIAs als Kurzschluss zu finden, muss man sie einzeln aufbohren und prüfen, ob der Kurzschluss beseitigt ist.&lt;br /&gt;
&lt;br /&gt;
=== Erstmaliges Einschalten einer Schaltung ===&lt;br /&gt;
&lt;br /&gt;
Schaltet man eine Schaltung das erste Mal ein, sollte man einiges beachten, um im Fehlerfall nicht vor einem Haufen Asche zu sitzen. Das gilt vor allem für Schaltungen, die größere Leistungen beinhalten (Netzteile, Motorendstufen, Wechselrichter, etc.) oder aus sehr kräftigen Quellen gespeist werden (Stromstarke Netzteile, Akkumulatoren, 230V Netz).&lt;br /&gt;
* Vor dem Einschalten die Platine noch einmal kontrollieren&lt;br /&gt;
** Sind alle Bauteile richtig bestückt?&lt;br /&gt;
** Polarität von Dioden und Kondensatoren stimmt?&lt;br /&gt;
** ICs nicht verdreht?&lt;br /&gt;
** Keine Kurzschlüsse durch Lötzinn?&lt;br /&gt;
** Ist alles um die Platine herum richtig angeschlossen? &lt;br /&gt;
*Schaltungen mit Kleinspannung aus einem Netzteil mit Strombegrenzung speisen, die Strombegrenzung nur wenig höher einstellen als das Gerät schätzungsweise benötigt.&lt;br /&gt;
*Schaltungen mit größerer Leistung bzw. Netzanschluss mit einem Sicherungsautomaten absichern.&lt;br /&gt;
*Nach dem Einschalten die wichtigsten Ströme und Spannungen messen und prüfen, ob sie wie erwartet sind&lt;br /&gt;
*Wichtige Zwischensignale messen und prüfen&lt;br /&gt;
*Wärmeentwicklung prüfen&lt;br /&gt;
*Belastung von Netzteilen und Verstärkern langsam steigern&lt;br /&gt;
&lt;br /&gt;
== Fehlersuche in Software ==&lt;br /&gt;
&lt;br /&gt;
=== Tips zum Softwaredebugging ===&lt;br /&gt;
&lt;br /&gt;
* Eine Ausgabe von Debuginformationen per [[UART]] ist oft sehr nützlich, auch wenn das Gerät im Normalbetrieb keinerlei UART nutzt&lt;br /&gt;
* Im [[EEPROM]] kann man auch Debuginformationen ablegen und später wieder auslesen&lt;br /&gt;
* Wenn man fremde Projeke übernimmt, sollte man schrittweise vorgehen.&lt;br /&gt;
** Zuerst das Projekt, welches meist ein Beispiel enthält, ohne jegliche Änderungen/Anpassungen komplett kompilieren. Wenn das funktioniert, weiß man erstmal, dass der Compiler soweit funktioniert.&lt;br /&gt;
** Danach nur minimale Änderungen, z.b. Pinzuordungen, Konfigurationen vornehmen und testen.&lt;br /&gt;
** Nach erfolgreichem Test des Beispiels mit minimalen Änderungen kann man das Projekt in größerem Maße umbauen bzw. in sein Projekt integrieren. Aber auch hier sollte man eher kleine Schritte machen und zwischendurch immer wieder die Funktion testen. Das ist einfacher als sehr viele Änderungen auf einmal durchzuführen und danach zu testen.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[AVR Checkliste]]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/299061?goto=3206880#3206853 Forumsbeitrag]: Protokoll eines unbekannt Display mittels Chaosangriff entziffern&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* Analog Circuits (World Class Designs) ISBN 978-0750686273, eine Zusammenstellung von verschiedensten Schaltungen mit ausführlichen Erklärungen; Filter, AD-Wandler, Lasertreiber, U-F Wandler, Mikrocontroller etc.&lt;br /&gt;
* Troubleshooting Analog Circuits, ISBN 978-0750694995, eine umfangreiche Mischung von Praxistips zur Entwicklung und Fehlersuche in analogen Schaltungen, viele Informationen über Bauteile und Konzepte, geschrieben von der Analoglegende [https://www.ti.com/video/3871045566001?keyMatch=bob%20pease&amp;amp;tisearch=universal_search Robert A. Pease]. Im Elektor-Verlag erschien die deutsche Übersetzung &amp;quot;Troubleshooting in Analogschaltungen&amp;quot; ISBN 3-89576-059-5&lt;br /&gt;
* http://www.repairfaq.org Seite mit umfangreichen Tips zur Fehlersuche, Reperatur diverser Elektronik, Laser und mehr (engl.)&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
* [http://www.analog.com/library/analogdialogue/archives/43-09/linear_circuit_design_handbook.html Basic Linear Design seminar notes] - fundiertes eBook / PDFs mit nützlichen Infos zu Schaltungsdesign, parasitären Effekten und Fehlersuche&lt;br /&gt;
* [http://www.edn.com/electronics-blogs/signal-integrity/4317296/Finger-the-culprit-Debugging-rare-modes-of-failure Debugging rare modes of failure (engl.)]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=LTspice&amp;diff=107771</id>
		<title>LTspice</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=LTspice&amp;diff=107771"/>
		<updated>2025-11-23T13:57:06Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Weblinks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
LTspice ist ein Simulationsprogramm für elektrische Schaltungen, welches auf [https://de.wikipedia.org/wiki/SPICE_(Software) SPICE] basiert und von Linear Technologies weiterentwickelt wurde. Linear Technologies wurde später von [https://www.analog.com Analog Devices] übernommen, der Name ist aber als etablierte Marke geblieben. Das Programm beinhaltet eine große Anzahl von Modellen für Baulemente von Analog Devices (ADI) und Linear Technology. Zu fast jedem Bauteil gibt es eine kleine Testschaltung. Zusätzlich sind auch allgemeine Lernbeispiele enthalten. Darüber hinaus erlaubt ADI die Verwendung als allgemeines Werkzeug zum Schaltplan-Zeichnen und zur SPICE-Simulation. Andere Halbleiterhersteller liefern normalerweise keine explizit für LTspice vorgesehenen oder getesteten Modelle, da sie logischerweise keinen Mitbewerber unterstützen wollen. LTspice versteht jedoch normale SPICE-Modelle (.SUBCKT, .MODEL, usw.). Da LTspice weitgehend die SPICE-Erweiterungen von PSPICE versteht, können auch PSPICE-Modelle verwendet werden. Allerdings muss man eventuell, wie bei reinen SPICE-Textmodellen, ein eigenes Schaltzeichen-Symbol für das Bauteil erstellen (LTspice versteht diesen Teil von PSPICE nicht).&lt;br /&gt;
&lt;br /&gt;
== Eigenschaften ==&lt;br /&gt;
&lt;br /&gt;
* Kostenlos und beliebt&lt;br /&gt;
* Keinerlei Einschränkungen bezüglich Anzahl der Bauteile oder Knotenzahl&lt;br /&gt;
* SPICE-Simulator mit graphischer Schaltplaneingabe der zu simulierenden Schaltungen und mit einer graphischen Anzeige der Simulationsergebnisse.&lt;br /&gt;
* Zum Einstieg empfehlenswert, da sehr übersichtlich. Erfordert allerdings mittelfristig detailliertere SPICE-Kenntnisse, da nicht alle SPICE-Funktionen hinter der graphischen Oberfläche versteckt sind.&lt;br /&gt;
* Das aktuelle Programm heißt LTspiceXVII. Es ist der Nachfolger von LTspiceIV. Man findet oft noch die älteren Bezeichnungen LTspice/SwitcherCAD, LTspice/SwitcherCAD III, SwitcherCAD/LTspice, SwCAD oder LTspice in älteren Unterlagen. &lt;br /&gt;
&lt;br /&gt;
== Versionen ==&lt;br /&gt;
&lt;br /&gt;
* [http://ltspice.analog.com/software/LTspiceIV.exe LTspiceIV]: Windows-Software (98, 2000, XP, Vista, 7, 8, 10), läuft mit WINE unter Linux&lt;br /&gt;
* [http://ltspice.analog.com/software/LTspiceXVII.exe LTspiceXVII]: Windows-Software (7, 8, 10), läuft mit WINE unter Linux&lt;br /&gt;
* [http://ltspice.analog.com/software/LTspice.dmg Native Version für Mac OS X 10.7+], seit Ende 2013 erhältlich. Die MAC-Version hat gegenüber der Windows-Version eine massiv geänderte Benutzeroberfläche die praktisch ohne Toolbar auskommt. Zum Glück bleibt die Windows-Version von dieser ursprünglich auch dort geplanten Änderung verschont. &lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Das Einbinden von Fremdmodellen&#039;&#039;&#039; wird im Handbuch / der Programm-Hilfe von LTspice erklärt, jedoch nicht im Hauptteil, sondern versteckt &#039;&#039;&#039;im Kapitel &#039;&#039;FAQ&#039;&#039;&#039;&#039;&#039;, wo die Erklärungen gerne übersehen werden.&lt;br /&gt;
* Speziell die von ADI(LTC) gelieferten SPICE-Modelle für Schaltregler ICs sind verschlüsselt und können nur mit LTspice verwendet werden. Man ist daher bei der Verwendung von ADI(LTC) Produkten in Simulationen bei vielen von deren Bauteilen auf LTspice angewiesen. Allerdings verschlüsseln auch andere Halbleiterhersteller bestimmte Modelle für ein ausgewähltes Simulationsprogramm z. B. für PSPICE oder HSPICE. Diese Modelle können dann nur mit dem entsprechenden Simulationsprogramm simuliert werden.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/536556?goto=7057541#7057541 Forumsbeitrag]: Simulation von LEDs mit [[LTspice]]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/348997#3872414 Forumsbeitrag]: LTSpice: Integral plotten - Allgemeine Lösung&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/557528#7462855 Forumsbeitrag]: QSPICE von Mike Engelhardt ([https://www.qorvo.com/design-hub/design-tools/interactive/qspice/ Homepage])&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/568751#7686978 Forumsbeitrag]: LTSpice – Mechatronik&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://www.analog.com/en/design-center/design-tools-and-calculators/ltspice-simulator.html LTspice Homepage]&lt;br /&gt;
* [https://www.analog.com/media/en/simulation-models/spice-models/LTspiceGettingStartedGuide.pdf Einführung]&lt;br /&gt;
* [https://www.analog.com/media/en/simulation-models/spice-models/LTspice_ShortcutFlyer.pdf Short cut Flyer]&lt;br /&gt;
* [https://www.analog.com/media/en/simulation-models/spice-models/LTspiceShortcutsForMacOSX.pdf Short cuts for MacOSX]&lt;br /&gt;
* [http://www.gunthard-kraus.de/LTSwitcherCAD/index_LTSwitcherCAD.html  Ausführliche und empfehlenswerte Einführung], von Gunthard Kraus &lt;br /&gt;
* [https://groups.io/g/LTspice International User Group]:&lt;br /&gt;
**Alle Dateien und Messages der ehemaligen Yahoo group wurden in diese group migriert. Für den Zugriff auf den kompletten Inhalt dieser group ist eine Anmeldung bei groups.io notwendig.&lt;br /&gt;
** Eine Liste von Bauteilen, die aus verschiedenen Quellen stammen, ist nach Anmeldung in der obigen User Group zu bekommen. Dort gibt es auch die Modelle zum Download. Die user group ist eine gute Quelle, um Symbole und Modelle für häufig eingesetzte Bauteile zu finden.&lt;br /&gt;
**&amp;quot;Reverse engineering&amp;quot; undokumentierter Befehle und verschlüsselter Modelle wird in der user group nicht akzeptiert.&lt;br /&gt;
* [https://www.analog.com/en/search.html?q=*&amp;amp;Filters=resource_type_l2_fac_s:948bcad75dda46938741bb491d391102_c1db6dd505a94fa09f7826c8b66a2bbb|resource_type_fac_s:948bcad75dda46938741bb491d391102|tools_n_models_l2_fac_sm:f92282719b32453a838ff5891f259f69_38bcc33c18ad463299d8ef39dcc09f6b|tools_n_models_fac_s:f92282719b32453a838ff5891f259f69&amp;amp;Order=newest Blog des Herstellers]&lt;br /&gt;
*[https://www.analog.com/en/design-center/design-tools-and-calculators/ltspice-simulator/lt-spice-demo-circuits.html Demo Circuits]&lt;br /&gt;
* [http://ltwiki.org/index.php?title=Main_Page Unabhängiges Wiki]&lt;br /&gt;
* [https://www.i-t.com/wp-content/uploads/2019/05/pspcref.pdf PSpice A/D Reference Guide] von Cadence&lt;br /&gt;
* LT Spice with Mike Engelhardt, Youtube Videos ([https://www.youtube.com/watch?v=6gKThjZIj-s 1], [https://www.youtube.com/watch?v=3X1spktoSWg 2], [https://www.youtube.com/watch?v=CE2k8xVEX1g 3], [https://www.youtube.com/watch?v=Dslpy9zosaw 4], [https://www.youtube.com/watch?v=mro7C0YUqT8 5], [https://www.youtube.com/watch?v=d8DqWvMYyWg 6])&lt;br /&gt;
* [http://bwrcs.eecs.berkeley.edu/Classes/IcBook/SPICE/ The Spice Page], EECS Department of the University of California at Berkeley&lt;br /&gt;
* [https://electronics.stackexchange.com/questions/254602/how-to-integrate-a-signal-in-ltspice Integralbildung] in LTspice&lt;br /&gt;
* [https://www.we-online.com/de/support/wissen/fachbuecher/ltspice The LTspice XVII Simulator], von Würth Elektronik&lt;br /&gt;
* [http://www.ece.mcgill.ca/~grober4/SPICE/SPICE_Decks/LTspicedecks_ed1_index.html LTSPICE For Microelectronic Circuits], 1st Edition by G. W. Roberts, McGill University&lt;br /&gt;
* [https://ngspice.sourceforge.io/ NGspice] - OpenSource-Alternative zu LTSpice?&lt;br /&gt;
* [https://www.youtube.com/watch?v=Rc0swh7lpW0 Discussing Circuit Simulators with Mike Engelhardt], Youtube Video&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Entwicklungstools]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Serial_Peripheral_Interface&amp;diff=107769</id>
		<title>Serial Peripheral Interface</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Serial_Peripheral_Interface&amp;diff=107769"/>
		<updated>2025-11-18T19:18:25Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Siehe auch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das &#039;&#039;&#039;S&#039;&#039;&#039;erial &#039;&#039;&#039;P&#039;&#039;&#039;eripheral &#039;&#039;&#039;I&#039;&#039;&#039;nterface, kurz SPI oder auch Microwire genannt, ist ein [[Bus]]system bestehend aus drei Leitungen für eine serielle synchrone Datenübertragung zwischen verschiedenen ICs. &lt;br /&gt;
&lt;br /&gt;
== Physikalischer Aufbau ==&lt;br /&gt;
Der Bus besteht zumindest aus folgenden Leitungen&lt;br /&gt;
* MOSI (&#039;&#039;&#039;M&#039;&#039;&#039;aster &#039;&#039;&#039;O&#039;&#039;&#039;ut -&amp;gt; &#039;&#039;&#039;S&#039;&#039;&#039;lave &#039;&#039;&#039;I&#039;&#039;&#039;n) auch SDO (&#039;&#039;&#039;S&#039;&#039;&#039;erial &#039;&#039;&#039;D&#039;&#039;&#039;ata &#039;&#039;&#039;O&#039;&#039;&#039;ut) oder DO&lt;br /&gt;
* MISO (&#039;&#039;&#039;M&#039;&#039;&#039;aster &#039;&#039;&#039;I&#039;&#039;&#039;n &amp;lt;- &#039;&#039;&#039;S&#039;&#039;&#039;lave &#039;&#039;&#039;O&#039;&#039;&#039;ut) auch SDI (&#039;&#039;&#039;S&#039;&#039;&#039;erial &#039;&#039;&#039;D&#039;&#039;&#039;ata &#039;&#039;&#039;I&#039;&#039;&#039;n) oder DI&lt;br /&gt;
* SCK (Serial Clock) - Schiebetakt&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zu diesen drei Leitungen wird für jeden Slave eine Slave Select (SS) oder auch Chip Select (CS) genannte Leitung benötigt, durch die der Master den Slave zur aktuellen Kommunikation selektiert. Dies geschieht dadurch, dass der Master die SS/CS-Leitung von High nach Low zieht. Oft ist mit dieser Aktivierung durch den Master auch eine Benachrichtigung für den Slave verbunden, mit der ihm mitgeteilt wird, dass jetzt eine Nachricht beginnt, das nächste Byte also zum Beispiel als Kommando aufzufassen ist.&lt;br /&gt;
&lt;br /&gt;
== Low-Level-Kommunikation und Taktung ==&lt;br /&gt;
&lt;br /&gt;
Die Übertragung geschieht so, dass der Master seine Datenleitung (MOSI) auf den Pegel des nächsten Bits bringt und dann an der SCK Leitung einen Puls ausgibt. Gleichzeitig wird vom Master der Pegel an der Datenleitung vom Slave zum Master überwacht und ihr Zustand als nächstes einzulesendes Bit aufgefasst. Üblicherweise gibt es zumindest beim Master mehrere Einstellungen, die festlegen, welches der Grundzustand dieser SCK Leitung sein soll und welche Flanke des Taktes zur Datenübernahme herzunehmen ist (die steigende oder die fallende). Bei einigen Slaves ist diese Einstellung ebenfalls möglich, oft ist es aber so, dass per SPI anzusprechende IC eine feste Einstellung benutzen, an die sich der Master anpassen muss.&lt;br /&gt;
&lt;br /&gt;
== Protokoll ==&lt;br /&gt;
&lt;br /&gt;
Für den SPI-Bus gibt es kein festgelegtes Protokoll. Die Taktpolarität (CPOL) und Phase (CPHA) können ebenfalls von Slave zu Slave unterschiedlich sein. Der SPI-Bus kann mit einer Taktfrequenz von vielen Megahertz betrieben werden. Es gibt viele verschiedene ICs ,die als Slave an dem SPI-Bus betrieben werden können. Diese gehen von einfachen [[AVR-Tutorial: Schieberegister | Schieberegistern]] bis hin zu [[AVR - Die genaue Sekunde / RTC | RTCs]] oder Displaytreibern mit vorgegebenem Protokoll. Unter anderem werden die meisten [[AVR]]-Microcontroller von Atmel über SPI [[ISP|programmiert]], siehe dazu [[AVR In System Programmer]].&lt;br /&gt;
&lt;br /&gt;
== Übertragungsprinzip ==&lt;br /&gt;
&lt;br /&gt;
Bei SPI verlieren die Begriffe &#039;Sender&#039; und &#039;Empfänger&#039; ihre Bedeutung. Das Übertragungsprinzip funktioniert so, dass gleichzeitig 1 Bit vom Master zum Slave und 1 Bit vom Slave zum Master übertragen wird. Die Übertragung ist eher mit dem Begriff &amp;quot;Austausch von Bits&amp;quot; zu beschreiben, als dass es sich um ein Senden bzw. Empfangen handelt. Je nach Sichtweise könnte man auch sagen, dass sowohl Master als auch Slave jederzeit sowohl Sender als auch Empfänger sind. Der einzige Unterschied zwischen den Busteilnehmern besteht darin, dass beim SPI Bus jegliche Kommunikation immer vom Master ausgeht. Er hat die Verwaltung der SCK Leitung inne und wenn der Master keine SCK Pulse generiert, dann kann ein Slave auch nichts übertragen. Die Generierung der SCK Pulse wird dabei üblicherweise dadurch angestossen, dass der Master einfach angewiesen wird, 1 Byte über SPI auszugeben. Des Weiteren kann ein Slave auch eine SPI Übertragung nicht hinauszögern, so wie es beim [[I2C]]-Bus der Fall ist. Wenn vom Master die SCK Pulse kommen, dann muss ein Slave die MISO Leitung bedienen. Er hat keine Möglichkeit dies nicht zu tun, selbst wenn er noch gar kein Ergebnis für den Master vorliegen hat. Selbst wenn der Slave die MISO Leitung nicht bedient, der Master wird zum per Modus eingestellten Zeitpunkt die Polarität der MISO Leitung auswerten und sich daraus das nächste Bit bestimmen.&lt;br /&gt;
&lt;br /&gt;
Erfolgt eine Abfrage eines Masters an einen Slave dergestalt, dass der Master ein Kommando an den Slave sendet, auf das der Slave mit einem Ergebnis zu antworten hat, dann sind dazu immer mindestens 2 Übertragungen notwendig. Im ersten Byte-Austausch übermittelt der Master sein Kommando an den Slave (der zu diesem Zeitpunkt logischerweise noch kein Ergebnis vorliegen haben wird, er kennt ja das Kommando noch nicht) und im zweiten Byte-Austausch überträgt der Master einfach nur 1 Byte (meistens genügt da einfach irgendein Bytewert) um dem Slave seinerseits Gelegenheit zu geben, das zuvor angefragte Ergebnis zum Master zu übertragen. Beachten sollte man, dass ein Slave auch des öfteren etwas Zeit benötigen wird, um ein gerade erhaltenes Kommando auszuwerten und die entsprechenden Ergebnisse bereit zu stellen. Ein Master wird also gut daran tun, nach dem Byteaustausch zum Zwecke der Kommandoübermittlung eine kleine Pause einzulegen, ehe er dann mit dem zweiten Byteaustausch das Ergebnis abholt.&lt;br /&gt;
&lt;br /&gt;
== SPI-Modi ==&lt;br /&gt;
&lt;br /&gt;
Wie schon angesprochen gibt es für das SPI verschiedene Möglichkeiten Polarität und Phase des Taktes einzustellen. Folgende vier Modi sind möglich:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:15em; text-align:center&amp;quot;&lt;br /&gt;
!Mode&lt;br /&gt;
!CPOL&lt;br /&gt;
!CPHA&lt;br /&gt;
|-&lt;br /&gt;
|0 ||0 ||0&lt;br /&gt;
|-&lt;br /&gt;
|1 ||0 ||1&lt;br /&gt;
|-&lt;br /&gt;
|2 ||1 ||0&lt;br /&gt;
|-&lt;br /&gt;
|3 ||1 ||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;CPOL (Clock Polarity)&lt;br /&gt;
:0: Takt ist in Ruhe LOW, ein Wechsel auf HIGH zählt als steigende Taktflanke&lt;br /&gt;
:1: Takt ist invertiert: in Ruhe HIGH, ein Wechsel auf LOW zählt als steigende Taktflanke&lt;br /&gt;
;CPHA (Clock Phase)&lt;br /&gt;
:0: Daten werden bei steigender Taktflanke (=abh. von CPOL) eingelesen, bei fallender ausgegeben&lt;br /&gt;
:1: Daten werden bei fallender Taktflanke eingelesen, bei steigender ausgegeben&lt;br /&gt;
&lt;br /&gt;
Man sieht, dass Mode 0 und Mode 3 bzw. Mode 1 und Mode 2 jeweils fast identisch sind. Der einzige Unterschied ist der Pegel des Taktes in Ruhe. In der Regel sind diese Modi deshalb austauschbar.&lt;br /&gt;
&lt;br /&gt;
CPOL und CPHA lassen sich in den Konfigurationsregistern des Controllers einstellen. Beim [[AT91SAM]] hat sich Atmel ein kleines Extra einfallen lassen: hier heißt das Bit zur Einstellung der Clock Phase &amp;quot;NCPHA&amp;quot; und entspricht genau dem invertierten Wert von CPHA.&lt;br /&gt;
&lt;br /&gt;
Es ist problemlos möglich ICs mit verschiedenen SPI-Modi an einem Bus zu betreiben, man muss nur vor dem Aktivieren des Chip Select den jeweils richtigen Modus einstellen.&lt;br /&gt;
&lt;br /&gt;
== Falle bei AVR Prozessoren ==&lt;br /&gt;
&lt;br /&gt;
Bei den [[AVR]]-Prozessoren, welche eine SPI Einheit besitzen, ist es zwingend nötig, den SS-Pin der SPI Einheit auf Ausgang zu setzen, wenn man den Prozessor als Master benutzen möchte. Dies geschieht nicht automatisch, da ein auf Eingang geschalteter Pin im Multimaster Modus benötigt wird. Da dieser Fall aber recht selten vorkommt, wird er hier ignoriert. Schaltet man den Pin nicht auf Ausgang, dann hängt es vom extern angelegten Pegel ab, ob die Master-SPI Einheit arbeitet oder nicht. Daher muss man den Pin immer vorher auf Ausgang schalten. In diesem Fall ist der Pegel der SS Leitung dann irrelevant, die SPI Einheit arbeitet immer, sobald sie als Master konfiguriert wurde.&lt;br /&gt;
&lt;br /&gt;
== [[Fehlersuche]] ==&lt;br /&gt;
&lt;br /&gt;
Immer wieder kommt es zu Problemen bei der Nutzung von SPI, obwohl diese Schnittstelle recht einfach aufgebaut ist. Oft kommt es u.a. zu dem Effekt, dass nur bestimmte SPI-Frequenzen funktionieren, etwas höher oder niedrigere nicht. Das ist ein klares Zeichen für Fehler. Folgende Punkte sollte man mit dem [[Oszilloskop]] prüfen, dabei sollte man die [[Oszilloskop#Tastköpfe richtig benutzen | Tastköpfe richtig benutzen]].&lt;br /&gt;
&lt;br /&gt;
* Stimmt jeweils der SPI-Modus?&lt;br /&gt;
* Gilt nur für AVRs: Ist das SS-Pin vorher als Ausgang geschaltet, wenn der Master Modus verwendet wird? &lt;br /&gt;
* Sind die Select-Signale vorhanden?&lt;br /&gt;
* Sind die erreichten Pegel ausreichend?&lt;br /&gt;
* Sind die Taktflanken sauber genug? Siehe [[Wellenwiderstand]].&lt;br /&gt;
* Sind die Daten während der Datenübernahme stabil?&lt;br /&gt;
* Ist die Zeit zwischen Select-Signal und Übertragungsbeginn ausreichend?&lt;br /&gt;
* Ist das SPI-Modul im Power Reduction Register (PRR) versehentlich deaktiviert?&lt;br /&gt;
&lt;br /&gt;
==Software SPI==&lt;br /&gt;
&lt;br /&gt;
Hier ein Beispiel für Software-SPI, getestet auf einem Atmega 2560. Die Funktion SPI_WriteRead kann für Senden und Empfangen genutzt werden. Wenn man etwas empfangen will, übergibt man der Funktion als Parameter einfach 0x00 und wertet den Rückgabewert der Funktion aus. Beim Senden kann man den Rückgabewert ignorieren. Die _delay_us()- Zeiten kann man natürlich anpassen, je nachdem, welche Geschwindigkeit gewünscht ist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
#include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define PORTSPI		PORTF&lt;br /&gt;
#define DDRSPI		DDRF&lt;br /&gt;
#define PINSPI		PINF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#define MOSI		6&lt;br /&gt;
#define MISO		1&lt;br /&gt;
#define SCK			4&lt;br /&gt;
&lt;br /&gt;
void Spi_Init(void) {&lt;br /&gt;
	&lt;br /&gt;
	DDRSPI |= (1&amp;lt;&amp;lt;MOSI) | (1&amp;lt;&amp;lt;SCK);	//MOSI und SCK auf Ausgang&lt;br /&gt;
	DDRSPI &amp;amp;= ~(1&amp;lt;&amp;lt;MISO);			//MISO als Eingang&lt;br /&gt;
	PORTSPI |= (1&amp;lt;&amp;lt;MISO);			//PullUp&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
uint8_t SPI_WriteRead(uint8_t dataout) {&lt;br /&gt;
&lt;br /&gt;
	uint8_t datain=0;&lt;br /&gt;
&lt;br /&gt;
	//das Byte wird Bitweise nacheinander Gesendet MSB zuerst&lt;br /&gt;
	&lt;br /&gt;
	for (uint8_t a=8; a&amp;gt;0; a--){&lt;br /&gt;
&lt;br /&gt;
		datain&amp;lt;&amp;lt;=1;                 //Schieben um das Richtige Bit zu setzen&lt;br /&gt;
&lt;br /&gt;
		if (dataout &amp;amp; 0x80){       //Ist Bit a in Byte gesetzt&lt;br /&gt;
			&lt;br /&gt;
			PORTSPI |=(1&amp;lt;&amp;lt;MOSI);   //Set Output High&lt;br /&gt;
		}&lt;br /&gt;
		else{&lt;br /&gt;
			&lt;br /&gt;
			PORTSPI &amp;amp;=~(1&amp;lt;&amp;lt;MOSI);   //Set Output Low&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		_delay_us(5);&lt;br /&gt;
		PORTSPI |=(1&amp;lt;&amp;lt;SCK);         // Clock auf High&lt;br /&gt;
		&lt;br /&gt;
		_delay_us(5);&lt;br /&gt;
		&lt;br /&gt;
		if (PINSPI &amp;amp; (1&amp;lt;&amp;lt;MISO)) {  //Lesen des Pegels&lt;br /&gt;
			datain |= 1;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		PORTSPI &amp;amp;=~(1&amp;lt;&amp;lt;SCK);		// Clock auf LOW&lt;br /&gt;
		&lt;br /&gt;
		dataout&amp;lt;&amp;lt;=1;                //Schiebe um nächstes Bit zusenden&lt;br /&gt;
	}&lt;br /&gt;
	return datain;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Porterweiterung mit SPI]]&lt;br /&gt;
* [[AVR-Tutorial: Schieberegister]]&lt;br /&gt;
* [[MMC- und SD-Karten]]&lt;br /&gt;
* [[SPI Daisychain]]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/54441 Forumsbeitrag]: SPI Codetuning&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/386217?goto=4415496#4415562 Forumsbeitrag]: Beliebig viele CS Signale mit nur 2 CS Signalen am Controller glitchfrei erzeugen&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/299855?goto=new#3220070 Forumsbeitrag:] Skurriles Problem mit BS170 Mosfets; erfolgreiche Anwendung einer Thevenin-Terminierung für einen [[SPI]]-[[Bus]] mit langen Kabeln&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/360228#4047705 Forumsbeitrag]: Echte [[Pegelwandler]] beheben Kommunikationsprobleme&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/580861#7948618 Forumsbeitrag]: SPI Eprom und Display funktionieren nicht zusammen, Bidirektionales Datensignal am ST7735&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* http://www.mct.net/faq/spi.html (Takteinstellungen, Slave-IC Liste, etc.)Link sagt nur &amp;quot;This page intentionally left blank.&amp;quot;&lt;br /&gt;
* http://www.matuschek.net/atmega-spi (ATMega SPI Performance Tuning)&lt;br /&gt;
* [https://ww1.microchip.com/downloads/en/AppNotes/Atmel-2585-Setup-and-Use-of-the-SPI_ApplicationNote_AVR151.pdf AVR151: Setup and Use of the SPI] Atmel Application Note (PDF)&lt;br /&gt;
* [http://www.atmel.com/dyn/resources/prod_documents/AVR151.zip AVR151: Examples for Setup and use of the SPI] Programming Examples for the Atmel Application Note (zip)&lt;br /&gt;
* [http://www.totalphase.com/products/aardvark-i2cspi/ Aardvark I2C/SPI Host Adapter], Universeller Adapter für I2C und SPI&lt;br /&gt;
* [http://www.elv.de/elv-usb-spi-interface-usb-spi-bausatz.html USB-SPI], Komplettbausatz von ELV&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:SPI| ]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Datenformate-Gerber.pdf&amp;diff=107688</id>
		<title>Datei:Datenformate-Gerber.pdf</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Datenformate-Gerber.pdf&amp;diff=107688"/>
		<updated>2025-08-23T11:42:46Z</updated>

		<summary type="html">&lt;p&gt;Falk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Gerber-Tools&amp;diff=107687</id>
		<title>Gerber-Tools</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Gerber-Tools&amp;diff=107687"/>
		<updated>2025-08-23T11:35:35Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Alternativen zu Gerber */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Gerber-Tools sind Programme, die es erlauben die von fast allen [[Schaltplaneditoren|Platinenlayoutprogrammen]] erzeugbaren Gerberfiles zu betrachten, zu überprüfen und eventuell sogar zu manipulieren. Das beginnt mit Tools, die es erlauben die Platinen zu drehen und miteinander zu verbinden bzw. mehrere identische zu größeren Panelen (sog. Nutzen) zusammenzufügen, um sie rationeller fertigen zu können. Es hört auf mit Programmen die in der Lage sind, Leiterbahnen und Bohrlöcher zu verschieben und zu ändern. Es ist guter Stil, seine eigene Arbeit mit einem Gerber-Viewer zu überprüfen, der &#039;&#039;&#039;nicht&#039;&#039;&#039; zum System des Platinenlayoutprogrammes gehört, mit der man die Platinendaten erzeugt hat, allein um systematische Fehler zu minimieren.&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
Gerber-Daten stellen alle Daten dar, die zur Fertigung einer Leiterplatte benötigt werden. Und eben auch nicht mehr. Also keine Informationen über Netze, Schaltpläne oder Details über Bauteile. Daher erlauben sie es, auch solche Informationen gegenüber dem Fertiger einer Leiterplatte geheim zu halten, im Gegensatz zur Herausgabe von Platinendaten (CAD-Boarddateien) direkt aus dem Programm. Ferner ist das Format robust und kompakt. Es enthält alle Angaben, die zur Steuerung eines Photoplotters zur Erstellung von Filmen für die Leiterplattenbelichtung benötigt werden. Es ist eng mit dem &amp;quot;G-Code&amp;quot; für CNC-Drehbänke und Fräsmaschinen verwandt, beschränkt sich aber auf eine zweidimensionale (xy) Darstellung. Gerber hat sich als weit verbreitetes Austauschformat für Leiterplattendaten etabliert; mittlerweile enthält so gut wie jedes Programm zur Platinenentwicklung eine Exportmöglichkeit für Gerber, und so gut wie alle Firmen, die Leiterplatten herstellen, können diese Daten einlesen und verwerten.&lt;br /&gt;
&lt;br /&gt;
== Historisches ==&lt;br /&gt;
&lt;br /&gt;
Mancher komplizierterer Sachverhalt lässt sich nur richtig und gut über die Geschichte dahinter erklären, und so auch verstehen und besser behalten. Darum hier etwas zur Geschichte von Gerber.&lt;br /&gt;
&lt;br /&gt;
Das heute gebräuchliche Format RS-274X (X für &amp;quot;extended&amp;quot;) hat einen Vorgänger RS-274D. Wobei RS274D tatsächlich ein Standard zur Steuerung von CNC-Maschinen war, von dem dann für die optischen Verfahren in der Platinenherstellung nur eine Teilmenge verwendet wurde. Der Hauptunterschied zwischen dem RS-274D und RS-274X ist, dass das alte RS-274D keine Informationen über die verwendeten Blenden enthält. Zu einer Gerber-Datei gehörte also immer noch eine Blendendatei. Beim RS-274X ist diese Information (und andere, z.B. die über das Zahlenformat) in der Gerber-Datei selber integriert. Für neue Entwicklung sollte &#039;&#039;&#039;kein&#039;&#039;&#039; altes RS-274D mehr verwendet werden. Auch das neuere RS-274X ist mittlerweile veraltet, und durch [https://www.mikrocontroller.net/articles/Gerber-Tools#Aktuell:_Gerber_Version_2 Gerber Version 2 (X2)] ersetzt worden, welches nun bevorzugt verwendet werden sollte.&lt;br /&gt;
&lt;br /&gt;
Da früher Photoplotter für den Blendenwechsel drehbare Blendenrevolver hatten, die entweder 6 oder 12 verschiedene Blenden aufnehmen konnten, war die Anzahl der verwendeten Blenden in einem Design beschränkt, wollte man nicht zuviele zeitraubende und teure manuelle Blendenwechsel vornehmen. Das Problem bestand bei späteren Vektorplottern nicht mehr in dieser Form, da diese die Blenden in gewissen Bereichen frei emulieren konnten. Heutige Plotter arbeiten komplett anders, so das die Daten auch anders aufbereitet werden müssen. Das Format der Gerber-Dateien hat sich als praktisches Austauschformat allerdings erhalten, auch wenn es jetzt nur noch so darstellt, &#039;&#039;&#039;als ob&#039;&#039;&#039; die Daten einen Photoplotter steuern würde. &lt;br /&gt;
&lt;br /&gt;
Entwickelt wurde das Gerber-Dateiformat von Gerber-Scientific. Später pflegte Barco und jetzt Ucamco die Spezifikationen dieses Formates. &lt;br /&gt;
&lt;br /&gt;
Auch heute ist das Gerber-Format noch nicht komplett, weil durch den technischen Fortschritt immer neue Möglichkeiten entstehen, über die das jeweilige aktuelle Gerber-Format keine Angaben enthalten kann. Es enthält z.B. keine Angaben über den Lagenaufbau. Solche Informationen müssen dem Fertiger daher in begleitenden Texten oder Zeichnungen übergeben werden.  Um diese Problem anzugehen, veröffentlicht Ucamco einen [http://www.ucamco.com/downloads Vorschlag (und weiter: Extending the Gerber Format with Attributes)] der das Gerber-Dateiformat um Attribute erweitert. Ucamco hat dazu eingeladen, zu diesem Vorschlag Kommentare und Verbesserungsvorschläge einzureichen, bevor er formell in die Gerber-Spezifikationen Eingang erhielt. Mittlerweile ist er als Gerber Version 2 umgesetzt.&lt;br /&gt;
&lt;br /&gt;
== Aktuell: Gerber Version 2 (X2) ==&lt;br /&gt;
Ganz aktuell im Herbst 2014 hat Ucamco &amp;quot;Gerber Version 2&amp;quot; vorgestellt, das aber sehr ähnlich und voll abwärtskompatibel zu RS-274X sein will. Dazu findet sich deutsche [https://www.ucamco.com/files/downloads/file/131/the_gerber_file_format_version_2_faq_de.pdf?ffadb605ad51e2ab5d87820700d9d26c FAQ] sowie das englische [https://www.ucamco.com/files/downloads/file/125/the_gerber_file_format_version_2_faq.pdf?01eb5acfbf71e38d1d90eb632fe2c30b Original].  Die Gerber Spezifikation befindet sich hier auf der Ucamco [http://www.ucamco.com/en/guest/downloads Downloadseite]. Daszu gibt es ein [http://www.ucamco.com/gerber/intro Video] sowie eine [http://www.mikrocontroller.net/topic/352281#3920473 Diskussion].&lt;br /&gt;
&lt;br /&gt;
== Details der Formate ==&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
Wikipedia hat eine Beschreibung des [http://de.wikipedia.org/wiki/Gerber-Format Gerber-Formates]. Die Spezifikation und weitere Informationen findet sich [http://www.ucamco.com/downloads hier als &amp;quot;The Gerber File Format Specification&amp;quot;]. Eine [http://www.artwork.com/gerber/274x/rs274x.htm weitere Erläuterung] hat Steve DiBartolomeo geschrieben. Zu den Gerberdaten im weiteren Sinne zählen auch sog. &amp;quot;Drillfiles&amp;quot;, welche die Ansteuerdaten für die CNC-Platinenbohrmaschinen enthalten. Sie sind den Gerberfiles meist sehr ähnlich, auch wenn sie anderslautende Befehle haben. Weit verbreitet für diesen Zweck sind unter anderem Bohrautomaten der Firma Excellon, und so hat das Excellon-Dateiformat eine recht weite Verbreitung gefunden. Eine Beschreibung des Excellon-Dateiformates findet sich auf der Homepage von [http://www.excellon.com/manuals/program.htm Excellon]. Bohrdaten können aber auch im Gerberformat dargestellt werden. Sie bilden dann ein eigenes Gerberfile. Im Allgemeinen sollten aus praktischen Gründen immer mehrere Bohrdateien pro Platine verwendet werden: Eine Datei für durchkontaktierte (mit Innenverkupferung, &amp;quot;Via&amp;quot; genannt) und eine für nicht durchkontaktierte Bohrungen. Der Hintergrund ist, dass die Bohrungen für durchkontaktierte und nicht durchkontaktierte Bohrungen in zwei unterschiedlichen Arbeitsschritten erfolgen müssen. Bei Multilayerplatinen kann es für manche Lagen weitere Drillfiles geben, je nachdem es sich um &amp;quot;blind&amp;quot; oder &amp;quot;buried&amp;quot; Vias handelt, für die naturgemäß Bohrungen nicht in allen Lagen vorhanden sind. Fräsungen (für Platinenumrisse und Aussparungen) haben ein eigenes Gerberlayer, in denen die zu fräsenden Konturen eingezeichnet sind. Da Bohrungen ab 2 mm Durchmesser gefräst werden können und ab 4 mm Durchmesser gefräst werden sollten, besteht eventuell ein Entscheidungsfreiraum, um bestimmte Fräsungen besser als Bohrungen in ein Drillfile aufzunehmen oder bestimmte Bohrungen als Fräsungen in die Fräslage aufzunehmen.&lt;br /&gt;
&lt;br /&gt;
=== Struktur des Formates ===&lt;br /&gt;
&lt;br /&gt;
Jede Kupferlage, aber auch Lötpasten- und Kleberschablone, Lötstopplack, Beschriftung etc. hat seine eigene Gerberdatei. Wenn vorhanden, getrennt nach Vorder- und Rückseite. Die Datei beginnt mit einem Header, im dem Allgemeines, wie das Einheitensystem (Inch oder mm), die Zahlendarstellung (Nullen unterdrückt, Stellen vor und nach dem Dezimaltrenner), und ob eine Lage gespiegelt oder positiv/negativ dargestellt wird. Eine Lötstoppmaske zum Beispiel enthält meist die gleichen Pads wie die korrespondierende Kupferlage, allerdings etwas größer. Die Darstellung erfolgt aber im Gegensatz zur Kupferlage, wo die Pads &amp;quot;Inseln&amp;quot; sind, negativ, was &amp;quot;Löcher&amp;quot; in der die ganze Platine bedeckenden Lötstoppschicht bedeutet. Es folgt eine Blendentabelle. Hierbei wird eine Anzahl von Blenden in Form und Größe definiert. Daran anschliessend Zeilen mit X- und Y-Koordinaten, die entweder mit geschlossener (nur Positionswechsel) oder offener Blende (&amp;quot;Draw&amp;quot;, es wird ein &amp;quot;Strich&amp;quot; gezogen, die Blendenanweisung definiert seine Breite), angefahren werden. Es gibt auch Positionen, die mit geschlossener Blende angefahren werden, und wo am Zielort die Blende kurz geöffnet wird (&amp;quot;Blinks&amp;quot; oder &amp;quot;Flashes&amp;quot;). Diese werden verwendet, um speziell Pads darzustellen. Die Form und Größe der Blende bestimmt hierbei die Form und Größe des erzeugten Pads. Leiterbahnstücke gleicher Form werden nicht als Blink, sondern als Draw mit gleichem Anfangs und Endpunkt (&amp;quot;Null-Länge&amp;quot;) dargestellt. Diese konsequente Trennung von Pads als Blink und Leiterbahnen als Draw ermöglicht es, leichter Änderungen an den Pads vornehmen zu können, in dem man dem Pad eine andere Blendendefinition zuweist. Das gilt auch für mit dem Pad im Zusamenhang zusehenden Blinks für Lötstoppmasken und besonders Pasten- und Klebstoffmasken, die oft vom Bestücker für seinen individuellen Herstellungsprozess angepasst werden müssen. Das Gerberformat enthält auch Anweisungsmöglichkeiten für Skalierung, Makros, Polygone, Drehungen, Kreise u. Kreissegmente, Kommentare etc. Große Flächen werden entweder durch einen Flächenbefehl als Polygon definiert, oder aber durch viele Striche emuliert (&amp;quot;stroke fill&amp;quot;). Die Dateiendung ist nicht einheitlich. Üblich ist es, alle Gerber Dateien mit .gbr, .ger oder .gerber enden zu lassen, und den speziellen Zweck im Dateinahmen unterzubringen (Beispiel: &amp;quot;PlatineProjektname-CopperTop.gbr&amp;quot;), oder aber spezielle Endungen für die jeweilige Gerberlage entsprechend ihrer Verwendung zu benutzen. Ein spezielles System existiert hierbei nicht, jedes Programm handhabt diese auf seine Weise. Eine sehr alte Tradition aus DOS-Zeiten (vermutlich Orcad) ist aber:&lt;br /&gt;
*.BOT  Kupferflaechen Loetseite&lt;br /&gt;
*.drl  Bohrfile (&amp;quot;Drill Rack&amp;quot;, Bohrerliste)&lt;br /&gt;
*.drd  Excellon-Bohrdaten (es müssen aber zwei Bohrdatenlisten existieren. Einmal für durchkontaktierte und einmal für nicht durckontaktierte Bohrungen, weil die Löcher dafür in unterschiedlichen Bearbeitungsstufen gebohrt werden müssen)&lt;br /&gt;
*.dri  Bohrinfo (Statistik über Bohrungen, Bohrerliste)&lt;br /&gt;
*.mnt  Pick and Place Bauteilseite (nur SMD)&lt;br /&gt;
*.mnb  Pick and Place Loetseite (nur SMD, bei Bauteilen auf beiden Seiten)&lt;br /&gt;
*.SMB  Loetstoppmaske Loetseite (Solder Mask Bottom)&lt;br /&gt;
*.SMT  Loetstoppmaske Bestueckungsseite (Solder Mask Top)&lt;br /&gt;
*.SST  Bestueckungsplan Bauteilseite (Silk Screen Top)&lt;br /&gt;
*.SSB  Bestückungsplan Loetseite (Silk Screen Bottom)&lt;br /&gt;
*.TOP  Kupferflaechen Bestueckungsseite&lt;br /&gt;
*.CRT  Lötpastenmaske Bestueckungsseite (Cream Top)&lt;br /&gt;
*.CRB  Lötpastenmaske Lötseite (Cream Bottom)&lt;br /&gt;
*.GLT  Klebermaske Bestueckungsseite (Glue Top)&lt;br /&gt;
*.GLB  Klebermaske Loetseite (Glue Bottom)&lt;br /&gt;
*.KOT  Keepout Bestueckungsseite &lt;br /&gt;
*.KOB  Keepout Loetseite&lt;br /&gt;
*.OUT  Outline&lt;br /&gt;
&lt;br /&gt;
andere Endungen:&lt;br /&gt;
*.NCD  Drillfile&lt;br /&gt;
*.TOL  Toolfile&lt;br /&gt;
*.TC   Drillcounter&lt;br /&gt;
&lt;br /&gt;
Vorschläge für alternative Dateiendungssysteme finden sich im einschlägigen [http://de.wikipedia.org/wiki/Gerber-Format Wikipedia Artikel].&lt;br /&gt;
&lt;br /&gt;
== Tipps ==&lt;br /&gt;
&lt;br /&gt;
*Wenn man Gerber- und Drillfiles erstellt, verwenden man am besten für beide ein einheitliches Zahlenformat, sofern das Layoutprogramm dazu eine Wahl lässt. Richten Sie sich dabei in erster Linie an den Bohrdaten aus, da diese der Dreh und Angelpunkt der Toleranzen sind.&lt;br /&gt;
*Den Nullpunkt der Koordinaten legt man dabei idealerweise nach unten links, falls das Layoutprogram dazu eine Wahl lässt.&lt;br /&gt;
*Man sollte nach Möglichkeit nur noch Gerber RS-274X (&amp;quot;Extended Gerber&amp;quot;) oder besser noch &#039;&#039;&#039;[https://www.mikrocontroller.net/articles/Gerber-Tools#Aktuell:_Gerber_Version_2_.28X2.29 Gerber Version 2 (X2)]&#039;&#039;&#039; verwenden.   &lt;br /&gt;
*Als standardmäßige Formateinstellung für Gerberdaten empfielt sich dabei 3.3 metrisch. Hintergrund: Die IPC Spezifikation empfiehlt, die höchste Auflösung zu verwenden.&lt;br /&gt;
*Man verwendet nach Möglichkeit kein &amp;quot;Stroke fill&amp;quot; für Kupferflächen, sondern einen Polygon-Befehl. Leider lässt das nicht jedes Programm zu. Eine Begründung für die Vermeidung findet sich hier unter [https://www.ucamco.com/en/guest/downloads &amp;quot;Painting considered harmful&amp;quot;].&lt;br /&gt;
* Für Pads gilt ähnliches in noch verschärfterer Form: Pads sollten nach möglichkeit immer &amp;quot;Blinks&amp;quot; sein. Allerdings ist das bei exotischren Padformen nicht so ohne weiteres möglich.&lt;br /&gt;
* Alle Lagen &amp;quot;in normaler&amp;quot; Ansicht ausgeben. D.h. so, wie man sie sehen würde, wenn man mit einem Röntgenblick von der Bauteilseite durch die Platine schauen würde. Schriften auf der Unterseite die im fertigen Objekt normal lesbar sein sollen, erscheinen dabei gespiegelt, aber die Lagen selber sollten im allgemeinen nicht gespiegelt sein. Der Grund dafür ist [https://www.mikrocontroller.net/topic/377526?goto=new#4293772 hier] diskutiert.&lt;br /&gt;
* Eine Platinenbeschreibung in einem allgemein lesbaren Format (z.B. PDF oder TXT, &#039;&#039;&#039;nicht&#039;&#039;&#039; die obskuren Formate irgendwelcher Textverarbeitungssysteme) dabeilegen. Ausser Informationen über Lagenaufbau und Abmessungen sollte diese Beschreibung eine Liste aller Gerber- und Bohrfiles enthalten, mit einer &#039;&#039;&#039;expliziten Nennung&#039;&#039;&#039; der Lage, für die sie gedacht sind. Das gilt besonders für Innenlagen, die nicht nur einfach durchnummeriert sein sollten, sondern es sollte &#039;&#039;&#039;explizit&#039;&#039;&#039; angegeben werden, in welcher Position sich die &amp;quot;Nummer&amp;quot; zur Ober- oder Unterseite befindet. Bei einem vierlagigen Aufbau ist es sonst nicht eindeutig klar, das &amp;quot;Layer 1&amp;quot; die Lage direkt unter der Oberseitenlage ist.&lt;br /&gt;
* Kupferlagen sollten nicht komplett negativ sein, auch wenn sie negative Teile enthalten. Aber Lötstoppmaske, Lotpastenmaske und Klebstoffmaske schon.&lt;br /&gt;
* Die Lagen sollten keinen Versatz gegeneinander haben.&lt;br /&gt;
* Es sollte eine Konturlage existieren, die alle (Aussen-) Konturen der Platine enthält.&lt;br /&gt;
* Für durchkontaktierte und nicht durchkontaktierte Bohrungen sollten separate Bohrfiles existieren. Diese sind dann aber im [http://en.wikipedia.org/wiki/Excellon_format Excellon-Format] und nicht Gerber. Bei Multilayer Aufbauten sind für jeden separaten Bohrvorgang separate Borfiles nötig (Achtung bei blind und buried Vias). Ist, wegen irgendeiner Besonderheit der speziellen Platine, ein sonst üblicher Bohrvorgang nicht vorhanden, so sollte das auch &#039;&#039;&#039;explizit&#039;&#039;&#039; im begleitenden Text vermerkt werden.&lt;br /&gt;
* Ein konkreter Fall mit Fragen zur Erstellung von Gerberdaten (aus Target, gilt aber allgemein) findet sich [http://www.mikrocontroller.net/topic/319625#new hier].&lt;br /&gt;
&lt;br /&gt;
== Alternativen zu Gerber ==&lt;br /&gt;
&lt;br /&gt;
Viele Leiterplattenhersteller aktzeptieren auch die direkten Entwicklungsdaten für die meisten weitverbreiteten Leiterplattenlayout Programme. Insbesondere gilt das für Eagle, Kicad, Target, Altium und Orcad. Es empfielt sich darum, den gewünschten Leiterplattenhersteller nach den Formaten, die er verarbeiten kann, zu fragen. Allerdings gibt man in diesem Falle wesentlich mehr Daten heraus, als für eine Produktion nötig ist. Insofern kann das als Sicherheitsrisiko gesehen werden, was aber für Amateure eher nebensächlich sein dürfte.&lt;br /&gt;
&lt;br /&gt;
Ein weiteres, wesentlich schwerwiegenderes, Risiko liegt aber darin, das die CAD-Systemdaten wesentlich interpretierfähiger als die Gerberdaten sind, was zu fatalen Missverständnissen führen kann.&lt;br /&gt;
&lt;br /&gt;
Für die Produktion müssen die Daten aber auf jeden Fall vom Leiterplattenhersteller speziell für seine Anlagen aufbereitet werden. Darum, und um eine Kompatibilität mit den Daten anderer CAD-Systeme zu erhalten, werden die Daten dann im allgemeinen doch in das Gerberformat umgewandelt, da Gerber als Austauschformat den kleinsten gemeinsamen Nenner darstellt. Weil Gerber für den Austausch am weitesten verbreitet ist, haben die Leiterplattenhersteller darin auch oft die meiste Erfahrung und meiste Übung und oft feststehende Vorgehensweisen im Sinne der Qualitätssicherung.&lt;br /&gt;
&lt;br /&gt;
Daher ist es angeraten, seine Daten im Gerberformat bei den Leiterplattenherstellern einzureichen.&lt;br /&gt;
&lt;br /&gt;
Eine Diskussion zum Thema &amp;quot;CAD-Dateien statt Gerber&amp;quot; findet sich [http://www.mikrocontroller.net/topic/319065#new hier im Forum].&lt;br /&gt;
&lt;br /&gt;
Als direktes alternatives Dateiformat zu Gerber wäre ODB++ zu nennen, welches aber proprietär von Valor ist. Eine Diskussion zum Thema &amp;quot;ODB++ statt Gerber&amp;quot; findet sich [http://www.mikrocontroller.net/topic/320716#new hier im Forum]. Desweiteren entwickelte [http://www.ipc.org/de/default.aspx der IPC] mit [http://ipc-2581.com/ IPC-2581] ein XML basiertes Format, das sich bisher aber kaum verbreiten konnte. Es gibt wohl neuere Ansätze, IPC-2581 und Gerber aneinander anzugleichen. Auch dazu veröffentlichte Ucamco einen [http://www.ucamco.com/downloads Vorschlag (Und weiter: IPC-2581 meets the Gerber File Format)] der das Gerber-Dateiformat um Angaben z.b. zum Lagenaufbau erweitert.&lt;br /&gt;
&lt;br /&gt;
Ein [[media:Datenformate-Gerber.pdf | Plädoyer für Gerber]] hält auch A.Wiemers.&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich zählt das Gerberformat zu den Vektorgrafikformaten. Daher ist hypothetisch auch z.B. [http://de.wikipedia.org/wiki/SVG das SVG-Format] geeignet, um Platinendaten zu transportieren und zu manipulieren. Allerdings ist das bisher nicht üblich, und u.U. riskant, weil eine identische Darstellung in verschiedenen Programmen aufgrund der Komplexität von SVG nicht immer gewährleistet ist.&lt;br /&gt;
&lt;br /&gt;
== Gerber Tools == &lt;br /&gt;
* [https://gerber.ucamco.com Reference Gerber Viewer]: Ucamco, Inhaber der IP-Rechte für das Gerber-Dateiformat, bietet eine einfach zu bedienende Referenz für X1- und X2-Gerber-Dateien, als praktische Ergänzung zur  [https://www.ucamco.com/en/file-formats/gerber/downloads schriftlichen Spezifikation]. Es gibt Unterstützung für Bohrdateien im NC- oder Excellon-Format und für Gerber X2-Attribute. Es ist außerdem ein einfaches Tool zur Überprüfung der PCB-Fertigungsdaten. Da der Reference Gerber Viewer ein Cloud-basierter Online-Webdienst ist,  muss zwar keine Software heruntergeladen und installiert werden, aber die Gerberdateien müssen natürlich hochgeladen werden. &lt;br /&gt;
&lt;br /&gt;
* [http://www.GerberLogix.com GerberLogix]: Einfach zu bedienender Extended Gerber Viewer. Weitere Formate sind Excellon 1/2. Highlight ist die Automatische Bemaßung von Leiterbahnen. Für Hobbyisten Kostenlos.&lt;br /&gt;
&lt;br /&gt;
* [http://www.PCB-Investigator.com PCB-Investigator]: Umfangreiche Funktionalität zum vergleichen verschiedenster Leiterplatten Daten. Wandelt alle Daten auch in 3D um. ODB++, IPC 2581, GenCAD und Gerber Daten. &lt;br /&gt;
&lt;br /&gt;
* [http://ruggedcircuits.com/gerbmerge/ Gerbmerge] (z.Zt. - 03.2018 - Error 404 File not found): Ein unter Python geschriebenes Tool, mit denen einzelne Platinen zu größeren Nutzen zusammengefügt werden können. Seit 2008 GNU GPL. Author: Andrew Sterian et al. Von Gerbmerge gibt es mehrere Forks/Versionen für unterschiedliche Zwecke (zoll/metrisch ec.) Mittlerweile gibt es auch eine Python 3 Version. Es handelt sich um ein Kommandozeilentool. Eine Kurzbeschreibung der Bedienung und ein Verweis auf die unterschiedlichen Versionen findet sich [https://www.mikrocontroller.net/topic/184080#4226884 hier]. Die Dokumentation zum (originalen) Gerbmerge ist [http://www.gedasymbols.org/user/stefan_tauner/tools/gerbmerge/doc/ hier] zu finden:  Die Python 3 Version findet sich [https://github.com/digistump/gerbmerge3 hier]. &lt;br /&gt;
&lt;br /&gt;
* [http://www.graphicode.com/GC-Prevue_Gerber_Viewer gc-preview]: Ein Programm, um Gerberdaten ansehen und drucken zu können. Leider keine Freeware mehr.&lt;br /&gt;
&lt;br /&gt;
* Die Firma Graphicode bietet auch noch andere, im allgemeinen kostenpflichtige Software an, mit der diverse Plotter- und Platinenformate, u.a. auch Gerberdaten, ineinander überführt werden können, wie z.B. [http://www.graphicode.com/products/cam GC-CAM-Edit].&lt;br /&gt;
&lt;br /&gt;
* [http://www.softwarecompanions.com/gerbview.html GerbView (1)]: Ein Programm, das in der Lage ist, verschiedene Platinen- und Plotterformate, darunter eben auch Gerberdaten, zu sichten, ineinander zu convertieren, zu markieren und zu drucken. 30 Tage Testversion. &lt;br /&gt;
&lt;br /&gt;
* [http://iut-tice.ujf-grenoble.fr/kicad/ GerbView (2)]: Ebenfalls unter dem Namen GerbView existiert ein anderer Gerberviewer als Bestandteil von [[KiCAD]]. Dieser erlaubt das Betrachten der Gerberfiles und den Export als Platine in PCBnew, welches ebenfals Bestandteil von KiCAD ist. Unter KiCAD/PCBnew kann diese Platine dann manipuliert, verändert und wieder als Gerberfile exportiert werden. Allerdings können so nur Gerber-RS274X Daten eingelesen und exportiert werden. Blinks werden aber beim Reimport als Durchkontaktierung dargestellt. Insgesammt ist dieses Feature ziemlich &amp;quot;buggy&amp;quot; und unperfekt. Letzteres ist aber aus grundsätzlichen Erwägungen heraus auch schwer zu ändern. Siehe [http://www.mikrocontroller.net/topic/263576#2739329 Forumsbeitrag].&lt;br /&gt;
&lt;br /&gt;
* [http://gerbv.gpleda.org/index.html Gerbv]: Ebenfalls ein Open Source Gerberviewer. Er gehört zum gEDA Projekt. Funktioniert hervorragend und hat viele Features. Verarbeitet RS-274-X und Excellon-Bohrdaten, jedoch kein RS-274 (Standard-Gerber). Dieser Gerberviewer ermöglicht auch das Löschen einzelner Strukturen und das Umskalieren, Verschieben, Spiegeln und Drehen der gesamten Gerberdatei. Gespeichert wird nur Extended Gerber. Im aktuellen Quellcode (git-Version, 2016-09-22; noch nicht als Release verfügbar) gibt es Möglichkeiten zur &#039;&#039;Panelization&#039;&#039;, indem man mehrere eingelesene Lagen beim Export miteinander vereinigen kann; zusammen mit den bereits genannten Drehungen oder Verschiebungen (die sich auch auf mehrere ausgewählte Lagen eines Teil-Layouts gleichzeitig anwenden lassen) kann man sich auf diese Weise seinen eigenen Nutzen zusammenstellen. Zur Bedienung des Programms siehe den [https://www.mikrocontroller.net/topic/184080#5363888 Forumsbeitrag] von Jörg Wunsch.  In den Repositories der Linux Distributionen und des gEDA-Projektes findet sich leider meist eine ältere Version. Der Sourcecode einer aktuelleren Version findet sich z.B. [https://sourceforge.net/projects/gerbv/ hier] bei  Sourceforge.&lt;br /&gt;
&lt;br /&gt;
* [http://www.pentalogix.com ViewMate]: ist eine professionelle CAM-Software, die als Viewer kostenlos abgegeben wird. Die Funktionen zum Ändern und Speichern sind gesperrt, aber zum Überprüfen der Ausgabedaten hervorragend geeignet (auch Bohrdaten). Dies kostenlose Version läuft auch recht gut unter wine (Debian squeeze). &lt;br /&gt;
&lt;br /&gt;
* [http://www.mentor.com/products/pcb-system-design/downloads/odb-viewer VUV]: ODB++ Viewer, der von der Firma Valor, jetzt von Mentor übernommen, kostenlos abgegeben wird.&lt;br /&gt;
&lt;br /&gt;
* [http://www.cenon.info/ Cenon]: Cenon ist eine Open Source Software um speziell Vektorgrafiken zu betrachten, zu manipulieren und zu konvertieren. Das Gerberformat ist grundsätzlich als Vektorgrafikformat anzusehen. Cenon kann auch Standard und Extended Gerber einlesen, und als Extended Gerber wieder abspeichern. Es können einzelne Strukturen in Gerber selektiert, kopiert, gelöscht, verschoben, gedreht und eingefügt werden. Ebenso können Mehrfachnutzen erstellt werden. Es kann auch in oder aus anderen Vektorformaten wie PDF, PS, HPGL, DXF konvertiert werden. Die Bedienung des Programmes ist manchmal sehr pfiffig, aber leider meistens sehr gewöhnungsbedürftig. Es ist z.B. unbedingt darauf zu achten, das die Dateien adäquate Endungen haben, als Gerber lässt Cenon nur .ger und .gerber zu. Bei der Zusammenarbeit mit anderen Programmen ist es daher leider oft nötig, die Dateien ständig umzubenennen. Unter Debian Squeeze existiert ein Cenon Package. Leider müssen z.Z. (17. Nov. 2011) nach der Installation noch die GNUstep Librarys manuell von /usr/lib/GNUstep/Library nach /usr/lib/GNUstep/Cenon oder /usr/local/lib/GNUstep/Cenon kopiert werden. Es ist dringend anzuraten, die  [http://www.cenon.info/frameLoad_de.html?support_faq_de.html Cenon FAQ] und das [http://www.vhf-group.com/vhf-interservice/download/doc/Cenon_de.pdf Cenon Handbuch] zu lesen.&lt;br /&gt;
&lt;br /&gt;
* [[Media:PyGerberAnalyse_B5_13Jun2013.zip]] Absolut primitives Programm zur Gerber-Daten Analyse. Test-Status. Geschrieben in Python3. Kann Gerber247d und Gerber247x einlesen und teilweise analysieren und die Analyse als Datei abspeichern, aber keine Makros darin. Kann auch Drill Files einlesen. Kann Gerber- oder Drill-Files in rudimentärer Form anzeigen (z.B. OHNE Aperturen, kein Maßstab, ist somit für fast nichts zu gebrauchen). Das Programm besteht aus den drei Teilen PyGerbAnalyse_B5_13Jun2013.py, ClassDefBasicAnalysisResults_13Jun2013.py und ClassDefGerberLayer_13Jun2013.py. Gestartet wird nur PyGerbAnalyse_B5_13Jun2013.py, die anderen beiden Python Files enthalten Klassendefinitionen. Steht unter GNU-GPL. Autor Bernd Wiebus. KEINE GARANTIE! Testberichte, Hinweise, Informationen und Anregungen sowie dringend benötigte Testdateien mit normalen und exotischen, auch älteren, Gerberformaten von unterschiedlichen Layoutprogrammen bitte an bernd.wiebus@gmx.de senden. DANKE im Voraus dazu! Es ist eine Python3 Version des unter dem BASIC-Dialekt Gambas2 geschriebenen ebenso primitiven Viewers, der unter [[Media:GerbAnalyse_RevA6.zip]] zu bekommen ist. Python3 ist unter Linux bei den meisten Distributionen als Packet installierbar. Windows User könnten vieleicht Möglichkeiten in dieser [http://www.mikrocontroller.net/topic/280970#new Diskussion] finden.&lt;br /&gt;
&lt;br /&gt;
* [http://www.gerber-viewer.com/ gerber-viewer.com]: Für die schnelle Kontrolle von Gerberdaten eignet sich auch ein online Viewer. Einfach Zip-Archiv oder Gerberdaten auswählen, uploaden und online begutachten. Datensicherheit beachten! Gerberdaten werden dabei herausgegeben!&lt;br /&gt;
&lt;br /&gt;
* [http://www.pcb-viewer.de/ pcb-viewer.de]: Zum Betrachten von Gerber- (im .zip) und Eagle-Dateien (.brd), weiteres siehe [https://www.mikrocontroller.net/topic/452032 Forumsbeitrag].&lt;br /&gt;
&lt;br /&gt;
* [http://www.numericalinnovations.com/collections/fab-3000-gerber-cam?gclid=CLj1-_GW6LsCFclQ3godr3sASQ FAB 3000 V7]: Ein Gerberviewer und Editor von Numerical Innovations. Es existiert auch eine Trial Version.&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/aitjcize/QCamber QCamber] Relativ neue Software, über die noch wenig bekannt ist.&lt;br /&gt;
&lt;br /&gt;
* [http://flatcam.org/ FlatCAM] Diese Software erstellt aus Gerberdaten und Bohrdaten G-Code für Bohrmaschinen oder für Fräser um den Platinenumriss (mit Haltestegen) freizufräsen, oder auch zum &amp;quot;Konturfräsen&amp;quot;. Beim &amp;quot;Konturfräsen&amp;quot; wird eine Leiterplatte nicht geätzt, sondern gefräst. Naturgemäß geht letzteres nur sinnvoll für Einzelstücke oder Kleinserien, und auch nur für relativ grobe Layouts. Desweiteren kann auf diesem Wege auch G-Code zum Fräsen bzw. Gravieren von Frontplatten o.ä. erzeugt werden, wenn man die Strukturen in einem Layoutprogramm passend anlegt, als Gerberdaten exportiert und dann mit dieser Software bearbeitet. Siehe [http://www.mikrocontroller.net/topic/338193#3717135 Forumsbeitrag 1] und [https://www.mikrocontroller.net/topic/369261 Forumsbeitrag 2].&lt;br /&gt;
&lt;br /&gt;
* [http://reprap.org/wiki/PCB_Milling#Visolate Visolate] erstellt aus Gerberdaten G-Code für Fräsmaschinen nach dem sog. Voronoi-Verfahren. Dabei werden nicht die Umrisse jeder Leiterbahn gefräst, sondern eine einzelne Isolierbahn zwischen jeweils zwei Leiterbahnen. Das spart natürlich erheblich Bearbeitungszeit und reduziert den Werkzeugverschleiss, ist aber auch für Hochstromanwendungen interessant, bei denen die Leiterbahnen so breit wie möglich sein sollen. Ein weiterer Vorteil des Verfahrens ist, dass Fräsbahnen immer in einem stumpfen Winkel aufeinander stossen, so dass an den Übergängen keine Grate entstehen. [https://github.com/Traumflug/Visolate Visolate ist Open Source], Java-Binaries im Ordner releases/.&lt;br /&gt;
&lt;br /&gt;
* [http://www.zofzpcb.com ZofzPCB] Ein Gerber Viewer. Kann u.A. Gerber Daten in 3D Rendern. Freeware. Läuft aber z.Z. (Oktober 2014) nur unter Windows. Siehe: [http://www.mikrocontroller.net/topic/346675#new Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
* [http://www.viewplot.com/ ViewPlot] Viewer (kostenlos), Editor (kostenpflichtig); Version 1.5 hat bessere/mehr Features als 2.0, bspw. einen DRC-Check (Abstandstest).  Läuft auch im Wine.  Funktioniert nicht, wenn %MOIN*% und %MOMM*% in einer Datei gemischt auftreten, was nach älteren Versionen der RS-274-X-Spec zulässig war, nach der aktuellen jedoch nicht mehr.&lt;br /&gt;
&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/450655#new Nadelbettadapter Skript] Ein Tool, welches per Python Skripting Daten für einen Nadelbettadapter erzeugt. Es geht dabei von Gerberdaten aus, die dann über den KiCad internen Gerberviewer in KiCad PCBnew importiert werden.&lt;br /&gt;
&lt;br /&gt;
*[https://imagetogerber.wordpress.com/ imagetogerber], Onlineconverter von Bilddaten in Gerber&lt;br /&gt;
&lt;br /&gt;
== Siehe auch == &lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/293100#new Forumsbeitrag]: Gerber Daten: wie erkenne ich, ob Bohrung metallisiert ist?&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/311780#new Forumsbeitrag]: Gerberdatei für Lötstoppmaske&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/311426#new Forumsbeitrag]: Ein Klassiker - Gerberdaten und Blendendatei - RS274D vs. RS274X&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/310333#new Forumsbeitrag]: Kicad: Bohrdatei&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/309923#new Forumsbeitrag]: Gerbv Layoutkontrolle fehlerhafte Anzeige/ Ergebnisse?&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/309765#new Forumsbeitrag]: Bohrdatei für fertige Leiterplatte&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/303326#new Forumsbeitrag]: gerber Preview gcprevue welche Version empfehlenswert?&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/298632#new Forumsbeitrag]: Gerber Daten für Board Cutout (Altium)&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/307967#new Forumsbeitrag]: Kann mir wer Eagle zu Gerber exportieren&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/291090#new Forumsbeitrag]: Altium exportiert nicht korrekt in Gerber&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/262726#new Forumsbeitrag]: Gerber Daten (formate und Dateiendungen)&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/255449#new Forumsbeitrag]: Eagle CAM-Job / Itead Studio - Fehler in Gerber Dateien?&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/255129#new Forumsbeitrag]: Layout (Gerber) in Nutzen umwandeln - suche Tool&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/241858#new Forumsbeitrag]: EAGLE: Genauigkeit für Gerber-Dateien einstellen - wo? wie?&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/319065#new Forumsbeitrag]: CAD-Daten oder Gerberdaten herausgeben?&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/320716#new Forumsbeitrag]: Diskussion über ODB++ als Alternative zu Gerber.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Schaltplaneditoren]]&lt;br /&gt;
[[Category:Platinen]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Datenformate-Gerber.pdf_Pl%C3%A4doyer_f%C3%BCr_Gerber&amp;diff=107686</id>
		<title>Datei:Datenformate-Gerber.pdf Plädoyer für Gerber</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Datenformate-Gerber.pdf_Pl%C3%A4doyer_f%C3%BCr_Gerber&amp;diff=107686"/>
		<updated>2025-08-23T11:34:56Z</updated>

		<summary type="html">&lt;p&gt;Falk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Gerber-Tools&amp;diff=107685</id>
		<title>Gerber-Tools</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Gerber-Tools&amp;diff=107685"/>
		<updated>2025-08-23T11:34:35Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Alternativen zu Gerber */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Gerber-Tools sind Programme, die es erlauben die von fast allen [[Schaltplaneditoren|Platinenlayoutprogrammen]] erzeugbaren Gerberfiles zu betrachten, zu überprüfen und eventuell sogar zu manipulieren. Das beginnt mit Tools, die es erlauben die Platinen zu drehen und miteinander zu verbinden bzw. mehrere identische zu größeren Panelen (sog. Nutzen) zusammenzufügen, um sie rationeller fertigen zu können. Es hört auf mit Programmen die in der Lage sind, Leiterbahnen und Bohrlöcher zu verschieben und zu ändern. Es ist guter Stil, seine eigene Arbeit mit einem Gerber-Viewer zu überprüfen, der &#039;&#039;&#039;nicht&#039;&#039;&#039; zum System des Platinenlayoutprogrammes gehört, mit der man die Platinendaten erzeugt hat, allein um systematische Fehler zu minimieren.&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
Gerber-Daten stellen alle Daten dar, die zur Fertigung einer Leiterplatte benötigt werden. Und eben auch nicht mehr. Also keine Informationen über Netze, Schaltpläne oder Details über Bauteile. Daher erlauben sie es, auch solche Informationen gegenüber dem Fertiger einer Leiterplatte geheim zu halten, im Gegensatz zur Herausgabe von Platinendaten (CAD-Boarddateien) direkt aus dem Programm. Ferner ist das Format robust und kompakt. Es enthält alle Angaben, die zur Steuerung eines Photoplotters zur Erstellung von Filmen für die Leiterplattenbelichtung benötigt werden. Es ist eng mit dem &amp;quot;G-Code&amp;quot; für CNC-Drehbänke und Fräsmaschinen verwandt, beschränkt sich aber auf eine zweidimensionale (xy) Darstellung. Gerber hat sich als weit verbreitetes Austauschformat für Leiterplattendaten etabliert; mittlerweile enthält so gut wie jedes Programm zur Platinenentwicklung eine Exportmöglichkeit für Gerber, und so gut wie alle Firmen, die Leiterplatten herstellen, können diese Daten einlesen und verwerten.&lt;br /&gt;
&lt;br /&gt;
== Historisches ==&lt;br /&gt;
&lt;br /&gt;
Mancher komplizierterer Sachverhalt lässt sich nur richtig und gut über die Geschichte dahinter erklären, und so auch verstehen und besser behalten. Darum hier etwas zur Geschichte von Gerber.&lt;br /&gt;
&lt;br /&gt;
Das heute gebräuchliche Format RS-274X (X für &amp;quot;extended&amp;quot;) hat einen Vorgänger RS-274D. Wobei RS274D tatsächlich ein Standard zur Steuerung von CNC-Maschinen war, von dem dann für die optischen Verfahren in der Platinenherstellung nur eine Teilmenge verwendet wurde. Der Hauptunterschied zwischen dem RS-274D und RS-274X ist, dass das alte RS-274D keine Informationen über die verwendeten Blenden enthält. Zu einer Gerber-Datei gehörte also immer noch eine Blendendatei. Beim RS-274X ist diese Information (und andere, z.B. die über das Zahlenformat) in der Gerber-Datei selber integriert. Für neue Entwicklung sollte &#039;&#039;&#039;kein&#039;&#039;&#039; altes RS-274D mehr verwendet werden. Auch das neuere RS-274X ist mittlerweile veraltet, und durch [https://www.mikrocontroller.net/articles/Gerber-Tools#Aktuell:_Gerber_Version_2 Gerber Version 2 (X2)] ersetzt worden, welches nun bevorzugt verwendet werden sollte.&lt;br /&gt;
&lt;br /&gt;
Da früher Photoplotter für den Blendenwechsel drehbare Blendenrevolver hatten, die entweder 6 oder 12 verschiedene Blenden aufnehmen konnten, war die Anzahl der verwendeten Blenden in einem Design beschränkt, wollte man nicht zuviele zeitraubende und teure manuelle Blendenwechsel vornehmen. Das Problem bestand bei späteren Vektorplottern nicht mehr in dieser Form, da diese die Blenden in gewissen Bereichen frei emulieren konnten. Heutige Plotter arbeiten komplett anders, so das die Daten auch anders aufbereitet werden müssen. Das Format der Gerber-Dateien hat sich als praktisches Austauschformat allerdings erhalten, auch wenn es jetzt nur noch so darstellt, &#039;&#039;&#039;als ob&#039;&#039;&#039; die Daten einen Photoplotter steuern würde. &lt;br /&gt;
&lt;br /&gt;
Entwickelt wurde das Gerber-Dateiformat von Gerber-Scientific. Später pflegte Barco und jetzt Ucamco die Spezifikationen dieses Formates. &lt;br /&gt;
&lt;br /&gt;
Auch heute ist das Gerber-Format noch nicht komplett, weil durch den technischen Fortschritt immer neue Möglichkeiten entstehen, über die das jeweilige aktuelle Gerber-Format keine Angaben enthalten kann. Es enthält z.B. keine Angaben über den Lagenaufbau. Solche Informationen müssen dem Fertiger daher in begleitenden Texten oder Zeichnungen übergeben werden.  Um diese Problem anzugehen, veröffentlicht Ucamco einen [http://www.ucamco.com/downloads Vorschlag (und weiter: Extending the Gerber Format with Attributes)] der das Gerber-Dateiformat um Attribute erweitert. Ucamco hat dazu eingeladen, zu diesem Vorschlag Kommentare und Verbesserungsvorschläge einzureichen, bevor er formell in die Gerber-Spezifikationen Eingang erhielt. Mittlerweile ist er als Gerber Version 2 umgesetzt.&lt;br /&gt;
&lt;br /&gt;
== Aktuell: Gerber Version 2 (X2) ==&lt;br /&gt;
Ganz aktuell im Herbst 2014 hat Ucamco &amp;quot;Gerber Version 2&amp;quot; vorgestellt, das aber sehr ähnlich und voll abwärtskompatibel zu RS-274X sein will. Dazu findet sich deutsche [https://www.ucamco.com/files/downloads/file/131/the_gerber_file_format_version_2_faq_de.pdf?ffadb605ad51e2ab5d87820700d9d26c FAQ] sowie das englische [https://www.ucamco.com/files/downloads/file/125/the_gerber_file_format_version_2_faq.pdf?01eb5acfbf71e38d1d90eb632fe2c30b Original].  Die Gerber Spezifikation befindet sich hier auf der Ucamco [http://www.ucamco.com/en/guest/downloads Downloadseite]. Daszu gibt es ein [http://www.ucamco.com/gerber/intro Video] sowie eine [http://www.mikrocontroller.net/topic/352281#3920473 Diskussion].&lt;br /&gt;
&lt;br /&gt;
== Details der Formate ==&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
Wikipedia hat eine Beschreibung des [http://de.wikipedia.org/wiki/Gerber-Format Gerber-Formates]. Die Spezifikation und weitere Informationen findet sich [http://www.ucamco.com/downloads hier als &amp;quot;The Gerber File Format Specification&amp;quot;]. Eine [http://www.artwork.com/gerber/274x/rs274x.htm weitere Erläuterung] hat Steve DiBartolomeo geschrieben. Zu den Gerberdaten im weiteren Sinne zählen auch sog. &amp;quot;Drillfiles&amp;quot;, welche die Ansteuerdaten für die CNC-Platinenbohrmaschinen enthalten. Sie sind den Gerberfiles meist sehr ähnlich, auch wenn sie anderslautende Befehle haben. Weit verbreitet für diesen Zweck sind unter anderem Bohrautomaten der Firma Excellon, und so hat das Excellon-Dateiformat eine recht weite Verbreitung gefunden. Eine Beschreibung des Excellon-Dateiformates findet sich auf der Homepage von [http://www.excellon.com/manuals/program.htm Excellon]. Bohrdaten können aber auch im Gerberformat dargestellt werden. Sie bilden dann ein eigenes Gerberfile. Im Allgemeinen sollten aus praktischen Gründen immer mehrere Bohrdateien pro Platine verwendet werden: Eine Datei für durchkontaktierte (mit Innenverkupferung, &amp;quot;Via&amp;quot; genannt) und eine für nicht durchkontaktierte Bohrungen. Der Hintergrund ist, dass die Bohrungen für durchkontaktierte und nicht durchkontaktierte Bohrungen in zwei unterschiedlichen Arbeitsschritten erfolgen müssen. Bei Multilayerplatinen kann es für manche Lagen weitere Drillfiles geben, je nachdem es sich um &amp;quot;blind&amp;quot; oder &amp;quot;buried&amp;quot; Vias handelt, für die naturgemäß Bohrungen nicht in allen Lagen vorhanden sind. Fräsungen (für Platinenumrisse und Aussparungen) haben ein eigenes Gerberlayer, in denen die zu fräsenden Konturen eingezeichnet sind. Da Bohrungen ab 2 mm Durchmesser gefräst werden können und ab 4 mm Durchmesser gefräst werden sollten, besteht eventuell ein Entscheidungsfreiraum, um bestimmte Fräsungen besser als Bohrungen in ein Drillfile aufzunehmen oder bestimmte Bohrungen als Fräsungen in die Fräslage aufzunehmen.&lt;br /&gt;
&lt;br /&gt;
=== Struktur des Formates ===&lt;br /&gt;
&lt;br /&gt;
Jede Kupferlage, aber auch Lötpasten- und Kleberschablone, Lötstopplack, Beschriftung etc. hat seine eigene Gerberdatei. Wenn vorhanden, getrennt nach Vorder- und Rückseite. Die Datei beginnt mit einem Header, im dem Allgemeines, wie das Einheitensystem (Inch oder mm), die Zahlendarstellung (Nullen unterdrückt, Stellen vor und nach dem Dezimaltrenner), und ob eine Lage gespiegelt oder positiv/negativ dargestellt wird. Eine Lötstoppmaske zum Beispiel enthält meist die gleichen Pads wie die korrespondierende Kupferlage, allerdings etwas größer. Die Darstellung erfolgt aber im Gegensatz zur Kupferlage, wo die Pads &amp;quot;Inseln&amp;quot; sind, negativ, was &amp;quot;Löcher&amp;quot; in der die ganze Platine bedeckenden Lötstoppschicht bedeutet. Es folgt eine Blendentabelle. Hierbei wird eine Anzahl von Blenden in Form und Größe definiert. Daran anschliessend Zeilen mit X- und Y-Koordinaten, die entweder mit geschlossener (nur Positionswechsel) oder offener Blende (&amp;quot;Draw&amp;quot;, es wird ein &amp;quot;Strich&amp;quot; gezogen, die Blendenanweisung definiert seine Breite), angefahren werden. Es gibt auch Positionen, die mit geschlossener Blende angefahren werden, und wo am Zielort die Blende kurz geöffnet wird (&amp;quot;Blinks&amp;quot; oder &amp;quot;Flashes&amp;quot;). Diese werden verwendet, um speziell Pads darzustellen. Die Form und Größe der Blende bestimmt hierbei die Form und Größe des erzeugten Pads. Leiterbahnstücke gleicher Form werden nicht als Blink, sondern als Draw mit gleichem Anfangs und Endpunkt (&amp;quot;Null-Länge&amp;quot;) dargestellt. Diese konsequente Trennung von Pads als Blink und Leiterbahnen als Draw ermöglicht es, leichter Änderungen an den Pads vornehmen zu können, in dem man dem Pad eine andere Blendendefinition zuweist. Das gilt auch für mit dem Pad im Zusamenhang zusehenden Blinks für Lötstoppmasken und besonders Pasten- und Klebstoffmasken, die oft vom Bestücker für seinen individuellen Herstellungsprozess angepasst werden müssen. Das Gerberformat enthält auch Anweisungsmöglichkeiten für Skalierung, Makros, Polygone, Drehungen, Kreise u. Kreissegmente, Kommentare etc. Große Flächen werden entweder durch einen Flächenbefehl als Polygon definiert, oder aber durch viele Striche emuliert (&amp;quot;stroke fill&amp;quot;). Die Dateiendung ist nicht einheitlich. Üblich ist es, alle Gerber Dateien mit .gbr, .ger oder .gerber enden zu lassen, und den speziellen Zweck im Dateinahmen unterzubringen (Beispiel: &amp;quot;PlatineProjektname-CopperTop.gbr&amp;quot;), oder aber spezielle Endungen für die jeweilige Gerberlage entsprechend ihrer Verwendung zu benutzen. Ein spezielles System existiert hierbei nicht, jedes Programm handhabt diese auf seine Weise. Eine sehr alte Tradition aus DOS-Zeiten (vermutlich Orcad) ist aber:&lt;br /&gt;
*.BOT  Kupferflaechen Loetseite&lt;br /&gt;
*.drl  Bohrfile (&amp;quot;Drill Rack&amp;quot;, Bohrerliste)&lt;br /&gt;
*.drd  Excellon-Bohrdaten (es müssen aber zwei Bohrdatenlisten existieren. Einmal für durchkontaktierte und einmal für nicht durckontaktierte Bohrungen, weil die Löcher dafür in unterschiedlichen Bearbeitungsstufen gebohrt werden müssen)&lt;br /&gt;
*.dri  Bohrinfo (Statistik über Bohrungen, Bohrerliste)&lt;br /&gt;
*.mnt  Pick and Place Bauteilseite (nur SMD)&lt;br /&gt;
*.mnb  Pick and Place Loetseite (nur SMD, bei Bauteilen auf beiden Seiten)&lt;br /&gt;
*.SMB  Loetstoppmaske Loetseite (Solder Mask Bottom)&lt;br /&gt;
*.SMT  Loetstoppmaske Bestueckungsseite (Solder Mask Top)&lt;br /&gt;
*.SST  Bestueckungsplan Bauteilseite (Silk Screen Top)&lt;br /&gt;
*.SSB  Bestückungsplan Loetseite (Silk Screen Bottom)&lt;br /&gt;
*.TOP  Kupferflaechen Bestueckungsseite&lt;br /&gt;
*.CRT  Lötpastenmaske Bestueckungsseite (Cream Top)&lt;br /&gt;
*.CRB  Lötpastenmaske Lötseite (Cream Bottom)&lt;br /&gt;
*.GLT  Klebermaske Bestueckungsseite (Glue Top)&lt;br /&gt;
*.GLB  Klebermaske Loetseite (Glue Bottom)&lt;br /&gt;
*.KOT  Keepout Bestueckungsseite &lt;br /&gt;
*.KOB  Keepout Loetseite&lt;br /&gt;
*.OUT  Outline&lt;br /&gt;
&lt;br /&gt;
andere Endungen:&lt;br /&gt;
*.NCD  Drillfile&lt;br /&gt;
*.TOL  Toolfile&lt;br /&gt;
*.TC   Drillcounter&lt;br /&gt;
&lt;br /&gt;
Vorschläge für alternative Dateiendungssysteme finden sich im einschlägigen [http://de.wikipedia.org/wiki/Gerber-Format Wikipedia Artikel].&lt;br /&gt;
&lt;br /&gt;
== Tipps ==&lt;br /&gt;
&lt;br /&gt;
*Wenn man Gerber- und Drillfiles erstellt, verwenden man am besten für beide ein einheitliches Zahlenformat, sofern das Layoutprogramm dazu eine Wahl lässt. Richten Sie sich dabei in erster Linie an den Bohrdaten aus, da diese der Dreh und Angelpunkt der Toleranzen sind.&lt;br /&gt;
*Den Nullpunkt der Koordinaten legt man dabei idealerweise nach unten links, falls das Layoutprogram dazu eine Wahl lässt.&lt;br /&gt;
*Man sollte nach Möglichkeit nur noch Gerber RS-274X (&amp;quot;Extended Gerber&amp;quot;) oder besser noch &#039;&#039;&#039;[https://www.mikrocontroller.net/articles/Gerber-Tools#Aktuell:_Gerber_Version_2_.28X2.29 Gerber Version 2 (X2)]&#039;&#039;&#039; verwenden.   &lt;br /&gt;
*Als standardmäßige Formateinstellung für Gerberdaten empfielt sich dabei 3.3 metrisch. Hintergrund: Die IPC Spezifikation empfiehlt, die höchste Auflösung zu verwenden.&lt;br /&gt;
*Man verwendet nach Möglichkeit kein &amp;quot;Stroke fill&amp;quot; für Kupferflächen, sondern einen Polygon-Befehl. Leider lässt das nicht jedes Programm zu. Eine Begründung für die Vermeidung findet sich hier unter [https://www.ucamco.com/en/guest/downloads &amp;quot;Painting considered harmful&amp;quot;].&lt;br /&gt;
* Für Pads gilt ähnliches in noch verschärfterer Form: Pads sollten nach möglichkeit immer &amp;quot;Blinks&amp;quot; sein. Allerdings ist das bei exotischren Padformen nicht so ohne weiteres möglich.&lt;br /&gt;
* Alle Lagen &amp;quot;in normaler&amp;quot; Ansicht ausgeben. D.h. so, wie man sie sehen würde, wenn man mit einem Röntgenblick von der Bauteilseite durch die Platine schauen würde. Schriften auf der Unterseite die im fertigen Objekt normal lesbar sein sollen, erscheinen dabei gespiegelt, aber die Lagen selber sollten im allgemeinen nicht gespiegelt sein. Der Grund dafür ist [https://www.mikrocontroller.net/topic/377526?goto=new#4293772 hier] diskutiert.&lt;br /&gt;
* Eine Platinenbeschreibung in einem allgemein lesbaren Format (z.B. PDF oder TXT, &#039;&#039;&#039;nicht&#039;&#039;&#039; die obskuren Formate irgendwelcher Textverarbeitungssysteme) dabeilegen. Ausser Informationen über Lagenaufbau und Abmessungen sollte diese Beschreibung eine Liste aller Gerber- und Bohrfiles enthalten, mit einer &#039;&#039;&#039;expliziten Nennung&#039;&#039;&#039; der Lage, für die sie gedacht sind. Das gilt besonders für Innenlagen, die nicht nur einfach durchnummeriert sein sollten, sondern es sollte &#039;&#039;&#039;explizit&#039;&#039;&#039; angegeben werden, in welcher Position sich die &amp;quot;Nummer&amp;quot; zur Ober- oder Unterseite befindet. Bei einem vierlagigen Aufbau ist es sonst nicht eindeutig klar, das &amp;quot;Layer 1&amp;quot; die Lage direkt unter der Oberseitenlage ist.&lt;br /&gt;
* Kupferlagen sollten nicht komplett negativ sein, auch wenn sie negative Teile enthalten. Aber Lötstoppmaske, Lotpastenmaske und Klebstoffmaske schon.&lt;br /&gt;
* Die Lagen sollten keinen Versatz gegeneinander haben.&lt;br /&gt;
* Es sollte eine Konturlage existieren, die alle (Aussen-) Konturen der Platine enthält.&lt;br /&gt;
* Für durchkontaktierte und nicht durchkontaktierte Bohrungen sollten separate Bohrfiles existieren. Diese sind dann aber im [http://en.wikipedia.org/wiki/Excellon_format Excellon-Format] und nicht Gerber. Bei Multilayer Aufbauten sind für jeden separaten Bohrvorgang separate Borfiles nötig (Achtung bei blind und buried Vias). Ist, wegen irgendeiner Besonderheit der speziellen Platine, ein sonst üblicher Bohrvorgang nicht vorhanden, so sollte das auch &#039;&#039;&#039;explizit&#039;&#039;&#039; im begleitenden Text vermerkt werden.&lt;br /&gt;
* Ein konkreter Fall mit Fragen zur Erstellung von Gerberdaten (aus Target, gilt aber allgemein) findet sich [http://www.mikrocontroller.net/topic/319625#new hier].&lt;br /&gt;
&lt;br /&gt;
== Alternativen zu Gerber ==&lt;br /&gt;
&lt;br /&gt;
Viele Leiterplattenhersteller aktzeptieren auch die direkten Entwicklungsdaten für die meisten weitverbreiteten Leiterplattenlayout Programme. Insbesondere gilt das für Eagle, Kicad, Target, Altium und Orcad. Es empfielt sich darum, den gewünschten Leiterplattenhersteller nach den Formaten, die er verarbeiten kann, zu fragen. Allerdings gibt man in diesem Falle wesentlich mehr Daten heraus, als für eine Produktion nötig ist. Insofern kann das als Sicherheitsrisiko gesehen werden, was aber für Amateure eher nebensächlich sein dürfte.&lt;br /&gt;
&lt;br /&gt;
Ein weiteres, wesentlich schwerwiegenderes, Risiko liegt aber darin, das die CAD-Systemdaten wesentlich interpretierfähiger als die Gerberdaten sind, was zu fatalen Missverständnissen führen kann.&lt;br /&gt;
&lt;br /&gt;
Für die Produktion müssen die Daten aber auf jeden Fall vom Leiterplattenhersteller speziell für seine Anlagen aufbereitet werden. Darum, und um eine Kompatibilität mit den Daten anderer CAD-Systeme zu erhalten, werden die Daten dann im allgemeinen doch in das Gerberformat umgewandelt, da Gerber als Austauschformat den kleinsten gemeinsamen Nenner darstellt. Weil Gerber für den Austausch am weitesten verbreitet ist, haben die Leiterplattenhersteller darin auch oft die meiste Erfahrung und meiste Übung und oft feststehende Vorgehensweisen im Sinne der Qualitätssicherung.&lt;br /&gt;
&lt;br /&gt;
Daher ist es angeraten, seine Daten im Gerberformat bei den Leiterplattenherstellern einzureichen.&lt;br /&gt;
&lt;br /&gt;
Eine Diskussion zum Thema &amp;quot;CAD-Dateien statt Gerber&amp;quot; findet sich [http://www.mikrocontroller.net/topic/319065#new hier im Forum].&lt;br /&gt;
&lt;br /&gt;
Als direktes alternatives Dateiformat zu Gerber wäre ODB++ zu nennen, welches aber proprietär von Valor ist. Eine Diskussion zum Thema &amp;quot;ODB++ statt Gerber&amp;quot; findet sich [http://www.mikrocontroller.net/topic/320716#new hier im Forum]. Desweiteren entwickelte [http://www.ipc.org/de/default.aspx der IPC] mit [http://ipc-2581.com/ IPC-2581] ein XML basiertes Format, das sich bisher aber kaum verbreiten konnte. Es gibt wohl neuere Ansätze, IPC-2581 und Gerber aneinander anzugleichen. Auch dazu veröffentlichte Ucamco einen [http://www.ucamco.com/downloads Vorschlag (Und weiter: IPC-2581 meets the Gerber File Format)] der das Gerber-Dateiformat um Angaben z.b. zum Lagenaufbau erweitert.&lt;br /&gt;
&lt;br /&gt;
Ein [[media:Datenformate-Gerber.pdf Plädoyer für Gerber]] hält auch A.Wiemers.&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich zählt das Gerberformat zu den Vektorgrafikformaten. Daher ist hypothetisch auch z.B. [http://de.wikipedia.org/wiki/SVG das SVG-Format] geeignet, um Platinendaten zu transportieren und zu manipulieren. Allerdings ist das bisher nicht üblich, und u.U. riskant, weil eine identische Darstellung in verschiedenen Programmen aufgrund der Komplexität von SVG nicht immer gewährleistet ist.&lt;br /&gt;
&lt;br /&gt;
== Gerber Tools == &lt;br /&gt;
* [https://gerber.ucamco.com Reference Gerber Viewer]: Ucamco, Inhaber der IP-Rechte für das Gerber-Dateiformat, bietet eine einfach zu bedienende Referenz für X1- und X2-Gerber-Dateien, als praktische Ergänzung zur  [https://www.ucamco.com/en/file-formats/gerber/downloads schriftlichen Spezifikation]. Es gibt Unterstützung für Bohrdateien im NC- oder Excellon-Format und für Gerber X2-Attribute. Es ist außerdem ein einfaches Tool zur Überprüfung der PCB-Fertigungsdaten. Da der Reference Gerber Viewer ein Cloud-basierter Online-Webdienst ist,  muss zwar keine Software heruntergeladen und installiert werden, aber die Gerberdateien müssen natürlich hochgeladen werden. &lt;br /&gt;
&lt;br /&gt;
* [http://www.GerberLogix.com GerberLogix]: Einfach zu bedienender Extended Gerber Viewer. Weitere Formate sind Excellon 1/2. Highlight ist die Automatische Bemaßung von Leiterbahnen. Für Hobbyisten Kostenlos.&lt;br /&gt;
&lt;br /&gt;
* [http://www.PCB-Investigator.com PCB-Investigator]: Umfangreiche Funktionalität zum vergleichen verschiedenster Leiterplatten Daten. Wandelt alle Daten auch in 3D um. ODB++, IPC 2581, GenCAD und Gerber Daten. &lt;br /&gt;
&lt;br /&gt;
* [http://ruggedcircuits.com/gerbmerge/ Gerbmerge] (z.Zt. - 03.2018 - Error 404 File not found): Ein unter Python geschriebenes Tool, mit denen einzelne Platinen zu größeren Nutzen zusammengefügt werden können. Seit 2008 GNU GPL. Author: Andrew Sterian et al. Von Gerbmerge gibt es mehrere Forks/Versionen für unterschiedliche Zwecke (zoll/metrisch ec.) Mittlerweile gibt es auch eine Python 3 Version. Es handelt sich um ein Kommandozeilentool. Eine Kurzbeschreibung der Bedienung und ein Verweis auf die unterschiedlichen Versionen findet sich [https://www.mikrocontroller.net/topic/184080#4226884 hier]. Die Dokumentation zum (originalen) Gerbmerge ist [http://www.gedasymbols.org/user/stefan_tauner/tools/gerbmerge/doc/ hier] zu finden:  Die Python 3 Version findet sich [https://github.com/digistump/gerbmerge3 hier]. &lt;br /&gt;
&lt;br /&gt;
* [http://www.graphicode.com/GC-Prevue_Gerber_Viewer gc-preview]: Ein Programm, um Gerberdaten ansehen und drucken zu können. Leider keine Freeware mehr.&lt;br /&gt;
&lt;br /&gt;
* Die Firma Graphicode bietet auch noch andere, im allgemeinen kostenpflichtige Software an, mit der diverse Plotter- und Platinenformate, u.a. auch Gerberdaten, ineinander überführt werden können, wie z.B. [http://www.graphicode.com/products/cam GC-CAM-Edit].&lt;br /&gt;
&lt;br /&gt;
* [http://www.softwarecompanions.com/gerbview.html GerbView (1)]: Ein Programm, das in der Lage ist, verschiedene Platinen- und Plotterformate, darunter eben auch Gerberdaten, zu sichten, ineinander zu convertieren, zu markieren und zu drucken. 30 Tage Testversion. &lt;br /&gt;
&lt;br /&gt;
* [http://iut-tice.ujf-grenoble.fr/kicad/ GerbView (2)]: Ebenfalls unter dem Namen GerbView existiert ein anderer Gerberviewer als Bestandteil von [[KiCAD]]. Dieser erlaubt das Betrachten der Gerberfiles und den Export als Platine in PCBnew, welches ebenfals Bestandteil von KiCAD ist. Unter KiCAD/PCBnew kann diese Platine dann manipuliert, verändert und wieder als Gerberfile exportiert werden. Allerdings können so nur Gerber-RS274X Daten eingelesen und exportiert werden. Blinks werden aber beim Reimport als Durchkontaktierung dargestellt. Insgesammt ist dieses Feature ziemlich &amp;quot;buggy&amp;quot; und unperfekt. Letzteres ist aber aus grundsätzlichen Erwägungen heraus auch schwer zu ändern. Siehe [http://www.mikrocontroller.net/topic/263576#2739329 Forumsbeitrag].&lt;br /&gt;
&lt;br /&gt;
* [http://gerbv.gpleda.org/index.html Gerbv]: Ebenfalls ein Open Source Gerberviewer. Er gehört zum gEDA Projekt. Funktioniert hervorragend und hat viele Features. Verarbeitet RS-274-X und Excellon-Bohrdaten, jedoch kein RS-274 (Standard-Gerber). Dieser Gerberviewer ermöglicht auch das Löschen einzelner Strukturen und das Umskalieren, Verschieben, Spiegeln und Drehen der gesamten Gerberdatei. Gespeichert wird nur Extended Gerber. Im aktuellen Quellcode (git-Version, 2016-09-22; noch nicht als Release verfügbar) gibt es Möglichkeiten zur &#039;&#039;Panelization&#039;&#039;, indem man mehrere eingelesene Lagen beim Export miteinander vereinigen kann; zusammen mit den bereits genannten Drehungen oder Verschiebungen (die sich auch auf mehrere ausgewählte Lagen eines Teil-Layouts gleichzeitig anwenden lassen) kann man sich auf diese Weise seinen eigenen Nutzen zusammenstellen. Zur Bedienung des Programms siehe den [https://www.mikrocontroller.net/topic/184080#5363888 Forumsbeitrag] von Jörg Wunsch.  In den Repositories der Linux Distributionen und des gEDA-Projektes findet sich leider meist eine ältere Version. Der Sourcecode einer aktuelleren Version findet sich z.B. [https://sourceforge.net/projects/gerbv/ hier] bei  Sourceforge.&lt;br /&gt;
&lt;br /&gt;
* [http://www.pentalogix.com ViewMate]: ist eine professionelle CAM-Software, die als Viewer kostenlos abgegeben wird. Die Funktionen zum Ändern und Speichern sind gesperrt, aber zum Überprüfen der Ausgabedaten hervorragend geeignet (auch Bohrdaten). Dies kostenlose Version läuft auch recht gut unter wine (Debian squeeze). &lt;br /&gt;
&lt;br /&gt;
* [http://www.mentor.com/products/pcb-system-design/downloads/odb-viewer VUV]: ODB++ Viewer, der von der Firma Valor, jetzt von Mentor übernommen, kostenlos abgegeben wird.&lt;br /&gt;
&lt;br /&gt;
* [http://www.cenon.info/ Cenon]: Cenon ist eine Open Source Software um speziell Vektorgrafiken zu betrachten, zu manipulieren und zu konvertieren. Das Gerberformat ist grundsätzlich als Vektorgrafikformat anzusehen. Cenon kann auch Standard und Extended Gerber einlesen, und als Extended Gerber wieder abspeichern. Es können einzelne Strukturen in Gerber selektiert, kopiert, gelöscht, verschoben, gedreht und eingefügt werden. Ebenso können Mehrfachnutzen erstellt werden. Es kann auch in oder aus anderen Vektorformaten wie PDF, PS, HPGL, DXF konvertiert werden. Die Bedienung des Programmes ist manchmal sehr pfiffig, aber leider meistens sehr gewöhnungsbedürftig. Es ist z.B. unbedingt darauf zu achten, das die Dateien adäquate Endungen haben, als Gerber lässt Cenon nur .ger und .gerber zu. Bei der Zusammenarbeit mit anderen Programmen ist es daher leider oft nötig, die Dateien ständig umzubenennen. Unter Debian Squeeze existiert ein Cenon Package. Leider müssen z.Z. (17. Nov. 2011) nach der Installation noch die GNUstep Librarys manuell von /usr/lib/GNUstep/Library nach /usr/lib/GNUstep/Cenon oder /usr/local/lib/GNUstep/Cenon kopiert werden. Es ist dringend anzuraten, die  [http://www.cenon.info/frameLoad_de.html?support_faq_de.html Cenon FAQ] und das [http://www.vhf-group.com/vhf-interservice/download/doc/Cenon_de.pdf Cenon Handbuch] zu lesen.&lt;br /&gt;
&lt;br /&gt;
* [[Media:PyGerberAnalyse_B5_13Jun2013.zip]] Absolut primitives Programm zur Gerber-Daten Analyse. Test-Status. Geschrieben in Python3. Kann Gerber247d und Gerber247x einlesen und teilweise analysieren und die Analyse als Datei abspeichern, aber keine Makros darin. Kann auch Drill Files einlesen. Kann Gerber- oder Drill-Files in rudimentärer Form anzeigen (z.B. OHNE Aperturen, kein Maßstab, ist somit für fast nichts zu gebrauchen). Das Programm besteht aus den drei Teilen PyGerbAnalyse_B5_13Jun2013.py, ClassDefBasicAnalysisResults_13Jun2013.py und ClassDefGerberLayer_13Jun2013.py. Gestartet wird nur PyGerbAnalyse_B5_13Jun2013.py, die anderen beiden Python Files enthalten Klassendefinitionen. Steht unter GNU-GPL. Autor Bernd Wiebus. KEINE GARANTIE! Testberichte, Hinweise, Informationen und Anregungen sowie dringend benötigte Testdateien mit normalen und exotischen, auch älteren, Gerberformaten von unterschiedlichen Layoutprogrammen bitte an bernd.wiebus@gmx.de senden. DANKE im Voraus dazu! Es ist eine Python3 Version des unter dem BASIC-Dialekt Gambas2 geschriebenen ebenso primitiven Viewers, der unter [[Media:GerbAnalyse_RevA6.zip]] zu bekommen ist. Python3 ist unter Linux bei den meisten Distributionen als Packet installierbar. Windows User könnten vieleicht Möglichkeiten in dieser [http://www.mikrocontroller.net/topic/280970#new Diskussion] finden.&lt;br /&gt;
&lt;br /&gt;
* [http://www.gerber-viewer.com/ gerber-viewer.com]: Für die schnelle Kontrolle von Gerberdaten eignet sich auch ein online Viewer. Einfach Zip-Archiv oder Gerberdaten auswählen, uploaden und online begutachten. Datensicherheit beachten! Gerberdaten werden dabei herausgegeben!&lt;br /&gt;
&lt;br /&gt;
* [http://www.pcb-viewer.de/ pcb-viewer.de]: Zum Betrachten von Gerber- (im .zip) und Eagle-Dateien (.brd), weiteres siehe [https://www.mikrocontroller.net/topic/452032 Forumsbeitrag].&lt;br /&gt;
&lt;br /&gt;
* [http://www.numericalinnovations.com/collections/fab-3000-gerber-cam?gclid=CLj1-_GW6LsCFclQ3godr3sASQ FAB 3000 V7]: Ein Gerberviewer und Editor von Numerical Innovations. Es existiert auch eine Trial Version.&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/aitjcize/QCamber QCamber] Relativ neue Software, über die noch wenig bekannt ist.&lt;br /&gt;
&lt;br /&gt;
* [http://flatcam.org/ FlatCAM] Diese Software erstellt aus Gerberdaten und Bohrdaten G-Code für Bohrmaschinen oder für Fräser um den Platinenumriss (mit Haltestegen) freizufräsen, oder auch zum &amp;quot;Konturfräsen&amp;quot;. Beim &amp;quot;Konturfräsen&amp;quot; wird eine Leiterplatte nicht geätzt, sondern gefräst. Naturgemäß geht letzteres nur sinnvoll für Einzelstücke oder Kleinserien, und auch nur für relativ grobe Layouts. Desweiteren kann auf diesem Wege auch G-Code zum Fräsen bzw. Gravieren von Frontplatten o.ä. erzeugt werden, wenn man die Strukturen in einem Layoutprogramm passend anlegt, als Gerberdaten exportiert und dann mit dieser Software bearbeitet. Siehe [http://www.mikrocontroller.net/topic/338193#3717135 Forumsbeitrag 1] und [https://www.mikrocontroller.net/topic/369261 Forumsbeitrag 2].&lt;br /&gt;
&lt;br /&gt;
* [http://reprap.org/wiki/PCB_Milling#Visolate Visolate] erstellt aus Gerberdaten G-Code für Fräsmaschinen nach dem sog. Voronoi-Verfahren. Dabei werden nicht die Umrisse jeder Leiterbahn gefräst, sondern eine einzelne Isolierbahn zwischen jeweils zwei Leiterbahnen. Das spart natürlich erheblich Bearbeitungszeit und reduziert den Werkzeugverschleiss, ist aber auch für Hochstromanwendungen interessant, bei denen die Leiterbahnen so breit wie möglich sein sollen. Ein weiterer Vorteil des Verfahrens ist, dass Fräsbahnen immer in einem stumpfen Winkel aufeinander stossen, so dass an den Übergängen keine Grate entstehen. [https://github.com/Traumflug/Visolate Visolate ist Open Source], Java-Binaries im Ordner releases/.&lt;br /&gt;
&lt;br /&gt;
* [http://www.zofzpcb.com ZofzPCB] Ein Gerber Viewer. Kann u.A. Gerber Daten in 3D Rendern. Freeware. Läuft aber z.Z. (Oktober 2014) nur unter Windows. Siehe: [http://www.mikrocontroller.net/topic/346675#new Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
* [http://www.viewplot.com/ ViewPlot] Viewer (kostenlos), Editor (kostenpflichtig); Version 1.5 hat bessere/mehr Features als 2.0, bspw. einen DRC-Check (Abstandstest).  Läuft auch im Wine.  Funktioniert nicht, wenn %MOIN*% und %MOMM*% in einer Datei gemischt auftreten, was nach älteren Versionen der RS-274-X-Spec zulässig war, nach der aktuellen jedoch nicht mehr.&lt;br /&gt;
&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/450655#new Nadelbettadapter Skript] Ein Tool, welches per Python Skripting Daten für einen Nadelbettadapter erzeugt. Es geht dabei von Gerberdaten aus, die dann über den KiCad internen Gerberviewer in KiCad PCBnew importiert werden.&lt;br /&gt;
&lt;br /&gt;
*[https://imagetogerber.wordpress.com/ imagetogerber], Onlineconverter von Bilddaten in Gerber&lt;br /&gt;
&lt;br /&gt;
== Siehe auch == &lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/293100#new Forumsbeitrag]: Gerber Daten: wie erkenne ich, ob Bohrung metallisiert ist?&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/311780#new Forumsbeitrag]: Gerberdatei für Lötstoppmaske&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/311426#new Forumsbeitrag]: Ein Klassiker - Gerberdaten und Blendendatei - RS274D vs. RS274X&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/310333#new Forumsbeitrag]: Kicad: Bohrdatei&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/309923#new Forumsbeitrag]: Gerbv Layoutkontrolle fehlerhafte Anzeige/ Ergebnisse?&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/309765#new Forumsbeitrag]: Bohrdatei für fertige Leiterplatte&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/303326#new Forumsbeitrag]: gerber Preview gcprevue welche Version empfehlenswert?&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/298632#new Forumsbeitrag]: Gerber Daten für Board Cutout (Altium)&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/307967#new Forumsbeitrag]: Kann mir wer Eagle zu Gerber exportieren&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/291090#new Forumsbeitrag]: Altium exportiert nicht korrekt in Gerber&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/262726#new Forumsbeitrag]: Gerber Daten (formate und Dateiendungen)&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/255449#new Forumsbeitrag]: Eagle CAM-Job / Itead Studio - Fehler in Gerber Dateien?&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/255129#new Forumsbeitrag]: Layout (Gerber) in Nutzen umwandeln - suche Tool&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/241858#new Forumsbeitrag]: EAGLE: Genauigkeit für Gerber-Dateien einstellen - wo? wie?&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/319065#new Forumsbeitrag]: CAD-Daten oder Gerberdaten herausgeben?&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/320716#new Forumsbeitrag]: Diskussion über ODB++ als Alternative zu Gerber.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Schaltplaneditoren]]&lt;br /&gt;
[[Category:Platinen]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=KiCad&amp;diff=107684</id>
		<title>KiCad</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=KiCad&amp;diff=107684"/>
		<updated>2025-08-23T11:26:08Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Tipps&amp;amp;Tricks / Eigenheiten / Bugs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Wegen eines Umbaus dieser Seite bitte unter Diskussion lesen!&#039;&#039;&#039; [[Diskussion:KiCad#Seitenumbau]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KiCad&#039;&#039;&#039; ist ein Open Source [[Schaltplaneditoren|Schaltplaneditor]] und PCB Layoutprogramm für Windows, Linux, Mac OSX. &lt;br /&gt;
Diese Seite ist zunächst eine Zusammenfassung aus den KiCad Beiträgen im Forum. Und gleich zu Anfang ein grosses DANKE an alle KiCad-User aus dem Forum. Ihr seid zu viele, um jeden einzeln zu nennen. Aber wer sich diese Seite durchliest und den Links folgt, wird euch kennenlernen.  &lt;br /&gt;
&lt;br /&gt;
Hier sollen alte und neue KiCad-Anwender einen Anlaufpunkt finden und neue, insbesondere µC-relevante Aktivitäten stattfinden. &lt;br /&gt;
&lt;br /&gt;
Diese Seite will keine Konkurrenz zum offiziellen KiCad Wiki sein, d.h. was dort steht soll hier nicht wiederholt werden und was hier steht wird hoffentlich zum offiziellen KiCad Wiki wandern.&lt;br /&gt;
&lt;br /&gt;
Die Bedienung von KiCad setzt Hintergrundwissen über die Vorgänge voraus. Die Bedienungsweise entspricht eher einem alten Orcad, Altium oder auch BAE und weniger der von Eagle. Daher ist es Neulingen dringend angeraten, sich vorher die Handbücher und Tutorials gut durch zu sehen. Zur Einarbeitung benötigt man schon etwas Geduld.&lt;br /&gt;
Wer offizielle Releases verwendet, wird oft Bugs feststellen, die aber in den Testing Versionen im allgemeinen beseitigt sind.&lt;br /&gt;
Wenn ihr Kritik oder Fragen zu KiCad habt, dann nutzt das Forum! Sobald KiCad im Betreff steht, wird der Beitrag gelesen und nach Möglichkeit beantwortet. Auch Ideen zu dieser Seite sind sehr willkommen! &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suchen und Finden&#039;&#039;&#039; Da diese Seite hier etwas umfangreich geworden ist, empfehle ich eine Textsuche. Jeder Internetbrowser, der etwas auf sich hält, hat auch eine Suchfunktion, mit der der Text der Seite durchsucht werden kann. Bei Firefox/Iceweasel oben im Pull-down Menue unter &amp;quot;Bearbeiten&amp;quot; &amp;gt; &amp;quot;suchen&amp;quot; oder per Shortcut &amp;lt;Strg-F&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Link defekt -- Siehe auch die offizielle FAQ: http://kicad.sourceforge.net/wiki/index.php/FAQ --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;!-- alt 2007 -- &lt;br /&gt;
* Warum gefällt dir KiCad?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/70905#584639&lt;br /&gt;
** http://www.mikrocontroller.net/topic/81396#680502&lt;br /&gt;
** http://www.mikrocontroller.net/topic/83311#697917&lt;br /&gt;
** http://www.mikrocontroller.net/topic/42614#321502&lt;br /&gt;
* Warum gefällt dir KiCad nicht?&lt;br /&gt;
** Ich verstehe nicht, was du meinst ;-)&lt;br /&gt;
** http://www.mikrocontroller.net/topic/81396#680502&lt;br /&gt;
** http://www.mikrocontroller.net/topic/83311#697969&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wo gibt es weitere Infos zu KiCad?&lt;br /&gt;
** [http://KiCad.org Offizielle Homepage] &lt;br /&gt;
** [http://KiCad.org/help/ Die Offizielle Dokumentation] &lt;br /&gt;
** Einige allgemeine [https://docs.google.com/document/d/1M38ByFyqnhwGo8b_jDDyBceyZtEGeaSAuQaP9REzWrU/edit?usp=sharing Notizen] zur &#039;&#039;&#039;Installation&#039;&#039;&#039; und zur &#039;&#039;&#039;Arbeitsweise&#039;&#039;&#039; von KiCad &lt;br /&gt;
&amp;lt;!-- alt 2008 -- ** http://www.mikrocontroller.net/topic/98034#848661 (Von 2008, also seeeehr überholt) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Welche Leiterplattenfertiger akzeptieren KiCad Layouts?&lt;br /&gt;
** [http://www.pcb-pool.com/ppde/info_dataformat.html PCB-Pool.de]&lt;br /&gt;
** [http://fischer-leiterplatten.de Fischer Leiterplatten]&lt;br /&gt;
** [https://www.oshpark.com/ OSH Park]&lt;br /&gt;
&lt;br /&gt;
* Welche Gerberfiles benötigt der Leiterplattenhersteller?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/399503#new Forumsbeitrag]&lt;br /&gt;
** [[Gerber-Tools]] &lt;br /&gt;
** [[Richtiges_Designen_von_Platinenlayouts#Produktionsgerechter_Entwurf | Hinweise zur Technologie]]&lt;br /&gt;
&lt;br /&gt;
* Wie kriege ich raus, welche Leiterbahn welchen Netznamen hat, bzw. ich habe den Überblick verloren und weiß nicht mehr, was aus dem Layout nun was im Schaltplan ist?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/316539#3427724 Forumsbeitrag], Funktioniert nur gut, wenn ein großes Fadenkreuz gewählt ist.&lt;br /&gt;
** Genauere Informationen, z.B. über die Länge einer Leiterbahn etc. Dazu in PCBnew den gleichen Button rechts wie für das Hinzufügen von Leiterbahnen aktivieren. Oder besser noch rechts den zweiten Button von oben &amp;quot;Netz hervorheben&amp;quot;. Dann mit der rechten Maustaste die fragliche Leiterbahn anklicken. Unten in der Statusleiste werden die Informationen angezeigt.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/267538#new Forumsbeitrag]: KiCad ohne Maus bedienen. &lt;br /&gt;
* [http://www.mikrocontroller.net/topic/302664#3249204 Forumsbeitrag]: Gibt es Sonderzeichen, die ich für Symbole, Module/Footprints oder Files nicht verwenden sollte? Ja, alles was Sonderzeichen außer &amp;quot;- _ .&amp;quot; (Bindestrich, Tiefstrich, Punkt) und keine Zahl ist.&lt;br /&gt;
&lt;br /&gt;
* Wie stelle ich in KiCad das Zeitintervall für &amp;quot;automatisch Speichern&amp;quot; ein?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/459135#5551638 Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
* Woher beziehe ich KiCad?&lt;br /&gt;
** [http://kicad.org/download/ Offizielle Seite], alle Betriebssysteme        &lt;br /&gt;
*** Aktuelle Version: &#039;&#039;&#039;KiCad 9.0.4&#039;&#039;&#039; veröffentlicht im August 2025&lt;br /&gt;
*** Nightly Development Builds auch von der offiziellen Seite&lt;br /&gt;
*** KiCad kann man aus den Sourcen selbst compilieren. Dazu gibt es Skripte zur Unterstützung, die dieses automatisieren, so dass man nicht unbedingt C/C++ Kenntnisse braucht. Die meisten gängigen Linux Distributionen enthalten aber &amp;quot;old stable&amp;quot; KiCad Releases in ihren Repositories.&lt;br /&gt;
&amp;lt;!-- alt -- ** Windows: http://www2.futureware.at/~nickoe/ &lt;br /&gt;
*** Welcher Typ? ...-x86_64.exe oder ...-i686.exe ? Ich brauche x86 32 bit.&lt;br /&gt;
**** Für Windows PC 32 bit die ...-i686.exe, und für Windows PC 64 bit ...-x86_64.exe.&lt;br /&gt;
** Veraltet: http://www71.zippyshare.com/v/28617008/file.html Die Quelle ist hier genannt. https://groups.yahoo.com/neo/groups/kicad-users/conversations/messages/18534 --&amp;gt;&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/298311#3187885 Liste der Versionsänderungen] &lt;br /&gt;
* [http://www.mikrocontroller.net/topic/307517#new Forumsbeitrag]: Ich habe KiCad unter Linux installiert, aber wenn ich KiCad starten will, passiert einfach nichts, oder ich erhalte eine Fehlermeldung wie: &amp;quot;Datei nicht gefunden&amp;quot; &lt;br /&gt;
** 1) KiCad und seine zugeordneten Programme sollten im Suchpfad stehen. Es wird für Debian und Ableger empfohlen, KiCad unter usr/local/bin zu installieren. Anmerkung: Das ist die aktuelle Verfahrensweise. Oktober 2013 wurde aber noch folgende Struktur verwendet:&lt;br /&gt;
*** /usr/bin                            - Binaries (executable files).&lt;br /&gt;
*** /usr/share/doc/kicad/               - Various documentation.&lt;br /&gt;
*** /usr/share/doc/kicad/help           - Interactive help.&lt;br /&gt;
*** /usr/share/kicad/demos              - Sample schematics and printed boards.&lt;br /&gt;
*** /usr/share/kicad/internat           - Dictionaries for interface localization.&lt;br /&gt;
*** /usr/share/kicad/library            - Interface localization files.&lt;br /&gt;
*** /usr/share/kicad/modules            - Module libraries for printed boards.&lt;br /&gt;
*** /usr/share/kicad/modules/packages3d - 3D component models (.wrl and .wings format).&lt;br /&gt;
*** [http://iut-tice.ujf-grenoble.fr/cao/install.txt Quelle], hier sind auch Hinweise für Windows user enthalten.&lt;br /&gt;
&lt;br /&gt;
** 2) User sollten dort Lese- und Ausführungsrechte haben. Aber keine Schreibrechte.&lt;br /&gt;
** 3) Wenn ein fertiges Packgage auf einem 64 bit System verwendet wurde, könnte es daran liegen, das es für 32 bit compiliert wurde, und nicht für 64 bit. Es gibt zwei Möglichkeiten:&lt;br /&gt;
*** a) Selbst aus den Sourcen für sein eigenes System compilieren.&lt;br /&gt;
*** b) Die Runtime Libs für 32 Bit könnten fehlen. Nachinstallieren mit sudo apt-get install ia32-libs. Siehe [http://www.mikrocontroller.net/topic/307517#3307638 Forumsbeitrag]&lt;br /&gt;
* Ich habe das umgekehrte Problem: 32bit system aber 64bit Binarys.&lt;br /&gt;
** Selbst aus den Sourcen neu compilieren.&lt;br /&gt;
&amp;lt;!-- alt -- *Ich will/muss mir KiCad selber compilieren. Wie gehe ich vor?&lt;br /&gt;
** Aktuell nach: http://www.kicad.org/display/DEV/Build+KiCad&lt;br /&gt;
**&lt;br /&gt;
**Veraltet! siehe: http://www.mikrocontroller.net/topic/310766#3351269 Aber Achtung. Diese Anleitung (Oktober 2013) muss nicht aktuell sein. --&amp;gt;&lt;br /&gt;
* Sicherheitseinstellungen von Java sind für PCBnew unter JAVA -&amp;gt; JAVA konfigurieren zu finden.&lt;br /&gt;
&lt;br /&gt;
* Diskussionen zum Thema Installation und compilieren:&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/338600#new FEDORA] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/339509#new ARCH Linux]&lt;br /&gt;
* Konfigurationsdateien:&lt;br /&gt;
** Ab BZR5114 (ca. 5. September 2014) hat sich der Ordner für die Files mit den Konfigurationsdaten geändert. Unter Linux sind nun die Konfigurations Dateien in $HOME/.config/kicad (entsprechen der FreeDesktop.org Spezifikation). Um Ihre gegenwärtigen Konfigurierungen zu erhalten, können die KiCAd Konfigurationsfiles aus dem Home-Verzeichnis in den aktuellen Ordner kopiert werden. Es muss allerdings der führende &amp;quot;.&amp;quot; (Punkt) der Datei entfernt werden. Ebenso muss die globale &amp;quot;fp-lib-table&amp;quot; aus dem home-Verzeichnis dorthin kopiert werden. Windows User müssen KiCad leider reconfigurieren. Es gab keinen einfachen Weg um die Registry-Keys in die Konfigurationsdateien zu extrahieren. Die Konfigurationsdateien unter Windows werden genau wie die fp-lib-table im %APPDATA%\kicad Ordner gespeichert. Es ist angeraten, sämtliche Reste der KiCad Installation aus der Registry zu entfernen, wenn nicht KiCad Versionen vor der BZR5114 verwendet werden. Diese Lösung beseitigt die $home Ordner &amp;quot;Verschmutzung&amp;quot; und vermeidet die Benutzung der Windows registry, wie es häufig gewünscht wurde. Für OS X User ergeben sich keine Änderungen. [https://groups.yahoo.com/neo/groups/kicad-users/conversations/messages/18889 Link] auf die Originalnachricht (englisch):  (KiCad-User Group, 05. September 2014, Titel: Configuration file location changes (#18889) Autor: Wayne Stambaugh)&lt;br /&gt;
&lt;br /&gt;
=== Schaltplan ===&lt;br /&gt;
* Wie stellt man die Blattgröße beim Schaltplan ein?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/33653#974295 Forumsbeitrag]: In Page Settings die Blattgröße verstellen (z.B. von A4 auf A3) &lt;br /&gt;
* Wie mache ich eine neue Schaltplan Seite auf?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/398489#new Forumsbeitrag]: Nur in Form eines neuen hierarchischen Schaltplans&lt;br /&gt;
* Wie kann man den Schaltplan auf mehreren Seiten verteilen (hierarchical sheets)?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/96060 Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/117873#1060062  Forumsbeitrag]&lt;br /&gt;
*Wie geht man mit &amp;quot;Power Pins&amp;quot; in hi­e­r­ar­chischen Schaltplänen um?&lt;br /&gt;
**[http://www.mikrocontroller.net/topic/207905#new  Forumsbeitrag]&lt;br /&gt;
* Wie kann man die &amp;quot;hierachical sheets&amp;quot; benutzen, um aus vorgefertigten Subschaltplänen mit immer gleichen Bauteilgruppen rationell Schaltpläne zusammenzustellen (Building Blocks)?&lt;br /&gt;
** [http://www.mikrocontroller.net/articles/KiCad#Tipps.26Tricks:_Building_Blocks Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/175597#1687653 Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/178683#1724114 Forumsbeitrag]&lt;br /&gt;
* Ich habe einen hierarchischen Schaltplan angelegt. Wenn ich ihn ausdrucke, werden die Subschaltpläne in der Reihenfolge ausgedruckt, in der sie oben in der Übersicht stehen. Diese Reihenfolge ist aber in meinem Fall ungünstig. Wie kann ich diese nun ändern?&lt;br /&gt;
** Leider im Programm z.Z. noch nicht. Trotzdem ist es machbar. Entweder von Hand oder mit einem Python Skript. Näheres zu beidem findet sich ind diesem [http://www.mikrocontroller.net/topic/288394#3064087 Forumsbeitrag] . Ein Python 3 Skript, das den Umgang mit dem Kicad-Schaltplan erleichtert, findet sich [[Media:PyKicadSchematic-ID_Interchanger_RevC.zip | hier]].&lt;br /&gt;
*Wie geht man mit Bussen um?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/208870#new Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/209156#new Forumsbeitrag], speziell bei hierarchischen Schaltplänen&lt;br /&gt;
* Wie kann man Schaltplanentwurf (KiCad) und Schaltungssimulation (Spice) verbinden?&lt;br /&gt;
** NGspice ist in den Grundzügen mittlerweile in den entwicklungsversionen von KiCad integriert. Aktuell (Nov. 2016) muss man sich aber noch KiCad selber compilieren und dabei auch einen passenden Schalter für den Compiler setzten. Siehe: [https://www.mikrocontroller.net/topic/412350#4803960 Forumsbeitrag]&lt;br /&gt;
** [http://Fuhaweb.hartford.edu/kmhill/suppnotes/KiCadDia/AimSPICE/KiCad_AimSPICE_01.pdf Imformationen zur Zusammenspiel KiCad &amp;lt;&amp;gt; AimSpice] &lt;br /&gt;
* Ein [[Media:SymboleFuerKiCad318082009-RevC-DE.pdf | Tutorial]] zum Symboleditor für KiCad, mit dem die Symbole für das Schaltplanmodul (EEschema) erzeugt bzw. editiert werden.&lt;br /&gt;
* Zur Erstellung von Schaltplansymbolen in aufgelöster Darstellung (Relais: Kontaktsätze einzeln und getrennt von der Spule; IC: Versorgungsspannung getrennt von den einzelnen Gattern)&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/273891#new. Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/294095#3136180 Forumsbeitrag]&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/449373#new Forumsbeitrag]&lt;br /&gt;
* Wie kann man im Schaltplan Symbole zum Verschieben gruppieren?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/170913# Forumsbeitrag]&lt;br /&gt;
* Und wenn es darum geht, eine solche Gruppe in einen anderen Schaltplan oder Subschaltplan zu verschieben?&lt;br /&gt;
** Die Gruppe ins &amp;quot;Clipboard&amp;quot; stecken. Dazu nach dem Markieren der Gruppe rechte Maustaste klicken, und dort &amp;quot;Gruppe speichern&amp;quot; wählen. Nun ist die Gruppe im Clipboard. jetzt in den gewünschten Unterschaltplan gehen und die Gruppe dort mithilfe des Clipboardbuttons (Das Klemmbrett Symbol links neben dem &amp;quot;Undo&amp;quot;-Button) in den Schaltplan einfügen. NICHTS mit der rechten Maustaste versuchen! Siehe [http://www.mikrocontroller.net/topic/244836#2499782 Forumsbeitrag].  Das ganze geht nicht nur mit Subschaltplänen, sondern auch genauso in einen ganz anderen Schaltplan, den man dann halt in Eeschema öffnen muss, hinein. Wenn nach dem Einfügen allerdings nur ein Kästchen mit Fragezeichen erscheint, waren die nötigen Symbolbibliotheken für diese Symbole noch nicht in der Projektdatei eingetragen. Das muss man nun nachholen, indem man unter &amp;quot;Einstellungen&amp;quot; die &amp;quot;Bibliotheken&amp;quot; wählt, und die passenden Bibliotheken einträgt. Wenn man nicht genau weiß, wo diese zu finden sind, kann es sinnvoll sein, die *-cache.lib des Herkunftsschaltplanes einzubinden.&lt;br /&gt;
** Ist es möglich, im Schaltplan gruppierte Bauteile automatisch im Board als Gruppe zu verschieben?&lt;br /&gt;
*** Nein. Siehe [https://www.mikrocontroller.net/topic/398996#new Forumsbeitrag]&lt;br /&gt;
* Wie wird man den merkwürdigen Rahmen los?&lt;br /&gt;
** 1) Bei neueren KiCad Versionen, ab ca. Mitte 2013 (von mir getestet ab BZR 4513 29 November 2013) kann man sich eine Vorlage ohne Rahmen erstellen. Dazu den pl_editor (der ganz rechte Button im KiCad Hauptfenster) starten, und FAST alles entfernen. Dazu in der linken Spalte nacheinander alles aktivieren, und mit rechts anklicken und dann &amp;quot;entfernen&amp;quot; wählen. Aber Vorsicht, wenn alles Entfernt wird, taucht das Original Layout wieder auf. Workaround war bei mir, eine zusätzliche Alibilinie hinzuzufügen, die von X 0,000 Y 0,000 bis  X 0,001 Y 0,000 reicht. Das ist ein &amp;quot;Fliegenschiss&amp;quot; in der linken oberen Ecke. Jetzt kann alles andere gelöscht werden. Den so geleerten Rahmen unter einem beliebigen Namen mit der Endung .kicad_wks wegspeichern. Im geöffneten Schaltplan kann der dann unter Datei &amp;gt; Seite einrichten ganz unten unter &amp;quot;page layout file description&amp;quot; die entsprechende Datei eingebunden werden. Es bleibt aber dem Anwender offen, ob er den Rahmen komplett entfernt, oder noch Felder mit Textbeschreibungen übernimmt. Für gesteigerten Komfort kann diese Datei dann auch in ein Template eingebunden werden. &lt;br /&gt;
** 2) Beim Ausdrucken Frame deaktivieren.&lt;br /&gt;
** 3) Als SVG exportieren. Dort den Frame deaktivieren.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/343509#3791448 Forumsbeitrag]&lt;br /&gt;
* Wie schalte die Footprint-Namen in Eeschema global ab?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/253564#new Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Problem mit dem ERC. Ständig kommt die Fehlermeldung: &amp;quot;Pin ist mit anderen Pins verbunden, wird jedoch von keinem angesteuert&amp;quot;&lt;br /&gt;
** Netze, die nicht angesteuert werden, werden von Kicad misstrauische beäugt. Das &amp;quot;nicht ansteuern&amp;quot; kann aber schnell passieren, weil Kicad u.A. erwartet, das irgendwo ein Spannungsversorgung ist. Wenn diese aber z.B. über eine Sicherung oder einen Pull-up Widerstand gehen, so wird das nicht bemerkt, weil Sicherungen und Widerstände (oder auch Entstördrosseln) &amp;quot;passive&amp;quot; Pins haben. Siehe [http://www.mikrocontroller.net/topic/292988#new Forumsbeitrag] und [http://www.mikrocontroller.net/topic/298401#new Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Problem mit dem ERC. Immer in Verbindung mit GND kommt die Fehlermeldung: &amp;quot;Pin ist mit anderen Pins verbunden, wird jedoch von keinem angesteuert&amp;quot;&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/284089#new Forumsbeitrag]&lt;br /&gt;
* Beim ERC kommt die Fehlermeldung &amp;quot;PIN not connected&amp;quot; an Verbindungen, die per Label angeschlossen sind. Was ist da falsch?&lt;br /&gt;
**Sie sind tatsächlich nicht angeschlossen. [http://www.mikrocontroller.net/topic/346976#new Forumsbeitrag]&lt;br /&gt;
* Wie ist der Zusammenhang zwischen Bauteilen und Netznamen? Wie bekomme ich heraus, an welchem Netz mein Bauteil angeschlossen ist?&lt;br /&gt;
** Eeschema vergibt bzw. aktualisiert erst dann Netznamen, wenn eine Netzliste erzeugt wird. Darauf besteht entweder ein Zugriff über PCBnew, oder aber mit einem Editor. [http://www.mikrocontroller.net/topic/316539#new Forumsbeitrag]&lt;br /&gt;
* Ich habe einen Schaltplan geöffnet, aber alle oder einige der Symbole zeigen nur Kästen mit Fragezeichen.&lt;br /&gt;
** Es fehlen die passenden Symbolbibliotheken für diese Symbole.&lt;br /&gt;
** Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Diese Fehlen nun. Man braucht die Originalbibliotheken oder aber die Cache-Bibliothek dieses Schaltplans.&lt;br /&gt;
*** Diese müssen in der Liste der Bibliotheken nachgetragen werden. Siehe dazu die Handhabung von Bibliotheken: [[KiCad#Handhabung_von_Bibliotheken]]&lt;br /&gt;
** Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Diese Fehlen nun. Man braucht nun die Originalbibliotheken oder aber die Cache-Bibliothek dieses Schaltplans.&lt;br /&gt;
** Ab BZR4646 (Jan./Feb. 2014) behandelt KiCad Symbolnamen &amp;quot;Case Sensitive&amp;quot;. Das führt zu Problemen mit älteren Schaltplänen, wo das anders gehandhabt wurde.&lt;br /&gt;
*Wieviele Textfelder für Symbole kann ich anlegen und wie groß dürfen diese sein?&lt;br /&gt;
** Mindestens 35 Felder, die mindestens 256 Zeichen (tatsächlich deutlich mehr) beinhalten können. Aber Zeilenumbrüche gehen nicht. [http://www.mikrocontroller.net/topic/331201#3658695 Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Symbol im Symboleditor geändert. Aber irgendwie taucht diese Änderung dann in Eeschema trotzdem nicht auf.&lt;br /&gt;
** Die Reihenfolge der Einträge in der Bibliotheksliste ist wichtig. Bei gleichem Namen wird immer das zuerst gefundene Symbol verwendet. Steht die -cache.lib in der Reihenfolge zu oberst, wird immer zuerst das Bauteil aus der -cache.lib verwendet. Beheben: Die -cache.lib aus der Bibliotheksliste von Eeschema austragen und neu eintragen, so dass sie unten angefügt wird, und zuletzt geladen wird. Alternativ: Bei Änderungen einen neuen Namen für das Symbol vergeben. Z.B. durch das Pflegen eines Revisions- oder Datecode im Symbolnamen. Einfach nur die -cache.lib löschen langt möglicherweise nicht, weil diese u.U. mit alten Daten neu geschrieben wird (wenn z.b. Eeschema dabei nicht geschlossen ist). [http://www.mikrocontroller.net/topic/331201 Forumsbeitrag]&lt;br /&gt;
* Wie erstelle ich eine Stückliste (BOM, Bill of Materials)?&lt;br /&gt;
** 1) In PCBnew oben im Pull down Menue Datei &amp;gt; Fertigungsdateien &amp;gt; BOM (Bill of materials) Geht nur, wenn die Netzliste schon importiert wurde.&lt;br /&gt;
** 2) In EEschema unter Werkzeuge &amp;gt; Stückliste erstellen &amp;gt; und dann ein Plugin wählen. Es gibt verschieden Plugins mit verschiedenen Eigenschaften z.B. auch für kumulierende Listen. Die Plugins kann man von [https://github.com/KiCad/kicad-source-mirror/tree/master/eeschema/plugins hier] beziehen: Achtung, ein kleiner &#039;&#039;&#039;BUG&#039;&#039;&#039; In den Voreinstellungen der Kommandozeile muss in den Optionen &amp;quot;%O&amp;quot; in &amp;quot;%O.csv&amp;quot; umgewandelt werden, sonst hat die erzeugte Datei keinen .csv extender. Grundsätzlich: Hier wird zuerst eine behelfsmäßige Netzliste im .xml Format erstellt. Die Kommandozeile startet dann ein Programm, was widerum ein .xsl Skript (Das Plugin) abarbeitet, und als output eine .csv Datei erzeugt, die in Tabellenkalkulationen importiert werden kann. In die Kommandozeile kann natürlich auch etwas anderes eingetragen werden, so dass man dort z.B. auch Python Skripte verwenden kann.&lt;br /&gt;
** 3) Man kann sich selber ein separates Skript erstellen, welches die .kicad_sch Datei parst, und daraus eine .csv oder anders gestaltete BOM-Datei erstellt, so wie man es braucht. Da man auch ohne Plugins bei drücken von &amp;quot;Erstellen&amp;quot; die oben erwähnte behelfsmäßige Netzliste erhält, kann man diese auch mit externen Skripten bearbeiten. Es gibt Mittelwege zwischen 2) und 3). Für ein Python Skript siehe [https://forum.kicad.info/t/kibom-python-bom-generation-tool/3038 hier]&lt;br /&gt;
** Info:&lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/402089#new Forumsbnbeitrag]: &amp;quot;KiCad Stückliste&amp;quot; &lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/376977?goto=new#new Forumsbeitrag]: &amp;quot;Kicad Bauteilliste(BOM) erstellen&amp;quot;&lt;br /&gt;
**  [https://www.mikrocontroller.net/topic/402565#new Forumsbeitrag]: Klaus hat ein Plugin geschrieben, dass in html überträgt&lt;br /&gt;
* Ich möchte eine Stückliste (BOM, Bill of Materials) mit einer Datenbank, z.B. für Bestellnummern verbinden.&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/416192#4856645 Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
=== Netlist ===&lt;br /&gt;
* Was genau muss man beim Übergang vom Schaltplan (SCH) zum Layout (BRD) machen?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/33653#898771&lt;br /&gt;
** http://www.mikrocontroller.net/topic/39243#290309&lt;br /&gt;
** http://www.mikrocontroller.net/topic/39243#891530&lt;br /&gt;
* Kann man fertige Netzlisten für Gruppen von Bauteilen einbinden?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/33653#1462871&lt;br /&gt;
* Wie sieht das allgemein mit der Zuordnung Symbol zu Footprint aus?&lt;br /&gt;
** Symbole und Footprints sind zwar von der Idee her erst einmal getrennt, und Footprints werden über CVpcb und Netzliste den Symbolen zugeordnet.&lt;br /&gt;
** Allerdings besteht auch eine Möglichkeit, Symbolen einen bevorzugten Footprint  fest zuzuweisen, der dann automatisch in die Netzliste zum Einlesen in das Board eingetragen wird. Wenn dann der Zuweisungsschritt mit CVbcb in der Netzliste gemacht wird, ist dort schon etwas eingetragen, was man so lassen oder aber ändern kann.&lt;br /&gt;
*** Dazu in EEschema mit der Maus auf ein Symbol gehst und &amp;quot;E&amp;quot; drücken. Alternativ über rechten Mausklick auf Symbol und dann das Kontextmenuest gehen. Wenn man im Symboleditor arbeitet, aus der oberen buttonleiste den Button mit dem &amp;quot;T&amp;quot;-Symbol wählen. Es poppt ein Fenster auf &amp;quot;component properties&amp;quot;. In der Mitte ist eine Tabelle mit unter anderem einem Eintrag &amp;quot;Footprint&amp;quot;. Wenn dann &amp;quot;Footprint&amp;quot; aktiviert wird. kann rechts der Name eines Footprintes eingebenwerden (kompliziert), oder, wesentlich einfacher, darunter gibt es einen Button &amp;quot;browse Footprints&amp;quot;. Wenn der aktiviert wird, öffent sich ein Fenster, in dem sich in den in die Bibliothekslisten eingetragenen Footprintbiblotheken herumwühlen lässt.&lt;br /&gt;
** Desweiteren kann auch eine Kopie des Symbols unter anderem Namen angelegt werden, und dort ein anderer Footprint eingetragen werden, als Variante. Falls das Pinning nicht passt, müssen halt auch noch die Pinne im Symbol passend zum Footprint gemacht werden.&lt;br /&gt;
** Diskussion dazu: https://www.mikrocontroller.net/topic/432920#5112114&lt;br /&gt;
* Kann man Daten für automatische Bestückung erzeugen?&lt;br /&gt;
** Ja. aber nicht in CVpcb für die Symbol &amp;gt; Footprint Zuordnung, sondern im Layout Modul PCBnew.&lt;br /&gt;
* In meiner Netlist fehlen Bauteile, die im Schaltplan vorhanden und angeschlossen sind. Der ERC läuft problemlos durch. Die Annotation auch, aber nach Erstellung der Netlist sind die Symbole plötzlich mit einem vorangestellten &amp;quot;#&amp;quot; im Schaltplan bezeichnet.&lt;br /&gt;
** Vermutlich sind sie versehentlich als &amp;quot;virtuelles&amp;quot; Bauteil gekennzeichnet. Siehe http://www.mikrocontroller.net/topic/268626#new&lt;br /&gt;
* Wie exportiere ich eine Netlist NUR für einen Subschaltplan?&lt;br /&gt;
** Das geht, nachdem dieser Schaltplan explizit in EEschema geöffnet wurde. Siehe: http://www.mikrocontroller.net/topic/330740#new&lt;br /&gt;
* Ich finde CVpcb nicht mehr am gewohnten Platz zwischen all den anderen Startbuttons!&lt;br /&gt;
** CVpcb ist inzwischen aus diesen entfernt worden, und durch Startbuttons für den Symboleditor und den Footprinteditor ersetzt worden. Dafür kann CVpcb jetzt direkt aus Eeschema heraus gestartet werden. Es findet sich jetzt im oberen Pulldown Menue unter &amp;quot;Werkzeuge&amp;quot; und dann &amp;quot;Bauteilfootprints zuweisen&amp;quot; oder in der oberen Buttonleiste als dritter Button von rechts (BZR5175 vom 11 Oktober 2014).&lt;br /&gt;
** Sollte KiCad abstürzen, wenn man versucht, CVpcb zu starten, so kann man CVpcb auch direkt aus einem Terminal oder aus der Eingabeaufforderung heraus starten.  &lt;br /&gt;
** Versuchsweise mal 10 Minuten warten.....bei Problemen mit der Erkennung von Symbolnamen und Footprintnamen (beim öffnen ganz alter Projekte mit alten Dateiformaten) kann es manchmal extrem lange dauern.&lt;br /&gt;
* Was bedeuten die Maßangaben in der Netlist?&lt;br /&gt;
* Wie überträgt man Kicad Schaltpläne in QUCS Schaltpläne für Simulation?&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
* Wie stellt man die Rastergrösse im Layout ein?&lt;br /&gt;
** Mit der Rechten Maustaste in das Board klicken. Es poppt ein Menue auf. Dort Raster wählen..... Geht im Modul-Editor genauso.&lt;br /&gt;
* Wie verteile ich die übereinander geladenen Bauteile?&lt;br /&gt;
**Oben das IC Symbol mit den zwei Pfeilen (Mode footprint) aktivieren und mit der rechten Maustaste auf der Platine im Menü &amp;quot;Global spread and place&amp;quot; anwählen und die gewünschte Art auswählen.&lt;br /&gt;
* Wie werden Pads und Leiterbahnen verbunden?&lt;br /&gt;
**Siehe: http://www.mikrocontroller.net/topic/119755#1081455&lt;br /&gt;
**Aktueller: http://www.mikrocontroller.net/topic/220733#new&lt;br /&gt;
* Ich kann keine Leiterbahnen ziehen!&lt;br /&gt;
** Vermutlich hast Du den automatischen DRC (Design rule check) aktiviert. Deaktiviere ihn halt. In PCBnew im linken Buttonbar der oberste Button (Insekt mit Verbotszeichen). http://www.mikrocontroller.net/topic/306476#new&lt;br /&gt;
* Aber jetzt habe ich beim Ziehen der Leiterbahnen so merkwürdige Ergebnisse!&lt;br /&gt;
** Option &amp;quot;Remove redundant tracks&amp;quot; wählen! Siehe https://www.mikrocontroller.net/topic/381906#new &lt;br /&gt;
* Mir fehlen Airwires/Luftlinien/Gummibänder!&lt;br /&gt;
** Vieleicht die falschen Pins als Typ &amp;quot;Spannungsausgang&amp;quot; definiert? Siehe: http://www.mikrocontroller.net/topic/330817#3620918&lt;br /&gt;
* Ich bekomme immer eine Fehlermeldung vom DRC, das ein Pad nicht angeschlossen ist, aber ich habe es angeschlossen.&lt;br /&gt;
**Siehe: http://www.mikrocontroller.net/topic/204717#2018724&lt;br /&gt;
* Ich will ein Bauteil für geringeren Leiterwiderstand sowohl auf der Unterseite- als auch der Oberseite anschließen. KiCad löscht aber immer den alten Leiterbahnzug, wenn ich den neuen lege. &lt;br /&gt;
** Deaktiviere unter Einstellungen-&amp;gt;Allgemein das &amp;quot;auto-entfernen-von-Leiterbahnen&amp;quot; (einfachste Lösung). &lt;br /&gt;
** Alternativ: Designe dafür Bauteile mit speziellen Pads. http://www.mikrocontroller.net/topic/187606#1823596 (realistischste u. sauberste Lösung, aber etwas umständlich.)&lt;br /&gt;
* Das Löschen der Leiterbahnen Segment für Segment ist sehr umständlich. Geht es besser?&lt;br /&gt;
** Ja. Siehe: https://www.mikrocontroller.net/topic/385768#new &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Bei neueren (RC4 z.B.) Versionen von PCBnew kann unter &amp;quot;View&amp;quot; verschiedene &amp;quot;Canvas&amp;quot; verwendet werden. Jeder dieser &amp;quot;Canvas&amp;quot; verhält sich etwas anders und hat andere Vorzüge.&lt;br /&gt;
** Aktuell (Jan. 2019) mit Auswahlbox. Achtung: Die Auswahlbox hat anderes Verhalten in KiCad 6, je nachdem ob man sie von rechts oder von links aufgezogen hat! Details siehe: https://www.mikrocontroller.net/topic/467735#new&lt;br /&gt;
* Wie kann man ein Bauteil mit Pads und Leiterbahnen bewegen? &lt;br /&gt;
** http://www.mikrocontroller.net/topic/118539#1067219&lt;br /&gt;
* Wie füllt man eine Fläche aus?&lt;br /&gt;
** Siehe: http://www.mikrocontroller.net/topic/93131#854802&lt;br /&gt;
** Etwas aktueller: http://www.mikrocontroller.net/topic/182271#1772119 Zweiter Teil des Posts.&lt;br /&gt;
** Und wie erzeuge ich konzentrisch ineinanderliegende Flächen?&lt;br /&gt;
*** Siehe: http://www.mikrocontroller.net/topic/327475#new&lt;br /&gt;
** Wie ist das Verhalten von KiCad bei Flächen/Polygonen verglichen mit Eagle?&lt;br /&gt;
*** Siehe: https://www.mikrocontroller.net/topic/473604#new&lt;br /&gt;
** Ja, aber meine Fläche wird nicht gefüllt oder es passiert was ganz merkwürdiges.&lt;br /&gt;
***Siehe: http://www.mikrocontroller.net/topic/298692#new &lt;br /&gt;
***Konkreter: Es sollte darauf geachtet werden, das mindestens ein Endpunkt oder ein Via oder ein Knickpunkt der Leiterbahn, die mit der zu füllenden Fläche verbunden sein soll, innerhalb der als zu füllen definierten Fläche liegen. Siehe http://www.mikrocontroller.net/topic/366199#new&lt;br /&gt;
* Die Flächen habe ich jetzt, aber wie sieht das mit &amp;quot;Stitching&amp;quot; aus? Anmerkung: Als &amp;quot;Stitching&amp;quot; (von Engl. &amp;quot;stitch&amp;quot;: Nähen) bezeichnet man das Verbinden mehrerer Flächen oder Leiterbahnen gleichen Potentials mit Durchkontaktierungen durch die Platine hindurch. Üblich z.B. für Masseflächen. Die gleiche Technik kann auch verwendet werden, wenn man für Hochstromverbindungen mehrere Durchkontaktierungen parallel schalten möchte, wobei KiCad beim ziehen des Tracks nur eine  Durchkontaktierung setzt, und die anderen von Hand dazugesetzt werden müssen. &lt;br /&gt;
** Es gibt verschiedene Methoden. Je nach Geschmack. Siehe: http://www.mikrocontroller.net/topic/380550#new und https://www.youtube.com/watch?v=Hp5ngKtl7S4&amp;amp;list=PLJhdeJOBBRdnPgqcUiONoV4NLCo12f-jT&amp;amp;index=5&lt;br /&gt;
* Ich habe eine Platine, die von oben und unten bestückt ist. Wenn ich jetzt Bauteile zusammengruppiere, um sie gemeinsam zu verschieben, erwische ich immer alle Bauteile auf Vorder- und Rückseite. Wie bekomme ich das jetzt hin, das ich nur Module auf einer Seite bewege?&lt;br /&gt;
** Indem im Lagenmanager die Seite, die nicht bewegt werden soll, abgeschaltet wird. Siehe: http://www.mikrocontroller.net/topic/311586#new&lt;br /&gt;
* Wie bekommt man ein vernünftiges Boardoutline hin?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/96060#1057511 &lt;br /&gt;
* Wie erstellt man ein rundes Loch, z.B. eine Befestigungsbohrung / nichtdurchkontaktierte Bohrung?&lt;br /&gt;
** VERALTET: http://www.mikrocontroller.net/topic/179308#1726990&lt;br /&gt;
** VERALTET:http://www.mikrocontroller.net/topic/120373#1122219 ?????&lt;br /&gt;
** KiCad kann mittlerweile auch direkt nichtdurchkontaktierte Bohrungen erzeugen. Siehe dazu http://www.mikrocontroller.net/topic/263069#2732405 Enthält auch allgemeine Informationen zum Umgang mit durchkontaktierten und nicht durchkontaktierten Bohrungen.&lt;br /&gt;
Da Löcher mit einem Durchmesser ab 2mm gefräst statt gebohrt werden können, und ab 6mm Durchmesser mit hoher Sicherheit gefräst werden, ist es sinnvoll, Löcher ab ca. 4mm Durchmesser in PCBnew mit dem Kreistool in das Layer &amp;quot;edge.cuts&amp;quot; zu zeichnen.&lt;br /&gt;
&lt;br /&gt;
* Ich möchte für Passermarken / Fiducials eine deutlich größere Freistellung in der Lötstoppmaske haben. Wie geht das?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/266730#2779498&lt;br /&gt;
* Wie geht das überhaupt mit den Lötstoppmasken?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/283721#new&lt;br /&gt;
* Ja, aber die Lötstoppmaske wird leider nicht angezeigt.&lt;br /&gt;
** http://www.mikrocontroller.net/topic/298028#new&lt;br /&gt;
* Ich möchte Text und Markierungen/Grafik statt im Bestückungsdruck im Lötstopplack erstellen. Geht das überhaupt und wie ist das zu bewerkstelligen?&lt;br /&gt;
** Das geht, und dazu ist der Text oder die grafischen Linien/Kreise direkt in die Lötstoppmaske zu schreiben. Siehe: http://www.mikrocontroller.net/topic/347702#new Die Lötstoppmasken Lagen heissen F.Mask (Bestückungsseite) und B.Mask (Lötseite).&lt;br /&gt;
* Ich möchte Text invers im Bestückungsdruck haben.&lt;br /&gt;
** Das geht. Siehe: http://www.mikrocontroller.net/topic/417961#4888742&lt;br /&gt;
* Wie kann man Bauteilmaße in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
** Anzeige im Layout: Layer &amp;quot;Zeichnung&amp;quot; anwählen. In der rechten Menueleiste &amp;quot;Bemaßung hinzufügen&amp;quot; wählen. Das ist der fünfte Button von unten mit der &amp;quot;blauen Bemaßung&amp;quot;. Jetzt an einer Stelle links ins Layout klicken. Maus verschieben und noch einmal links klicken und die Maus seitlich verschieben. Es wird ein Maßpfeilsystem zwischen erstem und zweitem Mausklick angelegt, dessen höhe man mit der Maus einstellen kann. Ein weiterer linker Mausklick fixiert das System. Das Anklicken der Beschriftung mit der rechten Maustaste erlaubt das Editieren. Das System wird immer in der Einheit angelegt, die in der linken  Menueleiste vorgewählt wurde. Die Rasterung der aktuellen Einstellung wird auch übernommen. Späteres Ändern von Einheit- und Raster ändern die Beschriftung nicht mehr. In 3D und im Footprint geht diese Möglichkeit nicht.&lt;br /&gt;
** Weitere Möglichkeiten: Einen Maßstab als footprint/Modul anfertigen und zum Messen in das Board einfügen.&lt;br /&gt;
** Wenn man im Layout aber direkt etwas ausmessen möchte, so geht das über den relativen Nullpunkt. Unten im Rahmen rechts sind vier Felder. Die beiden linken zeigen die absoluten Koordinaten, an, die beiden rechten die relativen Koordinaten in Bezug auf einen relativen Nullpunkt. Defaultmäßig stimmen absoluter und relativer Nullpunkt ersteinmal überein. Per &amp;quot;Space bar&amp;quot; drücken setzt Du den relativen Nullpunkt an den Ort des Mauszeigers. Wenn Du nun die Maus verfährst, zeigen die relativen Koordinaten nun den vertikalen und horizontalen Abstand zum Nullpunkt. Die Diagonale muss leider über den Pythagoras selber ausgerechnet werden, oder indem man die Polarkoordinateneinstellung wählt (linke Menueleiste). Durch geschicktes setzten des Nullpunktes kann man nun auf der Platine herummessen. Winkel können auch über die Polarkoordinateneinstellung gemessen werden. Im Moduleditor geht das analog. Das 3D-View kann zur Zeit (Januar 2011) überhaupt keine Bemaßung.     &lt;br /&gt;
* Wie kann man mit der KiCad Version 20100314 &#039;&#039;&#039;einseitige&#039;&#039;&#039; Platinen erstellen?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/172015#1651239&lt;br /&gt;
** aktueller: http://www.mikrocontroller.net/topic/172015#1794699&lt;br /&gt;
*Und wie teile ich KiCad mit, daß der Autorouter nur eine Seite verwenden soll?&lt;br /&gt;
** Auf die doofe Tour: Erst in KiCad zweiseitig wählen, und dann beide Lagen im Autorouter als &amp;quot;Unterseite&amp;quot; wählen.&lt;br /&gt;
&lt;br /&gt;
* Wie gehen runde Bögen in KiCad?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/202512#1994063&lt;br /&gt;
* Ich brauche für einen Platinenumriss eine geschlossene Linie. Das klappt aber irgendwie nicht.&lt;br /&gt;
** Die Endpunkte müssen exakt aufeinander liegen. Dazu&lt;br /&gt;
*** A) Passende Raster verwenden&lt;br /&gt;
*** B) parametrisch die Endpunkte direkt als Koordinaten eingeben.&lt;br /&gt;
*** Siehe Diskussion dazu: https://www.mikrocontroller.net/topic/418296#new&lt;br /&gt;
* Wie benutze ich den interaktiven Router (Push &amp;amp; Shove) in PCBnew?&lt;br /&gt;
** Dazu muss in PCBnew im Pulldown-Menue unter &amp;quot;Ansicht&amp;quot; die Option &amp;quot;Canvas nach OpenGL umschalten&amp;quot; oder &amp;quot;Canvas nach Cairo umschalten&amp;quot;gewählt werden. Wenn man nun, wie gewohnt, aus der rechten Button Leiste das Verlegen von Leiterbahnen wählt, eine Leiterbahn/Luftlinie wählt und rechts anklickt, erhält man den interaktiven Router. Aber Achtung - wegen des geänderten Kontextmenues kann es sinnvoll sein, für andere Tätigkeiten auf die Voreinstellungen zurückzuschalten.&lt;br /&gt;
* Wie stelle ich beim Routen die Leiterbahnbreiten ein?&lt;br /&gt;
** Sie müssen vorher in den Design Rules definiert werden. Siehe: https://www.mikrocontroller.net/topic/452117#new&lt;br /&gt;
* Ich habe mein Board fertig geroutet, stelle aber jetzt fest, das ich noch einige Leiterbahnbreiten ändern muss. Wie geht das am einfachsten?&lt;br /&gt;
** Eine Leiterbahn rechts anklicken und Segment oder Track ändern. Das Verhalten ist im Detail vom gewählten Canvas anhängig. Und die Leiterbahnbreite muss schon in den Design rules existieren. Siehe hier: https://www.mikrocontroller.net/topic/452117#new&lt;br /&gt;
*** Ab KiCad 5.1 bzw. 6 wird es die verschiedenen Modi nicht mehr geben. Siehe https://www.mikrocontroller.net/topic/467735#5718645&lt;br /&gt;
* Wie gestalte ich einen gleitenden, stetigen Übergang bei einer Änderung der Leiterbahnbreite?&lt;br /&gt;
** Mit Workarounds wie dreieckigen/trapezförmigen Pads oder einem sehr fein gestaffelten stufigen Übergang. Siehe: https://www.mikrocontroller.net/topic/438242&lt;br /&gt;
**http://www.mikrocontroller.net/topic/205851#new&lt;br /&gt;
*Ich kann Pads nicht anschließen bzw. ich bekomme vom DRC Fehlermeldungen, daß ich Pads nicht angeschlossen habe, obwohl sie angeschlossen sind.&lt;br /&gt;
**http://www.mikrocontroller.net/topic/204717#new&lt;br /&gt;
*Wie kann ich Daten für automatische Bestückung (Pick&amp;amp;Place) erzeugen?&lt;br /&gt;
** In PCBnew unter Datei &amp;gt; Fertigungsdateien &amp;gt; Bauteile Positionsdatei (.pos). Aber dieses verlangt, das die Footprints auch die richtigen Informationen dazu enthalten. Um diese einzustellen, den Footprint im Moduleditor öffnen und unter dem Button &amp;quot;Bauteileigenschaften&amp;quot; in &amp;quot;Attribute&amp;quot; eine Markierung bei &amp;quot;Normal+Einfügen&amp;quot; machen. Dann wird der Ankerpunkt des Modules für die Positionsdatei verwendet. Damit sinnvolle Daten entstehen, sollte der Ankerpunkt bei SMD-Footprints in die Mitte des Footprintes gesetzt worden sein. &lt;br /&gt;
* Gibt es &amp;quot;Regeln&amp;quot; für das Setzten von Ankerpunkten bei Footprints?&lt;br /&gt;
** Es gibt Konventionen. Bei SMD-Bauteilen der &amp;quot;Mittelpunkt&amp;quot; des Bauteiles. Dieser wird auch für Pick&amp;amp;Place Daten in der automatischen Bestückung verwendet. &lt;br /&gt;
** Bei THT-Bauteilen wird als Konvention die Mitte von Pin 1 als Ankerpunkt verwendet.&lt;br /&gt;
*Und wie erzeuge ich ein Excellon Drillfile?&lt;br /&gt;
** In PCBnew unter Datei &amp;gt; Fertigungsdateien &amp;gt; Bohrdaten. Die Datei enthält auch eine Werkzeugliste. Kicad legt u.U. zwei Drillfiles an, wenn erforderlich. Eines für durchkontaktierte, und eines für nicht durchkontaktierte Bohrungen. Wer eine extra Liste und eine Statistik wünscht, muss auch noch &amp;quot;Bericht über Bohrung&amp;quot; anwählen.&lt;br /&gt;
** Bei mir wird aber nur ein Drillfile erzeugt. Was läuft falsch?&lt;br /&gt;
***Die NPTH Drills müssen im Pad-Editor explizit als solche gekennzeichnet werden. In PCBnew erkennt man sie dann als dicke gelbe Flächen. Siehe: http://www.mikrocontroller.net/topic/322941#3989397 Bei älteren Footprints ist das aber noch nicht komplett umgesetzt. &lt;br /&gt;
* Wenn PCBnew die Netzliste eingelesen hat, liegen alle Bauteile auf einem Haufen. Zum Plazieren eines herausgreifen ist mühsam. Wie geht das am einfachsten?&lt;br /&gt;
** In PCBnew &amp;quot;T&amp;quot; drücken. Es poppt ein Fenster auf, wo man die Bauteilreferenz (den Namen) eingeben kann. Und schon hängt das Bauteil zum Bewegen am Zeiger. Die Bedienung ist letztlich genauso wie das &amp;quot;m&amp;quot; und die Komandozeile in Eagle. Siehe http://www.mikrocontroller.net/topic/293903#3133990&lt;br /&gt;
** &amp;quot;Raef&amp;quot; hat ein Python Script erstellt, das Bauteile automatisch ähnlich der Anordnung im Schaltplan plaziert. Siehe: http://www.mikrocontroller.net/topic/293903#3245990&lt;br /&gt;
** In neueren PCBnew Version gibt es ein gutes parametrisches Plazieren: https://www.mikrocontroller.net/topic/432920#5108442&lt;br /&gt;
* Ich habe ein fertiges Layout. Jetzt möchte ich aber andere Footprints verwenden, und anschließend nicht neu routen müssen. Wie geht das?&lt;br /&gt;
** Über CVpcb und Neueinlesen der Netzliste. Siehe: http://www.mikrocontroller.net/topic/297885#new&lt;br /&gt;
* Ich will links herum routen, aber Kicad meint unbedingt rechts herum (...oder umgekehrt). Wie kann ich die Leiterbahnen &amp;quot;flippen&amp;quot;?&lt;br /&gt;
** Mit &amp;quot;/&amp;quot; (Slasch) http://www.mikrocontroller.net/topic/280028#new&lt;br /&gt;
* Ich hätte gerne die Tastenkürzel in kicad so wie in meinem gewohnten Programm. Wie geht das?&lt;br /&gt;
** Siehe http://www.mikrocontroller.net/topic/283959#3007173 . Vieleicht ist einer ja so nett, und stellt Konfigurationsfiles für Leute die aus EAGLE, ORCAD oder so wechseln, bereit.&lt;br /&gt;
* Ich habe ein kleines Board fertig geroutet. Jetzt möchte ich mehrere davon zu einer größeren Platine zusammenführen (sog. Mehrfachnutzen), um sie rationeller fertigen zu können.&lt;br /&gt;
** Siehe http:http://www.mikrocontroller.net/topic/292334#new . Das geht natürlich genauso, wenn man verschiedene Platinen so zu Nutzen zusammenfügen möchte, oder halt kleinere Teillayouts zu einem Gesamtboard.&lt;br /&gt;
*** Nachtrag: Wenn in PCBnew &amp;quot;append Board&amp;quot; oder &amp;quot;save as&amp;quot; ausgegraut sind, so schliesse KiCad Eeschem und PCBnew komplett und starte PCBnew direkt ohne über KiCad zu gehen. Das ist in neueren KiCad Versionen so vorgesehen. Siehe https://www.mikrocontroller.net/topic/399145#new&lt;br /&gt;
&lt;br /&gt;
* Ich habe einen Schaltplan mit Subschaltplänen, zu denen ich separate Layouts erstellen möchte.&lt;br /&gt;
** Dazu diesen Subschaltplan explizit in EEschema öffnen, und die Netzliste nur für diesen Subschaltplan exportieren.  Weitergehen wie üblich. Siehe: http://www.mikrocontroller.net/topic/330740#new&lt;br /&gt;
* Ich möchte Varianten eines Layouts erstellen. Was ist dazu zu sagen? Siehe: http://www.mikrocontroller.net/topic/330740#3616697&lt;br /&gt;
** Siehe http://www.mikrocontroller.net/topic/292123#new&lt;br /&gt;
* Wie importiere ich DXF-Dateien in PCBnew? z.B. ein Platinenumriss aus einem mechanischen CAD-Programm?&lt;br /&gt;
** Dafür existiert eine Import Funktion in PCBnew: Datei &amp;gt; Importieren &amp;gt; DXF-Datei. Siehe http://www.mikrocontroller.net/topic/327628#new &lt;br /&gt;
aktueller: https://www.mikrocontroller.net/topic/469438#new&lt;br /&gt;
* Wie wird man den merkwürdigen Rahmen los?&lt;br /&gt;
** 1) Genauso wie im Schaltplan. Dazu den pl_editor (der ganz rechte Button im KiCad Hauptfenster) starten, und FAST alles entfernen. Dazu in der linken Spalte nacheinander alles aktivieren, und mit rechts anlicken und dann &amp;quot;entfernen&amp;quot; wählen. Aber vorsicht, wenn alles Entfernt wird, taucht das Original Layout wieder auf. Workaround war bei mir, eine zusätzliche Alibilinie hinzuzufügen, die von X 0,000 Y 0,000 bis  X 0,001 Y 0,000 reicht. Das ist ein &amp;quot;Fliegenschiss&amp;quot; in der linken oberen Ecke. Jetzt kann alles andere gelöscht werden. Den so geleerten Rahmen unter einem beliebigen Namen mit der Endung .kicad_wks wegspeichern. Im geöffneten Schaltplan kann der dann unter Datei &amp;gt; Seite einrichten ganz unten unter &amp;quot;page layout file description&amp;quot; die entsprechende Datei eingebunden werden. Es bleibt aber dem Anwender offen, ob er den Rahmen komplett entfernt, oder noch Felder mit Textbeschreibungen übernimmt. Für gesteigerten Komfort kann diese Datei dann auch in ein Template eingebunden werden. &lt;br /&gt;
** 2) Beim Ausdrucken Frame deaktivieren.&lt;br /&gt;
** 3) Als SVG exportieren. Dort den Frame deaktivieren.&lt;br /&gt;
** 4) Beim Plotten (z.B. in Gerber) Frame deaktivieren. Ist eigentlich defaultmäßig eingestellt. &lt;br /&gt;
** Siehe: http://www.mikrocontroller.net/topic/343509#3791448&lt;br /&gt;
* Ich möchte einen bestimmten Footprint verwenden (von dem ich weiss, dass er existiert), kann ihn aber in der Auswahl der Footprints von PCBnew nicht finden.&lt;br /&gt;
**Die Bibliothek, in der er enthalten ist, muss erst in das Verzeichnis der aktiven Bibliotheken in PCBnew eingetragen werden. &lt;br /&gt;
* Ich möchte Footprint-Bibliotheken in das Verzeichnis der verwendeten Bibliotheken von PCBnew eintragen. Wie geht das?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/372123#new  &lt;br /&gt;
* Ich habe Probleme mit den Umgebungsvariablen KISYSMOD, KISYS3DMOD, KIPRJMOD, KIGITHUB beim Eintragen der Bibliothekstabellen.&lt;br /&gt;
** KISYSMOD ist eine Variable, die den Pfad zu den global verwendeten KICAD-Modulen (Footprints) angibt. KIPRJMOD ist das gleiche, für projektspezifische Module. KISYS3DMOD beschreibt den Pfad zu den 3D-Modellen, und KIGITHUB weisst den Pfad ins Internet zu den Githubbibliotheken.&lt;br /&gt;
** Nähere Informationen dazu findet man hier: http://www.mikrocontroller.net/topic/344139#new und hier : http://www.mikrocontroller.net/topic/344029#new&lt;br /&gt;
** Aktueller: http://www.mikrocontroller.net/topic/368660&lt;br /&gt;
** Falls alles nichts hilft: Nan kann den Pfad auch komplett am Stück in die Bibliothekstabelle eintragen. Copy&amp;amp;Paste funktioniert dort aber nicht per rechtem Mausklick, sondern per &amp;lt;Str-c&amp;gt; (Kopieren) und &amp;lt;Str-v&amp;gt; (einfügen). Einfacher als die Bibliothekstabelle lässt sich darum die fp-lib-table Datei per Editor bearbeiten. Unter Linux findet sich die Tabelle für globale Bibliotheken bis zur BZR5113 direkt im Homeverzeichnis. Ab BZR5114 (ca. 5. September 2014) fiondet sich die globale fp-lib-table in $HOME/.config/kicad. Die fp-lib-table für projektbezogene Bibliotheken finden sich in den korrespondierenden  Projektverzeichnissen.&lt;br /&gt;
* Ich würde gerne die Mikrowellen Tools verwenden, aber irgendwie funktioniert das nicht.&lt;br /&gt;
** In älteren KiCad Versionen funktionieren sie nur im &amp;quot;legacy Canvas&amp;quot;. Den &amp;quot;legacy Canvas&amp;quot; schaltet man mit &amp;quot;F9&amp;quot; ein, bzw. im Pull down Menue unter &amp;quot;View&amp;quot; &amp;gt; &amp;quot;legacy Canfas&amp;quot;. In neueren KiCad Versionen (daily Build ab mindestens 2017-06-16 revision dab73e1) funktionieren die Tools in allen Canvasversionen.&lt;br /&gt;
** Manchmal sieht man nur etwas, wenn man &amp;quot;Refresh&amp;quot; (F3) drückt.&lt;br /&gt;
** Eine kleine Erklärung ist hier: https://www.mikrocontroller.net/topic/434998#new&lt;br /&gt;
* Ich würde gerne aus den Mikrowellen Tools die Funktion &amp;quot;Polynominales Muster&amp;quot; verwenden. Dabei werde ich nach einem KiCad-Shapefile gefragt, aber ich weiss nicht, wie das File aussehen muss.&lt;br /&gt;
** Einen Hinweis zum Aussehen des Files gibt es hier: https://www.mikrocontroller.net/topic/369330#4166392 Allerdings müssen die Werte der Polynomstruktur anderweitig berechnet werden, und mit einem Editor manuell in diese Form gebracht werden.&lt;br /&gt;
* Wie erstelle ich koplanare Leitungen in KiCad?&lt;br /&gt;
** siehe diese Diskussion: https://www.mikrocontroller.net/topic/370700#new&lt;br /&gt;
* Ich möchte Bauteile im Kreis oder in einem Gittermuster/Array anordnen. Gibt es dafür automatische Hilfestellungen?&lt;br /&gt;
** Ja. Objekt Deiner Wahl rechts anklicken, eventuell Auswahl verfeinern, und dann im aufpoppenden Menue &amp;quot;Array erstellen&amp;quot; wählen. Geht nicht nur für Bauteile, sondern auch für Pads, Leiterbahnen ec. Siehe: http://www.mikrocontroller.net/topic/178816#new&lt;br /&gt;
** Aktuell: https://www.mikrocontroller.net/topic/473763#5832574&lt;br /&gt;
* Ich bräuchte Pads mit ungewöhnlicher Form.&lt;br /&gt;
** Aus mehreren Pads mit der gleichen Pad Nummer zusammensetzten. Pads gleicher Nummer am gleichen Footprint werden dem gleichen Netz zugeordnet. Dabei aber beachten, dass sich diese Pads sich weit genug überlappen (z.B. 0,2mm) , so dass sie nicht in einzelne Pads zerfallen, wenn in der Leiterplattenfabrik mal die Kupferflächen &amp;quot;zurückgezogen&amp;quot; werden müssen, um die Mindestabsrände für die Produktion (Galvanik) nicht zu unterschreiten.&lt;br /&gt;
** Das Mikrowellentool benutzen, um mit einem Workaround Pads als Polygon zu erzeugen. Als ein Beispiel z.B:https://www.mikrocontroller.net/attachment/259709/SMP-Test-1.png Das Mikrowellentool kannst Du mit einem Workaround dazu bekommen, Pads als Polygone zu erstellen. Näheres siehe hier: https://www.mikrocontroller.net/topic/414834#new oder hier: https://www.mikrocontroller.net/topic/369330#4166392&lt;br /&gt;
* Meine Grafikkarte unterstützt keine openGL 3D-Beschleunigung.&lt;br /&gt;
** Vieleicht kannst Du mit MESA openGL ersetzten? Siehe: https://www.mikrocontroller.net/topic/389712#4465775 Zu MESA selber siehe: https://de.wikipedia.org/wiki/Mesa_3D&lt;br /&gt;
* Ich würde gerne eine Starrflex Leiterplatte machen. Was muss ich beachten?&lt;br /&gt;
** Siehe https://www.mikrocontroller.net/topic/399330#new&lt;br /&gt;
* Wie Verbinde ich verschiedene Massen, oder allgemein verschiedene Potentiale, die aus Layouttechnischen Gründen getrennt gehalten werden sollten, ohne das der DRC zusehr meckert? Ähnliches Problem: Einzelne Vias vom Anschluss an umgebende Masseflächen ausschliessen.&lt;br /&gt;
** Voraussetzung: Die Leiterbahnen/Vias/Kupferflächen müssen unterschiedliche Potentiale haben, damit KiCad weiss, dass sie getrennt gehalten werden müssen. Wenn das nicht der Fall ist, müssen diese Segmente mit einem &amp;quot;Bauteil&amp;quot; so vom Rest der Schaltung abgedretnnt werden, dass der abgetrennte Bereich einen neuen Netznahmen/Potentialnahmen bekommt. Diese speziellen Bauteile können unterschiedlicher Art sein:&lt;br /&gt;
*** 1) Mit 0 Ohm Brücken. Das sind Bauteile, die aus einer Drahtbrücke bestehen. So sind für den ERC und DRC die Netzte getrennt, aber tatsächlich mit einer Drahtbrücke verbunden. &lt;br /&gt;
**** [http://www.mikrocontroller.net/topic/142930?goto=1321550] &amp;quot;Drahtbrücken in KiCad?&amp;quot;  hier im Forum.&lt;br /&gt;
*** 2) Ein anderer Workaround sind &amp;quot;Net ties&amp;quot; (Netties). Das sind Footprints, die aus zwei oder mehr verschiedenen Pads bestehen(wie jedes andere normale Bauteile auch, die aber direkt mit Kupfer verbunden sind. Also eigentlich ein 0 Ohm Widerstand, wo der &amp;quot;Widerstand&amp;quot; als Kupfer auf der Leiterplatte existiert. Es ist sinnvoll, zu den &amp;quot;Net tie&amp;quot; Footprints auch entsprechende Schaltplansymbole zu definieren. Zu Net ties siehe:&lt;br /&gt;
**** [http://www.grant-trebbin.com/2015/04/pcb-net-ties-and-grounding-in-kicad.html] (in Englisch)&lt;br /&gt;
**** [http://www.mikrocontroller.net/topic/330196] &amp;quot;KiCad zwei verschiedene Netze verbinden in Pcbnew&amp;quot; hier im Forum.&lt;br /&gt;
**** Etwas aktueller (geht auch auf Probleme ein): &lt;br /&gt;
***** [http://www.mikrocontroller.net/topic/389988] &amp;quot;Kicad Leiterbahn im Footprint möglich?&amp;quot; hier im Forum.&lt;br /&gt;
***** [http://www.mikrocontroller.net/topic/360510] &amp;quot;Leiterbahn aus Massepolygon isolieren&amp;quot; hier im Forum.&lt;br /&gt;
***** [https://www.mikrocontroller.net/topic/401430#new] &amp;quot;Via-Anbidung an Polygon ausschließen&amp;quot;&lt;br /&gt;
***** Ein ganz anderer Ansatz wäre, ganz auf unterschiedliche Massepotentiale zu verzichten, wenn diese sowieso verbunden werden, wie hier vorgeschlagen: https://www.mikrocontroller.net/topic/453991#5465447&lt;br /&gt;
* Wie kann man den Nullpunkt eines Layouts verschieben?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/179680#1730452 Aktueller:https://www.mikrocontroller.net/topic/427130#5008806 für den Layout Editor PCBnew. Im Moduleditor bei Erstellung eines Footprints kann man den Ankerpunkt frei Mithilfe des Anker-Tools aus der rechten Menüleiste (das Ankersymbol) setzten. Gleiches gilt für den Symboleditor.&lt;br /&gt;
* Ich habe im Layout einen weissen Kringel mit einem weissen Kreuz, der sich beim Zoomen merkwürdig verhält. Was ist das, und wie kriege ich das weg?&lt;br /&gt;
** Das ist der Ursprung des Rasters. Den sollte man nicht wegbekommen, aber man kann ihn versetzten. Siehe: https://www.mikrocontroller.net/topic/411681#new&lt;br /&gt;
* Wie erzeuge ich Thermals (Wärmefallen/thermal Pads) um Pins die in Kupferflächen sitzen?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/443639#5287943&lt;br /&gt;
* Ich möchte Langlöcher anlegen. Wie geht das am einfachsten?&lt;br /&gt;
** Als Footprint bzw. im Footprint im Footprinteditor anlegen. Dort ein Pad plazieren und als &amp;quot;Drill Shape&amp;quot; die Option &amp;quot;Oval hole&amp;quot; wählen. Den Rest des Footprints mit dem Kupfer nach eigenen Bedürfnissen gestalten, oder das Kupfer ganz weglassen. Für reine Befestigungslöcher ohne Kupfer &amp;quot;Pad type&amp;quot; zu &amp;quot;NPTH, Mechanical&amp;quot; wählen. Langlöcher landen genauso wie runde Löcher im Excellon Drill-File. Es gibt dort spezielle Kennzeichnungen dafür. Um mit dem &amp;quot;Workflow&amp;quot; konform zu bleiben, für Befestigungslöcher z.b. ein Symbol anlegen, dem ein passendes Loch oder auch Langloch als Footprint zuweisen. In einem extra hierachischen Schaltplanblatt solche Sonderfälle ablegen. Für vier löcher z.B. vier mal dieses Symbol. Es lassens sich den Symbolen unterschiedlich definierte Löcher zuweisen. Die Löcher werden dann beim Einlesen der Netzliste in PCBnew gemäß der eingetragenen Footprints auf das Board gestellt und können frei plaziert werden. Siehe: https://www.mikrocontroller.net/topic/449952#5395495&lt;br /&gt;
* Wie ist das mit der Pinnummerierung bei Symbolen und Footprints mit abweichenden Pinbelegungen? Ändere ich die Pin/Pad Nummerierung im Symbol oder im Footprint?&lt;br /&gt;
** Das hängt am Einzelfall. Aber meistens ist das Anlegen einer Symbolvariante unter anderem Namen mit geändertem Pinning am sinnvollsten. Es gibt aber Sonderfälle. Genaueres steht hier: https://www.mikrocontroller.net/topic/452154#new&lt;br /&gt;
&lt;br /&gt;
=== Layout: Python Scripting ===&lt;br /&gt;
&lt;br /&gt;
Das Python2-Scripting ist bisher nur in PCBnew implementiert und noch sehr experimentell. Daher ist leider auch der aktuelle Stand der Dokumentation zum Python-Skripting in PCBnew noch etwas dürftig. Trozdem hier Links dazu:&lt;br /&gt;
* http://confluence.kicad.org/display/KICAD/KiCad+Scripting+Reference+Manual (Allgemein. Achtung! Kicad braucht beim compilieren spezielle Befehle, um Python-Scripting tauglich zu sein.)&lt;br /&gt;
* http://ci.kicad.org/job/kicad-doxygen/ws/build/pcbnew/doxygen-python/html/namespacepcbnew.html (Definitionen von Namespaces, Classes und Files)&lt;br /&gt;
&lt;br /&gt;
Für Linux-Debian:&lt;br /&gt;
Aktuell (07. Februar 2014) mit  Pcbnew Version: (2014-01-27 BZR 4641)-product Release build auf&lt;br /&gt;
Platform: Linux 3.2.0-4-686-pae i686, 32 bit, Little endian, wxGTK (Debian Wheezy) gilt:&lt;br /&gt;
* Geht aktuell nur für PCBnew.&lt;br /&gt;
* Klassenbibliotheken: Zwei Dateien pcbnew.py und _pcbnew.so auf dem Pfad: /usr/lib/python2.7/dist-packages/&lt;br /&gt;
* Die Klassenbibliothek wird mit den üblichen Python2 Methoden importiert: z.B. &amp;quot;import pcbnew&amp;quot; oder &amp;quot;from pcbnew import *&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Beispielprogramm, das alle Footprints aus einer Legacy-Fotprint Datei auflisted und den Referenzbezeichner dazuschreibt::&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env python &lt;br /&gt;
# das war das Shebang.&lt;br /&gt;
&lt;br /&gt;
from pcbnew import * # Import der Bibliothek. &lt;br /&gt;
libpath = &amp;quot;/home/DuUser/KiCad-Daten/Module/ModuleGrosserSampler/KiCadLegacyFottprints.mod&amp;quot; # Übergabe des Pfades.&lt;br /&gt;
lst = FootprintEnumerate(libpath) &lt;br /&gt;
for name in lst:&lt;br /&gt;
    m = FootprintLoad(libpath,name)&lt;br /&gt;
    print name,&amp;quot;-&amp;gt;&amp;quot;, m.GetReference()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Scripting Möglichkeit ist so neu, dass bis jetzt die Scripting Testdateien für das KiCad interne automatische Qualitätssicherungssystem noch nicht komplett sind.&lt;br /&gt;
Unter http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/files/head:/qa/testcases/ finden sich bereits geprüfte Testskripte, und unter http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/files/head:/pcbnew/scripting/examples/ finden sich ungetestete Testskripte.&lt;br /&gt;
&lt;br /&gt;
Sie alle können als Beispiele genommen werden, wie das mit dem Skripting gemeint ist, und als Vorbild für eigene Skripte dienen.&lt;br /&gt;
&lt;br /&gt;
Weitere Skripting Info: &lt;br /&gt;
* [https://kicad.mmccoo.com/kicad-scripting-table-of-contents/ Anleitung für Python Skripting in KiCad] (Englisch)&lt;br /&gt;
&lt;br /&gt;
=== Module Editor ===&lt;br /&gt;
* Wie erstellt man Footprints für Bauteile?&lt;br /&gt;
** Mit dem Footprint Editor. Er ist bei älteren KiCad Versionen nur aus PCBnew heraus zu starten. Bei neueren KiCad Versionen hat er einen eigenen Button im KiCad Start Window.&lt;br /&gt;
** Spezielleres: http://www.mikrocontroller.net/topic/356151#new&lt;br /&gt;
* Wie verbinde kopiere ich etwas aus einem Footprint in einen anderen hinein, bzw. wie verbinde/merge ich zwei Footprints?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/288167#3061997&lt;br /&gt;
* Kann man im Module Editor die Eigenschaften aller Pads gleichzeitig ändern?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/93131#799550 &lt;br /&gt;
* Ich brauche einen Footprint, bei dem mehrere Pads verbunden sind, will aber nicht im Schaltplan zig Pins aufführen und anschliessen müssen.&lt;br /&gt;
**http://www.mikrocontroller.net/topic/208982#new&lt;br /&gt;
**http://www.mikrocontroller.net/topic/204717#new&lt;br /&gt;
* Wie erzeugt man thermal Vias in Kicad?&lt;br /&gt;
** Leider bisher nur experimentell: http://www.mikrocontroller.net/topic/298028#3187259&lt;br /&gt;
* Wie kann man Bauteilmaße in in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
* Wie verwalte ich Footprint Bibliotheken?&lt;br /&gt;
** Indem man sich ein Board erstellt, alle Footprints, die man zusammenfassen möchte, auf das Board stellt, und dann untet Dateien &amp;gt; Footprints archivieren &amp;gt; Footprint Archiv erstellen wählt. Das so erstellte Board kann auch zu Dokumentationszwecken geplottet werden. Eventuell möchte man einige Footprints, die zu Hilfszwecken (z.B. Skalen) auf dem Board sind, anschliessend mit dem Bibliothekseditor daraus löschen.&lt;br /&gt;
** Alternativ, im dem &amp;quot;neuen&amp;quot; *.pretty Format, mit einem Dateiverwaltungsprogramm Deiner Wahl. Siehe http://www.mikrocontroller.net/topic/320301#new&lt;br /&gt;
* Wie werden die Parameter für Lötpaste/Lötstopmaske vergeben?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/356151&lt;br /&gt;
* Ich möchte für einen Footprint Pads in einem Gittermuster/Array oder im Kreis anordnen. Gibt es dafür automatische Hilfestellungen?&lt;br /&gt;
** Ja. Pad rechts anklicken. Eventuell erfolgt noch eine Feinauswahl. Dann im aufpoppenden Menue &amp;quot;Array erstellen&amp;quot; wählen.&lt;br /&gt;
* Wie archiviere ich die in einem KiCad Board enthaltenen Footprints?&lt;br /&gt;
** Nicht im Footprint-editor, sondern in PCBnew. Dort in der oberen Toolleiste unter Datei/File &amp;gt; archive Footprints. Es muss dort eine bereits im Bibliotheksverzeichnis eingetragene existierende Bibliothek angegeben werden. &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Diese Bibliothek sollte &#039;&#039;&#039;speziell für diesen Zweck&#039;&#039;&#039; angelegt sein, weil ihr &#039;&#039;&#039;vorheriger Inhalt komplett entfernt&#039;&#039;&#039; wird. Idealerweise legt man die Bibliothek als &amp;quot;Projektname.pretty&amp;quot; im Projektordner an. Sie sollte spätestens bei Abschluss des Projektestens erstellt werden und &#039;&#039;&#039;MUSS bei Archivierung des Projektes oder Übergabe mit Archiviert bzw. Übergeben werden!&#039;&#039;&#039; Aber &#039;&#039;&#039;VORSICHT&#039;&#039;&#039;, bei der Bibliothekserstellung lauert ein &#039;&#039;&#039;Bug. Siehe:&#039;&#039;&#039; https://www.mikrocontroller.net/articles/KiCad#Problem:_Neue_leere_Footprintbibliothek_kann_nicht_erstellt_werden_.28kicad_Version:_4.0.0.7Erc1a-stable_release_build_.2F_RC4.29&lt;br /&gt;
* Ich brauche in einem Footprint einen Ausschnitt in der Platine. Wie mache ich das?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/404998#4696232&lt;br /&gt;
* Für Masken wie Lötpaste oder Klebstoff hätte ich gerne Pads mit abgerundeten Ecken. Wie geht das?&lt;br /&gt;
** Das geht erst seit ca. Version: 2016-11-22 revision ccdfabc-master. Siehe https://www.mikrocontroller.net/topic/427536#5015335&lt;br /&gt;
&lt;br /&gt;
=== 3D-Ansicht ===&lt;br /&gt;
[[Bild:Kicad xilinx demo.jpg|300px|thumb|right|KiCAD-Demoplatine exportiert und mit Renderer illustriert]]&lt;br /&gt;
KiCAD bietet eine eingebaute einfache 3D-Ansicht der gerouteten Platine. Mittels Export können diese weiterverarbeitet werden. KiCad beruht diesbezüglich auf Wings3D, und die 3D-Modelle der Bauteile sind standardisierte wrl-files, die mit entweder Wings3D oder Blender erstellt werden können. Daher sei hier auf ein Wings3D Handbuch verwiesen: http://www.oortman3d.com/wings3d/TheWings3dHandbook.pdf&lt;br /&gt;
&lt;br /&gt;
Viele Bauteilhersteller (vor allem von eher mechanischen, wie z.B. Stecker, Buchsen, Befestigung...) bieten fertige 3D-Modelle an. Diese sind meistens in den Formaten STEP oder IGES. So kann man diese in das von KiCad benötigte .wrl (VRML 2.0) konvertieren:&lt;br /&gt;
# STEP oder IGES in [http://gcad3d.org/ gCAD3D] öffnen (File &amp;gt; Open Model)&lt;br /&gt;
# als Wavefront .obj speichern (File &amp;gt; Save Model as &amp;gt; OBJ)&lt;br /&gt;
# Das .obj in [http://www.wings3d.com/ Wings 3D] importieren (File &amp;gt; Import &amp;gt; Wavefront .obj)&lt;br /&gt;
# Als VRML 2 exportieren (File &amp;gt; Export &amp;gt; VRML 2.0 .wrl)&lt;br /&gt;
# Im KiCad-Moduleditor die .wrl-Datei als 3D-Modell auswählen&lt;br /&gt;
# Eventuell muss man die Skalierung und Positionierung anpassen, die angezeigten Pads und Löcher helfen dabei. Die am meisten benötigten Faktoren dürften dabei 0,3937 und 2,54 sein - bei den Konvertierungen kommt leicht die Einheit Zoll oder cm durcheinander.&lt;br /&gt;
&lt;br /&gt;
Eine andere Möglichkeit .obj oder .stl-Dateien aus STEP und IGES zu erzeugen ist [http://free-cad.sourceforge.net/ FreeCAD]. Obwohl es auch .wrl direkt erzeugen kann, können diese nicht in KiCad geladen werden. Der Umweg über .obj oder .stl und Wings 3D löst dies aber auch hier.&lt;br /&gt;
&lt;br /&gt;
Wenn man das Board wieder in einem CAD-Programm verwenden will um z.B. ein Gehäuse zu konstruieren, sollte man wieder STEP-Dateien erzeugen. Neuere KiCad-Versionen können zwar VRML exportieren, doch das beschreibt nur Umrisse und keine Körper (Solids). CAD-Programme zum Gehäusedesign brauchen jedoch letzteres. So geht die Konvertierung:&lt;br /&gt;
# VRML aus KiCad exportieren (File &amp;gt; Export &amp;gt; VRML)&lt;br /&gt;
# .wrl-Datei mit Hilfe von [http://www.cs.princeton.edu/~min/meshconv/ meshconv] in eine STL-Datei konvertieren: &amp;lt;code&amp;gt;meshconv boardname.wrl -c stl -o boardname.stl&amp;lt;/code&amp;gt;&lt;br /&gt;
# Die STL-Datei mit [http://www.solveering.com/products/products_stl2step.html stl2step] in eine STEP-Datei konvertieren&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG:&#039;&#039;&#039;&lt;br /&gt;
Man sollte hinterher im CAD nochmal genau die Maße kontrollieren. Denn die Konvertierung von STL nach STEP ist nur eine Approximierung und keine exakte, verlustfreie Konvertierung.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG:&#039;&#039;&#039;&lt;br /&gt;
Bei der Verwendung von Modellen aus fremden Quellen die Rechtslage prüfen. Es kann bei Veröffentlichungen zu Problemen führen, wenn die verwendeten Modelle unter einer problematischen privaten Lizenz stehen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Appropos Einheit: Welche Einheit benutzt WRL (Wings3d)?&lt;br /&gt;
* Das ist leider nicht soooo klar. Tatsache ist aber, das KiCad die Einheit als 1/10 Inch (100mil) interpretiert.&lt;br /&gt;
** Es könnte sein, dass die Einheit von WRL offiziell mal zu einem Meter gedacht war. Siehe: https://www.mikrocontroller.net/topic/405477#4704394&lt;br /&gt;
&lt;br /&gt;
*Und wie bedient man Wings3d?&lt;br /&gt;
** Ein (vorläufiger) Merkzettel/Ultrakurzanleitung zur Bedienung von Wings3D findet sich hier: [[Media:Kicad-Wings3D_Merkzettel_29November2012.pdf]]. Wenn man nur mit Wings3d Modelle für Kicad erstellen will, langt das eventuell schon als Tutorial. There is also an English translation of this leaflet about using wings3d for kicad  at [[Media:Kicad-Wings3D_Leaflet_25April2013.pdf]].&lt;br /&gt;
** Aktueller: [http://roberthall.net/Wings3D_Tutorial_KiCad Tutorial zur Benutzung von Wings3D im KiCad Umfeld (englisch)]&lt;br /&gt;
&lt;br /&gt;
Weitere Diskussionen um KiCAD 3D:&lt;br /&gt;
* Die 3D-Ansicht funktioniert bei mir nicht.&lt;br /&gt;
** http://www.mikrocontroller.net/topic/289075#new&lt;br /&gt;
** https://www.mikrocontroller.net/topic/404658#new&lt;br /&gt;
* Kann man die 3D-Ansicht in ein 3D-CAD Programm exportieren? &lt;br /&gt;
**http://www.mikrocontroller.net/topic/203388#new&lt;br /&gt;
* Wie kann man Bauteilmaße in in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
&lt;br /&gt;
* Irgendwie werden meine 3D-Bibliotheken nicht gefunden.&lt;br /&gt;
** Das kann z.b. passieren, wenn eine KiCad v5 3D-bibliothek mit einer v4 Bauteilebibliothek verwendet wird. Siehe:https://www.mikrocontroller.net/topic/467178#new&lt;br /&gt;
* Ich habe 3D-Modelle/STEP-Modelle von einem Hersteller heruntergeladen. Aber nach Einbindunge liegen sie neben dem Footprint, schweben darüber oder durchdringen die Platine.&lt;br /&gt;
** Der Hersteller hat einen anderen Ursprung für sein Modell gewählt als üblich ist. Weit verbreitet ist, den Bauteil/Footprint Ursprung bei THT Bauteilen auf die &amp;quot;Mitte&amp;quot; von Pin 1 zu setzen. Bei SMD Bauteilen wird der Ursprung auf die Mitte des Bauteiles gesetzt, meint, da wo sich beide Symmetrieachsen des Bauteiles schneiden. Bleibt das Problem, wenn das Bauteil nur eine Symmetrieachse hat. Dann einen Punkt auf der Symmetrieachse wählen, der die Mitte zwischen den extremsten Bauteilgrenzen bildet. Wenn keine Symmetrie überhaupt existiert, halt irgendwo etwas &amp;quot;in der Mitte&amp;quot;. Das ist dann aber immer soweit in der Nähe des Footprints, dass Du es in KiCad selber anpassen kannst. Angepasst wird das entweder im Footprinteditor in der oberen Buttonleiste &amp;quot;footprint Eigenschaften&amp;quot; (Icon IC mit Zahnrad davor). Es poppt ein Fenster auf. Dort den zweiten Reiter von Links wählen: &amp;quot;3D-einstellungen&amp;quot;. Dort können Korrekturwerte für koordinaten, Skalierung und Drehungen angegeben werden. Siehe Diskussion: https://www.mikrocontroller.net/topic/467095#new&lt;br /&gt;
&lt;br /&gt;
=== Drucken/Plotten/Gerber Export/Excellon Drillfiles Export ===&lt;br /&gt;
&lt;br /&gt;
==== Drucken ====&lt;br /&gt;
* Wie exportiert man den Schaltplan oder das Layout als Bild (PNG o.ä.)? &lt;br /&gt;
** Drucken über Postscript-Treiber und Umwandeln mit Ghostscript&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/96060#1061492 Forumsbeitrag] Export als SVG&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/117562#1056566 Forumsbeitrag] Plot to Clipboard &lt;br /&gt;
* Wie kann ich GENAU ausdrucken? Mein Ausdruck auf ABC ist ca. X % zu klein oder Y% zu groß! &lt;br /&gt;
** So genau sind einfache Drucker bzw. Druckertreiber selten. Aber meistens hilft folgendes: Mache einen 1:1 (100%) Probeausdruck. Messe auf dem Ausdruck nach, wie groß er tatsächlich geworden ist. Berechne die Abweichung und gebe sie in den Drucker bzw. Druckertreiber unter Einstellung ein, vorausgesetzt, der Drucker bzw. Druckertreiber kann das. Mit dem Wert machst Du wieder eine Probeausdruck, messe wieder nach, und wenn es mit der Einstellung funktioniert hat, kannst Du Deine Folie bedrucken. Wenn das nicht klappen kann, weil Du stark abweichende Werte für horizontal und vertikal bräuchtest, aber der Drucker nur einen gleichen Wert für beides kennt, hast Du einen (zu) schlechten Drucker. Trozdem nicht verzweifeln, weil KiCad beim Drucken oder Plotten in der X- und Y-Achse getrennt skalieren kann. Aber Vorsicht bei Weitergabe der so erzeugten Dateien: Sie sind individuell auf einen Drucker angepasst, und produzieren auf einem anderen Drucker nur falsch skalierte Ausdrucke. Weil der Wert von Drucker zu Drucker unterschiedlich ist, ist es auch sinnvoll, diese Skalierung direkt am speziellen Drucker/Druckertreiber zu machen. Tipp: Wenn Du den Wert erfolgreich ermittelt hast, so kleb Dir einen Zettel auf den Drucker mit dem Wert. Die Werte sind zwar individuell für jeden Drucker, aber meistens für den speziellen Drucker durchaus fix. Und Du hast ihn sofort wieder parat, wenn der Drucker resettet wurde. Dies ist übrigens ein allgemeiner Tipp für das Ausdrucken, der auch für Eagle, Target, Altium usw. gilt.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/304619#new Thema Skalieren] - Die aktuelle Situation (August 2013):  &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/371079#4191106 Und nochmal Thema Skalieren]&lt;br /&gt;
* Wie kann man das Layout invers ausdrucken, d.h. alle Leiterbahnen und Pads müssen weiß bleiben, der Rest wird schwarz ausgedruckt?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/156202#1474507 Beim Plotten den Haken bei Negativ-Plot setzen ] &lt;br /&gt;
* Ich habe irgendwie Probleme mit dem Ausdrucken.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/207764#new Verzerrt] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/207310#new Sonderzeichen]&lt;br /&gt;
** In der aktuellen Version 2012-01-19 BZR 3256)-stable besteht ein generelles Druckproblem. Aber Plotten geht wunderbar!&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/280958#new Aktualisierter Stand 23. Dezember 2012] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/303043#3249166 Aktualisierter Stand vom 21. Juli 2013]&lt;br /&gt;
&lt;br /&gt;
* Ich würde gerne PDF Dateien aus meinem Layout erstellen, aber irgendwie ist der Ausdruck defekt.&lt;br /&gt;
** Drucken ist aus Kicad manchmal ein Problem, auch in eine Datei hinein. Aber Plotten und Exportieren in SVG funktioniert gut.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/303043#3249166 Von SVG zu PDF] kommt man über Inkscape. &lt;br /&gt;
** [https://www.mikrocontroller.net/topic/430532#new Aktuell] &lt;br /&gt;
** Problem dabei: [https://www.mikrocontroller.net/topic/431522#new Vektorfonts] &lt;br /&gt;
* Wie kann ich mir einen [http://www.mikrocontroller.net/topic/266037#new Bohrplan ausdrucken], um mit der Hand zu bohren?&lt;br /&gt;
&lt;br /&gt;
==== SVG Plotten ====&lt;br /&gt;
&lt;br /&gt;
* Meine erzeugten SVG Plots sind kaputt. Ich erhalte nur Fehlermeldungen, wenn ich sie in Inkscape oder Gimp einlesen will.&lt;br /&gt;
** Es besteht ein Problem mit dem SVG Export, wenn man Schaltpläne oder Boards in SVG exportiert, die ein Ampersand (Kaufmansund, &amp;quot;&amp;amp;&amp;quot;) im Dateinamen haben. Dieser Dateiname tauch dann innerhalb der SVG Datei in einem Titelblock auf, wo das &amp;quot;&amp;amp;&amp;quot; dann ein Problem bedeutet (Es leitet eine Art Escape-Sequenz ein). Sowohl Kicad als auch Inkscape/Gimp akzeptieren &amp;quot;&amp;amp;&amp;quot; im Dateinamen, und sowol unter Windows als auch Linux ist das &amp;quot;&amp;amp;&amp;quot; im Dateinamen legal....darum bringt auch eine Veränderung des Namens der SVG-Datei keine Lösung. Eine Lösung ist, Grundsätzlich in Kicad keine &amp;quot;&amp;amp;&amp;quot; in Dateinamen zu verwenden, wenn man einen SVG-Export macht. Alternativ kann man mit einem Editor das &amp;quot;&amp;amp;&amp;quot; aus dem Titelblock (Das ist NICHT der Dateiname, sondern in der Datei selber alles zwischen &amp;lt;titel&amp;gt; und &amp;lt;/titel&amp;gt;) der SVG-Datei löschen. Angeblich kommt der Bug aus den verwendeten wx-Bibliotheken. Siehe [https://bugs.launchpad.net/kicad/+bug/1171160 den Bugreport]&lt;br /&gt;
* Wie kann ich unter Windows die SVG Dateien überhaupt nutzen? &lt;br /&gt;
** Die SVG Datei kann mit Microsoft Edge auf einen Drucker gedruckt werden, nützlich bei negativ Plot. Das Öffnen mit GIMP ging mit 1000pixel/in. Das Programm, mit dem sich SVG Dateien am besten bearbeiten lassen, ist aber Inkscape. Davon gibt es sogar einen Windows Ableger.&lt;br /&gt;
** Grundsätzliche Infos zum [https://de.wikipedia.org/wiki/Scalable_Vector_Graphics SVG Format] &lt;br /&gt;
** Grundsätzliche Infos zu [https://de.wikipedia.org/wiki/Inkscape Inkscape]&lt;br /&gt;
&lt;br /&gt;
==== Gerber Export ====&lt;br /&gt;
&lt;br /&gt;
* Kann man Gerber-Dateien exportieren?&lt;br /&gt;
** Ja. Es wird extended Gerber 274X exportiert. Einheit ist inch (doppelt sowohl im 274d als auch im 274x Stil definiert). Die Y-Koordinaten sind im allgemeinen negativ. KiCad verwendet für Flächen das in Gerber spezifizierte Polygon Makro und kein &amp;quot;stroke fill&amp;quot;.&lt;br /&gt;
** Um Gerber Dateien zu erstellen, wählt man aus der oberen Menueleiste ganz links Datei &amp;gt; Plotten und dann oben links unter Plotformat &amp;quot;Gerber&amp;quot; &lt;br /&gt;
** KiCad unterstützt auch die kürzlich eingeführten Gerber-Attribute. Die Anwendung derselben muss aber explizit angewählt werden. Dazu setzt man im Gerber-Plottmenue im Feld &amp;quot;Gerber Optionen&amp;quot; bei &amp;quot;include extended attributes&amp;quot; einen Haken.&lt;br /&gt;
** KiCad kann automatisch die Lötstoppmaske von der Siebdruckmaske (Silk screen - Bestückungsaufdruck) abziehen, damit nicht der Bestückungsaufdruck versehentlich über Pads liegt und dort das Löten verhindert. Dazu muss aber im Gerber-Plottmenue im Feld &amp;quot;Gerber Optionen&amp;quot; bei &amp;quot;Subtrahiere Lötstoppmaske von Siebdruckmaske&amp;quot; ein Haken gesetzt werden.&lt;br /&gt;
* Welche Gerber Lagen werden zur Herstellung einer Platine benötigt?&lt;br /&gt;
** Grundsätzlich zu Herstellung der Platine die Gerberfiles: Alle Kupferlagen, Bestückungsdruck Top und Bottom (Falls auf Bottom was steht), Lötstoppmaske Top und Bottom. Eine Umrisslage mit dem Platinenumriss und Ausfräsungen. Drillfiles (Excellon) Für durchkontaktierte und NICHT durchkontaktierte (NPTH) Bohrungen. Dazu: Ein Textfile mit einer Erläuterung, welche Lage welche ist, sowie Angaben, wie dick die Kupferschichten der Kupferlagen und wie dick die Isolierlagen dazwischen sein sollen, und aus welchem Material. Wenn Du eine einfache rechteckige Platine hast, schreibst Du dort auch noch die Kantenlängen hinein. Wenn die Platinenumrisse komplizierter sind (z.B. verwinkelt, mit Ausfräsungen ec.), noch eine Masszeichnung als Gerber File. Siehe [https://www.mikrocontroller.net/topic/399503#new Forumsbeitrag]&lt;br /&gt;
** Zum Bestücken wird mindestens noch eine Stückliste (BOM) benötigt. Eventuell noch ein spezieller Bestückungsplan (Assembly), wenn der Bestückungsaufdruck nicht reicht. Für SMD eventuell noch die Gerberdaten für Klebstoffmaske und Lötpastenmaske, und eventuell die Pick and Place Daten für den Bestückungsautomaten.&lt;br /&gt;
* Wie kann man den Gerber-Plot so ausdrucken, dass in der Mitte von Pads und Vias ein Zentrierloch frei bleibt?&lt;br /&gt;
** [http://article.gmane.org/gmane.comp.cad.kicad.user/3457 KiCAD Forum]&lt;br /&gt;
* Was ist &#039;&#039;&#039;allgemein&#039;&#039;&#039; beim Export von Gerber Daten zu  beachten?&lt;br /&gt;
** Allgemeine Informationen zum Gerber File Format findet hier: [[Gerber-Tools]] &lt;br /&gt;
** Speziell zu Passermarken/Fiducials (add layer alignment target) diese [https://www.mikrocontroller.net/topic/396624#new Diskussion] &lt;br /&gt;
** [https://www.mikrocontroller.net/topic/428569#new Aktuell]&lt;br /&gt;
* Ich würde gerne meine Gerberdaten gespiegelt ausdrucken, aber das &amp;quot;gespiegelt&amp;quot; ist ausgegraut.&lt;br /&gt;
** Gerber Daten werden nur sehr selten vom Layouter gespiegelt benötigt. Wenn aber doch, so öffne die Gerber Daten mit dem Gerberviewer (Gerbview). Wenn Du dort ausdruckst, kannst du auch spiegeln. Trotzdem solltest Du Dir in dieser [https://www.mikrocontroller.net/topic/466448#new Diskussion] durchlesen, warum Du vermutlich keine Gerberdaten gespiegelt ausdrucken musst &lt;br /&gt;
* Mein Layterplattenfertiger bemämgelt, das meine Gerber Daten fehlerhaft sind.&lt;br /&gt;
** Wenn er negative Koordinaten bemängelt, so sind diese nach der aktuellen Gerber Definition zulässig.&lt;br /&gt;
** Wenn Du trotzdem negative Gerber Koordinaten beim Export vermeiden möchtest, musst Du den Ursprung bzw. das Hilfskoordinatensystem passend setzen. Siehe [https://www.mikrocontroller.net/topic/482457#5999588 Forumsbeitrag]. &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Wenn man einen Offset für Gerber verwendet, muss man den gleichen Haken auch bei den Drillfiles setzten. Sonst sind die Bohrdaten gegenüber den Gerberdaten verschoben.&lt;br /&gt;
** Wegen nicht geschlossener Polygone bzw. doppelter Punkte in Polygonen siehe [https://www.mikrocontroller.net/topic/482457#5999669 Forumsbeitrag] und den [https://bugs.launchpad.net/kicad/+bug/1847714 Bugreport]&lt;br /&gt;
** Ucamco als Schöpfer des Gerberformates bietet einen [https://gerber-viewer.ucamco.com/ Online Viewer] für Gerberdateien, um die Qualität von Gerberdaten zu überprüfen&lt;br /&gt;
&lt;br /&gt;
==== Excellon Drillfiles exportieren ====&lt;br /&gt;
&lt;br /&gt;
* Wie erstelle ich mit KiCad Excellon Drillfiles?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/310333#new Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
==== KiCad Board Dateien direkt zum Hersteller ====&lt;br /&gt;
&lt;br /&gt;
* Bei Bestellungen bei [http://www.pcb-pool.com/ppde/info_dataformat.html PCB-Pool] ist deren GC-Prevue NICHT mehr erforderlich, weil PCB-Pool mittlerweile KiCad *.brd Dateien direkt akzeptiert. Das gilt auch für viele andere Hersteller. im Zweifel dort einmal nachfragen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Trotzdem&#039;&#039;&#039; sollte man &#039;&#039;&#039;besser Gerber Dateien&#039;&#039;&#039; zum Platinenhersteller senden. Das gilt &#039;&#039;&#039;grundsätzlich&#039;&#039;&#039; so auch für andere Platinen Layout Programme. Der Grund ist [[Gerber-Tools#Alternativen_zu_Gerber | hier]] angegeben.&lt;br /&gt;
&lt;br /&gt;
=== Import ===&lt;br /&gt;
* Kann man EAGLE Dateien importieren? (=&amp;gt; Obacht bei Weitergabe der Daten! Die originalen Eagle Dateien könnten mit Urheberrechten belastet sein)&lt;br /&gt;
** Ja. Voraussetzung ist, dass das Eagle Projekt im XML-Format vorliegt. Das ist automatisch der Fall, wenn man Eagle 6 (6.6?) oder aktueller benutzt und darin speichert. Dieses Projekt kann dann in aktuellen KiCad Versionen (5.x oder 6?) geöffnet und als KiCad Projekt gespeichert werden. Dazu das Eagle Projekt für diesen Zweck vorher in einen separaten Ordner kopieren. Dann im KiCad Hauptfenster aus dem Pulldown Menue Datei &amp;gt; Projekt importieren &amp;gt; Eagle CAd wählen.&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/474387#new Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/articles/KiCad#Konverter Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/70905#797416 Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/120373#1089933 Forumsbeitrag]&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/417848#new Forumsbeitrag]&lt;br /&gt;
* Wie bindet man fremde KiCad Bibliotheken ein?&lt;br /&gt;
** EESchema (Schaltplaneditor) starten, unter Einstellungen &amp;quot;Bibliothek&amp;quot;  auswählen, auf &amp;quot;Hinzufügen&amp;quot; klicken, neue Bibliothek auswählen dann &amp;quot;öffnen&amp;quot; und in der Projektdatei &amp;quot;Speichern&amp;quot;. Gültig für Version 20090216Final, 2011-04-29-BZR2986-WinXP und Version: (2011-11-27 BZR 3249)-stable unter Platform: Linux 2.6.32-5-686 i686, 32 bit, Little endian, wxGTK.&lt;br /&gt;
&lt;br /&gt;
** VERALTET! Das Verfahren zur Einbindung eigener oder fremder Bibliotheken ist under PCBnew genauso.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/356855#3988114 Forumsbeitrag]&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&lt;br /&gt;
Es empfielt sich dringenst, eigene Bibliotheken &#039;&#039;&#039;NICHT&#039;&#039;&#039; zu den KiCad Bibliotheken im Ordner kicad/share/library bzw. kicad/share/modules für Footprints zu speichern, weil diese dort bei einem Upgrade von KiCad gelöscht würden. Stattdessen sollte man sich einen KiCad Ordner im eigenen home bzw. Benutzerverzeichnis (oder sonstwo, wo es opportun ist, und man Schreibrechte hat) anlegen, mit einem Ort, um eigene Bibliotheken abzulegen. Dies ist ein eher allgemeiner Hinweis, der so nicht nur für KiCad. sondern auch für die meisten CAD-Programme gelten dürfte.&lt;br /&gt;
&lt;br /&gt;
=== Neues Projekt ===&lt;br /&gt;
Ein neues Projekt legt kicad automatisch nach der in kicad/share/template hinterlegten Projektdatei an. Möchte man, das kicad ein neues Projekt von vorneherein nur mit ausgewählten eigenen Bibliotheken anlegt, so ist eine entsprechende Projektdatei unter kicad/share/template/kicad.pro abzulegen.&lt;br /&gt;
Dies erfordert dort Schreibrechte. Linux roots müssen diese Datei anschliessend mit chmod 755 Dateiname für user lesbar machen.&lt;br /&gt;
Bei einem upgrade würde kicad.pro gelöscht. Daher sollte man sich davon eine Sicherheitskopie in seinem benutzerverzeichnis hinterlegen.&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen sichern / wiederherstellen===&lt;br /&gt;
* Wo speichert KiCad die Einstellungen ab und wie lassen sich die originalen Einstellungen wiederherstellen?&lt;br /&gt;
** [[http://kicad.sourceforge.net/wiki/index.php/DE:KiCadHB#Einstellungen_sichern_.2F_wiederherstellen]]&lt;br /&gt;
**Man erstelle ein neues Projekt beliebigen Namens, nehme alle Einstellungen (Bibliotheken, Pfade usw.) vor und speichere diese in der aktuellen Projektdatei &amp;quot;name.pro&amp;quot;. Im Ordner KiCad Verzeichnis ....../kicad/share/template befindet sich eine Datei &amp;quot;kicad.pro&amp;quot;. Diese Datei &amp;quot;kicad.pro&amp;quot; ist die &amp;quot;Musterprojektdatei&amp;quot;, die für alle neuen Projekte verwendet wird. Man benenne sie um in &amp;quot;kicad-orig.pro, und kopiere die aktuelle Projektdatei &amp;quot;name.pro&amp;quot; nun als &amp;quot;kicad.pro&amp;quot; in diesen Template-Ordner. Leider Funktioniert dieses Verfahren nicht in allen KiCad Versionen. Den originalen Zustand stellt man wieder her, indem man &amp;quot;kicad.pro&amp;quot; umbenennt, und &amp;quot;kicad-org.pro&amp;quot; wieder in &amp;quot;kicad.pro&amp;quot; zurückumbenennt.&lt;br /&gt;
&lt;br /&gt;
=== Bitmaps als Symbol oder Footprint importieren ===&lt;br /&gt;
Der Programmteil Bitmap2component wandelt Bitmaps wahlweise in Symbole oder in Footprints um. Auf diese Weise können also auch Logos oder spezielle Muster für HF-anwendungen in KiCad importiert werden, sobald sie als Bitmap vorliegen. Es gibt allerdings auch andere Möglichkeiten, Grafiken zu importieren. Siehe [https://www.mikrocontroller.net/topic/428745#new Forumsbeitrag].&lt;br /&gt;
&lt;br /&gt;
== Tipps&amp;amp;Tricks / Eigenheiten / Bugs ==&lt;br /&gt;
&lt;br /&gt;
* Nachbearbeitung mit Skript oder Texteditor (Pin Swapping, Versionskontrolle via SVN, Generierung von Packages aus UCF-Listen) &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/120373#1100467 Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/96860#836967 Forumsbeitrag]&lt;br /&gt;
** [http://stawoo.com/dokuwiki/doku.php?id=ecld:kicad:board Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
* Veraltet! (2006) Schaltplan: Durchnummerieren von GND und PWR erforderlich [http://www.mikrocontroller.net/topic/39243#290309 Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
* Zum Verbinden von Schaltplan und Layout müssen an den Bauteilen die Pinnummern mit den Padnummern der Footprints korrespondieren. Das ist &amp;quot;defaultmäßig&amp;quot; nicht immer zu erreichen, weil es unterschiedliche Nummerierungssysteme gibt. Ausser dem Anlegen eines speziellen Footprints kann diese Anpassung für einzelne Bauteile wärend des Layoutens im Moduleditor vorgenommen werden. [http://www.mikrocontroller.net/topic/186121#1805890 Forumsbeitrag]&lt;br /&gt;
* Ich habe einen hierarchischen Schaltplan angefertigt, indem sich eine Schaltung zig mal wiederholt. Eine dieser Subschaltungen habe ich schon geroutet, und möchte dieses Layout genau wie die hierarchischen Schaltpläne mehrfach auf dem Board verwenden.&lt;br /&gt;
** In PCBnew lassen sich mit &amp;quot;Datei&amp;gt;Platine hinzufügen&amp;quot; auch schon geroutete Gruppen von Bauteilen quasi als Modul einfügen, wenn sie zuvor als Board abgelegt wurden. Ebenso kann eine Bauteilgruppe, die in der Form mehrmals vorkommt, und die die schon einmal geroutet worden ist, gruppiert, kopiert und wiederverwended werden. Die dazu nötige Annotation und das Löschen der überzähligen Bauteile muss aber sorgfältig von Hand gemacht werden. &#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; In neueren Versionen von PCBnew ist diese Funktion ausgegraut, wenn PCBnew &amp;quot;normal&amp;quot; aus dem Menue des KiCad Hauptfensters gestartet wurde. Um diese Funktion zu aktivieren, KiCad schliessen und PCBnew wie ein alleinstehendes Program direkt starten.&lt;br /&gt;
** Wer seinen Subschaltplan separat routen möchte, sollte den Subschaltplan explizit in EEschema öffnen und die Netliste nur dieses Subschaltplanes exportieren. Diese Netlist in ein neues Board in PCBnew einlesen und wie üblich routen.&lt;br /&gt;
* Bibliotheken verwalten, umsortieren bzw. neu strukturieren: [http://www.mikrocontroller.net/topic/187107#1817559 Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
* Layout: Rest-Gummiband an Pins, [http://www.mikrocontroller.net/topic/120373#1092375 Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
* Produktion: [http://www.mikrocontroller.net/topic/98034#848965 Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
* Bug in Version 2010-03-14: Unter Einstellungen lässt sich keine einseitige Platine wählen (wichtig für Autorouter). Lösung: Modifikation des .brd Files mit einem Editor [http://www.mikrocontroller.net/topic/172015#1651239 Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;&lt;br /&gt;
:In der *.brd Datei gleich ganz oben...&lt;br /&gt;
:&lt;br /&gt;
:$GENERAL&lt;br /&gt;
:LayerCount 2                 -&amp;gt; auf 1 setzen&lt;br /&gt;
:&lt;br /&gt;
:$SETUP&lt;br /&gt;
:InternalUnit 0.000100 INCH&lt;br /&gt;
:ZoneGridSize 250&lt;br /&gt;
:Layers 2                     -&amp;gt; auf 1 setzen&lt;br /&gt;
:Layer[0] Rückseite power&lt;br /&gt;
:Layer[15] Vorderseite power  -&amp;gt; hab&#039; ich mal beides so gelassen&lt;br /&gt;
:&amp;lt;/pre&amp;gt;                                                                aktueller: http://www.mikrocontroller.net/topic/172015#1794699&lt;br /&gt;
&lt;br /&gt;
* Das Anlegen von Symbolen/Bauteilen in aufgelöster Darstellung ist etwas stolperig. Siehe: [http://www.mikrocontroller.net/topic/294095#3136180 Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
* Es empfielt sich, in Kicad vorläufig KEIN Ampersand (Kaufmansund, &amp;quot;&amp;amp;&amp;quot;) im Namen einer Schaltplan- oder Boarddatei zu Verwenden. Es besteht ein Bug beim Export/Plotten nach SVG. Siehe oben unter &amp;quot;Drucken / Export&amp;quot; und dann &amp;quot;Meine erzeugten SVG Plots sind kaputt.&amp;quot;. Siehe [http://tech.groups.yahoo.com/group/kicad-users/message/14952 Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kühlkörper&#039;&#039;&#039; können als Symbol und Footprint (Modul) angelegt werden. Die Befestigungslöcher können im  Modul als Pad ausgeführt werden. Die Padnummer aller Pads sollte gleich sein (gleicher Anschluss / über Kühlkörper verbunden), z.B. &amp;quot;1&amp;quot;. Entsprechend ein Symbol mit Pin und korrespondierender Pinnummer anlegen. Wenn der Kühlkörper elektrisch nirgendwo verbunden sein soll, dann die Anschlusspinne im Schaltplan als &amp;quot;unused&amp;quot; markieren. Als Referenz in Symbol und Footprint habe ich &amp;quot;HS&amp;quot; (HeatSink) gewählt. Es ist zu überlegen, ob &amp;quot;HS&amp;quot; nicht auch als Padnummer besser wäre.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kartenumrisse/Outlines&#039;&#039;&#039;: Für immer wiederkehrende Platinengrössen, z.B. die beliebte Eurokarte, kann zur Vereinfachung des Zeichnens einmal ein Eurokartenumriss im Layer &amp;quot;outlines&amp;quot; gezeichnet werden, und als Modul abgelegt werden. Um die Zahl der Kollisionen beim Einlesen der Netzliste zu verringern, wird im Schaltplan ein Dummy-Symbol ohne Pinne angelegt. In CVpcb dann dieses Symbol mit dem passenden Kartenumriss Footprint/Modul verbinden, und es wird automatisch in PCBnew eingefügt. Als Referenz in Symbol und Footprint habe ich &amp;quot;Outl&amp;quot; (OUTLine) gewählt.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sprachanpassung&#039;&#039;&#039;: Ich will mein KiCad auf Deutsch / Englisch / Französisch / Finnisch oder sonst eine Sprache umstellen. Wie geht das?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/262039#2719056 Forumsbeitrag]&lt;br /&gt;
**Die deutsche Übersetzung der Texte und Hilfetexte/Tooltips ist manchmal etwas unelegant. Wem so etwas auffält, bitte Mitteilung am Ende dieses [http://www.mikrocontroller.net/topic/255932#2641638 Forumsbeitrag]s (deutschsprachig) oder an die [https://groups.yahoo.com/neo/groups/kicad-users/info KiCad user group] unter (englischsprachig, auch bei Fällen wo es um die deutsche Übersetzung geht). Diese Mitteilungen nach Möglichkeit nicht in Launchpad.&lt;br /&gt;
** Ich habe aber keine Möglichkeit, die Sprache umzustellen!&lt;br /&gt;
*** Wenn Debian eine Fehlermeldung &amp;quot;Cannot set locale to &#039;xy_XY&#039;. kommt, ist die entsprechende Umgebung nicht installiert. Unter Debian als root in der Konsole: &amp;quot;dpkg-reconfigure locales&amp;quot; aufrufen. Es öffnet sich eine ncurses-gui, wo die entsprechenden Einstellungen gemacht werden können. Für &amp;quot;Deutsch&amp;quot; wähle ich &amp;quot;de_DE.utf8&amp;quot;.&lt;br /&gt;
*** Wenn nichts passiert, fehlen möglicherweise die localisierungs Dateien. Sie sind NICHT Teil der Sourcen, und finden sich [http://bazaar.launchpad.net/~kicad-developers/kicad/doc/files/head:/internat/ hier]. Auf Debian und verwandten Systemen müssen die einzelnen localisationsordner, z. B. &amp;quot;de&amp;quot; nach /usr/local/share/kicad/internat kopiert werden. Dann als root dort Leserechte erteilen mit &amp;quot;chmode -R 755 /usr/local/share/kicad/internat&amp;quot;.&lt;br /&gt;
*** Wenn ein Mischmasch aus Englisch und der gewählten Sprache existiert, sind entweder nicht alle Begriffe übersetzt (siehe oben) oder wegen Umbenennung von Variablen ist eine Inkonsistenz entstanden. Siehe [http://www.mikrocontroller.net/topic/326622#3565178 Forumsbeitrag]&lt;br /&gt;
** Für die KiCad Localsisation wird &amp;quot;GNU gettext&amp;quot; verwendet. Eine kleine Hilfestellung zur Anpassung der Localisation findet sich [http://docs.kicad.org/en/gui_translation_howto.html hier]. Info zu Gnu gettext findet sich [http://de.wikipedia.org/wiki/GNU_gettext hier ]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Projektdateien (.pro) Pfadschreibweise&#039;&#039;&#039;: In einer Windowsumgebung ist es anscheinend nötig, relative Pfade speziell zu kennzeichnen. Siehe [http://www.mikrocontroller.net/topic/326869#new Forumsnbeitrag]&lt;br /&gt;
&lt;br /&gt;
=== Problem: Der Ursprung für die Pick und Place bzw. Drill-Daten wurde verändert und lässt sich nicht zurücksetzten. === &lt;br /&gt;
Siehe [http://www.mikrocontroller.net/topic/363280#new Forumsnbeitrag]&lt;br /&gt;
&lt;br /&gt;
=== Problem: Case Senitive Symbols ab BZR4646 (Jan./Feb. 2014) in Schaltplänen. (Migration alter Projekte auf neue) ===&lt;br /&gt;
Ab BZR4646 sind die Symbole in Eeschema &amp;quot;Case Sensitive&amp;quot;. Das bedeutet: In alten Schaltplandateien wurden für die Symbolnamen nur Großbuchstaben verwendet, auch wenn die Originalnamen in der Library Kleinbuchstaben enthielten. Ab BZR4646 werden die Symbolnamen in den Schaltplandateien genauso geschrieben wie die Originalnamen in der Library. Leider werden dadurch bei alten Schaltplandateien die großgeschriebenen Symbolnamen nicht mehr in den Bibliotheksdateien erkannt. Auch nicht in den &amp;quot;-cache.lib&amp;quot; Dateien. Ganz so kritisch, wie es sich anhört, ist es wiederum auch nicht, weil KiCad schon seit geraumer Zeit die Schaltpläne in der neuen Version speichert. Jemand, der mit aktuellen KiCad Versionen an aktuellen Schaltplänen arbeitet, wird darum den Übergang vermutlich nicht bemerken. Allerdings tritt das Problem bei alten Schaltplänen auf, die möglicherweise Jahrelang unberührt auf der Festplatte lagen. Um die Symbolnamen in diesen alten Schaltplandateien anzupassen, existiert das Python3 Skript &amp;quot;PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip&amp;quot;. Es ist ein &amp;quot;Stand alone&amp;quot; Python3 skript, das nicht in das KiCad interne Python skripting eingebunden ist. Die Datei kann [[Media:PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip | hier]] bezogen werden:&lt;br /&gt;
Autor: Bernd Wiebus, GNU-GPL.&lt;br /&gt;
&lt;br /&gt;
Bei einigen Linux Distributionen (z.B. Archlinux) wird neben Python 3 auch noch das Paket &amp;quot;python3-tk&amp;quot; benötigt. Oder eine irgendwie anders genannte Einbindung von Tkinter in Python3. Anmerkung: &amp;quot;Tkinter&amp;quot; für Python3 wird im allgemeinen kleingeschrieben &amp;quot;tkinter&amp;quot; zur Unterscheidung vom großgeschriebenen &amp;quot;Tkinter&amp;quot; für das alte Python(2). &lt;br /&gt;
Sonst gibt es die Fehlermeldung &amp;quot;ImportError: No module named tkinter&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Manueller Start mit: &amp;quot;python3 PyKiCad-CaseSensitiveLibCure_RevD_13Mar2015.py&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dieses Skript kann benutzt werden, um Schaltpläne, die mit der Eeschema Version (2013-11-29 BZR 4513) von Ende 2013, die in Linux Repositorys (z.B. Debian 7 &amp;quot;Wheezy&amp;quot;) noch sehr verbreitet ist, auf aktuelle KiCad Versionen anzupassen.&lt;br /&gt;
&lt;br /&gt;
In RC4 übernimmt ein &amp;quot;Rescue-Helper&amp;quot; diese (und andere) Funktion. Aber auch dieser kann genau wie das Python Skript nur funktionieren, wenn entweder die Originalsymbole (Cache.lib!) oder entsprechend benannte Nachfolger der Bibliotheken existieren, so dass ein auf den Namen passendes Symbol existiert.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Backporting KiCad-Board Dateien (.kicad_pcb) von Version 4 auf Version 3 2014/2015) ===&lt;br /&gt;
&lt;br /&gt;
Möchte man z.B mit einer KiCad/PCBnew Version BZR 4027 vom 22 Juni 2014, welche in vielen Repositorys noch weit verbreitet ist, eine Board-Datei ( .kicad_pcb), die mit einer neueren PCBnew Version erstellt wurde, z.B. einer BZR 5513 vom 14. März 2015 (die aktuell kompiliert wurde), öffnen, so stösst man auf Probleme. Aktuell die BZR 5513 verwendet für die Board Dateien Version 4, und die alte BZR 4027 verwendet dort die Version 3. Obwohl das Schema der Boarddateien fast gleich ist, enthält die Version 4 Elemente, die es zur Zeit der Version 3 noch nicht gab, und die darum zu Fehlermeldungen und zum Abbruch des Einlesens der Datei führen. Diese Neuerungen beziehen sich auf den Export von Gerberfiles mit Attributen sowie Platinenlagen, die es vorher noch nicht gab. Diese Fehler sind dank der einfachen, klarschriftlesbaren Filestruktur von KiCad sehr leicht mit einem Texteditor zu beheben. Eine Beschreibung, wie dieses manuell zu machen ist, finden Sie [[Media:KiCad-PCBnewBoardDateienMigrierenVonVersion4Auf5.pdf | hier]]. Achtung Irrtum: Hier sind Version 4 und 5 genannt, dabei sind aber Version 4 und 3 gemeint.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Portieren von älteren KiCad-Board Dateien auf neuere Versionen.  ===&lt;br /&gt;
&lt;br /&gt;
In einigen Fällen funktioniert das Erkennen von selbstvergebenen Layer Namen aus der älteren Version nicht. Abhilfe schafft das manuelle Umbenennen der betroffenen Layer per Editor in den Board Dateien in KiCad-Standard Bezeichnungen und natürlich das konsequente Einpflegen in den Rest der Datei. Eine Vorstellung, wie das zu bewerkstelligen ist, ist ebenfalls aus [[Media:KiCad-PCBnewBoardDateienMigrierenVonVersion4Auf5.pdf]] zu ersehen. Achtung Irrtum: Hier sind Version 4 und 5 genannt, dabei sind aber Version 4 und 3 gemeint. Einen Überblick, welche Layernamen die jeweils aktuelle KiCad Version verwendet, bekommt man indem man sich ein Testboard anlegt, indem ALLE möglichen Layer verwendet werden, dieses abspeichert und sich die Datei mit einem Texteditor ansieht.&lt;br /&gt;
Die Portierung von alten KiCad-board Dateien (Projektname.brd) funktioniert dagegen im Allgemeinen problemlos.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Neue leere Footprintbibliothek kann nicht erstellt werden (kicad Version: 4.0.0~rc1a-stable release build / RC4) ===&lt;br /&gt;
&lt;br /&gt;
Soll eine neue, leere Footprintbibliothek angelegt werden, so funktioniert das nicht mit den angebotenen Tools (z.B. dem Wizzard) weil die automatisch den Typ der Bibliothek ermitteln wollen, was nicht funktioniert, weil die Bibliothek noch leer ist. Auch das manuelle Eintragen des Pfades funktioniert nicht, weil die leere Bibliothek nicht als solche erkannt wird, und wegen dieses Fehlers der Abschluss des Eintrages nicht übernommen wird. Abhilfe schafft dabei das Anlegen eines Ordners &amp;quot;Bibliotheksname.pretty&amp;quot; (Erinnerung: Neue KiCad Footprintbibliotheken bestehen aus einem Ordener &amp;quot;xyz.pretty&amp;quot;, indem die einzelnen Footprints jeder für sich in einer extra Datei &amp;quot;Footprintname.kicad_mod&amp;quot; existieren). Anschliessend kopiert man eine einzige beliebige Footprintdatei &amp;quot;Nameirgendwie.kicad_mod&amp;quot; in diesen Ordner. Somit ist &amp;quot;Bibliotheksname.pretty&amp;quot; eine &amp;quot;echte&amp;quot; Bibliothek, welche als solche problemlos eingebunden werden kann. Enthält die Bibliothek dann irgendwann die gewünschten richtigen Einträge, so kann der Footprint, der zu Anfangs zum Erstellen der Bibliothek hineinkopiert wurde, auch wieder gelöscht werden.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Fehlende Backannotationsmöglichkeit in KiCad ===&lt;br /&gt;
&lt;br /&gt;
Es gibt Leute, die sich in KiCad eine Backannotationsmöglichkeit wünschen (andere warnen davor, sowas zu benutzen, selbst wenn es existiert). KiCad bietet aktuell selber diese Möglichkeit nicht, doch lässt sich aufgrund der offenen Dateistrukturen ein z.b. Python Skript schreiben, welchess die Backannotation durchführt. Als ein Beispiel siehe [https://hasanyavuz.ozderya.net/?p=256 hier]&lt;br /&gt;
&lt;br /&gt;
=== Problem: Platinenerstellung durch Isolationsfräsen ===&lt;br /&gt;
&lt;br /&gt;
Einer der möglichen Wege ist [https://www.daedalus.ei.tum.de/index.php/de/3d-druck-cnc/cnc/layout-und-g-code-erstellung-mit-kicad hier] beschrieben. Allerdings scheint die dort erwähnte Software mittlerweile aus einer anderen Ecke zu kommen: http://carbide3d.com/apps/pcb/community.html Es gibt aber noch andere Wege, zb. über: http://flatcam.org/discussion#!/?HPGL Eine Diskussion dazu findet sich im [https://www.mikrocontroller.net/topic/447442#new Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Building Blocks ===&lt;br /&gt;
* Eine unfertige Dokumentation, wie man das hierarchische Schaltplansystem von KiCad verwendet, um daraus schnell und rationell Schaltpläne mit vorgefertigten Schaltplänen (Building Blocks) nach dem Baukastensystem aufzubauen. Enthält auch ein Beispielprojekt. Beachte die Liesmich.txt Datei. [[Media:BuildingBlocksKiCad-EXPERIMENTELL.zip]] Das File  KiCad-HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf, enthält eine vorläufige Beschreibung dazu. KiCad-HierarchischeSchaltplaene+buildingBlocksRevA-EN.pdf is an English description how to use hirarchical schematics as building blocks for a fast and rationel schematic design. Es fehlt noch die Übersetzung und die Bebilderung und ein paar Berichtigungen und Ergänzungen. ;-) . Das echte Hauptbeispielprojekt ist UnderVoltageDetector24V-2Group_Experimental.pro bzw. UnderVoltageDetector24V-2Group_Experimental.sch. Im Ordner Experimentalprojekt23052010 findet sich ein weiterer Ordner BuildingBlocksExperimental. Dieser enthält die Ausgangsbausteine VoltageRegulatorBuildingBlock.sch mit VoltageRegulatorBuildingBlock-cache.lib und  VoltageDetectorBuildingBlock.sch mit VoltageDetectorBuildingBlock-cache.lib. Die Projektdateien der Buildingblocks .pro sind nur der Vollständigkeit und zur leichteren Bearbeitung zugefügt. Aus VoltageDetectorBuildingBlock.sch und VoltageRegulatorBuildingBlock.sch wurde (nach umkopieren, umbenenen und kleiner Änderung) im übergeordneten Ordner das Projekt VoltageRegulatorBuildingBlock.pro unter verwendung des &amp;quot;Zwischenbuildingblocks&amp;quot; UnderVoltageDetectorBuildingBlock.sch zusammengesetzt. NICHT VERGESSEN DIE CACHE.LIB EINZUBINDEN! Sonst gibt es nur Fragezeichen statt Bauteile. Das Beispielprojekt enthält eine 24V Unterspannungsüberwachung für einen Bleiakku, die zwei 12V Gruppen überwacht. Nicht elegant, aber hoffentlich robust. Autor: Bernd Wiebus , GNU-GPL. Der dazubezügliche Beitrag im Forum ist: http://www.mikrocontroller.net/topic/178683#1724114&lt;br /&gt;
*[[Media:HierarchischeSchaltplaeneAlsBausteineInKicad_RevC_23Dec2013.pdf]] VERBESSERTE und AKTUALISIERTE Version von KiCad-HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf aus obiger Zip-Datei. Beschreibt, wie mit Hilfe der hierarchischen Schaltplanstruktur aus einzelnen, vorgefertigten Schaltplänen schnell und rationell neue Schaltpläne modular zusammengesetzt werden können. There is also a English translation of this tutorial about using hierarchical schematics as building blocks. You can get it here: [[Media:HierarchicalSchematicsAsBuildingblocksAtKiCad_RevC-EN_06May2015.pdf]]&lt;br /&gt;
* Eine Sammlung von gängigen Schaltungen mit den Längstreglern LM317 /LM78xx /LM79xx und dem Timer 555, die nach dem in obig erwänten Dokument KiCad_HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf beschriebenen Vorgehen als Building Blocks in KiCad verwendet werden können, findet sich unter: http://www.mikrocontroller.net/articles/KiCad#Building-Blocks&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Shortcuts/Hotkeys ===&lt;br /&gt;
&lt;br /&gt;
KiCad besitzt eine ganze Anzahl von Shortcuts/Hotkeys. Diese lassen sich editieren, abspeichern und importieren.&lt;br /&gt;
Dieses erfolgt in EEschema, dem Symboleditor und in PCBnew in der oberen Menueleiste unter &amp;quot;Einstellungen&amp;quot; &amp;gt; &amp;quot;Tastaturbefehle&amp;quot; (&amp;quot;Preferences&amp;quot; &amp;gt; &amp;quot;Hotkeys&amp;quot;). Dort finden sich weitere Menuepunkte, um eine Liste der verfügbaren Hotkeys anzuzeigen, die Hotkeys zu editieren oder um sie zu exportieren oder importieren.&lt;br /&gt;
&lt;br /&gt;
Eine &#039;&#039;&#039;Liste&#039;&#039;&#039; der aktuell verfügbaren Hotkeys erhält man mit &amp;quot;?&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Es gibt eine Reihe von Hotkeys, die in EEschema, dem Symboleditor und PCBnew gleich sind:&lt;br /&gt;
&lt;br /&gt;
*Help (this window)		?&lt;br /&gt;
*Zoom In			        F1&lt;br /&gt;
*Zoom Out			F2&lt;br /&gt;
*Zoom Redraw			F3&lt;br /&gt;
*Zoom Center			F4&lt;br /&gt;
*Fit on Screen			Home&lt;br /&gt;
*Reset Local Coordinates	Space&lt;br /&gt;
*Edit Item			E&lt;br /&gt;
*Delete Item			Del&lt;br /&gt;
*Rotate Item			R&lt;br /&gt;
*Drag Item			G&lt;br /&gt;
*Undo				Ctrl+Z&lt;br /&gt;
*Redo				Ctrl+Y&lt;br /&gt;
*Mouse Left Click		Return&lt;br /&gt;
*Mouse Left DClick		End&lt;br /&gt;
&lt;br /&gt;
Die anderen variieren je nachdem, in welcher Umgebung man sich befindet.&lt;br /&gt;
&lt;br /&gt;
Ein wichtiger Hotkey in PCBnew ist &amp;quot;T&amp;quot;. Wird &amp;quot;T&amp;quot; gedrückt, poppt ein Fenster auf, in dem nach dem Referenzbezeichner des Bauteils gefragt wird. Den gibt man ein, drückt &amp;lt;Enter&amp;gt; und der Footprint des Bauteiles hängt am Mauszeiger. Das ist eine wichtige Funktion beim &#039;&#039;&#039;Plazieren der Bauteile&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Eine PDF Datei mit Notizen zu den Shortcuts in KiCad und Listen von Shortcuts findet sich hier: [[Media:KiCad-Shortcuts-Hotkeys_Notizen_BZR4803_28Jun2014.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Lochraster/Lötleisten Platinen Entwurf mit KiCad ===&lt;br /&gt;
&#039;&#039;&#039;Dieses hier beschriebene Verfahren ist KiCad unabhängig und geht grundsätzlich mit jedem Layoutprogramm, das ein Raster anzeigen kann.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Wer viel mit Lochraster Platinen arbeitet, hat gelegentlich auch ein Bedürfnis, diese Tätigkeit mit einem Layoutprogramm zu begleiten. Zum einen um den Platzbedarf besser abschätzen zu können, zum anderen, um dadurch auch eine schnelle und einfache Dokumentation auch für Lochrasterprojekte zu schaffen. Auch dazu kann KiCad verwendet werden.&lt;br /&gt;
* Vorgehensweise: Schaltplan in Eeschema erstellen wie üblich, Netzliste erzeugen, und in CVpcp die Bauteile zuordnen. In PCBnew dann das Raster einblenden und auf 2,54mm (100mil) stellen. Nun geben die Rasterpunkte die Position der Löcher der Lochrasterplatine vor. Nach dem Einlesen der Netzliste bei Lochraster mit Streifenleitungen am besten zweiseitig manuell routen. Auf der Unterseite der Richtung der Streifenleitung in Längstrichtung folgen (z.b. wagerecht). Auf der Oberseite die Brücken dazu quer legen (z.B. senkrecht). Zweipolige Bauteile immer senkrecht oder wagerecht positionieren. &lt;br /&gt;
** Wer eine Platine erstellen möchte, die nur teilweise ein Lochraster aufweist, dem sei diese Diskussion empfohlen: https://www.mikrocontroller.net/topic/369534#new&lt;br /&gt;
* Noch ein Vorschlag für Lochraster bzw. Lötleistenentwürfe in KiCad: http://www.mikrocontroller.net/topic/395181#4547206&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: KiCad und Freeroute ===&lt;br /&gt;
Leider ist die Freeroute Seite abgeschaltet. Grund:http://www.mikrocontroller.net/topic/337014#new Allerdings gibt es eine Möglichkeit, Freeroute selber zu installieren und zu nutzen: https://github.com/nikropht/FreeRouting und http://freerouting.net/index_de.php &lt;br /&gt;
*Freerouting einseitig bzw. für Lochraster verwenden: http://www.mikrocontroller.net/topic/363335#new&lt;br /&gt;
*Fehlermeldungen beim Start von Freeroute: Es ist wichtig, dass der Leiterplattenumriss in der Lage edge.cuts geschlossen ist: https://www.mikrocontroller.net/topic/435039#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: KiCad und Specctra Autorouter ===&lt;br /&gt;
Es treten beim Export der Netzlisten/Designs Fehlermeldungen der Art: &amp;quot;IO_ERROR: Multiple components have identical reference IDs&amp;quot; auf, obwohl offensichtlich keine doppelten Referenzbezeichner vergeben wurden.&lt;br /&gt;
* Die &amp;quot;doppelten Referenzbezeichner&amp;quot; sind doch &amp;quot;irgendwie&amp;quot; versteckt vorhanden. Z.B. dadurch, das Bauteile nicht Referenziert oder Annotiert wurden. Im Zweifel die Files mit einem Texteditor danach durchsuchen, oder die Autoannotation über das Board laufen lassen. Siehe: https://www.mikrocontroller.net/topic/365185#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Platinen von ALLPCB ===&lt;br /&gt;
Hinweise, wie die Design Restrictions von ALLPCB in KiCad umgesetzt werden können, als Beispiel auch für andere Platinenhersteller (entsprechend anpassen)&lt;br /&gt;
* https://www.mikrocontroller.net/topic/443533#new&lt;br /&gt;
&lt;br /&gt;
= Bibliotheken =&lt;br /&gt;
&lt;br /&gt;
== Handhabung von Bibliotheken ==&lt;br /&gt;
&lt;br /&gt;
=== Eeschema ===&lt;br /&gt;
&lt;br /&gt;
* Symbolbibliotheken in Eeschema einbinden.&lt;br /&gt;
** Zur Benutzung müssen Bibliotheken mit Symbolen in das Bibliotheksverzeichnis von Eeschema eingetragen werden. Siehe: https://www.mikrocontroller.net/topic/416835 [[Bild:EeschemaBibliotheksliste.png|300px|thumb|right|Bearbeitung einer KiCad 4 Eeschema Bibliotheksliste]]&lt;br /&gt;
* Cache Bibliothek:&lt;br /&gt;
**  Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Aus diesem Grunde existiert zu jeder Schaltplandatei (Dateiname.sch) eine Cache Bibliothek (Dateiname-cache.lib). Diese enthält alle im Schaltplan verwendeten Symbole, und sollte darum mit dem Schaltplan zusammen übergeben werden. Diese Cache-Bibliothek sollte auch in die Bibliothekstabelle übernommen werden.&lt;br /&gt;
* Fehler mit Case-Senitiven Bibliotheken&lt;br /&gt;
** Ab BZR4646 (Jan./Feb. 2014) behandelt KiCad Symbolnamen &amp;quot;Case Sensitive&amp;quot;. Das führt zu Problemen mit älteren Schaltplänen, wo &amp;quot;Mixed Case&amp;quot; Symbolnamen aus den Bibliotheken automatisch in &amp;quot;Upper Case&amp;quot; Symbolnamen konvertiert wurden. Diese werden jetzt nicht mehr erkannt. Näheres siehe: http://www.mikrocontroller.net/articles/KiCad#Problem:_Case_Senitive_Symbols_ab_BZR4646_.28Jan..2FFeb._2014.29&lt;br /&gt;
&lt;br /&gt;
== Bibliothekssammlungen ==&lt;br /&gt;
&lt;br /&gt;
In diesem Abschnitt sollen unsere Arbeiten an Bibliotheken koordiniert werden. Dabei sollen alle Arbeiten unter der Creative Commons Lizenz stattfinden. Das heisst insbesondere, dass keine Arbeiten mit anderem Copyright unseren Bibliothekspool vergiften sollen z.&amp;amp;nbsp;B. durch unerwünschte Konvertierung von EAGLE-Bibliotheken.  &lt;br /&gt;
&lt;br /&gt;
Unsere Designziele sind:&lt;br /&gt;
* Frei benutzbar (Creative Commons Lizenz) &lt;br /&gt;
* Einheitlich (Richtlinien?)&lt;br /&gt;
** Vorschlag von Marko für Bohrungen und Pads siehe [http://www.mikrocontroller.net/topic/124070#1176177]&lt;br /&gt;
** Die Richtlinien, die die KiCad Librarys selber verwenden: [https://github.com/KiCad/kicad-library/blob/master/KiCad_Library_Convention.txt]&lt;br /&gt;
* Fehlerfrei (Nachkontrolle durch andere User)&lt;br /&gt;
&lt;br /&gt;
=== Wünsche ===&lt;br /&gt;
&lt;br /&gt;
Hier soll eine Strichliste geführt werden, welche neuen Bauteile gesucht sind bzw. welche oder besseren, genaueren Versionen benötigt werden. Bitte gebt an, was bei bestehenden Bauteilen problematisch ist.&lt;br /&gt;
&lt;br /&gt;
Bevor wir Bibliotheken erstellen, sollten auf jeden Fall einige Parameter - insbesondere für die Schaltplansymbole - festgelegt werden: Pinlänge, Pinabstand, Größe der Schriften, Konventionen bzw. Nummerierung (z.B. bei gepolten Bauteilen wie Dioden, Elkos usw.). Sonst entsteht Wildwuchs, weil jeder für sich anderes festlegt.&lt;br /&gt;
&lt;br /&gt;
* Stehende Layouts für 7805 und N-FETs: ||||&lt;br /&gt;
** Passt TO220_VERT ? Natürlich! Nur die Anschlussnumerierung muss ev. passend adaptiert werden. Ist unter &amp;quot;TO-220&amp;quot; in [[Media:KiCAD_Module_Footprints_3D_29Aug2014.zip]] enthalten. In allen Perversionen. Stehend, liegend, rumgedreht von der Rückseite usw....&lt;br /&gt;
* LPC21xx / LPC22xx / LPC23xx |&lt;br /&gt;
* EINE AVR ATmega-Bibliothek, wo ALLE Controller drin sind. ||||||||&lt;br /&gt;
* AVR XMegas |&lt;br /&gt;
* AT90CAN128 / allgemein mehr AVRs (MEGA &amp;amp; TINY) ||||||&lt;br /&gt;
* Wegen der AVRs und ATMEGAs: Bitte hier http://www.kicadlib.org/Fichiers/Kerusey_Karyu_Atmel_Library.html mal schauen, und den Wunsch auf den Typ konkretisieren! Der Atmelzoo ist so verwirrend vielfältig.....&lt;br /&gt;
** Leider ist die dazugehörige Bibliothek defekt.&lt;br /&gt;
** Ist aktualisiert worden und in die aktuelle KiCad Symbol Library eingeflossen: [https://github.com/KiCad/kicad-library/blob/master/library/atmel.lib]&lt;br /&gt;
*** Weitere Aktualisierungen und Erweiterungen: [https://github.com/KiCad/kicad-library/blob/master/library/atmel.dcm]&lt;br /&gt;
* Schaltregler (u.A. LM257x, LM267x, MC33063, L5973D) |||| Der MC33063 hat gleiches Pinning und Gehäuse wie MC34063! Darum kann der in http://www.mikrocontroller.net/wikifiles/8/84/Symbols_ICs-Diskrete_RevD9.lib verwendet werden.&lt;br /&gt;
* Spulen (z.&amp;amp;nbsp;B. diverse Wuerth) ||&lt;br /&gt;
* Drosseln (B82790 für CAN, Würth 744207) ||&lt;br /&gt;
* Transformatoren (allgemein) |&lt;br /&gt;
* Ferrite (7427930 - 32, 742792651, 74279263) |&lt;br /&gt;
** ??? Was genau ist nun Footprint und Referenzmaeßig der Unterschied zwischen Drosseln, Spulen und Ferriten, wenn ich jetzt mal davon ausgehe, das die Teile weder Anzapfung noch mehr als eine Wicklung haben (dann wären es Trafos oder Uebertrager), und die elektrischen Werte in ein Feld eingetragen werden?? Schau mal unten in http://www.mikrocontroller.net/wikifiles/d/da/KiCad_Module_Footprints_3D_16Sep2013.zip. Kleinere SMD-Entstörferrit Module lassen sich uebrigens aus Footprints für SMD-Widerstaenden zaubern, in dem man sie umbenahmt und mit der Referenz &amp;quot;L&amp;quot; versieht. ;-)&lt;br /&gt;
* STM32 Mikrocontroller Bibliothek (sofern möglich alle) ||||&lt;br /&gt;
* Arduinos ||&lt;br /&gt;
** Arduino Due ||&lt;br /&gt;
** Arduino Nano |&lt;br /&gt;
* Teensy |&lt;br /&gt;
** Teensy 3.5/3.6 |&lt;br /&gt;
** Teensy 4.0 |&lt;br /&gt;
&lt;br /&gt;
=== Entwürfe ===&lt;br /&gt;
&lt;br /&gt;
Neue Bibliotheken oder Änderungen sollen zunächst in diesem Abschnitt &lt;br /&gt;
vorgestellt werden. &lt;br /&gt;
&lt;br /&gt;
==== Symbolbibliotheken ====&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/96460#832961 ATmega3250/TQFP100] von Fred S. (Gast)&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/96460#844741 ATMega3290 im 100Pin-Gehäuse] von Fred S. (Gast)&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/132811#1205130 RFM12-Funkmodul] von Dominik C.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/133310#1210137 CAN Controller MCP2515 und Transceiver MCP2551] von Dominik C.&lt;br /&gt;
&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/394700#4540445 STLib für KiCad mit STM32F4x] von Markus W.&lt;br /&gt;
&lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevB-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1. Schaltplan Symbolbibliothek fuer KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind. Von Bernd Wiebus&lt;br /&gt;
&lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevC-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind. Aenderung gegenueber Rev.B: Kleinere Symbole hinzugefügt. Mit Vorsicht geniessen! Von Bernd Wiebus.&lt;br /&gt;
 &lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevD3-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind.  Aenderung gegenueber Rev.C: Kleinere Fehler beseitigt. CLD Symbol hinzugefuegt. Kuehlkoerper Symbol und Dummy-Symbol fuer Boardoutlines hinzugefuegt. Thyristor und Triac Symbol zugefuegt. Copyright Symbole GNU-GPL und CC zugefuegt. Mit Vorsicht geniessen! Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
 &lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevE8.lib]] AKTUELLE Version! Ersetzt die Rev. B, C und die Rev. D sowie Vorgängerversionen E1-E7! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind.  Aenderung gegenueber Rev.D: Kleinere Fehler beseitigt. Ankerpunkte in die Nähe der Symetrieachsen verlegt. Verbinder DIN41612 / EN60603-2 &amp;quot;Eurokartenstecker&amp;quot; hinzugefügt. Große &amp;quot;BIG&amp;quot; Symbole entfernt und in der Datei BIG-SymbolsSimilarEN60617+oldDIN617-RevE.lib ausgelagert. Mit Vorsicht geniessen! Von Rene Belau und Bernd Wiebus.  CC-Zero/Public Domain!  Defektes Symbol &amp;quot;RESISTOR_RevE_Date15jun2010&amp;quot; repariert am 02. Maerz 2011. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
   &lt;br /&gt;
* [[Media:BIG-SymbolsSimilarEN60617+oldDIN617-RevE.lib]] Einige EN60617 oder der DIN 617 ÄHNLICHE Symbole in besonders GROSSER Ausführung. Vermutlich werden Sie diese GROSSEN Symbole eher NICHT benutzen wollen. Mit Vorsicht geniessen! Von Rene Belau und Bernd Wiebus. Unter GNU GPL. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/attachment/74203/obi.lib]] KiCad Symbol für einen ATMEGA644. Von obi&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ICs-Diskrete_RevD10.lib]] KiCad Symbole für einige diskrete ICs. Enthält L200 (Pentawatt Gehäuse), LM2587 (Pentawatt Gehäuse), Längstregler LM317, LM78xx, LM79xx, Timer NE555, NF-Verstärker LM1875 und TDA2003 (Pentawatt Gehäuse), Schaltregler UC38xx (DIP8/SO8 und DIP14/SO14), LM2587, MC34036, LM78S40 und MCP1640, Treiber MIC4422 (DIP8/SO8 und Pentawatt Gehäuse). Allegro Halleffekt Stromwandler Typ ACS754/ACS755/ACS756 und LEM Halleffekt Stromwandler der Serie &amp;quot;HX&amp;quot;. Programierbarer Oszillator Si570/Si571 sowie Quarzoszillator Typ KXO-200. Dazu Transistor Arrays BC847S und BC857S (in einfacher und in aufgelöster Darstellung) und Supressordioden Array SR05. Schieberegister 74HC4094 . Spannungs-/Laderegler uA723/LM723 in 14 und 20 poligem Gehäuse. HF/ZF Verstärker/Mischer/Demodulator TCA440 alias exDDR A244D, FM Frontend TA7358. Spannungsmonitor ICL7665. Autor Bernd Wiebus.  CC-Zero/Public Domain!  Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ICs-Opto_RevB_16Sep2013.lib]] KiCad Symbole für Optokoppler CNY17, IL300. IL388, TLP250, SFH617A-1, SFH617A-2, SFH617A-3, SFH617A-4, KPC357, LTV35x, und PC357. LWL Empfänger Toshiba TORX170 TORX173 TORX193  und TORX194 (Toslink). LWL Sender Toshiba TOTX170 TOTX173 TOTX193  und TOTX194 (Toslink). LWL Empfänger Agilent HFBR-252x und Sender Agilent HFBR-152x Serie (Versatile Link). 7 Segment Anzeigen HDSM531, HDSM533, LTS6760, LTS6780, SBC18-11EGWA. Autor Rene Belau und Bernd Wiebus. CC-Zero / Public domain. Mit VORSICHT geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Transformer-Diskrete_RevA.lib]] KiCad Symbole für einige diskrete Transformatoren. Coilcraft Q4434-B = Rhombus T1311 und Myrra-74040 ETD29. Autor: Bernd Wiebus. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_DCDC-ACDC-Converter_RevC_29Aug2014.lib]] KiCad Symbole für einige DCDC/ACDC-Converter. Enthält CINCON EC5BC12, CINCON EC6C11, TRACO TED-1212, TRACO TED-XXXX Dual Output, TRACO TED-XXXX Single Output, TRACO TEN10-1212, TRACO TEN10-XXXX, TRACO TME-XXXX, TRACO TMH-XXXX Single Output, TRACO TMH-XXXX Dual Output, sowie TRACO ACDC-Converter der TMLM Serie. BOTHHAND CF-Serie und DELTA DPS05U09D. Neu seit 29 August 2014: Floeth DCDC-Converter SD14-XXXX und SD18-XXXX. Autor: Bernd Wiebus. GNU-GPL. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_Socket-DIN41612_RevA.lib]] KiCad Symbole für DIN41612 Stecker und Buchsen (Die bekannten Eurokartenstecker). Autor: Bernd Wiebus. GNU-GPL. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_EN60617_13Mar2013.lib]] KiCad Symbole für die EN60617. Strikter als die Symbole aus SymbolsSimilarEN60617+oldDIN617-Rev~~.lib. Autor: Bernd Wiebus. CC-Zero/Public Domain! Mit Vorsicht geniessen! Hierzu gehört der Katalog: [[Media:Symbols_EN60617_13Mar2013.pdf]] Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_EN60617-10_HF-Radio_DRAFT_12Sep2013.lib]] HF-Blockschaltbild Symbole für KiCad. EXPERIMENTELL! Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain.  Hierzu gehört der Katalog: [[Media:EN60617-10_HF-Radio_SymbolCatalog_DRAFT.pdf]] Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_Microcontroller_Philips-NXP_RevA_06Oct2013.lib]] Symbole der NXP Microcontroller LPC2104, LPC2105 und LPC2106 fuer KiCad.  Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ORringController_RevA_03Aug2015.lib]] Symbole verschiedener ORing-Controller fuer KiCad. Enthält IR5001, ISL4166 (QFN20+TSSOP16) und LM5050/LM5051. Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de.&lt;br /&gt;
&lt;br /&gt;
* [https://forum.kicad.info/t/oktizer-octagonal-pads-and-vias-was-elektuur-style-symbol-library/34611 Klassische Elektor-ähnliche Symbole], angepasst an KiCad 5.1 und 6.0. Lizenz: CC0&lt;br /&gt;
&lt;br /&gt;
==== Modulbibliotheken ====&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD_Module_Footprints_3D_29Aug2014.zip]] Eine Sammlung von KiCad Modulen bzw. Footprints diskreter Bauteile. Neben den obligatorischen Rs, Cs und Ls sind Schrack und Omron Kartenrelais (die Footprints passen auch fuer andere Hersteller), diverse Dioden, Klemmen WAGO 236 (RM 5mm) Serie und WAGO 734 Serie, Sicherungshalter (Schurter und Bulgin) für 5x20 und 6x30, SMD Sicherungen 1206 und Sicherungen/Sicherungshalter TE5/TR5,Flachsicherungen Standard und Mini, Kuehlkoerper und Eurokartenoutlines enthalten. Zusaetzlich TO92, TO220, TO220-5 (Pentawatt) und TO247 Gehaeuse. Ebenso die vermissten PISN und PISR SMD Drosseln. Einige Throughhole C&amp;amp;D Bobin Drosseln, Bourns 3296, Spectrol Type 43 / Econtrim und Piher PT15 Trimmer . Potentiometer Alps RK16 und Spectrol Type 148/149. Transformatoren Coilcraft Q4434-B / Rhombus T1311 sowie ETD29 von Epcos und Myrra sind auch dabei. Eurokartenstecker/-buchsen DIN 41612 Typ B1, B2, C1, C2 und C3. Ebenfalls enthalten: GNU-GPL und Creative Commons  Symbole. Dazu Messpunkte. BNC-Buchse, Quarzoszillator, SMD Widerstände und Kondensatoren.  (0805, 1206, 2512) sowie experimentelle Universalfootprints SMD/Throughole. SMD-Dioden: MELF, Mini-MELF, SMA, SMB und SMC. Halleffekt Stromwandler mit Allegro CB-PFF, CB-PSF und CB-FSS Gehäusen.Dazu Stecker Molex Serie KK, Würth SMD Drosseln und Doppeldrosseln. Neosid Filter und Drosseln. TRACO ACDC-Converter der TMLM Seie und SOT23, SOT143, SOT143R, TSOT-6 / MK06A sowie SC70-6 SMD Footprints für Dioden, Transistoren bzw. Dioden und Transistor Arrays und kleinere ICs. Mini Universal Mate-N-Lock Steckersockel (Tyco/AMP). 2-6 Pin, vertikale und horizontale Typen. Verbesserte Fiducials und Logos. Dazu SMD-Tantalkondensatoren und ETAL NF-Transformatoren. TO50-3 und TO50-4 Gehäuse. 7 Segment Anzeigen. LQFP48/TQFP48 Gehäuse. Hallsonden Stromwandler mit Allegro CB-PFF, CB-PSF und CB-FSS Gehäusen. Halleffekt Stromwandler der Serie &amp;quot;HX&amp;quot; von LEM.  Neu in der Version vom 29. August 2014: Floeth DCDC-Converter SD14 und SD18. Fast alles ohne 3D Modelle, aber manchmal mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* Viel Standardkram in 3D: http://smisioto.no-ip.org/elettronica/kicad/kicad-en.htm&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD-Module_Buzzer_Beeper_RevA_25Oct2010.zip]] Einige Footprints von Summern /Buzzern / Beepern für KiCad. Enthaelt Kingstate KCG0601, Pro Signal ABI-009-RC, Pro Signal ABI-010-RC, Pro Signal ABT-410-RC, Star Micronics HMB-06/HMB-12 und Projects Unlimited AI-4228-TWT-R. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD-Module_CommonModeChoke_Wuerth_Type-WE-CMB_RevA_25Oct2010.zip]] Footprints der Gleichtaktdrosseln der Serie Würth WE CMB (through hole) für KiCad. Enthält die Verschieden Bauformen XS, S, M, L, XL und XXL. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:DCDC-ACDC-Converter_RevC_20Jul2012.zip]] Footprints von DCDC/ACDC-Convertern für KiCad. Enthält CINCON EC5BC12, CINCON EC6C11, TRACO TED-1212, TRACO TED-XXXX Dual Output, TRACO TED-XXXX Single Output, TRACO TEN10-1212, TRACO TEN10-XXXX, TRACO TME-XXXX, TRACO TMH-XXXX Single Output, TRACO TMH-XXXX Dual Output, BOTHHAND CF-Serie und DELTA DPS05U09D. Neu seit 20 Juli: TRACO ACDC-Converter der TMLM Serie. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Opto-Devices_RevC_03Oct2012.zip]] Footprints von Optoelectronischen Bauteilen für KiCad. Enthält 6 Polige DIL Footprints für CNY17, auch in &amp;quot;wide&amp;quot;, SMD Optokoppler Footprints (1 Kanalig) und Footprints für Toshiba (Toslink) und Agilent (Versatile Link) LWL Ssender und Empfänger. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Pentawatt_RevB_24Oct2012.zip]] Footprints von Pentawatt Gehäusen für KiCad. Enthält verschiedene Ausführungen der TO220-5 Gehäuse in gerade und verkröpft, sowie stehend und liegend. Mit 3D-Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:Transistor_TO-220_RevB_03Sep2012.zip]] Footprints von TO220-3 Gehäusen für KiCad. Enthält verschiedene Ausführungen der TO220 Transistor Gehäuse in  stehend und liegend. Mit 3D-Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! CC-Zero/Public domain! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:Transistor_TO-247_RevC.zip]] Footprints von TO247 Gehäusen für KiCad. Enthält verschiedene Ausführungen der Transistor Gehäuse in  stehend und liegend. Mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! CC-Zero/Public domain! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/topic/176405#new]] KiCad Modul / Footprint für ein TSSOP38 Gehäuse. Autor Raphael Reu.&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/topic/190088#1856759]] Texas Instruments TPIC8101 Klopfsensor Interface (für Verbrennungsmotoren). Autor Peter Diener.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IR-directFET_Packages_RevB.zip]] Footprints von directFET SMD-Transistor Gehäusen von International Rectifier für KiCad. Enthält die SH, SJ, SQ, ST, S1, MN, MP, MT, MX, MZ und die L8-Outline. Nähere Informationen in den Datenblättern betroffener Transistoren und in der International Rectifier Applikationsnotiz AN-1035. &amp;quot;directFET&amp;quot; ist übrigens eine Handelsmarke von International Rectifier und die Gehäuse sind proprietär. Also vorsichtig sein und an &amp;quot;second source&amp;quot; denken. Mit 3D Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter CC-Zero / Public domain. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Neosid-Devices_Coils_Filters_25Apr2012.zip]] Footprints von NEOSID Bauteilen. Spulen, Luftspulen, Filter ec. für KiCad. Through hole und SMD. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT23_SOT143_SOT143R_TSOT6_MK06A_SC70-6_Housing_14Mar2014.zip]] Footprints von SOT23, SOT143, SOT143R, TSOT-6 /MK06A und SC70-6 SMD Gehäusen, wie sie oft für Dioden und Transistoren, aber auch Dioden und Transistor Arrays verwendet werden. Auch ICs findet man in der Bauform. Es sind Standard Footprints und spezielle für Handlötung vorhanden. KiCad Legacy Format und neues .pretty Format. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:MiniUniversalMate-N-LokSockets_13Aug2012.zip]] Footprints von Mini Universal Mate-N-Lok Steckersockeln (Tyco/AMP). 2-6 Pin, verticale und horizontale Typen. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:NF-Transformer_ETAL_RevA_28Aug2012.zip]] Footprints und 3D-Mesh Modelle von NF-Transformatoren der Firma ETAL (http://www.etalgroup.com). SMD und THT Typen. Mit PDF-Ausdruck zur leichteren Identifikation. In der Bibliothek ist auch der bekannte Übertrager ETAL P1200, der von Box73 (http://www.box73.de) vertrieben wird. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de &lt;br /&gt;
&lt;br /&gt;
* [[Media:TantalCapacitors_SMD_RevA_28Aug2012.zip]] Footprints von Tantal Kondensatoren SMD Größe A bis E (EIA-3216, EIA-3528, EIA-6032, EIA-7343 und EIA-7360). Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Ohne Garantie und unter GNU-GPL. Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT89-3_SOT89-5_Housing_RevA_02Sep2012.zip]] Footprints und 3D-Mesh Modelle von SOT89-3 und SOT89-5 SMD Gehäusen. Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT126_SOT32_Housings_RevA_22Oct2012.zip]] Footprints und 3D-Mesh Modelle von SOT126 / SOT32 Gehäusen. Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Allegro_HallSensors_24Oct2012.zip]] Footprints und 3D Modelle von Allegro Hall-Effect Stromsensoren mit PFF, PSF oder PSS Gehäuse (ACS754, ACS755, ACS756).  Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:VML0806_Housing_Rohm_27Oct2012.zip]] Footprints und 3D Modell eines Transistors im 0806 Format (VML0806 / Rohm).  Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:TO-50_Housings_RevA_21Apr2013.zip]]  Footprints/Module von TO50-3 und TO50-4 Transistor Gehäusen.Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:OldSowjetAera_Transistor_RevA.zip]] Footprints/Module von Kleinleistungstransistoren aus der Sowjetära.Mit 3D-Modell und PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:SIP9_Housing_14Jun2013.zip]] Footprints/Module von SIP9 Gehäusen (z.B. TA7358).Mit 3D-Modell und PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:7Segment_16Sep2013.zip]] Footprints/Module von 7-Segment Anzeigen HDSM531 (SMD), HDSM533 (SMD), LTS6760, LTS6780 undSBC18-11EGWA. Dazu PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:BNC-Sockets_RevA.zip]] Footprints/Module von TYCO BNC-Buchsen für KiCad. Mit 3D Modellen und PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:LQFP_TQFP_RevA_06Oct2013.zip]] Footprints/Module von LQDP48/TQFP48 Gehäuseb für KiCad. Ohne 3D Modelle, aber mit PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:LEM_HallEffectTransducers_RevA_13Oct2012.zip]] Module/Footprints von Halleffekt Stromwandlern der Serien &amp;quot;HX&amp;quot; und &amp;quot;HTFS&amp;quot; von LEM. Mit 3D-Modellen  und PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
==== 3D-Modelle ====&lt;br /&gt;
&lt;br /&gt;
* [[Media:MeshModells_VRML-Wings3D_13Oct2013.zip]]  3D-Modelle diverser elektronischer Bauteile im wrl 2.0 und wings Format. Enthalten: DD-PAK (TO263AB), D-PAK (TO252AA), SMD Dioden MELF, MiniMELF, SMA, SMB und SMC, Transformatoren ETAL P1165, P1200, P2781, P3000, P3181, PP3188 und P3191, SO126 / SOT32 in horizontal und vertikal, SOT223-3, TO263-3, SOT89-3, SOT89-5, TO220 horizontal und vertikal und reverse. TO220-5 horizontal, vertical, inline und verkröpft, VML0806. SIP9. 7 Segment SMD Anzeige HDSM531/HDSM533 in Grün, gelb, rot und orange. directFET SMD-Transistor Gehäusen von International Rectifier für KiCad. Enthält die SH, SJ, SQ, ST, S1, MN, MP, MT, MX, MZ und die L8-Outlines. Flachsicherungen Standard und Mini. Halleffekt Stromwandler LEM &amp;quot;HX&amp;quot; Serie und Allegro ACS754/ACS755/ACS756 mit CB-PFF, CB-PSF und CB-FSS Gehäusen. Ohne Garantie und unter CC-Zero / Public Domain Lizenz. Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
==== Building-Blocks ====&lt;br /&gt;
*[[Media:BuildingBlocks_16Jun2013.zip]] enthält eine Sammlung von gängigen Schaltungen mit den Längstreglern LM317 /LM78xx /LM79xx und dem Timer 555, die nach dem in diesem [[Media:HierarchischeSchaltplaeneAlsBausteineInKicad_RevC_23Dec2013.pdf]] Dokument beschriebenen Vorgehen als Building Blocks in KiCad verwendet werden können. Ein Katalog dazu befindet sich hier: [[Media:KatalogUeberKiCadBuildingBlocks_21Apr2013.pdf]]. Autor: Bernd Wiebus, Lizenz: Creative Commons. Experimentell! Ohne Garantie! Mit Vorsicht geniessen!&lt;br /&gt;
&lt;br /&gt;
Wenn mindestens ein weiterer KiCad User die Bibliothek geprüft hat, kann sie in den folgenden Unterabschnitt verschoben werden.&lt;br /&gt;
&lt;br /&gt;
=== Geprüfte ===&lt;br /&gt;
&lt;br /&gt;
Hier sollen geprüfte Bibliotheken gesammelt werden. Bitte angeben, wer die Prüfung gemacht hat.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/132288#new STM32F103xx (LQFP64) Schaltplansymbol] erstellt/geprüft: Dominik C.; Marko S.&lt;br /&gt;
* Bei der STMF103xx fehlt glaub ich der Portpin PD2 :) Grüße :)&lt;br /&gt;
&lt;br /&gt;
=== Sonstige Bibliotheken im Netz ===&lt;br /&gt;
&lt;br /&gt;
Die Einträge hier sind nach [[KiCad-Bibliotheken#Bibliotheken_im_Netz|KiCad-Bibliotheken im Netz]] verschoben worden. &#039;&#039;&#039;Bitte Überarbeitungen und neue Einträge nur dort vornehmen!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bitte diesen Unterpunkt &#039;&#039;&#039;nicht Löschen&#039;&#039;&#039;, da es Verweise aus dem Forum oder von sonstwo geben mag, die sonst ins Leere laufen, ohne eine Erklärung für den User.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Werkzeuge ==&lt;br /&gt;
&lt;br /&gt;
Da die in KiCad verwendeten Dateien klarschriftlesbar sind, lassen sie sich sehr leicht mit externen Programmen und Skripten bearbeiten, um spezielle Funktionalitäten zu erzeugen. Eine kleine Auswahl an Programmen/Skripten ist hier zusammengestellt:&lt;br /&gt;
&lt;br /&gt;
* Zuallererst: Mittlerweile hat sich rund um KiCad eine ganze Reihe von Hilfsprogrammen etabliert. Einige davon können über die offizielle KiCad Site gefunden werden: [http://kicad.org/external-tools/ KiCad-External Tools]. Zurzeit (04Oct2019) sind dort [https://github.com/easyw/kicadStepUpMod/ KiCad StepUp] als Plugin für FreeCAD, [https://github.com/xesscorp/KiCost KiCost] zur Tabellenkalkulationserstellung und Kostenermittlung aus KiCad-Schaltplänen, [https://github.com/thesourcerer8/altium2kicad Altium2KiCad] um aus Altium PCBs und Schaltplänen solche für kiCad zu erstellen, [http://neo900.org/stuff/eeshow/ EEschow] zur Konvertierung von KiCad-Schaltplänen in verschiedene Grafikformate, sowie [[Schaltplaneditoren#Fped|Fped]], mit dem sehr komfortabel Footprints für KiCad erstellt werden können, gelistet.&lt;br /&gt;
* [http://kicad.rohrbacher.net/quicklib.php Quick KICAD Library Component Builder]&lt;br /&gt;
* Gerber-Tools sind für KiCad weniger nötig, da KiCad mit GerbView seinen eigenen Gerberviewer mitbringt. Dieser ist mächtig genug, die eingelesenen Gerberfiles als Platine in PCBnew zu exportieren, wo sie manipuliert werden können. Dieses geht aber nur mit Gerber-RS274X Daten. Ebensowenig können Gerberfiles zu Nutzen zusammengefügt werden. Hierzu bietet sich &amp;quot;Gerbmerge&amp;quot; http://ruggedcircuits.com/gerbmerge (http://claymore.engineer.gvsu.edu/~steriana/Python/gerbmerge/ Veraltet) an. Wer lediglich aus Sicherheitsgründen die von KiCad erzeugten Gerberdaten mit einem fremden Gerber-Vierer inspizieren möchte, findet hier Hinweise:http://www.mikrocontroller.net/articles/Gerber-Tools&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/204063#2011138 KiCad (Multi-)Symbol Tool] von Joghurt3000 zur Erstellung von Symbolen aus einer Textvorlage&lt;br /&gt;
* [http://cyclerecorder.org/footprintbuilder Footprintbuilder] Java-Programm zu Erstellung von Footprints.&lt;br /&gt;
*Wer seine Platine &amp;quot;panelisieren&amp;quot; (d.h. mehrmals nebeneinander anordnen um in einem &amp;quot;Nutzen&amp;quot; gleich mehrere Platinen fertigen zu können) möchte, kann das mit dem Python 2 Skript &amp;quot;panelize.py&amp;quot; tun. Das Programm arbeitet direkt auf den kicad .brd Files, so das das Mehrfachnutzen Board unter PCBnew nachbearbeitet werden kann, für z.B. einen  DRC. &amp;quot;panelize.py&amp;quot; kann hier bezogen werden: http://blog.borg.ch/?p=12&lt;br /&gt;
* &amp;quot;Raef&amp;quot; hat ein Python Script erstellt, das Bauteile automatisch ähnlich der Anordnung im Schaltplan plaziert. Siehe: http://www.mikrocontroller.net/topic/293903#3245990&lt;br /&gt;
*Wer die Reihenfolge der Subschaltpläne ändern will (Wegen Übersichtlichkeit/Bestimmt auch die Reihenfolge beim Ausdrucken), kann dieses Python 3 Skript verwenden (Liesmich/Readme beachten): http://www.mikrocontroller.net/wikifiles/9/90/PyKicadSchematic-ID_Interchanger_RevC.zip Autor: Bernd Wiebus, GNU-GPL. Dieses Skript ist unabhängig von der PCBnew internen Python 2 Schnittstelle.&lt;br /&gt;
* Um ältere Schaltpläne von vor Jan./Feb. 2014 (BZR4646) mit &amp;quot;upper case&amp;quot; Symbolnamen zu konvertieren, kann dieses Python 3 Skript verwendet werden: [[Media:PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip]]. Autor: Bernd Wiebus, GNU-GPL. Dieses Skript ist unabhängig von der PCBnew internen Python 2 Schnittstelle.&lt;br /&gt;
* Wem das Tricksen mit Dateimanager oder Schematic oder Board als Bibliotheksmanager nicht gefällt, findet vieleicht im &amp;quot;KiCad Libarian&amp;quot; ein passendes Tool: http://www.compuphase.com/electronics/kicadlibrarian_en.htm&lt;br /&gt;
* Diverse Skripte, um KiCad Symbole, Footprints oder sonstigen Bibliothekskram zu bearbeiten. [https://github.com/KiCad/kicad-library-utils]&lt;br /&gt;
* Cirillo Bernardo hat einige Programme geschrieben, um VRML 3D Gitter Modelle für Bauteile parametrisch zu erzeugen. Sie finden sich hier: https://github.com/cbernardo/kicad3Dmodels&lt;br /&gt;
* Peter Hofbauer hat einige Windows Programme geschrieben, die zur KiCad Unterstützung dienen: http://www.hcp-hofbauer.de/software.htm Bei den Programmen handelt es sich um &amp;quot;Aufräumprogramme für Bibliotheken, Stücklistenerzeugung, Extraktionsprogramm um eine Verdrahtungsliste aus einer Netzliste zu erzeugen, Ein Programm um Boherdurchmesser zu vereinheitlichen und ein Programm, um zusammen mit &amp;quot;Linegrinder&amp;quot; G-Code aus KiCad Boarddateien zu erzeugen. &lt;br /&gt;
* [http://escalalibre.com/edwt/kicad_sizeConverter.php KiCad Bitmap2Component Skalierer] Erlaubt es, Logos zu skalieren.&lt;br /&gt;
* [http://escalalibre.com/edwt/kicad_modTextChanger.php KiCad Module Text Changer]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/381605?reply_to=4346454#4346280 KiCad Symbol Generator Tool] KiCad Symbol Generator Tool als Python Skript&lt;br /&gt;
* [https://github.com/tlantela/KiCad_layout_cloner/blob/master/layout_cloner.py KiCad Layout Cloner] Python Skript. Siehe http://www.mikrocontroller.net/topic/382657#4363261&lt;br /&gt;
* [https://forum.kicad.info/t/kicad-stepup-the-sketcher-for-getting-to-blinky/7826] StepUp, eine Workbench für FreeCAD (ein open source 3D CAD Program) um den Import und Export von mecanichen CAD Daten von KiCad zu erleichtern.&lt;br /&gt;
* [https://hasanyavuz.ozderya.net/?p=256 Ein Backannotationstool für KiCad] als Pythonskript&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/450655#new Ein Tool, um per Skripting Messpunkte für einen Nadelbettadapter zu erzeugen.] Geht von Gerberdaten aus, die in KiCad importiert werden&lt;br /&gt;
&lt;br /&gt;
== Konverter ==&lt;br /&gt;
&lt;br /&gt;
Konverter wandeln KiCad-Daten in die Daten anderer Layoutprogramme bzw. die Daten anderer Layoutprogramme in KiCad-Daten um.&lt;br /&gt;
Nativ kann KiCad gEDA Footprints bzw. neuere Eagle Footprints direkt als Bibliothek einbinden. Das ganze ist aber als noch sehr experimentell zu betrachten.&lt;br /&gt;
&lt;br /&gt;
Des Weiteren gibt es einige Programme oder Skripte von dritter Seite, die Daten anderer Layoutprogramme in KiCad Daten umwandeln. Auch diese sind als experimentell einzustufen.&lt;br /&gt;
&lt;br /&gt;
Hier eine Auswahl:&lt;br /&gt;
* https://github.com/thesourcerer8/altium2kicad Wandelt Altium Schaltpläne und Layouts in KiCad Daten um.&lt;br /&gt;
* https://github.com/DanChianucci/Eagle2Kicad Wandelt Eagle 6.0 Layouts in KiCad Layouts.&lt;br /&gt;
* https://github.com/lachlanA/eagle-to-kicad Wandelt Eagle 6.0 Layouts in KiCad Layouts.&lt;br /&gt;
* http://www.cadsoft.de/downloads/file/eagle2kicad-0.9c.ulp Direkt von der Cadsoft Seite, ein ULP das Eagle Daten in KiCad Daten wandelt.&lt;br /&gt;
* http://www.cadsoft.de/downloads/file/eagle2kicad_sch.ulp Ebenfalls direkt von der Cadsoft Seite, ein ULP, das Eagle Schaltpläne in KiCad Schaltpläne wandelt.&lt;br /&gt;
* http://sourceforge.net/projects/pcad2kicad/ Wandelt P-CAD Schaltpläne, Layouts und Bibliotheken in KiCad Daten um.&lt;br /&gt;
* Gerber_Settings    [https://www.mikrocontroller.net/attachment/319118/originpoint.png originpoint]     [https://www.mikrocontroller.net/topic/319266?page=5#4891032 Gerber_Settings] [https://www.mikrocontroller.net/attachment/319192/Bohrdatei.png Drill_Files_Generation]&lt;br /&gt;
* https://github.com/mtl/svg2mod Tool, welches SVG in KiCad Board Layers wandelt. Einleitende Informationen finden sich hier: https://www.mikrocontroller.net/topic/440552#5234307&lt;br /&gt;
* https://github.com/thesourcerer8/altium2kicad Altium2KiCad um Altium Projekte in KiCad Schaltpläne und Boards zu konvertieren.&lt;br /&gt;
&lt;br /&gt;
Erfahrungsberichte willkommen!&lt;br /&gt;
&lt;br /&gt;
= Beispielprojekte =&lt;br /&gt;
&lt;br /&gt;
Projekte, die mit KiCad umgesetzt worden sind, finden sich auf der [[KiCad-Projekte|KiCad-Projektseite]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- alt -- &lt;br /&gt;
= Diskussionen (teilweise seeeehr alt) =&lt;br /&gt;
&lt;br /&gt;
* http://www.mikrocontroller.net/topic/120373#1089075 &lt;br /&gt;
* http://www.mikrocontroller.net/topic/98034#848559&lt;br /&gt;
* http://www.mikrocontroller.net/topic/95864#828660&lt;br /&gt;
* http://www.mikrocontroller.net/topic/77738#647041&lt;br /&gt;
* http://www.mikrocontroller.net/topic/103806#907523&lt;br /&gt;
* http://www.mikrocontroller.net/topic/41999#316195&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Weblinks =&lt;br /&gt;
&lt;br /&gt;
* [http://www.kicad.org kicad.org] Die neue Homepage&lt;br /&gt;
* [http://kicad.org/help/documentation/ Offizielle Dokumentation]&lt;br /&gt;
* [https://bugs.launchpad.net/kicad Bugreports] erstellen und nach vorhandenen Fehlern suchen, wenn einem etwas komisch vorkommt.&lt;br /&gt;
&lt;br /&gt;
* Tutorials: &lt;br /&gt;
&amp;lt;!-- alt -- ** [http://kicad.sourceforge.net/wiki/index.php/DE:Mini_tutorial Mini-Tutorial] --&amp;gt;&lt;br /&gt;
** [http://timogruss.de/kicad-loesung-fuer-die-leiterplatten-entwicklung/ KiCad Tutorial auf timogruss.de] (deutsch) (2013)&lt;br /&gt;
** https://www.youtube.com/watch?v=XD_PaSrLKBk Schematic Pages and Hierarchy In KiCad - Hierarchischer Schaltplan (2014)&lt;br /&gt;
** https://www.youtube.com/watch?v=YCdpXwRKbYc Create a library and put your own component in that library. (2014)&lt;br /&gt;
&amp;lt;!-- alt --&lt;br /&gt;
** http://store.curiousinventor.com/guides/kicad&lt;br /&gt;
** https://contextualelectronics.com/course/kicad-tutorial/ (Video Tutorials auf Englisch)&lt;br /&gt;
** http://xtronics.com/reference/kicad.html --&amp;gt;&lt;br /&gt;
** http://bastler-archiv.de/elektronik/platinenherstellung-platinenlayout-mit-kicad-teil-1/ (deutsch, Teil 1) (2011)&lt;br /&gt;
** http://bastler-archiv.de/elektronik/platinenherstellung-platinenlayout-mit-kicad-teil-2/ (deutsch, Teil 2) (2011)&lt;br /&gt;
** http://www.kramann.info/73_COACH3/06_Layouting/Layouting_art_Guido_Kramann_12122010.pdf (2010)&lt;br /&gt;
** [https://rheingoldheavy.com/category/education/kicad/ KiCad Tutorials zum Workflow, Migration alter KiCad Versionen und zu Stücklisten (RheingoldHEAVY, auf englisch)] (2015)&lt;br /&gt;
&amp;lt;!-- alt -- ** [http://roberthall.net/Wings3D_Tutorial_KiCad Tutorial zur Benutzung von Wings3D im KiCad Umfeld (englisch)] --&amp;gt;&lt;br /&gt;
** https://www.youtube.com/watch?v=i4vLxAoLvPk Video Tutorial auf Deutsch. Relativ aktuell.&lt;br /&gt;
&lt;br /&gt;
* Info&lt;br /&gt;
** [https://kicad.mmccoo.com/kicad-scripting-table-of-contents/ Python Scripting for KiCad] und [http://docs.kicad.org/doxygen-python/namespacepcbnew.html Befehlsliste]&lt;br /&gt;
** [https://wiki.aalto.fi/display/MEX/Introduction+to+KiCad] Ein paar Tips am Rande (2014)&lt;br /&gt;
** [http://www.daedalus.ei.tum.de/index.php/de/3d-druck-cnc/cnc/layout-und-g-code-erstellung-mit-kicad] Info für Leute, die Platinen durch Isolationfräsen statt ätzen erstellen&lt;br /&gt;
** [http://davidetienne.me/blog/2015/10/05/kicad-convert-ti-bxl-cad-files-to-kicad-libraries/] Ein Weg, um Libraries, die im Texas Instruments Format &amp;quot;.bxl&amp;quot; vorliegen, in KiCad Bibliotheken zu konvertieren. (2015)&lt;br /&gt;
&lt;br /&gt;
* Usergroups:&lt;br /&gt;
** [https://groups.yahoo.com/neo/groups/kicad-users/info Yahoo-KiCad-User-Group (Englischsprachig)]&lt;br /&gt;
** [https://forum.kicad.info/ Endlischsprachiges KiCad Forum]&lt;br /&gt;
&amp;lt;!-- alt -- ** [http://1.cad-kicad-user.cadtalk.us/ Englischsprachige Diskussionen über KiCad im &amp;quot;Cadtalk&amp;quot;-Forum] Leider nicht mehr existent. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tools&lt;br /&gt;
** [http://www.freerouting.net/ Freerouting] Autorouter (down: Download siehe [https://www.mikrocontroller.net/articles/KiCad#Tipps.26Tricks:_KiCad_und_Freeroute Tipps und Tricks])&lt;br /&gt;
** [http://www.mikrocontroller.net/articles/KiCad#Tools Liste mit externen Programmen und Skripten im Zusammenhang mit KiCad]&lt;br /&gt;
&lt;br /&gt;
* Verschiedenes im Zusammenhang mit KiCad&lt;br /&gt;
** [https://github.com/KiCad/kicad-library/wiki/Kicad-Library-Convention Kicad Library Convention / Regeln für offizielle KiCad Bibliotheken (Englisch)]&lt;br /&gt;
** [http://www.compuphase.com/electronics/LibraryFileFormats.pdf Aufbau der unterschiedlichen KiCad Bibliotheks Files (englisch)]&lt;br /&gt;
** [http://www.ohwr.org/projects/cern-kicad/wiki/WorkPackages CERN KiCad development roadmap / Was ist in KiCad Entwicklung geplant? (englisch)]&lt;br /&gt;
** [http://home.web.cern.ch/about/updates/2015/02/kicad-software-gets-cern-treatment Warum das CERN KiCad unterstützt (englisch)]&lt;br /&gt;
** [https://www.youtube.com/watch?v=chejn7dqpfQ Video mit der Leiterbahnlängenanpassen Funktion bzw. der &amp;quot;Differential pair&amp;quot; Funktion in KiCad.]&lt;br /&gt;
** [http://www.youtube.com/watch?v=irqlrVUbjuQ Video mit dem interaktiven Router]&lt;br /&gt;
&lt;br /&gt;
* Plattformen&lt;br /&gt;
&amp;lt;!-- alt -- ** Mac: http://brokentoaster.com/kicad/ --&amp;gt;&lt;br /&gt;
**Ubuntu: [http://www.mikrocontroller.net/topic/257321#2658268 KiCad selber compilieren] (2012)&lt;br /&gt;
** http://wiki.xtronics.com/index.php/Kicad Transtronics site (englisch)&lt;br /&gt;
&lt;br /&gt;
* HowTo von Tom Boyd (englisch)&lt;br /&gt;
** http://kicadhowto.wikidot.com/&lt;br /&gt;
** http://kicadhowto.org/&lt;br /&gt;
&lt;br /&gt;
* [https://hasanyavuz.ozderya.net/?p=256 PCB back annotation in KiCAD with Python]&lt;br /&gt;
&lt;br /&gt;
= Literatur =&lt;br /&gt;
* &#039;&#039;&#039;KiCad wie ein Profi&#039;&#039;&#039;, von Dr. Peter Dalmaris, Elektor-Verlag, 1. Auflage 2019, ISBN 978-3-89576-341-0&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=      =&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:KiCad]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=KiCad&amp;diff=107683</id>
		<title>KiCad</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=KiCad&amp;diff=107683"/>
		<updated>2025-08-23T11:17:43Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Bitmaps als Symbol oder Footprint importieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Wegen eines Umbaus dieser Seite bitte unter Diskussion lesen!&#039;&#039;&#039; [[Diskussion:KiCad#Seitenumbau]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KiCad&#039;&#039;&#039; ist ein Open Source [[Schaltplaneditoren|Schaltplaneditor]] und PCB Layoutprogramm für Windows, Linux, Mac OSX. &lt;br /&gt;
Diese Seite ist zunächst eine Zusammenfassung aus den KiCad Beiträgen im Forum. Und gleich zu Anfang ein grosses DANKE an alle KiCad-User aus dem Forum. Ihr seid zu viele, um jeden einzeln zu nennen. Aber wer sich diese Seite durchliest und den Links folgt, wird euch kennenlernen.  &lt;br /&gt;
&lt;br /&gt;
Hier sollen alte und neue KiCad-Anwender einen Anlaufpunkt finden und neue, insbesondere µC-relevante Aktivitäten stattfinden. &lt;br /&gt;
&lt;br /&gt;
Diese Seite will keine Konkurrenz zum offiziellen KiCad Wiki sein, d.h. was dort steht soll hier nicht wiederholt werden und was hier steht wird hoffentlich zum offiziellen KiCad Wiki wandern.&lt;br /&gt;
&lt;br /&gt;
Die Bedienung von KiCad setzt Hintergrundwissen über die Vorgänge voraus. Die Bedienungsweise entspricht eher einem alten Orcad, Altium oder auch BAE und weniger der von Eagle. Daher ist es Neulingen dringend angeraten, sich vorher die Handbücher und Tutorials gut durch zu sehen. Zur Einarbeitung benötigt man schon etwas Geduld.&lt;br /&gt;
Wer offizielle Releases verwendet, wird oft Bugs feststellen, die aber in den Testing Versionen im allgemeinen beseitigt sind.&lt;br /&gt;
Wenn ihr Kritik oder Fragen zu KiCad habt, dann nutzt das Forum! Sobald KiCad im Betreff steht, wird der Beitrag gelesen und nach Möglichkeit beantwortet. Auch Ideen zu dieser Seite sind sehr willkommen! &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suchen und Finden&#039;&#039;&#039; Da diese Seite hier etwas umfangreich geworden ist, empfehle ich eine Textsuche. Jeder Internetbrowser, der etwas auf sich hält, hat auch eine Suchfunktion, mit der der Text der Seite durchsucht werden kann. Bei Firefox/Iceweasel oben im Pull-down Menue unter &amp;quot;Bearbeiten&amp;quot; &amp;gt; &amp;quot;suchen&amp;quot; oder per Shortcut &amp;lt;Strg-F&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Link defekt -- Siehe auch die offizielle FAQ: http://kicad.sourceforge.net/wiki/index.php/FAQ --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;!-- alt 2007 -- &lt;br /&gt;
* Warum gefällt dir KiCad?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/70905#584639&lt;br /&gt;
** http://www.mikrocontroller.net/topic/81396#680502&lt;br /&gt;
** http://www.mikrocontroller.net/topic/83311#697917&lt;br /&gt;
** http://www.mikrocontroller.net/topic/42614#321502&lt;br /&gt;
* Warum gefällt dir KiCad nicht?&lt;br /&gt;
** Ich verstehe nicht, was du meinst ;-)&lt;br /&gt;
** http://www.mikrocontroller.net/topic/81396#680502&lt;br /&gt;
** http://www.mikrocontroller.net/topic/83311#697969&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wo gibt es weitere Infos zu KiCad?&lt;br /&gt;
** [http://KiCad.org Offizielle Homepage] &lt;br /&gt;
** [http://KiCad.org/help/ Die Offizielle Dokumentation] &lt;br /&gt;
** Einige allgemeine [https://docs.google.com/document/d/1M38ByFyqnhwGo8b_jDDyBceyZtEGeaSAuQaP9REzWrU/edit?usp=sharing Notizen] zur &#039;&#039;&#039;Installation&#039;&#039;&#039; und zur &#039;&#039;&#039;Arbeitsweise&#039;&#039;&#039; von KiCad &lt;br /&gt;
&amp;lt;!-- alt 2008 -- ** http://www.mikrocontroller.net/topic/98034#848661 (Von 2008, also seeeehr überholt) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Welche Leiterplattenfertiger akzeptieren KiCad Layouts?&lt;br /&gt;
** [http://www.pcb-pool.com/ppde/info_dataformat.html PCB-Pool.de]&lt;br /&gt;
** [http://fischer-leiterplatten.de Fischer Leiterplatten]&lt;br /&gt;
** [https://www.oshpark.com/ OSH Park]&lt;br /&gt;
&lt;br /&gt;
* Welche Gerberfiles benötigt der Leiterplattenhersteller?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/399503#new Forumsbeitrag]&lt;br /&gt;
** [[Gerber-Tools]] &lt;br /&gt;
** [[Richtiges_Designen_von_Platinenlayouts#Produktionsgerechter_Entwurf | Hinweise zur Technologie]]&lt;br /&gt;
&lt;br /&gt;
* Wie kriege ich raus, welche Leiterbahn welchen Netznamen hat, bzw. ich habe den Überblick verloren und weiß nicht mehr, was aus dem Layout nun was im Schaltplan ist?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/316539#3427724 Forumsbeitrag], Funktioniert nur gut, wenn ein großes Fadenkreuz gewählt ist.&lt;br /&gt;
** Genauere Informationen, z.B. über die Länge einer Leiterbahn etc. Dazu in PCBnew den gleichen Button rechts wie für das Hinzufügen von Leiterbahnen aktivieren. Oder besser noch rechts den zweiten Button von oben &amp;quot;Netz hervorheben&amp;quot;. Dann mit der rechten Maustaste die fragliche Leiterbahn anklicken. Unten in der Statusleiste werden die Informationen angezeigt.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/267538#new Forumsbeitrag]: KiCad ohne Maus bedienen. &lt;br /&gt;
* [http://www.mikrocontroller.net/topic/302664#3249204 Forumsbeitrag]: Gibt es Sonderzeichen, die ich für Symbole, Module/Footprints oder Files nicht verwenden sollte? Ja, alles was Sonderzeichen außer &amp;quot;- _ .&amp;quot; (Bindestrich, Tiefstrich, Punkt) und keine Zahl ist.&lt;br /&gt;
&lt;br /&gt;
* Wie stelle ich in KiCad das Zeitintervall für &amp;quot;automatisch Speichern&amp;quot; ein?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/459135#5551638 Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
* Woher beziehe ich KiCad?&lt;br /&gt;
** [http://kicad.org/download/ Offizielle Seite], alle Betriebssysteme        &lt;br /&gt;
*** Aktuelle Version: &#039;&#039;&#039;KiCad 9.0.4&#039;&#039;&#039; veröffentlicht im August 2025&lt;br /&gt;
*** Nightly Development Builds auch von der offiziellen Seite&lt;br /&gt;
*** KiCad kann man aus den Sourcen selbst compilieren. Dazu gibt es Skripte zur Unterstützung, die dieses automatisieren, so dass man nicht unbedingt C/C++ Kenntnisse braucht. Die meisten gängigen Linux Distributionen enthalten aber &amp;quot;old stable&amp;quot; KiCad Releases in ihren Repositories.&lt;br /&gt;
&amp;lt;!-- alt -- ** Windows: http://www2.futureware.at/~nickoe/ &lt;br /&gt;
*** Welcher Typ? ...-x86_64.exe oder ...-i686.exe ? Ich brauche x86 32 bit.&lt;br /&gt;
**** Für Windows PC 32 bit die ...-i686.exe, und für Windows PC 64 bit ...-x86_64.exe.&lt;br /&gt;
** Veraltet: http://www71.zippyshare.com/v/28617008/file.html Die Quelle ist hier genannt. https://groups.yahoo.com/neo/groups/kicad-users/conversations/messages/18534 --&amp;gt;&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/298311#3187885 Liste der Versionsänderungen] &lt;br /&gt;
* [http://www.mikrocontroller.net/topic/307517#new Forumsbeitrag]: Ich habe KiCad unter Linux installiert, aber wenn ich KiCad starten will, passiert einfach nichts, oder ich erhalte eine Fehlermeldung wie: &amp;quot;Datei nicht gefunden&amp;quot; &lt;br /&gt;
** 1) KiCad und seine zugeordneten Programme sollten im Suchpfad stehen. Es wird für Debian und Ableger empfohlen, KiCad unter usr/local/bin zu installieren. Anmerkung: Das ist die aktuelle Verfahrensweise. Oktober 2013 wurde aber noch folgende Struktur verwendet:&lt;br /&gt;
*** /usr/bin                            - Binaries (executable files).&lt;br /&gt;
*** /usr/share/doc/kicad/               - Various documentation.&lt;br /&gt;
*** /usr/share/doc/kicad/help           - Interactive help.&lt;br /&gt;
*** /usr/share/kicad/demos              - Sample schematics and printed boards.&lt;br /&gt;
*** /usr/share/kicad/internat           - Dictionaries for interface localization.&lt;br /&gt;
*** /usr/share/kicad/library            - Interface localization files.&lt;br /&gt;
*** /usr/share/kicad/modules            - Module libraries for printed boards.&lt;br /&gt;
*** /usr/share/kicad/modules/packages3d - 3D component models (.wrl and .wings format).&lt;br /&gt;
*** [http://iut-tice.ujf-grenoble.fr/cao/install.txt Quelle], hier sind auch Hinweise für Windows user enthalten.&lt;br /&gt;
&lt;br /&gt;
** 2) User sollten dort Lese- und Ausführungsrechte haben. Aber keine Schreibrechte.&lt;br /&gt;
** 3) Wenn ein fertiges Packgage auf einem 64 bit System verwendet wurde, könnte es daran liegen, das es für 32 bit compiliert wurde, und nicht für 64 bit. Es gibt zwei Möglichkeiten:&lt;br /&gt;
*** a) Selbst aus den Sourcen für sein eigenes System compilieren.&lt;br /&gt;
*** b) Die Runtime Libs für 32 Bit könnten fehlen. Nachinstallieren mit sudo apt-get install ia32-libs. Siehe [http://www.mikrocontroller.net/topic/307517#3307638 Forumsbeitrag]&lt;br /&gt;
* Ich habe das umgekehrte Problem: 32bit system aber 64bit Binarys.&lt;br /&gt;
** Selbst aus den Sourcen neu compilieren.&lt;br /&gt;
&amp;lt;!-- alt -- *Ich will/muss mir KiCad selber compilieren. Wie gehe ich vor?&lt;br /&gt;
** Aktuell nach: http://www.kicad.org/display/DEV/Build+KiCad&lt;br /&gt;
**&lt;br /&gt;
**Veraltet! siehe: http://www.mikrocontroller.net/topic/310766#3351269 Aber Achtung. Diese Anleitung (Oktober 2013) muss nicht aktuell sein. --&amp;gt;&lt;br /&gt;
* Sicherheitseinstellungen von Java sind für PCBnew unter JAVA -&amp;gt; JAVA konfigurieren zu finden.&lt;br /&gt;
&lt;br /&gt;
* Diskussionen zum Thema Installation und compilieren:&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/338600#new FEDORA] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/339509#new ARCH Linux]&lt;br /&gt;
* Konfigurationsdateien:&lt;br /&gt;
** Ab BZR5114 (ca. 5. September 2014) hat sich der Ordner für die Files mit den Konfigurationsdaten geändert. Unter Linux sind nun die Konfigurations Dateien in $HOME/.config/kicad (entsprechen der FreeDesktop.org Spezifikation). Um Ihre gegenwärtigen Konfigurierungen zu erhalten, können die KiCAd Konfigurationsfiles aus dem Home-Verzeichnis in den aktuellen Ordner kopiert werden. Es muss allerdings der führende &amp;quot;.&amp;quot; (Punkt) der Datei entfernt werden. Ebenso muss die globale &amp;quot;fp-lib-table&amp;quot; aus dem home-Verzeichnis dorthin kopiert werden. Windows User müssen KiCad leider reconfigurieren. Es gab keinen einfachen Weg um die Registry-Keys in die Konfigurationsdateien zu extrahieren. Die Konfigurationsdateien unter Windows werden genau wie die fp-lib-table im %APPDATA%\kicad Ordner gespeichert. Es ist angeraten, sämtliche Reste der KiCad Installation aus der Registry zu entfernen, wenn nicht KiCad Versionen vor der BZR5114 verwendet werden. Diese Lösung beseitigt die $home Ordner &amp;quot;Verschmutzung&amp;quot; und vermeidet die Benutzung der Windows registry, wie es häufig gewünscht wurde. Für OS X User ergeben sich keine Änderungen. [https://groups.yahoo.com/neo/groups/kicad-users/conversations/messages/18889 Link] auf die Originalnachricht (englisch):  (KiCad-User Group, 05. September 2014, Titel: Configuration file location changes (#18889) Autor: Wayne Stambaugh)&lt;br /&gt;
&lt;br /&gt;
=== Schaltplan ===&lt;br /&gt;
* Wie stellt man die Blattgröße beim Schaltplan ein?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/33653#974295 Forumsbeitrag]: In Page Settings die Blattgröße verstellen (z.B. von A4 auf A3) &lt;br /&gt;
* Wie mache ich eine neue Schaltplan Seite auf?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/398489#new Forumsbeitrag]: Nur in Form eines neuen hierarchischen Schaltplans&lt;br /&gt;
* Wie kann man den Schaltplan auf mehreren Seiten verteilen (hierarchical sheets)?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/96060 Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/117873#1060062  Forumsbeitrag]&lt;br /&gt;
*Wie geht man mit &amp;quot;Power Pins&amp;quot; in hi­e­r­ar­chischen Schaltplänen um?&lt;br /&gt;
**[http://www.mikrocontroller.net/topic/207905#new  Forumsbeitrag]&lt;br /&gt;
* Wie kann man die &amp;quot;hierachical sheets&amp;quot; benutzen, um aus vorgefertigten Subschaltplänen mit immer gleichen Bauteilgruppen rationell Schaltpläne zusammenzustellen (Building Blocks)?&lt;br /&gt;
** [http://www.mikrocontroller.net/articles/KiCad#Tipps.26Tricks:_Building_Blocks Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/175597#1687653 Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/178683#1724114 Forumsbeitrag]&lt;br /&gt;
* Ich habe einen hierarchischen Schaltplan angelegt. Wenn ich ihn ausdrucke, werden die Subschaltpläne in der Reihenfolge ausgedruckt, in der sie oben in der Übersicht stehen. Diese Reihenfolge ist aber in meinem Fall ungünstig. Wie kann ich diese nun ändern?&lt;br /&gt;
** Leider im Programm z.Z. noch nicht. Trotzdem ist es machbar. Entweder von Hand oder mit einem Python Skript. Näheres zu beidem findet sich ind diesem [http://www.mikrocontroller.net/topic/288394#3064087 Forumsbeitrag] . Ein Python 3 Skript, das den Umgang mit dem Kicad-Schaltplan erleichtert, findet sich [[Media:PyKicadSchematic-ID_Interchanger_RevC.zip | hier]].&lt;br /&gt;
*Wie geht man mit Bussen um?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/208870#new Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/209156#new Forumsbeitrag], speziell bei hierarchischen Schaltplänen&lt;br /&gt;
* Wie kann man Schaltplanentwurf (KiCad) und Schaltungssimulation (Spice) verbinden?&lt;br /&gt;
** NGspice ist in den Grundzügen mittlerweile in den entwicklungsversionen von KiCad integriert. Aktuell (Nov. 2016) muss man sich aber noch KiCad selber compilieren und dabei auch einen passenden Schalter für den Compiler setzten. Siehe: [https://www.mikrocontroller.net/topic/412350#4803960 Forumsbeitrag]&lt;br /&gt;
** [http://Fuhaweb.hartford.edu/kmhill/suppnotes/KiCadDia/AimSPICE/KiCad_AimSPICE_01.pdf Imformationen zur Zusammenspiel KiCad &amp;lt;&amp;gt; AimSpice] &lt;br /&gt;
* Ein [[Media:SymboleFuerKiCad318082009-RevC-DE.pdf | Tutorial]] zum Symboleditor für KiCad, mit dem die Symbole für das Schaltplanmodul (EEschema) erzeugt bzw. editiert werden.&lt;br /&gt;
* Zur Erstellung von Schaltplansymbolen in aufgelöster Darstellung (Relais: Kontaktsätze einzeln und getrennt von der Spule; IC: Versorgungsspannung getrennt von den einzelnen Gattern)&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/273891#new. Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/294095#3136180 Forumsbeitrag]&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/449373#new Forumsbeitrag]&lt;br /&gt;
* Wie kann man im Schaltplan Symbole zum Verschieben gruppieren?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/170913# Forumsbeitrag]&lt;br /&gt;
* Und wenn es darum geht, eine solche Gruppe in einen anderen Schaltplan oder Subschaltplan zu verschieben?&lt;br /&gt;
** Die Gruppe ins &amp;quot;Clipboard&amp;quot; stecken. Dazu nach dem Markieren der Gruppe rechte Maustaste klicken, und dort &amp;quot;Gruppe speichern&amp;quot; wählen. Nun ist die Gruppe im Clipboard. jetzt in den gewünschten Unterschaltplan gehen und die Gruppe dort mithilfe des Clipboardbuttons (Das Klemmbrett Symbol links neben dem &amp;quot;Undo&amp;quot;-Button) in den Schaltplan einfügen. NICHTS mit der rechten Maustaste versuchen! Siehe [http://www.mikrocontroller.net/topic/244836#2499782 Forumsbeitrag].  Das ganze geht nicht nur mit Subschaltplänen, sondern auch genauso in einen ganz anderen Schaltplan, den man dann halt in Eeschema öffnen muss, hinein. Wenn nach dem Einfügen allerdings nur ein Kästchen mit Fragezeichen erscheint, waren die nötigen Symbolbibliotheken für diese Symbole noch nicht in der Projektdatei eingetragen. Das muss man nun nachholen, indem man unter &amp;quot;Einstellungen&amp;quot; die &amp;quot;Bibliotheken&amp;quot; wählt, und die passenden Bibliotheken einträgt. Wenn man nicht genau weiß, wo diese zu finden sind, kann es sinnvoll sein, die *-cache.lib des Herkunftsschaltplanes einzubinden.&lt;br /&gt;
** Ist es möglich, im Schaltplan gruppierte Bauteile automatisch im Board als Gruppe zu verschieben?&lt;br /&gt;
*** Nein. Siehe [https://www.mikrocontroller.net/topic/398996#new Forumsbeitrag]&lt;br /&gt;
* Wie wird man den merkwürdigen Rahmen los?&lt;br /&gt;
** 1) Bei neueren KiCad Versionen, ab ca. Mitte 2013 (von mir getestet ab BZR 4513 29 November 2013) kann man sich eine Vorlage ohne Rahmen erstellen. Dazu den pl_editor (der ganz rechte Button im KiCad Hauptfenster) starten, und FAST alles entfernen. Dazu in der linken Spalte nacheinander alles aktivieren, und mit rechts anklicken und dann &amp;quot;entfernen&amp;quot; wählen. Aber Vorsicht, wenn alles Entfernt wird, taucht das Original Layout wieder auf. Workaround war bei mir, eine zusätzliche Alibilinie hinzuzufügen, die von X 0,000 Y 0,000 bis  X 0,001 Y 0,000 reicht. Das ist ein &amp;quot;Fliegenschiss&amp;quot; in der linken oberen Ecke. Jetzt kann alles andere gelöscht werden. Den so geleerten Rahmen unter einem beliebigen Namen mit der Endung .kicad_wks wegspeichern. Im geöffneten Schaltplan kann der dann unter Datei &amp;gt; Seite einrichten ganz unten unter &amp;quot;page layout file description&amp;quot; die entsprechende Datei eingebunden werden. Es bleibt aber dem Anwender offen, ob er den Rahmen komplett entfernt, oder noch Felder mit Textbeschreibungen übernimmt. Für gesteigerten Komfort kann diese Datei dann auch in ein Template eingebunden werden. &lt;br /&gt;
** 2) Beim Ausdrucken Frame deaktivieren.&lt;br /&gt;
** 3) Als SVG exportieren. Dort den Frame deaktivieren.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/343509#3791448 Forumsbeitrag]&lt;br /&gt;
* Wie schalte die Footprint-Namen in Eeschema global ab?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/253564#new Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Problem mit dem ERC. Ständig kommt die Fehlermeldung: &amp;quot;Pin ist mit anderen Pins verbunden, wird jedoch von keinem angesteuert&amp;quot;&lt;br /&gt;
** Netze, die nicht angesteuert werden, werden von Kicad misstrauische beäugt. Das &amp;quot;nicht ansteuern&amp;quot; kann aber schnell passieren, weil Kicad u.A. erwartet, das irgendwo ein Spannungsversorgung ist. Wenn diese aber z.B. über eine Sicherung oder einen Pull-up Widerstand gehen, so wird das nicht bemerkt, weil Sicherungen und Widerstände (oder auch Entstördrosseln) &amp;quot;passive&amp;quot; Pins haben. Siehe [http://www.mikrocontroller.net/topic/292988#new Forumsbeitrag] und [http://www.mikrocontroller.net/topic/298401#new Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Problem mit dem ERC. Immer in Verbindung mit GND kommt die Fehlermeldung: &amp;quot;Pin ist mit anderen Pins verbunden, wird jedoch von keinem angesteuert&amp;quot;&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/284089#new Forumsbeitrag]&lt;br /&gt;
* Beim ERC kommt die Fehlermeldung &amp;quot;PIN not connected&amp;quot; an Verbindungen, die per Label angeschlossen sind. Was ist da falsch?&lt;br /&gt;
**Sie sind tatsächlich nicht angeschlossen. [http://www.mikrocontroller.net/topic/346976#new Forumsbeitrag]&lt;br /&gt;
* Wie ist der Zusammenhang zwischen Bauteilen und Netznamen? Wie bekomme ich heraus, an welchem Netz mein Bauteil angeschlossen ist?&lt;br /&gt;
** Eeschema vergibt bzw. aktualisiert erst dann Netznamen, wenn eine Netzliste erzeugt wird. Darauf besteht entweder ein Zugriff über PCBnew, oder aber mit einem Editor. [http://www.mikrocontroller.net/topic/316539#new Forumsbeitrag]&lt;br /&gt;
* Ich habe einen Schaltplan geöffnet, aber alle oder einige der Symbole zeigen nur Kästen mit Fragezeichen.&lt;br /&gt;
** Es fehlen die passenden Symbolbibliotheken für diese Symbole.&lt;br /&gt;
** Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Diese Fehlen nun. Man braucht die Originalbibliotheken oder aber die Cache-Bibliothek dieses Schaltplans.&lt;br /&gt;
*** Diese müssen in der Liste der Bibliotheken nachgetragen werden. Siehe dazu die Handhabung von Bibliotheken: [[KiCad#Handhabung_von_Bibliotheken]]&lt;br /&gt;
** Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Diese Fehlen nun. Man braucht nun die Originalbibliotheken oder aber die Cache-Bibliothek dieses Schaltplans.&lt;br /&gt;
** Ab BZR4646 (Jan./Feb. 2014) behandelt KiCad Symbolnamen &amp;quot;Case Sensitive&amp;quot;. Das führt zu Problemen mit älteren Schaltplänen, wo das anders gehandhabt wurde.&lt;br /&gt;
*Wieviele Textfelder für Symbole kann ich anlegen und wie groß dürfen diese sein?&lt;br /&gt;
** Mindestens 35 Felder, die mindestens 256 Zeichen (tatsächlich deutlich mehr) beinhalten können. Aber Zeilenumbrüche gehen nicht. [http://www.mikrocontroller.net/topic/331201#3658695 Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Symbol im Symboleditor geändert. Aber irgendwie taucht diese Änderung dann in Eeschema trotzdem nicht auf.&lt;br /&gt;
** Die Reihenfolge der Einträge in der Bibliotheksliste ist wichtig. Bei gleichem Namen wird immer das zuerst gefundene Symbol verwendet. Steht die -cache.lib in der Reihenfolge zu oberst, wird immer zuerst das Bauteil aus der -cache.lib verwendet. Beheben: Die -cache.lib aus der Bibliotheksliste von Eeschema austragen und neu eintragen, so dass sie unten angefügt wird, und zuletzt geladen wird. Alternativ: Bei Änderungen einen neuen Namen für das Symbol vergeben. Z.B. durch das Pflegen eines Revisions- oder Datecode im Symbolnamen. Einfach nur die -cache.lib löschen langt möglicherweise nicht, weil diese u.U. mit alten Daten neu geschrieben wird (wenn z.b. Eeschema dabei nicht geschlossen ist). [http://www.mikrocontroller.net/topic/331201 Forumsbeitrag]&lt;br /&gt;
* Wie erstelle ich eine Stückliste (BOM, Bill of Materials)?&lt;br /&gt;
** 1) In PCBnew oben im Pull down Menue Datei &amp;gt; Fertigungsdateien &amp;gt; BOM (Bill of materials) Geht nur, wenn die Netzliste schon importiert wurde.&lt;br /&gt;
** 2) In EEschema unter Werkzeuge &amp;gt; Stückliste erstellen &amp;gt; und dann ein Plugin wählen. Es gibt verschieden Plugins mit verschiedenen Eigenschaften z.B. auch für kumulierende Listen. Die Plugins kann man von [https://github.com/KiCad/kicad-source-mirror/tree/master/eeschema/plugins hier] beziehen: Achtung, ein kleiner &#039;&#039;&#039;BUG&#039;&#039;&#039; In den Voreinstellungen der Kommandozeile muss in den Optionen &amp;quot;%O&amp;quot; in &amp;quot;%O.csv&amp;quot; umgewandelt werden, sonst hat die erzeugte Datei keinen .csv extender. Grundsätzlich: Hier wird zuerst eine behelfsmäßige Netzliste im .xml Format erstellt. Die Kommandozeile startet dann ein Programm, was widerum ein .xsl Skript (Das Plugin) abarbeitet, und als output eine .csv Datei erzeugt, die in Tabellenkalkulationen importiert werden kann. In die Kommandozeile kann natürlich auch etwas anderes eingetragen werden, so dass man dort z.B. auch Python Skripte verwenden kann.&lt;br /&gt;
** 3) Man kann sich selber ein separates Skript erstellen, welches die .kicad_sch Datei parst, und daraus eine .csv oder anders gestaltete BOM-Datei erstellt, so wie man es braucht. Da man auch ohne Plugins bei drücken von &amp;quot;Erstellen&amp;quot; die oben erwähnte behelfsmäßige Netzliste erhält, kann man diese auch mit externen Skripten bearbeiten. Es gibt Mittelwege zwischen 2) und 3). Für ein Python Skript siehe [https://forum.kicad.info/t/kibom-python-bom-generation-tool/3038 hier]&lt;br /&gt;
** Info:&lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/402089#new Forumsbnbeitrag]: &amp;quot;KiCad Stückliste&amp;quot; &lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/376977?goto=new#new Forumsbeitrag]: &amp;quot;Kicad Bauteilliste(BOM) erstellen&amp;quot;&lt;br /&gt;
**  [https://www.mikrocontroller.net/topic/402565#new Forumsbeitrag]: Klaus hat ein Plugin geschrieben, dass in html überträgt&lt;br /&gt;
* Ich möchte eine Stückliste (BOM, Bill of Materials) mit einer Datenbank, z.B. für Bestellnummern verbinden.&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/416192#4856645 Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
=== Netlist ===&lt;br /&gt;
* Was genau muss man beim Übergang vom Schaltplan (SCH) zum Layout (BRD) machen?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/33653#898771&lt;br /&gt;
** http://www.mikrocontroller.net/topic/39243#290309&lt;br /&gt;
** http://www.mikrocontroller.net/topic/39243#891530&lt;br /&gt;
* Kann man fertige Netzlisten für Gruppen von Bauteilen einbinden?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/33653#1462871&lt;br /&gt;
* Wie sieht das allgemein mit der Zuordnung Symbol zu Footprint aus?&lt;br /&gt;
** Symbole und Footprints sind zwar von der Idee her erst einmal getrennt, und Footprints werden über CVpcb und Netzliste den Symbolen zugeordnet.&lt;br /&gt;
** Allerdings besteht auch eine Möglichkeit, Symbolen einen bevorzugten Footprint  fest zuzuweisen, der dann automatisch in die Netzliste zum Einlesen in das Board eingetragen wird. Wenn dann der Zuweisungsschritt mit CVbcb in der Netzliste gemacht wird, ist dort schon etwas eingetragen, was man so lassen oder aber ändern kann.&lt;br /&gt;
*** Dazu in EEschema mit der Maus auf ein Symbol gehst und &amp;quot;E&amp;quot; drücken. Alternativ über rechten Mausklick auf Symbol und dann das Kontextmenuest gehen. Wenn man im Symboleditor arbeitet, aus der oberen buttonleiste den Button mit dem &amp;quot;T&amp;quot;-Symbol wählen. Es poppt ein Fenster auf &amp;quot;component properties&amp;quot;. In der Mitte ist eine Tabelle mit unter anderem einem Eintrag &amp;quot;Footprint&amp;quot;. Wenn dann &amp;quot;Footprint&amp;quot; aktiviert wird. kann rechts der Name eines Footprintes eingebenwerden (kompliziert), oder, wesentlich einfacher, darunter gibt es einen Button &amp;quot;browse Footprints&amp;quot;. Wenn der aktiviert wird, öffent sich ein Fenster, in dem sich in den in die Bibliothekslisten eingetragenen Footprintbiblotheken herumwühlen lässt.&lt;br /&gt;
** Desweiteren kann auch eine Kopie des Symbols unter anderem Namen angelegt werden, und dort ein anderer Footprint eingetragen werden, als Variante. Falls das Pinning nicht passt, müssen halt auch noch die Pinne im Symbol passend zum Footprint gemacht werden.&lt;br /&gt;
** Diskussion dazu: https://www.mikrocontroller.net/topic/432920#5112114&lt;br /&gt;
* Kann man Daten für automatische Bestückung erzeugen?&lt;br /&gt;
** Ja. aber nicht in CVpcb für die Symbol &amp;gt; Footprint Zuordnung, sondern im Layout Modul PCBnew.&lt;br /&gt;
* In meiner Netlist fehlen Bauteile, die im Schaltplan vorhanden und angeschlossen sind. Der ERC läuft problemlos durch. Die Annotation auch, aber nach Erstellung der Netlist sind die Symbole plötzlich mit einem vorangestellten &amp;quot;#&amp;quot; im Schaltplan bezeichnet.&lt;br /&gt;
** Vermutlich sind sie versehentlich als &amp;quot;virtuelles&amp;quot; Bauteil gekennzeichnet. Siehe http://www.mikrocontroller.net/topic/268626#new&lt;br /&gt;
* Wie exportiere ich eine Netlist NUR für einen Subschaltplan?&lt;br /&gt;
** Das geht, nachdem dieser Schaltplan explizit in EEschema geöffnet wurde. Siehe: http://www.mikrocontroller.net/topic/330740#new&lt;br /&gt;
* Ich finde CVpcb nicht mehr am gewohnten Platz zwischen all den anderen Startbuttons!&lt;br /&gt;
** CVpcb ist inzwischen aus diesen entfernt worden, und durch Startbuttons für den Symboleditor und den Footprinteditor ersetzt worden. Dafür kann CVpcb jetzt direkt aus Eeschema heraus gestartet werden. Es findet sich jetzt im oberen Pulldown Menue unter &amp;quot;Werkzeuge&amp;quot; und dann &amp;quot;Bauteilfootprints zuweisen&amp;quot; oder in der oberen Buttonleiste als dritter Button von rechts (BZR5175 vom 11 Oktober 2014).&lt;br /&gt;
** Sollte KiCad abstürzen, wenn man versucht, CVpcb zu starten, so kann man CVpcb auch direkt aus einem Terminal oder aus der Eingabeaufforderung heraus starten.  &lt;br /&gt;
** Versuchsweise mal 10 Minuten warten.....bei Problemen mit der Erkennung von Symbolnamen und Footprintnamen (beim öffnen ganz alter Projekte mit alten Dateiformaten) kann es manchmal extrem lange dauern.&lt;br /&gt;
* Was bedeuten die Maßangaben in der Netlist?&lt;br /&gt;
* Wie überträgt man Kicad Schaltpläne in QUCS Schaltpläne für Simulation?&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
* Wie stellt man die Rastergrösse im Layout ein?&lt;br /&gt;
** Mit der Rechten Maustaste in das Board klicken. Es poppt ein Menue auf. Dort Raster wählen..... Geht im Modul-Editor genauso.&lt;br /&gt;
* Wie verteile ich die übereinander geladenen Bauteile?&lt;br /&gt;
**Oben das IC Symbol mit den zwei Pfeilen (Mode footprint) aktivieren und mit der rechten Maustaste auf der Platine im Menü &amp;quot;Global spread and place&amp;quot; anwählen und die gewünschte Art auswählen.&lt;br /&gt;
* Wie werden Pads und Leiterbahnen verbunden?&lt;br /&gt;
**Siehe: http://www.mikrocontroller.net/topic/119755#1081455&lt;br /&gt;
**Aktueller: http://www.mikrocontroller.net/topic/220733#new&lt;br /&gt;
* Ich kann keine Leiterbahnen ziehen!&lt;br /&gt;
** Vermutlich hast Du den automatischen DRC (Design rule check) aktiviert. Deaktiviere ihn halt. In PCBnew im linken Buttonbar der oberste Button (Insekt mit Verbotszeichen). http://www.mikrocontroller.net/topic/306476#new&lt;br /&gt;
* Aber jetzt habe ich beim Ziehen der Leiterbahnen so merkwürdige Ergebnisse!&lt;br /&gt;
** Option &amp;quot;Remove redundant tracks&amp;quot; wählen! Siehe https://www.mikrocontroller.net/topic/381906#new &lt;br /&gt;
* Mir fehlen Airwires/Luftlinien/Gummibänder!&lt;br /&gt;
** Vieleicht die falschen Pins als Typ &amp;quot;Spannungsausgang&amp;quot; definiert? Siehe: http://www.mikrocontroller.net/topic/330817#3620918&lt;br /&gt;
* Ich bekomme immer eine Fehlermeldung vom DRC, das ein Pad nicht angeschlossen ist, aber ich habe es angeschlossen.&lt;br /&gt;
**Siehe: http://www.mikrocontroller.net/topic/204717#2018724&lt;br /&gt;
* Ich will ein Bauteil für geringeren Leiterwiderstand sowohl auf der Unterseite- als auch der Oberseite anschließen. KiCad löscht aber immer den alten Leiterbahnzug, wenn ich den neuen lege. &lt;br /&gt;
** Deaktiviere unter Einstellungen-&amp;gt;Allgemein das &amp;quot;auto-entfernen-von-Leiterbahnen&amp;quot; (einfachste Lösung). &lt;br /&gt;
** Alternativ: Designe dafür Bauteile mit speziellen Pads. http://www.mikrocontroller.net/topic/187606#1823596 (realistischste u. sauberste Lösung, aber etwas umständlich.)&lt;br /&gt;
* Das Löschen der Leiterbahnen Segment für Segment ist sehr umständlich. Geht es besser?&lt;br /&gt;
** Ja. Siehe: https://www.mikrocontroller.net/topic/385768#new &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Bei neueren (RC4 z.B.) Versionen von PCBnew kann unter &amp;quot;View&amp;quot; verschiedene &amp;quot;Canvas&amp;quot; verwendet werden. Jeder dieser &amp;quot;Canvas&amp;quot; verhält sich etwas anders und hat andere Vorzüge.&lt;br /&gt;
** Aktuell (Jan. 2019) mit Auswahlbox. Achtung: Die Auswahlbox hat anderes Verhalten in KiCad 6, je nachdem ob man sie von rechts oder von links aufgezogen hat! Details siehe: https://www.mikrocontroller.net/topic/467735#new&lt;br /&gt;
* Wie kann man ein Bauteil mit Pads und Leiterbahnen bewegen? &lt;br /&gt;
** http://www.mikrocontroller.net/topic/118539#1067219&lt;br /&gt;
* Wie füllt man eine Fläche aus?&lt;br /&gt;
** Siehe: http://www.mikrocontroller.net/topic/93131#854802&lt;br /&gt;
** Etwas aktueller: http://www.mikrocontroller.net/topic/182271#1772119 Zweiter Teil des Posts.&lt;br /&gt;
** Und wie erzeuge ich konzentrisch ineinanderliegende Flächen?&lt;br /&gt;
*** Siehe: http://www.mikrocontroller.net/topic/327475#new&lt;br /&gt;
** Wie ist das Verhalten von KiCad bei Flächen/Polygonen verglichen mit Eagle?&lt;br /&gt;
*** Siehe: https://www.mikrocontroller.net/topic/473604#new&lt;br /&gt;
** Ja, aber meine Fläche wird nicht gefüllt oder es passiert was ganz merkwürdiges.&lt;br /&gt;
***Siehe: http://www.mikrocontroller.net/topic/298692#new &lt;br /&gt;
***Konkreter: Es sollte darauf geachtet werden, das mindestens ein Endpunkt oder ein Via oder ein Knickpunkt der Leiterbahn, die mit der zu füllenden Fläche verbunden sein soll, innerhalb der als zu füllen definierten Fläche liegen. Siehe http://www.mikrocontroller.net/topic/366199#new&lt;br /&gt;
* Die Flächen habe ich jetzt, aber wie sieht das mit &amp;quot;Stitching&amp;quot; aus? Anmerkung: Als &amp;quot;Stitching&amp;quot; (von Engl. &amp;quot;stitch&amp;quot;: Nähen) bezeichnet man das Verbinden mehrerer Flächen oder Leiterbahnen gleichen Potentials mit Durchkontaktierungen durch die Platine hindurch. Üblich z.B. für Masseflächen. Die gleiche Technik kann auch verwendet werden, wenn man für Hochstromverbindungen mehrere Durchkontaktierungen parallel schalten möchte, wobei KiCad beim ziehen des Tracks nur eine  Durchkontaktierung setzt, und die anderen von Hand dazugesetzt werden müssen. &lt;br /&gt;
** Es gibt verschiedene Methoden. Je nach Geschmack. Siehe: http://www.mikrocontroller.net/topic/380550#new und https://www.youtube.com/watch?v=Hp5ngKtl7S4&amp;amp;list=PLJhdeJOBBRdnPgqcUiONoV4NLCo12f-jT&amp;amp;index=5&lt;br /&gt;
* Ich habe eine Platine, die von oben und unten bestückt ist. Wenn ich jetzt Bauteile zusammengruppiere, um sie gemeinsam zu verschieben, erwische ich immer alle Bauteile auf Vorder- und Rückseite. Wie bekomme ich das jetzt hin, das ich nur Module auf einer Seite bewege?&lt;br /&gt;
** Indem im Lagenmanager die Seite, die nicht bewegt werden soll, abgeschaltet wird. Siehe: http://www.mikrocontroller.net/topic/311586#new&lt;br /&gt;
* Wie bekommt man ein vernünftiges Boardoutline hin?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/96060#1057511 &lt;br /&gt;
* Wie erstellt man ein rundes Loch, z.B. eine Befestigungsbohrung / nichtdurchkontaktierte Bohrung?&lt;br /&gt;
** VERALTET: http://www.mikrocontroller.net/topic/179308#1726990&lt;br /&gt;
** VERALTET:http://www.mikrocontroller.net/topic/120373#1122219 ?????&lt;br /&gt;
** KiCad kann mittlerweile auch direkt nichtdurchkontaktierte Bohrungen erzeugen. Siehe dazu http://www.mikrocontroller.net/topic/263069#2732405 Enthält auch allgemeine Informationen zum Umgang mit durchkontaktierten und nicht durchkontaktierten Bohrungen.&lt;br /&gt;
Da Löcher mit einem Durchmesser ab 2mm gefräst statt gebohrt werden können, und ab 6mm Durchmesser mit hoher Sicherheit gefräst werden, ist es sinnvoll, Löcher ab ca. 4mm Durchmesser in PCBnew mit dem Kreistool in das Layer &amp;quot;edge.cuts&amp;quot; zu zeichnen.&lt;br /&gt;
&lt;br /&gt;
* Ich möchte für Passermarken / Fiducials eine deutlich größere Freistellung in der Lötstoppmaske haben. Wie geht das?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/266730#2779498&lt;br /&gt;
* Wie geht das überhaupt mit den Lötstoppmasken?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/283721#new&lt;br /&gt;
* Ja, aber die Lötstoppmaske wird leider nicht angezeigt.&lt;br /&gt;
** http://www.mikrocontroller.net/topic/298028#new&lt;br /&gt;
* Ich möchte Text und Markierungen/Grafik statt im Bestückungsdruck im Lötstopplack erstellen. Geht das überhaupt und wie ist das zu bewerkstelligen?&lt;br /&gt;
** Das geht, und dazu ist der Text oder die grafischen Linien/Kreise direkt in die Lötstoppmaske zu schreiben. Siehe: http://www.mikrocontroller.net/topic/347702#new Die Lötstoppmasken Lagen heissen F.Mask (Bestückungsseite) und B.Mask (Lötseite).&lt;br /&gt;
* Ich möchte Text invers im Bestückungsdruck haben.&lt;br /&gt;
** Das geht. Siehe: http://www.mikrocontroller.net/topic/417961#4888742&lt;br /&gt;
* Wie kann man Bauteilmaße in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
** Anzeige im Layout: Layer &amp;quot;Zeichnung&amp;quot; anwählen. In der rechten Menueleiste &amp;quot;Bemaßung hinzufügen&amp;quot; wählen. Das ist der fünfte Button von unten mit der &amp;quot;blauen Bemaßung&amp;quot;. Jetzt an einer Stelle links ins Layout klicken. Maus verschieben und noch einmal links klicken und die Maus seitlich verschieben. Es wird ein Maßpfeilsystem zwischen erstem und zweitem Mausklick angelegt, dessen höhe man mit der Maus einstellen kann. Ein weiterer linker Mausklick fixiert das System. Das Anklicken der Beschriftung mit der rechten Maustaste erlaubt das Editieren. Das System wird immer in der Einheit angelegt, die in der linken  Menueleiste vorgewählt wurde. Die Rasterung der aktuellen Einstellung wird auch übernommen. Späteres Ändern von Einheit- und Raster ändern die Beschriftung nicht mehr. In 3D und im Footprint geht diese Möglichkeit nicht.&lt;br /&gt;
** Weitere Möglichkeiten: Einen Maßstab als footprint/Modul anfertigen und zum Messen in das Board einfügen.&lt;br /&gt;
** Wenn man im Layout aber direkt etwas ausmessen möchte, so geht das über den relativen Nullpunkt. Unten im Rahmen rechts sind vier Felder. Die beiden linken zeigen die absoluten Koordinaten, an, die beiden rechten die relativen Koordinaten in Bezug auf einen relativen Nullpunkt. Defaultmäßig stimmen absoluter und relativer Nullpunkt ersteinmal überein. Per &amp;quot;Space bar&amp;quot; drücken setzt Du den relativen Nullpunkt an den Ort des Mauszeigers. Wenn Du nun die Maus verfährst, zeigen die relativen Koordinaten nun den vertikalen und horizontalen Abstand zum Nullpunkt. Die Diagonale muss leider über den Pythagoras selber ausgerechnet werden, oder indem man die Polarkoordinateneinstellung wählt (linke Menueleiste). Durch geschicktes setzten des Nullpunktes kann man nun auf der Platine herummessen. Winkel können auch über die Polarkoordinateneinstellung gemessen werden. Im Moduleditor geht das analog. Das 3D-View kann zur Zeit (Januar 2011) überhaupt keine Bemaßung.     &lt;br /&gt;
* Wie kann man mit der KiCad Version 20100314 &#039;&#039;&#039;einseitige&#039;&#039;&#039; Platinen erstellen?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/172015#1651239&lt;br /&gt;
** aktueller: http://www.mikrocontroller.net/topic/172015#1794699&lt;br /&gt;
*Und wie teile ich KiCad mit, daß der Autorouter nur eine Seite verwenden soll?&lt;br /&gt;
** Auf die doofe Tour: Erst in KiCad zweiseitig wählen, und dann beide Lagen im Autorouter als &amp;quot;Unterseite&amp;quot; wählen.&lt;br /&gt;
&lt;br /&gt;
* Wie gehen runde Bögen in KiCad?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/202512#1994063&lt;br /&gt;
* Ich brauche für einen Platinenumriss eine geschlossene Linie. Das klappt aber irgendwie nicht.&lt;br /&gt;
** Die Endpunkte müssen exakt aufeinander liegen. Dazu&lt;br /&gt;
*** A) Passende Raster verwenden&lt;br /&gt;
*** B) parametrisch die Endpunkte direkt als Koordinaten eingeben.&lt;br /&gt;
*** Siehe Diskussion dazu: https://www.mikrocontroller.net/topic/418296#new&lt;br /&gt;
* Wie benutze ich den interaktiven Router (Push &amp;amp; Shove) in PCBnew?&lt;br /&gt;
** Dazu muss in PCBnew im Pulldown-Menue unter &amp;quot;Ansicht&amp;quot; die Option &amp;quot;Canvas nach OpenGL umschalten&amp;quot; oder &amp;quot;Canvas nach Cairo umschalten&amp;quot;gewählt werden. Wenn man nun, wie gewohnt, aus der rechten Button Leiste das Verlegen von Leiterbahnen wählt, eine Leiterbahn/Luftlinie wählt und rechts anklickt, erhält man den interaktiven Router. Aber Achtung - wegen des geänderten Kontextmenues kann es sinnvoll sein, für andere Tätigkeiten auf die Voreinstellungen zurückzuschalten.&lt;br /&gt;
* Wie stelle ich beim Routen die Leiterbahnbreiten ein?&lt;br /&gt;
** Sie müssen vorher in den Design Rules definiert werden. Siehe: https://www.mikrocontroller.net/topic/452117#new&lt;br /&gt;
* Ich habe mein Board fertig geroutet, stelle aber jetzt fest, das ich noch einige Leiterbahnbreiten ändern muss. Wie geht das am einfachsten?&lt;br /&gt;
** Eine Leiterbahn rechts anklicken und Segment oder Track ändern. Das Verhalten ist im Detail vom gewählten Canvas anhängig. Und die Leiterbahnbreite muss schon in den Design rules existieren. Siehe hier: https://www.mikrocontroller.net/topic/452117#new&lt;br /&gt;
*** Ab KiCad 5.1 bzw. 6 wird es die verschiedenen Modi nicht mehr geben. Siehe https://www.mikrocontroller.net/topic/467735#5718645&lt;br /&gt;
* Wie gestalte ich einen gleitenden, stetigen Übergang bei einer Änderung der Leiterbahnbreite?&lt;br /&gt;
** Mit Workarounds wie dreieckigen/trapezförmigen Pads oder einem sehr fein gestaffelten stufigen Übergang. Siehe: https://www.mikrocontroller.net/topic/438242&lt;br /&gt;
**http://www.mikrocontroller.net/topic/205851#new&lt;br /&gt;
*Ich kann Pads nicht anschließen bzw. ich bekomme vom DRC Fehlermeldungen, daß ich Pads nicht angeschlossen habe, obwohl sie angeschlossen sind.&lt;br /&gt;
**http://www.mikrocontroller.net/topic/204717#new&lt;br /&gt;
*Wie kann ich Daten für automatische Bestückung (Pick&amp;amp;Place) erzeugen?&lt;br /&gt;
** In PCBnew unter Datei &amp;gt; Fertigungsdateien &amp;gt; Bauteile Positionsdatei (.pos). Aber dieses verlangt, das die Footprints auch die richtigen Informationen dazu enthalten. Um diese einzustellen, den Footprint im Moduleditor öffnen und unter dem Button &amp;quot;Bauteileigenschaften&amp;quot; in &amp;quot;Attribute&amp;quot; eine Markierung bei &amp;quot;Normal+Einfügen&amp;quot; machen. Dann wird der Ankerpunkt des Modules für die Positionsdatei verwendet. Damit sinnvolle Daten entstehen, sollte der Ankerpunkt bei SMD-Footprints in die Mitte des Footprintes gesetzt worden sein. &lt;br /&gt;
* Gibt es &amp;quot;Regeln&amp;quot; für das Setzten von Ankerpunkten bei Footprints?&lt;br /&gt;
** Es gibt Konventionen. Bei SMD-Bauteilen der &amp;quot;Mittelpunkt&amp;quot; des Bauteiles. Dieser wird auch für Pick&amp;amp;Place Daten in der automatischen Bestückung verwendet. &lt;br /&gt;
** Bei THT-Bauteilen wird als Konvention die Mitte von Pin 1 als Ankerpunkt verwendet.&lt;br /&gt;
*Und wie erzeuge ich ein Excellon Drillfile?&lt;br /&gt;
** In PCBnew unter Datei &amp;gt; Fertigungsdateien &amp;gt; Bohrdaten. Die Datei enthält auch eine Werkzeugliste. Kicad legt u.U. zwei Drillfiles an, wenn erforderlich. Eines für durchkontaktierte, und eines für nicht durchkontaktierte Bohrungen. Wer eine extra Liste und eine Statistik wünscht, muss auch noch &amp;quot;Bericht über Bohrung&amp;quot; anwählen.&lt;br /&gt;
** Bei mir wird aber nur ein Drillfile erzeugt. Was läuft falsch?&lt;br /&gt;
***Die NPTH Drills müssen im Pad-Editor explizit als solche gekennzeichnet werden. In PCBnew erkennt man sie dann als dicke gelbe Flächen. Siehe: http://www.mikrocontroller.net/topic/322941#3989397 Bei älteren Footprints ist das aber noch nicht komplett umgesetzt. &lt;br /&gt;
* Wenn PCBnew die Netzliste eingelesen hat, liegen alle Bauteile auf einem Haufen. Zum Plazieren eines herausgreifen ist mühsam. Wie geht das am einfachsten?&lt;br /&gt;
** In PCBnew &amp;quot;T&amp;quot; drücken. Es poppt ein Fenster auf, wo man die Bauteilreferenz (den Namen) eingeben kann. Und schon hängt das Bauteil zum Bewegen am Zeiger. Die Bedienung ist letztlich genauso wie das &amp;quot;m&amp;quot; und die Komandozeile in Eagle. Siehe http://www.mikrocontroller.net/topic/293903#3133990&lt;br /&gt;
** &amp;quot;Raef&amp;quot; hat ein Python Script erstellt, das Bauteile automatisch ähnlich der Anordnung im Schaltplan plaziert. Siehe: http://www.mikrocontroller.net/topic/293903#3245990&lt;br /&gt;
** In neueren PCBnew Version gibt es ein gutes parametrisches Plazieren: https://www.mikrocontroller.net/topic/432920#5108442&lt;br /&gt;
* Ich habe ein fertiges Layout. Jetzt möchte ich aber andere Footprints verwenden, und anschließend nicht neu routen müssen. Wie geht das?&lt;br /&gt;
** Über CVpcb und Neueinlesen der Netzliste. Siehe: http://www.mikrocontroller.net/topic/297885#new&lt;br /&gt;
* Ich will links herum routen, aber Kicad meint unbedingt rechts herum (...oder umgekehrt). Wie kann ich die Leiterbahnen &amp;quot;flippen&amp;quot;?&lt;br /&gt;
** Mit &amp;quot;/&amp;quot; (Slasch) http://www.mikrocontroller.net/topic/280028#new&lt;br /&gt;
* Ich hätte gerne die Tastenkürzel in kicad so wie in meinem gewohnten Programm. Wie geht das?&lt;br /&gt;
** Siehe http://www.mikrocontroller.net/topic/283959#3007173 . Vieleicht ist einer ja so nett, und stellt Konfigurationsfiles für Leute die aus EAGLE, ORCAD oder so wechseln, bereit.&lt;br /&gt;
* Ich habe ein kleines Board fertig geroutet. Jetzt möchte ich mehrere davon zu einer größeren Platine zusammenführen (sog. Mehrfachnutzen), um sie rationeller fertigen zu können.&lt;br /&gt;
** Siehe http:http://www.mikrocontroller.net/topic/292334#new . Das geht natürlich genauso, wenn man verschiedene Platinen so zu Nutzen zusammenfügen möchte, oder halt kleinere Teillayouts zu einem Gesamtboard.&lt;br /&gt;
*** Nachtrag: Wenn in PCBnew &amp;quot;append Board&amp;quot; oder &amp;quot;save as&amp;quot; ausgegraut sind, so schliesse KiCad Eeschem und PCBnew komplett und starte PCBnew direkt ohne über KiCad zu gehen. Das ist in neueren KiCad Versionen so vorgesehen. Siehe https://www.mikrocontroller.net/topic/399145#new&lt;br /&gt;
&lt;br /&gt;
* Ich habe einen Schaltplan mit Subschaltplänen, zu denen ich separate Layouts erstellen möchte.&lt;br /&gt;
** Dazu diesen Subschaltplan explizit in EEschema öffnen, und die Netzliste nur für diesen Subschaltplan exportieren.  Weitergehen wie üblich. Siehe: http://www.mikrocontroller.net/topic/330740#new&lt;br /&gt;
* Ich möchte Varianten eines Layouts erstellen. Was ist dazu zu sagen? Siehe: http://www.mikrocontroller.net/topic/330740#3616697&lt;br /&gt;
** Siehe http://www.mikrocontroller.net/topic/292123#new&lt;br /&gt;
* Wie importiere ich DXF-Dateien in PCBnew? z.B. ein Platinenumriss aus einem mechanischen CAD-Programm?&lt;br /&gt;
** Dafür existiert eine Import Funktion in PCBnew: Datei &amp;gt; Importieren &amp;gt; DXF-Datei. Siehe http://www.mikrocontroller.net/topic/327628#new &lt;br /&gt;
aktueller: https://www.mikrocontroller.net/topic/469438#new&lt;br /&gt;
* Wie wird man den merkwürdigen Rahmen los?&lt;br /&gt;
** 1) Genauso wie im Schaltplan. Dazu den pl_editor (der ganz rechte Button im KiCad Hauptfenster) starten, und FAST alles entfernen. Dazu in der linken Spalte nacheinander alles aktivieren, und mit rechts anlicken und dann &amp;quot;entfernen&amp;quot; wählen. Aber vorsicht, wenn alles Entfernt wird, taucht das Original Layout wieder auf. Workaround war bei mir, eine zusätzliche Alibilinie hinzuzufügen, die von X 0,000 Y 0,000 bis  X 0,001 Y 0,000 reicht. Das ist ein &amp;quot;Fliegenschiss&amp;quot; in der linken oberen Ecke. Jetzt kann alles andere gelöscht werden. Den so geleerten Rahmen unter einem beliebigen Namen mit der Endung .kicad_wks wegspeichern. Im geöffneten Schaltplan kann der dann unter Datei &amp;gt; Seite einrichten ganz unten unter &amp;quot;page layout file description&amp;quot; die entsprechende Datei eingebunden werden. Es bleibt aber dem Anwender offen, ob er den Rahmen komplett entfernt, oder noch Felder mit Textbeschreibungen übernimmt. Für gesteigerten Komfort kann diese Datei dann auch in ein Template eingebunden werden. &lt;br /&gt;
** 2) Beim Ausdrucken Frame deaktivieren.&lt;br /&gt;
** 3) Als SVG exportieren. Dort den Frame deaktivieren.&lt;br /&gt;
** 4) Beim Plotten (z.B. in Gerber) Frame deaktivieren. Ist eigentlich defaultmäßig eingestellt. &lt;br /&gt;
** Siehe: http://www.mikrocontroller.net/topic/343509#3791448&lt;br /&gt;
* Ich möchte einen bestimmten Footprint verwenden (von dem ich weiss, dass er existiert), kann ihn aber in der Auswahl der Footprints von PCBnew nicht finden.&lt;br /&gt;
**Die Bibliothek, in der er enthalten ist, muss erst in das Verzeichnis der aktiven Bibliotheken in PCBnew eingetragen werden. &lt;br /&gt;
* Ich möchte Footprint-Bibliotheken in das Verzeichnis der verwendeten Bibliotheken von PCBnew eintragen. Wie geht das?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/372123#new  &lt;br /&gt;
* Ich habe Probleme mit den Umgebungsvariablen KISYSMOD, KISYS3DMOD, KIPRJMOD, KIGITHUB beim Eintragen der Bibliothekstabellen.&lt;br /&gt;
** KISYSMOD ist eine Variable, die den Pfad zu den global verwendeten KICAD-Modulen (Footprints) angibt. KIPRJMOD ist das gleiche, für projektspezifische Module. KISYS3DMOD beschreibt den Pfad zu den 3D-Modellen, und KIGITHUB weisst den Pfad ins Internet zu den Githubbibliotheken.&lt;br /&gt;
** Nähere Informationen dazu findet man hier: http://www.mikrocontroller.net/topic/344139#new und hier : http://www.mikrocontroller.net/topic/344029#new&lt;br /&gt;
** Aktueller: http://www.mikrocontroller.net/topic/368660&lt;br /&gt;
** Falls alles nichts hilft: Nan kann den Pfad auch komplett am Stück in die Bibliothekstabelle eintragen. Copy&amp;amp;Paste funktioniert dort aber nicht per rechtem Mausklick, sondern per &amp;lt;Str-c&amp;gt; (Kopieren) und &amp;lt;Str-v&amp;gt; (einfügen). Einfacher als die Bibliothekstabelle lässt sich darum die fp-lib-table Datei per Editor bearbeiten. Unter Linux findet sich die Tabelle für globale Bibliotheken bis zur BZR5113 direkt im Homeverzeichnis. Ab BZR5114 (ca. 5. September 2014) fiondet sich die globale fp-lib-table in $HOME/.config/kicad. Die fp-lib-table für projektbezogene Bibliotheken finden sich in den korrespondierenden  Projektverzeichnissen.&lt;br /&gt;
* Ich würde gerne die Mikrowellen Tools verwenden, aber irgendwie funktioniert das nicht.&lt;br /&gt;
** In älteren KiCad Versionen funktionieren sie nur im &amp;quot;legacy Canvas&amp;quot;. Den &amp;quot;legacy Canvas&amp;quot; schaltet man mit &amp;quot;F9&amp;quot; ein, bzw. im Pull down Menue unter &amp;quot;View&amp;quot; &amp;gt; &amp;quot;legacy Canfas&amp;quot;. In neueren KiCad Versionen (daily Build ab mindestens 2017-06-16 revision dab73e1) funktionieren die Tools in allen Canvasversionen.&lt;br /&gt;
** Manchmal sieht man nur etwas, wenn man &amp;quot;Refresh&amp;quot; (F3) drückt.&lt;br /&gt;
** Eine kleine Erklärung ist hier: https://www.mikrocontroller.net/topic/434998#new&lt;br /&gt;
* Ich würde gerne aus den Mikrowellen Tools die Funktion &amp;quot;Polynominales Muster&amp;quot; verwenden. Dabei werde ich nach einem KiCad-Shapefile gefragt, aber ich weiss nicht, wie das File aussehen muss.&lt;br /&gt;
** Einen Hinweis zum Aussehen des Files gibt es hier: https://www.mikrocontroller.net/topic/369330#4166392 Allerdings müssen die Werte der Polynomstruktur anderweitig berechnet werden, und mit einem Editor manuell in diese Form gebracht werden.&lt;br /&gt;
* Wie erstelle ich koplanare Leitungen in KiCad?&lt;br /&gt;
** siehe diese Diskussion: https://www.mikrocontroller.net/topic/370700#new&lt;br /&gt;
* Ich möchte Bauteile im Kreis oder in einem Gittermuster/Array anordnen. Gibt es dafür automatische Hilfestellungen?&lt;br /&gt;
** Ja. Objekt Deiner Wahl rechts anklicken, eventuell Auswahl verfeinern, und dann im aufpoppenden Menue &amp;quot;Array erstellen&amp;quot; wählen. Geht nicht nur für Bauteile, sondern auch für Pads, Leiterbahnen ec. Siehe: http://www.mikrocontroller.net/topic/178816#new&lt;br /&gt;
** Aktuell: https://www.mikrocontroller.net/topic/473763#5832574&lt;br /&gt;
* Ich bräuchte Pads mit ungewöhnlicher Form.&lt;br /&gt;
** Aus mehreren Pads mit der gleichen Pad Nummer zusammensetzten. Pads gleicher Nummer am gleichen Footprint werden dem gleichen Netz zugeordnet. Dabei aber beachten, dass sich diese Pads sich weit genug überlappen (z.B. 0,2mm) , so dass sie nicht in einzelne Pads zerfallen, wenn in der Leiterplattenfabrik mal die Kupferflächen &amp;quot;zurückgezogen&amp;quot; werden müssen, um die Mindestabsrände für die Produktion (Galvanik) nicht zu unterschreiten.&lt;br /&gt;
** Das Mikrowellentool benutzen, um mit einem Workaround Pads als Polygon zu erzeugen. Als ein Beispiel z.B:https://www.mikrocontroller.net/attachment/259709/SMP-Test-1.png Das Mikrowellentool kannst Du mit einem Workaround dazu bekommen, Pads als Polygone zu erstellen. Näheres siehe hier: https://www.mikrocontroller.net/topic/414834#new oder hier: https://www.mikrocontroller.net/topic/369330#4166392&lt;br /&gt;
* Meine Grafikkarte unterstützt keine openGL 3D-Beschleunigung.&lt;br /&gt;
** Vieleicht kannst Du mit MESA openGL ersetzten? Siehe: https://www.mikrocontroller.net/topic/389712#4465775 Zu MESA selber siehe: https://de.wikipedia.org/wiki/Mesa_3D&lt;br /&gt;
* Ich würde gerne eine Starrflex Leiterplatte machen. Was muss ich beachten?&lt;br /&gt;
** Siehe https://www.mikrocontroller.net/topic/399330#new&lt;br /&gt;
* Wie Verbinde ich verschiedene Massen, oder allgemein verschiedene Potentiale, die aus Layouttechnischen Gründen getrennt gehalten werden sollten, ohne das der DRC zusehr meckert? Ähnliches Problem: Einzelne Vias vom Anschluss an umgebende Masseflächen ausschliessen.&lt;br /&gt;
** Voraussetzung: Die Leiterbahnen/Vias/Kupferflächen müssen unterschiedliche Potentiale haben, damit KiCad weiss, dass sie getrennt gehalten werden müssen. Wenn das nicht der Fall ist, müssen diese Segmente mit einem &amp;quot;Bauteil&amp;quot; so vom Rest der Schaltung abgedretnnt werden, dass der abgetrennte Bereich einen neuen Netznahmen/Potentialnahmen bekommt. Diese speziellen Bauteile können unterschiedlicher Art sein:&lt;br /&gt;
*** 1) Mit 0 Ohm Brücken. Das sind Bauteile, die aus einer Drahtbrücke bestehen. So sind für den ERC und DRC die Netzte getrennt, aber tatsächlich mit einer Drahtbrücke verbunden. &lt;br /&gt;
**** [http://www.mikrocontroller.net/topic/142930?goto=1321550] &amp;quot;Drahtbrücken in KiCad?&amp;quot;  hier im Forum.&lt;br /&gt;
*** 2) Ein anderer Workaround sind &amp;quot;Net ties&amp;quot; (Netties). Das sind Footprints, die aus zwei oder mehr verschiedenen Pads bestehen(wie jedes andere normale Bauteile auch, die aber direkt mit Kupfer verbunden sind. Also eigentlich ein 0 Ohm Widerstand, wo der &amp;quot;Widerstand&amp;quot; als Kupfer auf der Leiterplatte existiert. Es ist sinnvoll, zu den &amp;quot;Net tie&amp;quot; Footprints auch entsprechende Schaltplansymbole zu definieren. Zu Net ties siehe:&lt;br /&gt;
**** [http://www.grant-trebbin.com/2015/04/pcb-net-ties-and-grounding-in-kicad.html] (in Englisch)&lt;br /&gt;
**** [http://www.mikrocontroller.net/topic/330196] &amp;quot;KiCad zwei verschiedene Netze verbinden in Pcbnew&amp;quot; hier im Forum.&lt;br /&gt;
**** Etwas aktueller (geht auch auf Probleme ein): &lt;br /&gt;
***** [http://www.mikrocontroller.net/topic/389988] &amp;quot;Kicad Leiterbahn im Footprint möglich?&amp;quot; hier im Forum.&lt;br /&gt;
***** [http://www.mikrocontroller.net/topic/360510] &amp;quot;Leiterbahn aus Massepolygon isolieren&amp;quot; hier im Forum.&lt;br /&gt;
***** [https://www.mikrocontroller.net/topic/401430#new] &amp;quot;Via-Anbidung an Polygon ausschließen&amp;quot;&lt;br /&gt;
***** Ein ganz anderer Ansatz wäre, ganz auf unterschiedliche Massepotentiale zu verzichten, wenn diese sowieso verbunden werden, wie hier vorgeschlagen: https://www.mikrocontroller.net/topic/453991#5465447&lt;br /&gt;
* Wie kann man den Nullpunkt eines Layouts verschieben?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/179680#1730452 Aktueller:https://www.mikrocontroller.net/topic/427130#5008806 für den Layout Editor PCBnew. Im Moduleditor bei Erstellung eines Footprints kann man den Ankerpunkt frei Mithilfe des Anker-Tools aus der rechten Menüleiste (das Ankersymbol) setzten. Gleiches gilt für den Symboleditor.&lt;br /&gt;
* Ich habe im Layout einen weissen Kringel mit einem weissen Kreuz, der sich beim Zoomen merkwürdig verhält. Was ist das, und wie kriege ich das weg?&lt;br /&gt;
** Das ist der Ursprung des Rasters. Den sollte man nicht wegbekommen, aber man kann ihn versetzten. Siehe: https://www.mikrocontroller.net/topic/411681#new&lt;br /&gt;
* Wie erzeuge ich Thermals (Wärmefallen/thermal Pads) um Pins die in Kupferflächen sitzen?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/443639#5287943&lt;br /&gt;
* Ich möchte Langlöcher anlegen. Wie geht das am einfachsten?&lt;br /&gt;
** Als Footprint bzw. im Footprint im Footprinteditor anlegen. Dort ein Pad plazieren und als &amp;quot;Drill Shape&amp;quot; die Option &amp;quot;Oval hole&amp;quot; wählen. Den Rest des Footprints mit dem Kupfer nach eigenen Bedürfnissen gestalten, oder das Kupfer ganz weglassen. Für reine Befestigungslöcher ohne Kupfer &amp;quot;Pad type&amp;quot; zu &amp;quot;NPTH, Mechanical&amp;quot; wählen. Langlöcher landen genauso wie runde Löcher im Excellon Drill-File. Es gibt dort spezielle Kennzeichnungen dafür. Um mit dem &amp;quot;Workflow&amp;quot; konform zu bleiben, für Befestigungslöcher z.b. ein Symbol anlegen, dem ein passendes Loch oder auch Langloch als Footprint zuweisen. In einem extra hierachischen Schaltplanblatt solche Sonderfälle ablegen. Für vier löcher z.B. vier mal dieses Symbol. Es lassens sich den Symbolen unterschiedlich definierte Löcher zuweisen. Die Löcher werden dann beim Einlesen der Netzliste in PCBnew gemäß der eingetragenen Footprints auf das Board gestellt und können frei plaziert werden. Siehe: https://www.mikrocontroller.net/topic/449952#5395495&lt;br /&gt;
* Wie ist das mit der Pinnummerierung bei Symbolen und Footprints mit abweichenden Pinbelegungen? Ändere ich die Pin/Pad Nummerierung im Symbol oder im Footprint?&lt;br /&gt;
** Das hängt am Einzelfall. Aber meistens ist das Anlegen einer Symbolvariante unter anderem Namen mit geändertem Pinning am sinnvollsten. Es gibt aber Sonderfälle. Genaueres steht hier: https://www.mikrocontroller.net/topic/452154#new&lt;br /&gt;
&lt;br /&gt;
=== Layout: Python Scripting ===&lt;br /&gt;
&lt;br /&gt;
Das Python2-Scripting ist bisher nur in PCBnew implementiert und noch sehr experimentell. Daher ist leider auch der aktuelle Stand der Dokumentation zum Python-Skripting in PCBnew noch etwas dürftig. Trozdem hier Links dazu:&lt;br /&gt;
* http://confluence.kicad.org/display/KICAD/KiCad+Scripting+Reference+Manual (Allgemein. Achtung! Kicad braucht beim compilieren spezielle Befehle, um Python-Scripting tauglich zu sein.)&lt;br /&gt;
* http://ci.kicad.org/job/kicad-doxygen/ws/build/pcbnew/doxygen-python/html/namespacepcbnew.html (Definitionen von Namespaces, Classes und Files)&lt;br /&gt;
&lt;br /&gt;
Für Linux-Debian:&lt;br /&gt;
Aktuell (07. Februar 2014) mit  Pcbnew Version: (2014-01-27 BZR 4641)-product Release build auf&lt;br /&gt;
Platform: Linux 3.2.0-4-686-pae i686, 32 bit, Little endian, wxGTK (Debian Wheezy) gilt:&lt;br /&gt;
* Geht aktuell nur für PCBnew.&lt;br /&gt;
* Klassenbibliotheken: Zwei Dateien pcbnew.py und _pcbnew.so auf dem Pfad: /usr/lib/python2.7/dist-packages/&lt;br /&gt;
* Die Klassenbibliothek wird mit den üblichen Python2 Methoden importiert: z.B. &amp;quot;import pcbnew&amp;quot; oder &amp;quot;from pcbnew import *&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Beispielprogramm, das alle Footprints aus einer Legacy-Fotprint Datei auflisted und den Referenzbezeichner dazuschreibt::&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env python &lt;br /&gt;
# das war das Shebang.&lt;br /&gt;
&lt;br /&gt;
from pcbnew import * # Import der Bibliothek. &lt;br /&gt;
libpath = &amp;quot;/home/DuUser/KiCad-Daten/Module/ModuleGrosserSampler/KiCadLegacyFottprints.mod&amp;quot; # Übergabe des Pfades.&lt;br /&gt;
lst = FootprintEnumerate(libpath) &lt;br /&gt;
for name in lst:&lt;br /&gt;
    m = FootprintLoad(libpath,name)&lt;br /&gt;
    print name,&amp;quot;-&amp;gt;&amp;quot;, m.GetReference()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Scripting Möglichkeit ist so neu, dass bis jetzt die Scripting Testdateien für das KiCad interne automatische Qualitätssicherungssystem noch nicht komplett sind.&lt;br /&gt;
Unter http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/files/head:/qa/testcases/ finden sich bereits geprüfte Testskripte, und unter http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/files/head:/pcbnew/scripting/examples/ finden sich ungetestete Testskripte.&lt;br /&gt;
&lt;br /&gt;
Sie alle können als Beispiele genommen werden, wie das mit dem Skripting gemeint ist, und als Vorbild für eigene Skripte dienen.&lt;br /&gt;
&lt;br /&gt;
Weitere Skripting Info: &lt;br /&gt;
* [https://kicad.mmccoo.com/kicad-scripting-table-of-contents/ Anleitung für Python Skripting in KiCad] (Englisch)&lt;br /&gt;
&lt;br /&gt;
=== Module Editor ===&lt;br /&gt;
* Wie erstellt man Footprints für Bauteile?&lt;br /&gt;
** Mit dem Footprint Editor. Er ist bei älteren KiCad Versionen nur aus PCBnew heraus zu starten. Bei neueren KiCad Versionen hat er einen eigenen Button im KiCad Start Window.&lt;br /&gt;
** Spezielleres: http://www.mikrocontroller.net/topic/356151#new&lt;br /&gt;
* Wie verbinde kopiere ich etwas aus einem Footprint in einen anderen hinein, bzw. wie verbinde/merge ich zwei Footprints?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/288167#3061997&lt;br /&gt;
* Kann man im Module Editor die Eigenschaften aller Pads gleichzeitig ändern?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/93131#799550 &lt;br /&gt;
* Ich brauche einen Footprint, bei dem mehrere Pads verbunden sind, will aber nicht im Schaltplan zig Pins aufführen und anschliessen müssen.&lt;br /&gt;
**http://www.mikrocontroller.net/topic/208982#new&lt;br /&gt;
**http://www.mikrocontroller.net/topic/204717#new&lt;br /&gt;
* Wie erzeugt man thermal Vias in Kicad?&lt;br /&gt;
** Leider bisher nur experimentell: http://www.mikrocontroller.net/topic/298028#3187259&lt;br /&gt;
* Wie kann man Bauteilmaße in in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
* Wie verwalte ich Footprint Bibliotheken?&lt;br /&gt;
** Indem man sich ein Board erstellt, alle Footprints, die man zusammenfassen möchte, auf das Board stellt, und dann untet Dateien &amp;gt; Footprints archivieren &amp;gt; Footprint Archiv erstellen wählt. Das so erstellte Board kann auch zu Dokumentationszwecken geplottet werden. Eventuell möchte man einige Footprints, die zu Hilfszwecken (z.B. Skalen) auf dem Board sind, anschliessend mit dem Bibliothekseditor daraus löschen.&lt;br /&gt;
** Alternativ, im dem &amp;quot;neuen&amp;quot; *.pretty Format, mit einem Dateiverwaltungsprogramm Deiner Wahl. Siehe http://www.mikrocontroller.net/topic/320301#new&lt;br /&gt;
* Wie werden die Parameter für Lötpaste/Lötstopmaske vergeben?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/356151&lt;br /&gt;
* Ich möchte für einen Footprint Pads in einem Gittermuster/Array oder im Kreis anordnen. Gibt es dafür automatische Hilfestellungen?&lt;br /&gt;
** Ja. Pad rechts anklicken. Eventuell erfolgt noch eine Feinauswahl. Dann im aufpoppenden Menue &amp;quot;Array erstellen&amp;quot; wählen.&lt;br /&gt;
* Wie archiviere ich die in einem KiCad Board enthaltenen Footprints?&lt;br /&gt;
** Nicht im Footprint-editor, sondern in PCBnew. Dort in der oberen Toolleiste unter Datei/File &amp;gt; archive Footprints. Es muss dort eine bereits im Bibliotheksverzeichnis eingetragene existierende Bibliothek angegeben werden. &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Diese Bibliothek sollte &#039;&#039;&#039;speziell für diesen Zweck&#039;&#039;&#039; angelegt sein, weil ihr &#039;&#039;&#039;vorheriger Inhalt komplett entfernt&#039;&#039;&#039; wird. Idealerweise legt man die Bibliothek als &amp;quot;Projektname.pretty&amp;quot; im Projektordner an. Sie sollte spätestens bei Abschluss des Projektestens erstellt werden und &#039;&#039;&#039;MUSS bei Archivierung des Projektes oder Übergabe mit Archiviert bzw. Übergeben werden!&#039;&#039;&#039; Aber &#039;&#039;&#039;VORSICHT&#039;&#039;&#039;, bei der Bibliothekserstellung lauert ein &#039;&#039;&#039;Bug. Siehe:&#039;&#039;&#039; https://www.mikrocontroller.net/articles/KiCad#Problem:_Neue_leere_Footprintbibliothek_kann_nicht_erstellt_werden_.28kicad_Version:_4.0.0.7Erc1a-stable_release_build_.2F_RC4.29&lt;br /&gt;
* Ich brauche in einem Footprint einen Ausschnitt in der Platine. Wie mache ich das?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/404998#4696232&lt;br /&gt;
* Für Masken wie Lötpaste oder Klebstoff hätte ich gerne Pads mit abgerundeten Ecken. Wie geht das?&lt;br /&gt;
** Das geht erst seit ca. Version: 2016-11-22 revision ccdfabc-master. Siehe https://www.mikrocontroller.net/topic/427536#5015335&lt;br /&gt;
&lt;br /&gt;
=== 3D-Ansicht ===&lt;br /&gt;
[[Bild:Kicad xilinx demo.jpg|300px|thumb|right|KiCAD-Demoplatine exportiert und mit Renderer illustriert]]&lt;br /&gt;
KiCAD bietet eine eingebaute einfache 3D-Ansicht der gerouteten Platine. Mittels Export können diese weiterverarbeitet werden. KiCad beruht diesbezüglich auf Wings3D, und die 3D-Modelle der Bauteile sind standardisierte wrl-files, die mit entweder Wings3D oder Blender erstellt werden können. Daher sei hier auf ein Wings3D Handbuch verwiesen: http://www.oortman3d.com/wings3d/TheWings3dHandbook.pdf&lt;br /&gt;
&lt;br /&gt;
Viele Bauteilhersteller (vor allem von eher mechanischen, wie z.B. Stecker, Buchsen, Befestigung...) bieten fertige 3D-Modelle an. Diese sind meistens in den Formaten STEP oder IGES. So kann man diese in das von KiCad benötigte .wrl (VRML 2.0) konvertieren:&lt;br /&gt;
# STEP oder IGES in [http://gcad3d.org/ gCAD3D] öffnen (File &amp;gt; Open Model)&lt;br /&gt;
# als Wavefront .obj speichern (File &amp;gt; Save Model as &amp;gt; OBJ)&lt;br /&gt;
# Das .obj in [http://www.wings3d.com/ Wings 3D] importieren (File &amp;gt; Import &amp;gt; Wavefront .obj)&lt;br /&gt;
# Als VRML 2 exportieren (File &amp;gt; Export &amp;gt; VRML 2.0 .wrl)&lt;br /&gt;
# Im KiCad-Moduleditor die .wrl-Datei als 3D-Modell auswählen&lt;br /&gt;
# Eventuell muss man die Skalierung und Positionierung anpassen, die angezeigten Pads und Löcher helfen dabei. Die am meisten benötigten Faktoren dürften dabei 0,3937 und 2,54 sein - bei den Konvertierungen kommt leicht die Einheit Zoll oder cm durcheinander.&lt;br /&gt;
&lt;br /&gt;
Eine andere Möglichkeit .obj oder .stl-Dateien aus STEP und IGES zu erzeugen ist [http://free-cad.sourceforge.net/ FreeCAD]. Obwohl es auch .wrl direkt erzeugen kann, können diese nicht in KiCad geladen werden. Der Umweg über .obj oder .stl und Wings 3D löst dies aber auch hier.&lt;br /&gt;
&lt;br /&gt;
Wenn man das Board wieder in einem CAD-Programm verwenden will um z.B. ein Gehäuse zu konstruieren, sollte man wieder STEP-Dateien erzeugen. Neuere KiCad-Versionen können zwar VRML exportieren, doch das beschreibt nur Umrisse und keine Körper (Solids). CAD-Programme zum Gehäusedesign brauchen jedoch letzteres. So geht die Konvertierung:&lt;br /&gt;
# VRML aus KiCad exportieren (File &amp;gt; Export &amp;gt; VRML)&lt;br /&gt;
# .wrl-Datei mit Hilfe von [http://www.cs.princeton.edu/~min/meshconv/ meshconv] in eine STL-Datei konvertieren: &amp;lt;code&amp;gt;meshconv boardname.wrl -c stl -o boardname.stl&amp;lt;/code&amp;gt;&lt;br /&gt;
# Die STL-Datei mit [http://www.solveering.com/products/products_stl2step.html stl2step] in eine STEP-Datei konvertieren&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG:&#039;&#039;&#039;&lt;br /&gt;
Man sollte hinterher im CAD nochmal genau die Maße kontrollieren. Denn die Konvertierung von STL nach STEP ist nur eine Approximierung und keine exakte, verlustfreie Konvertierung.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG:&#039;&#039;&#039;&lt;br /&gt;
Bei der Verwendung von Modellen aus fremden Quellen die Rechtslage prüfen. Es kann bei Veröffentlichungen zu Problemen führen, wenn die verwendeten Modelle unter einer problematischen privaten Lizenz stehen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Appropos Einheit: Welche Einheit benutzt WRL (Wings3d)?&lt;br /&gt;
* Das ist leider nicht soooo klar. Tatsache ist aber, das KiCad die Einheit als 1/10 Inch (100mil) interpretiert.&lt;br /&gt;
** Es könnte sein, dass die Einheit von WRL offiziell mal zu einem Meter gedacht war. Siehe: https://www.mikrocontroller.net/topic/405477#4704394&lt;br /&gt;
&lt;br /&gt;
*Und wie bedient man Wings3d?&lt;br /&gt;
** Ein (vorläufiger) Merkzettel/Ultrakurzanleitung zur Bedienung von Wings3D findet sich hier: [[Media:Kicad-Wings3D_Merkzettel_29November2012.pdf]]. Wenn man nur mit Wings3d Modelle für Kicad erstellen will, langt das eventuell schon als Tutorial. There is also an English translation of this leaflet about using wings3d for kicad  at [[Media:Kicad-Wings3D_Leaflet_25April2013.pdf]].&lt;br /&gt;
** Aktueller: [http://roberthall.net/Wings3D_Tutorial_KiCad Tutorial zur Benutzung von Wings3D im KiCad Umfeld (englisch)]&lt;br /&gt;
&lt;br /&gt;
Weitere Diskussionen um KiCAD 3D:&lt;br /&gt;
* Die 3D-Ansicht funktioniert bei mir nicht.&lt;br /&gt;
** http://www.mikrocontroller.net/topic/289075#new&lt;br /&gt;
** https://www.mikrocontroller.net/topic/404658#new&lt;br /&gt;
* Kann man die 3D-Ansicht in ein 3D-CAD Programm exportieren? &lt;br /&gt;
**http://www.mikrocontroller.net/topic/203388#new&lt;br /&gt;
* Wie kann man Bauteilmaße in in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
&lt;br /&gt;
* Irgendwie werden meine 3D-Bibliotheken nicht gefunden.&lt;br /&gt;
** Das kann z.b. passieren, wenn eine KiCad v5 3D-bibliothek mit einer v4 Bauteilebibliothek verwendet wird. Siehe:https://www.mikrocontroller.net/topic/467178#new&lt;br /&gt;
* Ich habe 3D-Modelle/STEP-Modelle von einem Hersteller heruntergeladen. Aber nach Einbindunge liegen sie neben dem Footprint, schweben darüber oder durchdringen die Platine.&lt;br /&gt;
** Der Hersteller hat einen anderen Ursprung für sein Modell gewählt als üblich ist. Weit verbreitet ist, den Bauteil/Footprint Ursprung bei THT Bauteilen auf die &amp;quot;Mitte&amp;quot; von Pin 1 zu setzen. Bei SMD Bauteilen wird der Ursprung auf die Mitte des Bauteiles gesetzt, meint, da wo sich beide Symmetrieachsen des Bauteiles schneiden. Bleibt das Problem, wenn das Bauteil nur eine Symmetrieachse hat. Dann einen Punkt auf der Symmetrieachse wählen, der die Mitte zwischen den extremsten Bauteilgrenzen bildet. Wenn keine Symmetrie überhaupt existiert, halt irgendwo etwas &amp;quot;in der Mitte&amp;quot;. Das ist dann aber immer soweit in der Nähe des Footprints, dass Du es in KiCad selber anpassen kannst. Angepasst wird das entweder im Footprinteditor in der oberen Buttonleiste &amp;quot;footprint Eigenschaften&amp;quot; (Icon IC mit Zahnrad davor). Es poppt ein Fenster auf. Dort den zweiten Reiter von Links wählen: &amp;quot;3D-einstellungen&amp;quot;. Dort können Korrekturwerte für koordinaten, Skalierung und Drehungen angegeben werden. Siehe Diskussion: https://www.mikrocontroller.net/topic/467095#new&lt;br /&gt;
&lt;br /&gt;
=== Drucken/Plotten/Gerber Export/Excellon Drillfiles Export ===&lt;br /&gt;
&lt;br /&gt;
==== Drucken ====&lt;br /&gt;
* Wie exportiert man den Schaltplan oder das Layout als Bild (PNG o.ä.)? &lt;br /&gt;
** Drucken über Postscript-Treiber und Umwandeln mit Ghostscript&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/96060#1061492 Forumsbeitrag] Export als SVG&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/117562#1056566 Forumsbeitrag] Plot to Clipboard &lt;br /&gt;
* Wie kann ich GENAU ausdrucken? Mein Ausdruck auf ABC ist ca. X % zu klein oder Y% zu groß! &lt;br /&gt;
** So genau sind einfache Drucker bzw. Druckertreiber selten. Aber meistens hilft folgendes: Mache einen 1:1 (100%) Probeausdruck. Messe auf dem Ausdruck nach, wie groß er tatsächlich geworden ist. Berechne die Abweichung und gebe sie in den Drucker bzw. Druckertreiber unter Einstellung ein, vorausgesetzt, der Drucker bzw. Druckertreiber kann das. Mit dem Wert machst Du wieder eine Probeausdruck, messe wieder nach, und wenn es mit der Einstellung funktioniert hat, kannst Du Deine Folie bedrucken. Wenn das nicht klappen kann, weil Du stark abweichende Werte für horizontal und vertikal bräuchtest, aber der Drucker nur einen gleichen Wert für beides kennt, hast Du einen (zu) schlechten Drucker. Trozdem nicht verzweifeln, weil KiCad beim Drucken oder Plotten in der X- und Y-Achse getrennt skalieren kann. Aber Vorsicht bei Weitergabe der so erzeugten Dateien: Sie sind individuell auf einen Drucker angepasst, und produzieren auf einem anderen Drucker nur falsch skalierte Ausdrucke. Weil der Wert von Drucker zu Drucker unterschiedlich ist, ist es auch sinnvoll, diese Skalierung direkt am speziellen Drucker/Druckertreiber zu machen. Tipp: Wenn Du den Wert erfolgreich ermittelt hast, so kleb Dir einen Zettel auf den Drucker mit dem Wert. Die Werte sind zwar individuell für jeden Drucker, aber meistens für den speziellen Drucker durchaus fix. Und Du hast ihn sofort wieder parat, wenn der Drucker resettet wurde. Dies ist übrigens ein allgemeiner Tipp für das Ausdrucken, der auch für Eagle, Target, Altium usw. gilt.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/304619#new Thema Skalieren] - Die aktuelle Situation (August 2013):  &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/371079#4191106 Und nochmal Thema Skalieren]&lt;br /&gt;
* Wie kann man das Layout invers ausdrucken, d.h. alle Leiterbahnen und Pads müssen weiß bleiben, der Rest wird schwarz ausgedruckt?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/156202#1474507 Beim Plotten den Haken bei Negativ-Plot setzen ] &lt;br /&gt;
* Ich habe irgendwie Probleme mit dem Ausdrucken.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/207764#new Verzerrt] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/207310#new Sonderzeichen]&lt;br /&gt;
** In der aktuellen Version 2012-01-19 BZR 3256)-stable besteht ein generelles Druckproblem. Aber Plotten geht wunderbar!&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/280958#new Aktualisierter Stand 23. Dezember 2012] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/303043#3249166 Aktualisierter Stand vom 21. Juli 2013]&lt;br /&gt;
&lt;br /&gt;
* Ich würde gerne PDF Dateien aus meinem Layout erstellen, aber irgendwie ist der Ausdruck defekt.&lt;br /&gt;
** Drucken ist aus Kicad manchmal ein Problem, auch in eine Datei hinein. Aber Plotten und Exportieren in SVG funktioniert gut.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/303043#3249166 Von SVG zu PDF] kommt man über Inkscape. &lt;br /&gt;
** [https://www.mikrocontroller.net/topic/430532#new Aktuell] &lt;br /&gt;
** Problem dabei: [https://www.mikrocontroller.net/topic/431522#new Vektorfonts] &lt;br /&gt;
* Wie kann ich mir einen [http://www.mikrocontroller.net/topic/266037#new Bohrplan ausdrucken], um mit der Hand zu bohren?&lt;br /&gt;
&lt;br /&gt;
==== SVG Plotten ====&lt;br /&gt;
&lt;br /&gt;
* Meine erzeugten SVG Plots sind kaputt. Ich erhalte nur Fehlermeldungen, wenn ich sie in Inkscape oder Gimp einlesen will.&lt;br /&gt;
** Es besteht ein Problem mit dem SVG Export, wenn man Schaltpläne oder Boards in SVG exportiert, die ein Ampersand (Kaufmansund, &amp;quot;&amp;amp;&amp;quot;) im Dateinamen haben. Dieser Dateiname tauch dann innerhalb der SVG Datei in einem Titelblock auf, wo das &amp;quot;&amp;amp;&amp;quot; dann ein Problem bedeutet (Es leitet eine Art Escape-Sequenz ein). Sowohl Kicad als auch Inkscape/Gimp akzeptieren &amp;quot;&amp;amp;&amp;quot; im Dateinamen, und sowol unter Windows als auch Linux ist das &amp;quot;&amp;amp;&amp;quot; im Dateinamen legal....darum bringt auch eine Veränderung des Namens der SVG-Datei keine Lösung. Eine Lösung ist, Grundsätzlich in Kicad keine &amp;quot;&amp;amp;&amp;quot; in Dateinamen zu verwenden, wenn man einen SVG-Export macht. Alternativ kann man mit einem Editor das &amp;quot;&amp;amp;&amp;quot; aus dem Titelblock (Das ist NICHT der Dateiname, sondern in der Datei selber alles zwischen &amp;lt;titel&amp;gt; und &amp;lt;/titel&amp;gt;) der SVG-Datei löschen. Angeblich kommt der Bug aus den verwendeten wx-Bibliotheken. Siehe [https://bugs.launchpad.net/kicad/+bug/1171160 den Bugreport]&lt;br /&gt;
* Wie kann ich unter Windows die SVG Dateien überhaupt nutzen? &lt;br /&gt;
** Die SVG Datei kann mit Microsoft Edge auf einen Drucker gedruckt werden, nützlich bei negativ Plot. Das Öffnen mit GIMP ging mit 1000pixel/in. Das Programm, mit dem sich SVG Dateien am besten bearbeiten lassen, ist aber Inkscape. Davon gibt es sogar einen Windows Ableger.&lt;br /&gt;
** Grundsätzliche Infos zum [https://de.wikipedia.org/wiki/Scalable_Vector_Graphics SVG Format] &lt;br /&gt;
** Grundsätzliche Infos zu [https://de.wikipedia.org/wiki/Inkscape Inkscape]&lt;br /&gt;
&lt;br /&gt;
==== Gerber Export ====&lt;br /&gt;
&lt;br /&gt;
* Kann man Gerber-Dateien exportieren?&lt;br /&gt;
** Ja. Es wird extended Gerber 274X exportiert. Einheit ist inch (doppelt sowohl im 274d als auch im 274x Stil definiert). Die Y-Koordinaten sind im allgemeinen negativ. KiCad verwendet für Flächen das in Gerber spezifizierte Polygon Makro und kein &amp;quot;stroke fill&amp;quot;.&lt;br /&gt;
** Um Gerber Dateien zu erstellen, wählt man aus der oberen Menueleiste ganz links Datei &amp;gt; Plotten und dann oben links unter Plotformat &amp;quot;Gerber&amp;quot; &lt;br /&gt;
** KiCad unterstützt auch die kürzlich eingeführten Gerber-Attribute. Die Anwendung derselben muss aber explizit angewählt werden. Dazu setzt man im Gerber-Plottmenue im Feld &amp;quot;Gerber Optionen&amp;quot; bei &amp;quot;include extended attributes&amp;quot; einen Haken.&lt;br /&gt;
** KiCad kann automatisch die Lötstoppmaske von der Siebdruckmaske (Silk screen - Bestückungsaufdruck) abziehen, damit nicht der Bestückungsaufdruck versehentlich über Pads liegt und dort das Löten verhindert. Dazu muss aber im Gerber-Plottmenue im Feld &amp;quot;Gerber Optionen&amp;quot; bei &amp;quot;Subtrahiere Lötstoppmaske von Siebdruckmaske&amp;quot; ein Haken gesetzt werden.&lt;br /&gt;
* Welche Gerber Lagen werden zur Herstellung einer Platine benötigt?&lt;br /&gt;
** Grundsätzlich zu Herstellung der Platine die Gerberfiles: Alle Kupferlagen, Bestückungsdruck Top und Bottom (Falls auf Bottom was steht), Lötstoppmaske Top und Bottom. Eine Umrisslage mit dem Platinenumriss und Ausfräsungen. Drillfiles (Excellon) Für durchkontaktierte und NICHT durchkontaktierte (NPTH) Bohrungen. Dazu: Ein Textfile mit einer Erläuterung, welche Lage welche ist, sowie Angaben, wie dick die Kupferschichten der Kupferlagen und wie dick die Isolierlagen dazwischen sein sollen, und aus welchem Material. Wenn Du eine einfache rechteckige Platine hast, schreibst Du dort auch noch die Kantenlängen hinein. Wenn die Platinenumrisse komplizierter sind (z.B. verwinkelt, mit Ausfräsungen ec.), noch eine Masszeichnung als Gerber File. Siehe [https://www.mikrocontroller.net/topic/399503#new Forumsbeitrag]&lt;br /&gt;
** Zum Bestücken wird mindestens noch eine Stückliste (BOM) benötigt. Eventuell noch ein spezieller Bestückungsplan (Assembly), wenn der Bestückungsaufdruck nicht reicht. Für SMD eventuell noch die Gerberdaten für Klebstoffmaske und Lötpastenmaske, und eventuell die Pick and Place Daten für den Bestückungsautomaten.&lt;br /&gt;
* Wie kann man den Gerber-Plot so ausdrucken, dass in der Mitte von Pads und Vias ein Zentrierloch frei bleibt?&lt;br /&gt;
** [http://article.gmane.org/gmane.comp.cad.kicad.user/3457 KiCAD Forum]&lt;br /&gt;
* Was ist &#039;&#039;&#039;allgemein&#039;&#039;&#039; beim Export von Gerber Daten zu  beachten?&lt;br /&gt;
** Allgemeine Informationen zum Gerber File Format findet hier: [[Gerber-Tools]] &lt;br /&gt;
** Speziell zu Passermarken/Fiducials (add layer alignment target) diese [https://www.mikrocontroller.net/topic/396624#new Diskussion] &lt;br /&gt;
** [https://www.mikrocontroller.net/topic/428569#new Aktuell]&lt;br /&gt;
* Ich würde gerne meine Gerberdaten gespiegelt ausdrucken, aber das &amp;quot;gespiegelt&amp;quot; ist ausgegraut.&lt;br /&gt;
** Gerber Daten werden nur sehr selten vom Layouter gespiegelt benötigt. Wenn aber doch, so öffne die Gerber Daten mit dem Gerberviewer (Gerbview). Wenn Du dort ausdruckst, kannst du auch spiegeln. Trotzdem solltest Du Dir in dieser [https://www.mikrocontroller.net/topic/466448#new Diskussion] durchlesen, warum Du vermutlich keine Gerberdaten gespiegelt ausdrucken musst &lt;br /&gt;
* Mein Layterplattenfertiger bemämgelt, das meine Gerber Daten fehlerhaft sind.&lt;br /&gt;
** Wenn er negative Koordinaten bemängelt, so sind diese nach der aktuellen Gerber Definition zulässig.&lt;br /&gt;
** Wenn Du trotzdem negative Gerber Koordinaten beim Export vermeiden möchtest, musst Du den Ursprung bzw. das Hilfskoordinatensystem passend setzen. Siehe [https://www.mikrocontroller.net/topic/482457#5999588 Forumsbeitrag]. &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Wenn man einen Offset für Gerber verwendet, muss man den gleichen Haken auch bei den Drillfiles setzten. Sonst sind die Bohrdaten gegenüber den Gerberdaten verschoben.&lt;br /&gt;
** Wegen nicht geschlossener Polygone bzw. doppelter Punkte in Polygonen siehe [https://www.mikrocontroller.net/topic/482457#5999669 Forumsbeitrag] und den [https://bugs.launchpad.net/kicad/+bug/1847714 Bugreport]&lt;br /&gt;
** Ucamco als Schöpfer des Gerberformates bietet einen [https://gerber-viewer.ucamco.com/ Online Viewer] für Gerberdateien, um die Qualität von Gerberdaten zu überprüfen&lt;br /&gt;
&lt;br /&gt;
==== Excellon Drillfiles exportieren ====&lt;br /&gt;
&lt;br /&gt;
* Wie erstelle ich mit KiCad Excellon Drillfiles?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/310333#new Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
==== KiCad Board Dateien direkt zum Hersteller ====&lt;br /&gt;
&lt;br /&gt;
* Bei Bestellungen bei [http://www.pcb-pool.com/ppde/info_dataformat.html PCB-Pool] ist deren GC-Prevue NICHT mehr erforderlich, weil PCB-Pool mittlerweile KiCad *.brd Dateien direkt akzeptiert. Das gilt auch für viele andere Hersteller. im Zweifel dort einmal nachfragen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Trotzdem&#039;&#039;&#039; sollte man &#039;&#039;&#039;besser Gerber Dateien&#039;&#039;&#039; zum Platinenhersteller senden. Das gilt &#039;&#039;&#039;grundsätzlich&#039;&#039;&#039; so auch für andere Platinen Layout Programme. Der Grund ist [[Gerber-Tools#Alternativen_zu_Gerber | hier]] angegeben.&lt;br /&gt;
&lt;br /&gt;
=== Import ===&lt;br /&gt;
* Kann man EAGLE Dateien importieren? (=&amp;gt; Obacht bei Weitergabe der Daten! Die originalen Eagle Dateien könnten mit Urheberrechten belastet sein)&lt;br /&gt;
** Ja. Voraussetzung ist, dass das Eagle Projekt im XML-Format vorliegt. Das ist automatisch der Fall, wenn man Eagle 6 (6.6?) oder aktueller benutzt und darin speichert. Dieses Projekt kann dann in aktuellen KiCad Versionen (5.x oder 6?) geöffnet und als KiCad Projekt gespeichert werden. Dazu das Eagle Projekt für diesen Zweck vorher in einen separaten Ordner kopieren. Dann im KiCad Hauptfenster aus dem Pulldown Menue Datei &amp;gt; Projekt importieren &amp;gt; Eagle CAd wählen.&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/474387#new Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/articles/KiCad#Konverter Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/70905#797416 Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/120373#1089933 Forumsbeitrag]&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/417848#new Forumsbeitrag]&lt;br /&gt;
* Wie bindet man fremde KiCad Bibliotheken ein?&lt;br /&gt;
** EESchema (Schaltplaneditor) starten, unter Einstellungen &amp;quot;Bibliothek&amp;quot;  auswählen, auf &amp;quot;Hinzufügen&amp;quot; klicken, neue Bibliothek auswählen dann &amp;quot;öffnen&amp;quot; und in der Projektdatei &amp;quot;Speichern&amp;quot;. Gültig für Version 20090216Final, 2011-04-29-BZR2986-WinXP und Version: (2011-11-27 BZR 3249)-stable unter Platform: Linux 2.6.32-5-686 i686, 32 bit, Little endian, wxGTK.&lt;br /&gt;
&lt;br /&gt;
** VERALTET! Das Verfahren zur Einbindung eigener oder fremder Bibliotheken ist under PCBnew genauso.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/356855#3988114 Forumsbeitrag]&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&lt;br /&gt;
Es empfielt sich dringenst, eigene Bibliotheken &#039;&#039;&#039;NICHT&#039;&#039;&#039; zu den KiCad Bibliotheken im Ordner kicad/share/library bzw. kicad/share/modules für Footprints zu speichern, weil diese dort bei einem Upgrade von KiCad gelöscht würden. Stattdessen sollte man sich einen KiCad Ordner im eigenen home bzw. Benutzerverzeichnis (oder sonstwo, wo es opportun ist, und man Schreibrechte hat) anlegen, mit einem Ort, um eigene Bibliotheken abzulegen. Dies ist ein eher allgemeiner Hinweis, der so nicht nur für KiCad. sondern auch für die meisten CAD-Programme gelten dürfte.&lt;br /&gt;
&lt;br /&gt;
=== Neues Projekt ===&lt;br /&gt;
Ein neues Projekt legt kicad automatisch nach der in kicad/share/template hinterlegten Projektdatei an. Möchte man, das kicad ein neues Projekt von vorneherein nur mit ausgewählten eigenen Bibliotheken anlegt, so ist eine entsprechende Projektdatei unter kicad/share/template/kicad.pro abzulegen.&lt;br /&gt;
Dies erfordert dort Schreibrechte. Linux roots müssen diese Datei anschliessend mit chmod 755 Dateiname für user lesbar machen.&lt;br /&gt;
Bei einem upgrade würde kicad.pro gelöscht. Daher sollte man sich davon eine Sicherheitskopie in seinem benutzerverzeichnis hinterlegen.&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen sichern / wiederherstellen===&lt;br /&gt;
* Wo speichert KiCad die Einstellungen ab und wie lassen sich die originalen Einstellungen wiederherstellen?&lt;br /&gt;
** [[http://kicad.sourceforge.net/wiki/index.php/DE:KiCadHB#Einstellungen_sichern_.2F_wiederherstellen]]&lt;br /&gt;
**Man erstelle ein neues Projekt beliebigen Namens, nehme alle Einstellungen (Bibliotheken, Pfade usw.) vor und speichere diese in der aktuellen Projektdatei &amp;quot;name.pro&amp;quot;. Im Ordner KiCad Verzeichnis ....../kicad/share/template befindet sich eine Datei &amp;quot;kicad.pro&amp;quot;. Diese Datei &amp;quot;kicad.pro&amp;quot; ist die &amp;quot;Musterprojektdatei&amp;quot;, die für alle neuen Projekte verwendet wird. Man benenne sie um in &amp;quot;kicad-orig.pro, und kopiere die aktuelle Projektdatei &amp;quot;name.pro&amp;quot; nun als &amp;quot;kicad.pro&amp;quot; in diesen Template-Ordner. Leider Funktioniert dieses Verfahren nicht in allen KiCad Versionen. Den originalen Zustand stellt man wieder her, indem man &amp;quot;kicad.pro&amp;quot; umbenennt, und &amp;quot;kicad-org.pro&amp;quot; wieder in &amp;quot;kicad.pro&amp;quot; zurückumbenennt.&lt;br /&gt;
&lt;br /&gt;
=== Bitmaps als Symbol oder Footprint importieren ===&lt;br /&gt;
Der Programmteil Bitmap2component wandelt Bitmaps wahlweise in Symbole oder in Footprints um. Auf diese Weise können also auch Logos oder spezielle Muster für HF-anwendungen in KiCad importiert werden, sobald sie als Bitmap vorliegen. Es gibt allerdings auch andere Möglichkeiten, Grafiken zu importieren. Siehe [https://www.mikrocontroller.net/topic/428745#new Forumsbeitrag].&lt;br /&gt;
&lt;br /&gt;
== Tipps&amp;amp;Tricks / Eigenheiten / Bugs ==&lt;br /&gt;
&lt;br /&gt;
* Nachbearbeitung mit Skript oder Texteditor (Pin Swapping, Versionskontrolle via SVN, Generierung von Packages aus UCF-Listen) &lt;br /&gt;
** http://www.mikrocontroller.net/topic/120373#1100467&lt;br /&gt;
** http://www.mikrocontroller.net/topic/96860#836967&lt;br /&gt;
** http://stawoo.com/dokuwiki/doku.php?id=ecld:kicad:board&lt;br /&gt;
&lt;br /&gt;
* Veraltet! (2006) Schaltplan: Durchnummerieren von GND und PWR erforderlich http://www.mikrocontroller.net/topic/39243#290309&lt;br /&gt;
&lt;br /&gt;
* Zum Verbinden von Schaltplan und Layout müssen an den Bauteilen die Pinnummern mit den Padnummern der Footprints korrespondieren. Das ist &amp;quot;defaultmäßig&amp;quot; nicht immer zu erreichen, weil es unterschiedliche Nummerierungssysteme gibt. Ausser dem Anlegen eines speziellen Footprints kann diese Anpassung für einzelne Bauteile wärend des Layoutens im Moduleditor vorgenommen werden. http://www.mikrocontroller.net/topic/186121#1805890&lt;br /&gt;
* Ich habe einen hierarchischen Schaltplan angefertigt, indem sich eine Schaltung zig mal wiederholt. Eine dieser Subschaltungen habe ich schon geroutet, und möchte dieses Layout genau wie die hierarchischen Schaltpläne mehrfach auf dem Board verwenden.&lt;br /&gt;
** In PCBnew lassen sich mit &amp;quot;Datei&amp;gt;Platine hinzufügen&amp;quot; auch schon geroutete Gruppen von Bauteilen quasi als Modul einfügen, wenn sie zuvor als Board abgelegt wurden. Ebenso kann eine Bauteilgruppe, die in der Form mehrmals vorkommt, und die die schon einmal geroutet worden ist, gruppiert, kopiert und wiederverwended werden. Die dazu nötige Annotation und das Löschen der überzähligen Bauteile muss aber sorgfältig von Hand gemacht werden. &#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; In neueren Versionen von PCBnew ist diese Funktion ausgegraut, wenn PCBnew &amp;quot;normal&amp;quot; aus dem Menue des KiCad Hauptfensters gestartet wurde. Um diese Funktion zu aktivieren, KiCad schliessen und PCBnew wie ein alleinstehendes Program direkt starten.&lt;br /&gt;
** Wer seinen Subschaltplan separat routen möchte, sollte den Subschaltplan explizit in EEschema öffnen und die Netliste nur dieses Subschaltplanes exportieren. Diese Netlist in ein neues Board in PCBnew einlesen und wie üblich routen.&lt;br /&gt;
* Bibliotheken verwalten, umsortieren bzw. neu strukturieren: http://www.mikrocontroller.net/topic/187107#1817559 &lt;br /&gt;
&lt;br /&gt;
* Layout: Rest-Gummiband an Pins http://www.mikrocontroller.net/topic/120373#1092375&lt;br /&gt;
&lt;br /&gt;
* Produktion: http://www.mikrocontroller.net/topic/98034#848965&lt;br /&gt;
&lt;br /&gt;
* Bug in Version 2010-03-14: Unter Einstellungen lässt sich keine einseitige Platine wählen (wichtig für Autorouter). Lösung: Modifikation des .brd Files mit einem Editor [http://www.mikrocontroller.net/topic/172015#1651239]:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;&lt;br /&gt;
:In der *.brd Datei gleich ganz oben...&lt;br /&gt;
:&lt;br /&gt;
:$GENERAL&lt;br /&gt;
:LayerCount 2                 -&amp;gt; auf 1 setzen&lt;br /&gt;
:&lt;br /&gt;
:$SETUP&lt;br /&gt;
:InternalUnit 0.000100 INCH&lt;br /&gt;
:ZoneGridSize 250&lt;br /&gt;
:Layers 2                     -&amp;gt; auf 1 setzen&lt;br /&gt;
:Layer[0] Rückseite power&lt;br /&gt;
:Layer[15] Vorderseite power  -&amp;gt; hab&#039; ich mal beides so gelassen&lt;br /&gt;
:&amp;lt;/pre&amp;gt;                                                                aktueller: http://www.mikrocontroller.net/topic/172015#1794699&lt;br /&gt;
&lt;br /&gt;
* Das Anlegen von Symbolen/Bauteilen in aufgelöster Darstellung ist etwas stolperig. Siehe: http://www.mikrocontroller.net/topic/294095#3136180&lt;br /&gt;
&lt;br /&gt;
* Es empfielt sich, in Kicad vorläufig KEIN Ampersand (Kaufmansund, &amp;quot;&amp;amp;&amp;quot;) im Namen einer Schaltplan- oder Boarddatei zu Verwenden. Es besteht ein Bug beim Export/Plotten nach SVG. Siehe oben unter &amp;quot;Drucken / Export&amp;quot; und dann &amp;quot;Meine erzeugten SVG Plots sind kaputt.&amp;quot;. Siehe auch: http://tech.groups.yahoo.com/group/kicad-users/message/14952&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kühlkörper&#039;&#039;&#039; können als Symbol und Footprint (Modul) angelegt werden. Die Befestigungslöcher können im  Modul als Pad ausgeführt werden. Die Padnummer aller Pads sollte gleich sein (gleicher Anschluss / über Kühlkörper verbunden), z.B. &amp;quot;1&amp;quot;. Entsprechend ein Symbol mit Pin und korrespondierender Pinnummer anlegen. Wenn der Kühlkörper elektrisch nirgendwo verbunden sein soll, dann die Anschlusspinne im Schaltplan als &amp;quot;unused&amp;quot; markieren. Als Referenz in Symbol und Footprint habe ich &amp;quot;HS&amp;quot; (HeatSink) gewählt. Es ist zu überlegen, ob &amp;quot;HS&amp;quot; nicht auch als Padnummer besser wäre.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kartenumrisse/Outlines&#039;&#039;&#039;: Für immer wiederkehrende Platinengrössen, z.B. die beliebte Eurokarte, kann zur Vereinfachung des Zeichnens einmal ein Eurokartenumriss im Layer &amp;quot;outlines&amp;quot; gezeichnet werden, und als Modul abgelegt werden. Um die Zahl der Kollisionen beim Einlesen der Netzliste zu verringern, wird im Schaltplan ein Dummy-Symbol ohne Pinne angelegt. In CVpcb dann dieses Symbol mit dem passenden Kartenumriss Footprint/Modul verbinden, und es wird automatisch in PCBnew eingefügt. Als Referenz in Symbol und Footprint habe ich &amp;quot;Outl&amp;quot; (OUTLine) gewählt.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sprachanpassung&#039;&#039;&#039;: Ich will mein KiCad auf Deutsch / Englisch / Französisch / Finnisch oder sonst eine Sprache umstellen. Wie geht das?&lt;br /&gt;
** Siehe : http://www.mikrocontroller.net/topic/262039#2719056&lt;br /&gt;
**Die deutsche Übersetzung der Texte und Hilfetexte/Tooltips ist manchmal etwas unelegant. Wem so etwas auffält, bitte Mitteilung am Ende dieses Threads: http://www.mikrocontroller.net/topic/255932#2641638 (deutschsprachig) oder an die KiCad user group unter https://groups.yahoo.com/neo/groups/kicad-users/info (englischsprachig, auch bei Fällen wo es um die deutsche Übersetzung geht). Diese Mitteilungen nach Möglichkeit nicht in Launchpad.&lt;br /&gt;
** Ich habe aber keine Möglichkeit, die Sprache umzustellen!&lt;br /&gt;
*** Wenn Debian eine Fehlermeldung &amp;quot;Cannot set locale to &#039;xy_XY&#039;. kommt, ist die entsprechende Umgebung nicht installiert. Unter Debian als root in der Konsole: &amp;quot;dpkg-reconfigure locales&amp;quot; aufrufen. Es öffnet sich eine ncurses-gui, wo die entsprechenden Einstellungen gemacht werden können. Für &amp;quot;Deutsch&amp;quot; wähle ich &amp;quot;de_DE.utf8&amp;quot;.&lt;br /&gt;
*** Wenn nichts passiert, fehlen möglicherweise die localisierungs Dateien. Sie sind NICHT Teil der Sourcen, und finden sich in http://bazaar.launchpad.net/~kicad-developers/kicad/doc/files/head:/internat/. Auf Debian und verwandten Systemen müssen die einzelnen localisationsordner, z. B. &amp;quot;de&amp;quot; nach /usr/local/share/kicad/internat kopiert werden. Dann als root dort Leserechte erteilen mit &amp;quot;chmode -R 755 /usr/local/share/kicad/internat&amp;quot;.&lt;br /&gt;
*** Wenn ein Mischmasch aus Englisch und der gewählten Sprache existiert, sind entweder nicht alle Begriffe übersetzt (siehe oben) oder wegen Umbenennung von Variablen ist eine Inkonsistenz entstanden. Siehe: http://www.mikrocontroller.net/topic/326622#3565178&lt;br /&gt;
** Für die KiCad Localsisation wird &amp;quot;GNU gettext&amp;quot; verwendet. Eine kleine Hilfestellung zur Anpassung der Localisation findet sich hier: http://docs.kicad.org/en/gui_translation_howto.html. Info zu Gnu gettext findet sich hier: http://de.wikipedia.org/wiki/GNU_gettext&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Projektdateien (.pro) Pfadschreibweise&#039;&#039;&#039;: In einer Windowsumgebung ist es anscheinend nötig, relative Pfade speziell zu kennzeichnen. Siehe: http://www.mikrocontroller.net/topic/326869#new&lt;br /&gt;
&lt;br /&gt;
=== Problem: Der Ursprung für die Pick und Place bzw. Drill-Daten wurde verändert und lässt sich nicht zurücksetzten. === &lt;br /&gt;
Siehe: http://www.mikrocontroller.net/topic/363280#new&lt;br /&gt;
&lt;br /&gt;
=== Problem: Case Senitive Symbols ab BZR4646 (Jan./Feb. 2014) in Schaltplänen. (Migration alter Projekte auf neue) ===&lt;br /&gt;
Ab BZR4646 sind die Symbole in Eeschema &amp;quot;Case Sensitive&amp;quot;. Das bedeutet: In alten Schaltplandateien wurden für die Symbolnamen nur Großbuchstaben verwendet, auch wenn die Originalnamen in der Library Kleinbuchstaben enthielten. Ab BZR4646 werden die Symbolnamen in den Schaltplandateien genauso geschrieben wie die Originalnamen in der Library. Leider werden dadurch bei alten Schaltplandateien die großgeschriebenen Symbolnamen nicht mehr in den Bibliotheksdateien erkannt. Auch nicht in den &amp;quot;-cache.lib&amp;quot; Dateien. Ganz so kritisch, wie es sich anhört, ist es wiederum auch nicht, weil KiCad schon seit geraumer Zeit die Schaltpläne in der neuen Version speichert. Jemand, der mit aktuellen KiCad Versionen an aktuellen Schaltplänen arbeitet, wird darum den Übergang vermutlich nicht bemerken. Allerdings tritt das Problem bei alten Schaltplänen auf, die möglicherweise Jahrelang unberührt auf der Festplatte lagen. Um die Symbolnamen in diesen alten Schaltplandateien anzupassen, existiert das Python3 Skript &amp;quot;PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip&amp;quot;. Es ist ein &amp;quot;Stand alone&amp;quot; Python3 skript, das nicht in das KiCad interne Python skripting eingebunden ist. Die Datei kann hier bezogen werden:[[Media:PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip]].&lt;br /&gt;
Autor: Bernd Wiebus, GNU-GPL.&lt;br /&gt;
&lt;br /&gt;
Be einigen Linux Distributionen (z.B. Archlinux) wird neben Python 3 auch noch das Paket &amp;quot;python3-tk&amp;quot; benötigt. Oder eine irgendwie anders genannte Einbindung von Tkinter in Python3. Anmerkung: &amp;quot;Tkinter&amp;quot; für Python3 wird im allgemeinen kleingeschrieben &amp;quot;tkinter&amp;quot; zur Unterscheidung vom großgeschriebenen &amp;quot;Tkinter&amp;quot; für das alte Python(2). &lt;br /&gt;
Sonst gibt es die Fehlermeldung &amp;quot;ImportError: No module named tkinter&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Manueller Start mit: &amp;quot;python3 PyKiCad-CaseSensitiveLibCure_RevD_13Mar2015.py&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dieses Skript kann benutzt werden, um Schaltpläne, die mit der Eeschema Version (2013-11-29 BZR 4513) von Ende 2013, die in Linux Repositorys (z.B. Debian 7 &amp;quot;Wheezy&amp;quot;) noch sehr verbreitet ist, auf aktuelle KiCad Versionen anzupassen.&lt;br /&gt;
&lt;br /&gt;
In RC4 übernimmt ein &amp;quot;Rescue-Helper&amp;quot; diese (und andere) Funktion. Aber auch dieser kann genau wie das Python Skript nur funktionieren, wenn entweder die Originalsymbole (Cache.lib!) oder entsprechend benannte Nachfolger der Bibliotheken existieren, so dass ein auf den Namen passendes Symbol existiert.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Backporting KiCad-Board Dateien (.kicad_pcb) von Version 4 auf Version 3 2014/2015) ===&lt;br /&gt;
&lt;br /&gt;
Möchte man z.B mit einer KiCad/PCBnew Version BZR 4027 vom 22 Juni 2014, welche in vielen Repositorys noch weit verbreitet ist, eine Board-Datei ( .kicad_pcb), die mit einer neueren PCBnew Version erstellt wurde, z.B. einer BZR 5513 vom 14. März 2015 (die aktuell kompiliert wurde), öffnen, so stösst man auf Probleme. Aktuell die BZR 5513 verwendet für die Board Dateien Version 4, und die alte BZR 4027 verwendet dort die Version 3. Obwohl das Schema der Boarddateien fast gleich ist, enthält die Version 4 Elemente, die es zur Zeit der Version 3 noch nicht gab, und die darum zu Fehlermeldungen und zum Abbruch des Einlesens der Datei führen. Diese Neuerungen beziehen sich auf den Export von Gerberfiles mit Attributen sowie Platinenlagen, die es vorher noch nicht gab. Diese Fehler sind dank der einfachen, klarschriftlesbaren Filestruktur von KiCad sehr leicht mit einem Texteditor zu beheben. Eine Beschreibung, wie dieses manuell zu machen ist, finden Sie hier: [[Media:KiCad-PCBnewBoardDateienMigrierenVonVersion4Auf5.pdf]] Achtung Irrtum: Hier sind Version 4 und 5 genannt, dabei sind aber Version 4 und 3 gemeint.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Portieren von älteren KiCad-Board Dateien auf neuere Versionen.  ===&lt;br /&gt;
&lt;br /&gt;
In einigen Fällen funktioniert das Erkennen von selbstvergebenen Layer Namen aus der älteren Version nicht. Abhilfe schafft das manuelle Umbenennen der betroffenen Layer per Editor in den Board Dateien in KiCad-Standard Bezeichnungen und natürlich das konsequente Einpflegen in den Rest der Datei. Eine Vorstellung, wie das zu bewerkstelligen ist, ist ebenfalls aus [[Media:KiCad-PCBnewBoardDateienMigrierenVonVersion4Auf5.pdf]] zu ersehen. Achtung Irrtum: Hier sind Version 4 und 5 genannt, dabei sind aber Version 4 und 3 gemeint. Einen Überblick, welche Layernamen die jeweils aktuelle KiCad Version verwendet, bekommt man indem man sich ein Testboard anlegt, indem ALLE möglichen Layer verwendet werden, dieses abspeichert und sich die Datei mit einem Texteditor ansieht.&lt;br /&gt;
Die Portierung von alten KiCad-board Dateien (Projektname.brd) funktioniert dagegen im Allgemeinen problemlos.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Neue leere Footprintbibliothek kann nicht erstellt werden (kicad Version: 4.0.0~rc1a-stable release build / RC4) ===&lt;br /&gt;
&lt;br /&gt;
Soll eine neue, leere Footprintbibliothek angelegt werden, so funktioniert das nicht mit den angebotenen Tools (z.B. dem Wizzard) weil die automatisch den Typ der Bibliothek ermitteln wollen, was nicht funktioniert, weil die Bibliothek noch leer ist. Auch das manuelle Eintragen des Pfades funktioniert nicht, weil die leere Bibliothek nicht als solche erkannt wird, und wegen dieses Fehlers der Abschluss des Eintrages nicht übernommen wird. Abhilfe schafft dabei das Anlegen eines Ordners &amp;quot;Bibliotheksname.pretty&amp;quot; (Erinnerung: Neue KiCad Footprintbibliotheken bestehen aus einem Ordener &amp;quot;xyz.pretty&amp;quot;, indem die einzelnen Footprints jeder für sich in einer extra Datei &amp;quot;Footprintname.kicad_mod&amp;quot; existieren). Anschliessend kopiert man eine einzige beliebige Footprintdatei &amp;quot;Nameirgendwie.kicad_mod&amp;quot; in diesen Ordner. Somit ist &amp;quot;Bibliotheksname.pretty&amp;quot; eine &amp;quot;echte&amp;quot; Bibliothek, welche als solche problemlos eingebunden werden kann. Enthält die Bibliothek dann irgendwann die gewünschten richtigen Einträge, so kann der Footprint, der zu Anfangs zum Erstellen der Bibliothek hineinkopiert wurde, auch wieder gelöscht werden.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Fehlende Backannotationsmöglichkeit in KiCad ===&lt;br /&gt;
&lt;br /&gt;
Es gibt Leute, die sich in KiCad eine Backannotationsmöglichkeit wünschen (andere warnen davor, sowas zu benutzen, selbst wenn es existiert). KiCad bietet aktuell selber diese Möglichkeit nicht, doch lässt sich aufgrund der offenen Dateistrukturen ein z.b. Python Skript schreiben, welchess die Backannotation durchführt. Als ein Beispiel siehe hier: &amp;lt;ref&amp;gt;https://hasanyavuz.ozderya.net/?p=256&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Problem: Platinenerstellung durch Isolationsfräsen ===&lt;br /&gt;
&lt;br /&gt;
Einer der möglichen Wege ist hier beschrieben: https://www.daedalus.ei.tum.de/index.php/de/3d-druck-cnc/cnc/layout-und-g-code-erstellung-mit-kicad  Allerdings scheint die dort erwähnte Software mittlerweile aus einer anderen ecke zu kommen: http://carbide3d.com/apps/pcb/community.html Es gibt aber noch andere Wege, zb. über: http://flatcam.org/discussion#!/?HPGL Eine Diskussion dazu findet sich hier: https://www.mikrocontroller.net/topic/447442#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Building Blocks ===&lt;br /&gt;
* Eine unfertige Dokumentation, wie man das hierarchische Schaltplansystem von KiCad verwendet, um daraus schnell und rationell Schaltpläne mit vorgefertigten Schaltplänen (Building Blocks) nach dem Baukastensystem aufzubauen. Enthält auch ein Beispielprojekt. Beachte die Liesmich.txt Datei. [[Media:BuildingBlocksKiCad-EXPERIMENTELL.zip]] Das File  KiCad-HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf, enthält eine vorläufige Beschreibung dazu. KiCad-HierarchischeSchaltplaene+buildingBlocksRevA-EN.pdf is an English description how to use hirarchical schematics as building blocks for a fast and rationel schematic design. Es fehlt noch die Übersetzung und die Bebilderung und ein paar Berichtigungen und Ergänzungen. ;-) . Das echte Hauptbeispielprojekt ist UnderVoltageDetector24V-2Group_Experimental.pro bzw. UnderVoltageDetector24V-2Group_Experimental.sch. Im Ordner Experimentalprojekt23052010 findet sich ein weiterer Ordner BuildingBlocksExperimental. Dieser enthält die Ausgangsbausteine VoltageRegulatorBuildingBlock.sch mit VoltageRegulatorBuildingBlock-cache.lib und  VoltageDetectorBuildingBlock.sch mit VoltageDetectorBuildingBlock-cache.lib. Die Projektdateien der Buildingblocks .pro sind nur der Vollständigkeit und zur leichteren Bearbeitung zugefügt. Aus VoltageDetectorBuildingBlock.sch und VoltageRegulatorBuildingBlock.sch wurde (nach umkopieren, umbenenen und kleiner Änderung) im übergeordneten Ordner das Projekt VoltageRegulatorBuildingBlock.pro unter verwendung des &amp;quot;Zwischenbuildingblocks&amp;quot; UnderVoltageDetectorBuildingBlock.sch zusammengesetzt. NICHT VERGESSEN DIE CACHE.LIB EINZUBINDEN! Sonst gibt es nur Fragezeichen statt Bauteile. Das Beispielprojekt enthält eine 24V Unterspannungsüberwachung für einen Bleiakku, die zwei 12V Gruppen überwacht. Nicht elegant, aber hoffentlich robust. Autor: Bernd Wiebus , GNU-GPL. Der dazubezügliche Beitrag im Forum ist: http://www.mikrocontroller.net/topic/178683#1724114&lt;br /&gt;
*[[Media:HierarchischeSchaltplaeneAlsBausteineInKicad_RevC_23Dec2013.pdf]] VERBESSERTE und AKTUALISIERTE Version von KiCad-HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf aus obiger Zip-Datei. Beschreibt, wie mit Hilfe der hierarchischen Schaltplanstruktur aus einzelnen, vorgefertigten Schaltplänen schnell und rationell neue Schaltpläne modular zusammengesetzt werden können. There is also a English translation of this tutorial about using hierarchical schematics as building blocks. You can get it here: [[Media:HierarchicalSchematicsAsBuildingblocksAtKiCad_RevC-EN_06May2015.pdf]]&lt;br /&gt;
* Eine Sammlung von gängigen Schaltungen mit den Längstreglern LM317 /LM78xx /LM79xx und dem Timer 555, die nach dem in obig erwänten Dokument KiCad_HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf beschriebenen Vorgehen als Building Blocks in KiCad verwendet werden können, findet sich unter: http://www.mikrocontroller.net/articles/KiCad#Building-Blocks&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Shortcuts/Hotkeys ===&lt;br /&gt;
&lt;br /&gt;
KiCad besitzt eine ganze Anzahl von Shortcuts/Hotkeys. Diese lassen sich editieren, abspeichern und importieren.&lt;br /&gt;
Dieses erfolgt in EEschema, dem Symboleditor und in PCBnew in der oberen Menueleiste unter &amp;quot;Einstellungen&amp;quot; &amp;gt; &amp;quot;Tastaturbefehle&amp;quot; (&amp;quot;Preferences&amp;quot; &amp;gt; &amp;quot;Hotkeys&amp;quot;). Dort finden sich weitere Menuepunkte, um eine Liste der verfügbaren Hotkeys anzuzeigen, die Hotkeys zu editieren oder um sie zu exportieren oder importieren.&lt;br /&gt;
&lt;br /&gt;
Eine &#039;&#039;&#039;Liste&#039;&#039;&#039; der aktuell verfügbaren Hotkeys erhält man mit &amp;quot;?&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Es gibt eine Reihe von Hotkeys, die in EEschema, dem Symboleditor und PCBnew gleich sind:&lt;br /&gt;
&lt;br /&gt;
*Help (this window)		?&lt;br /&gt;
*Zoom In			        F1&lt;br /&gt;
*Zoom Out			F2&lt;br /&gt;
*Zoom Redraw			F3&lt;br /&gt;
*Zoom Center			F4&lt;br /&gt;
*Fit on Screen			Home&lt;br /&gt;
*Reset Local Coordinates	Space&lt;br /&gt;
*Edit Item			E&lt;br /&gt;
*Delete Item			Del&lt;br /&gt;
*Rotate Item			R&lt;br /&gt;
*Drag Item			G&lt;br /&gt;
*Undo				Ctrl+Z&lt;br /&gt;
*Redo				Ctrl+Y&lt;br /&gt;
*Mouse Left Click		Return&lt;br /&gt;
*Mouse Left DClick		End&lt;br /&gt;
&lt;br /&gt;
Die anderen variieren je nachdem, in welcher Umgebung man sich befindet.&lt;br /&gt;
&lt;br /&gt;
Ein wichtiger Hotkey in PCBnew ist &amp;quot;T&amp;quot;. Wird &amp;quot;T&amp;quot; gedrückt, poppt ein Fenster auf, in dem nach dem Referenzbezeichner des Bauteils gefragt wird. Den gibt man ein, drückt &amp;lt;Enter&amp;gt; und der Footprint des Bauteiles hängt am Mauszeiger. Das ist eine wichtige Funktion beim &#039;&#039;&#039;Plazieren der Bauteile&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Eine PDF Datei mit Notizen zu den Shortcuts in KiCad und Listen von Shortcuts findet sich hier: [[Media:KiCad-Shortcuts-Hotkeys_Notizen_BZR4803_28Jun2014.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Lochraster/Lötleisten Platinen Entwurf mit KiCad ===&lt;br /&gt;
&#039;&#039;&#039;Dieses hier beschriebene Verfahren ist KiCad unabhängig und geht grundsätzlich mit jedem Layoutprogramm, das ein Raster anzeigen kann.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Wer viel mit Lochraster Platinen arbeitet, hat gelegentlich auch ein Bedürfnis, diese Tätigkeit mit einem Layoutprogramm zu begleiten. Zum einen um den Platzbedarf besser abschätzen zu können, zum anderen, um dadurch auch eine schnelle und einfache Dokumentation auch für Lochrasterprojekte zu schaffen. Auch dazu kann KiCad verwendet werden.&lt;br /&gt;
* Vorgehensweise: Schaltplan in Eeschema erstellen wie üblich, Netzliste erzeugen, und in CVpcp die Bauteile zuordnen. In PCBnew dann das Raster einblenden und auf 2,54mm (100mil) stellen. Nun geben die Rasterpunkte die Position der Löcher der Lochrasterplatine vor. Nach dem Einlesen der Netzliste bei Lochraster mit Streifenleitungen am besten zweiseitig manuell routen. Auf der Unterseite der Richtung der Streifenleitung in Längstrichtung folgen (z.b. wagerecht). Auf der Oberseite die Brücken dazu quer legen (z.B. senkrecht). Zweipolige Bauteile immer senkrecht oder wagerecht positionieren. &lt;br /&gt;
** Wer eine Platine erstellen möchte, die nur teilweise ein Lochraster aufweist, dem sei diese Diskussion empfohlen: https://www.mikrocontroller.net/topic/369534#new&lt;br /&gt;
* Noch ein Vorschlag für Lochraster bzw. Lötleistenentwürfe in KiCad: http://www.mikrocontroller.net/topic/395181#4547206&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: KiCad und Freeroute ===&lt;br /&gt;
Leider ist die Freeroute Seite abgeschaltet. Grund:http://www.mikrocontroller.net/topic/337014#new Allerdings gibt es eine Möglichkeit, Freeroute selber zu installieren und zu nutzen: https://github.com/nikropht/FreeRouting und http://freerouting.net/index_de.php &lt;br /&gt;
*Freerouting einseitig bzw. für Lochraster verwenden: http://www.mikrocontroller.net/topic/363335#new&lt;br /&gt;
*Fehlermeldungen beim Start von Freeroute: Es ist wichtig, dass der Leiterplattenumriss in der Lage edge.cuts geschlossen ist: https://www.mikrocontroller.net/topic/435039#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: KiCad und Specctra Autorouter ===&lt;br /&gt;
Es treten beim Export der Netzlisten/Designs Fehlermeldungen der Art: &amp;quot;IO_ERROR: Multiple components have identical reference IDs&amp;quot; auf, obwohl offensichtlich keine doppelten Referenzbezeichner vergeben wurden.&lt;br /&gt;
* Die &amp;quot;doppelten Referenzbezeichner&amp;quot; sind doch &amp;quot;irgendwie&amp;quot; versteckt vorhanden. Z.B. dadurch, das Bauteile nicht Referenziert oder Annotiert wurden. Im Zweifel die Files mit einem Texteditor danach durchsuchen, oder die Autoannotation über das Board laufen lassen. Siehe: https://www.mikrocontroller.net/topic/365185#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Platinen von ALLPCB ===&lt;br /&gt;
Hinweise, wie die Design Restrictions von ALLPCB in KiCad umgesetzt werden können, als Beispiel auch für andere Platinenhersteller (entsprechend anpassen)&lt;br /&gt;
* https://www.mikrocontroller.net/topic/443533#new&lt;br /&gt;
&lt;br /&gt;
= Bibliotheken =&lt;br /&gt;
&lt;br /&gt;
== Handhabung von Bibliotheken ==&lt;br /&gt;
&lt;br /&gt;
=== Eeschema ===&lt;br /&gt;
&lt;br /&gt;
* Symbolbibliotheken in Eeschema einbinden.&lt;br /&gt;
** Zur Benutzung müssen Bibliotheken mit Symbolen in das Bibliotheksverzeichnis von Eeschema eingetragen werden. Siehe: https://www.mikrocontroller.net/topic/416835 [[Bild:EeschemaBibliotheksliste.png|300px|thumb|right|Bearbeitung einer KiCad 4 Eeschema Bibliotheksliste]]&lt;br /&gt;
* Cache Bibliothek:&lt;br /&gt;
**  Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Aus diesem Grunde existiert zu jeder Schaltplandatei (Dateiname.sch) eine Cache Bibliothek (Dateiname-cache.lib). Diese enthält alle im Schaltplan verwendeten Symbole, und sollte darum mit dem Schaltplan zusammen übergeben werden. Diese Cache-Bibliothek sollte auch in die Bibliothekstabelle übernommen werden.&lt;br /&gt;
* Fehler mit Case-Senitiven Bibliotheken&lt;br /&gt;
** Ab BZR4646 (Jan./Feb. 2014) behandelt KiCad Symbolnamen &amp;quot;Case Sensitive&amp;quot;. Das führt zu Problemen mit älteren Schaltplänen, wo &amp;quot;Mixed Case&amp;quot; Symbolnamen aus den Bibliotheken automatisch in &amp;quot;Upper Case&amp;quot; Symbolnamen konvertiert wurden. Diese werden jetzt nicht mehr erkannt. Näheres siehe: http://www.mikrocontroller.net/articles/KiCad#Problem:_Case_Senitive_Symbols_ab_BZR4646_.28Jan..2FFeb._2014.29&lt;br /&gt;
&lt;br /&gt;
== Bibliothekssammlungen ==&lt;br /&gt;
&lt;br /&gt;
In diesem Abschnitt sollen unsere Arbeiten an Bibliotheken koordiniert werden. Dabei sollen alle Arbeiten unter der Creative Commons Lizenz stattfinden. Das heisst insbesondere, dass keine Arbeiten mit anderem Copyright unseren Bibliothekspool vergiften sollen z.&amp;amp;nbsp;B. durch unerwünschte Konvertierung von EAGLE-Bibliotheken.  &lt;br /&gt;
&lt;br /&gt;
Unsere Designziele sind:&lt;br /&gt;
* Frei benutzbar (Creative Commons Lizenz) &lt;br /&gt;
* Einheitlich (Richtlinien?)&lt;br /&gt;
** Vorschlag von Marko für Bohrungen und Pads siehe [http://www.mikrocontroller.net/topic/124070#1176177]&lt;br /&gt;
** Die Richtlinien, die die KiCad Librarys selber verwenden: [https://github.com/KiCad/kicad-library/blob/master/KiCad_Library_Convention.txt]&lt;br /&gt;
* Fehlerfrei (Nachkontrolle durch andere User)&lt;br /&gt;
&lt;br /&gt;
=== Wünsche ===&lt;br /&gt;
&lt;br /&gt;
Hier soll eine Strichliste geführt werden, welche neuen Bauteile gesucht sind bzw. welche oder besseren, genaueren Versionen benötigt werden. Bitte gebt an, was bei bestehenden Bauteilen problematisch ist.&lt;br /&gt;
&lt;br /&gt;
Bevor wir Bibliotheken erstellen, sollten auf jeden Fall einige Parameter - insbesondere für die Schaltplansymbole - festgelegt werden: Pinlänge, Pinabstand, Größe der Schriften, Konventionen bzw. Nummerierung (z.B. bei gepolten Bauteilen wie Dioden, Elkos usw.). Sonst entsteht Wildwuchs, weil jeder für sich anderes festlegt.&lt;br /&gt;
&lt;br /&gt;
* Stehende Layouts für 7805 und N-FETs: ||||&lt;br /&gt;
** Passt TO220_VERT ? Natürlich! Nur die Anschlussnumerierung muss ev. passend adaptiert werden. Ist unter &amp;quot;TO-220&amp;quot; in [[Media:KiCAD_Module_Footprints_3D_29Aug2014.zip]] enthalten. In allen Perversionen. Stehend, liegend, rumgedreht von der Rückseite usw....&lt;br /&gt;
* LPC21xx / LPC22xx / LPC23xx |&lt;br /&gt;
* EINE AVR ATmega-Bibliothek, wo ALLE Controller drin sind. ||||||||&lt;br /&gt;
* AVR XMegas |&lt;br /&gt;
* AT90CAN128 / allgemein mehr AVRs (MEGA &amp;amp; TINY) ||||||&lt;br /&gt;
* Wegen der AVRs und ATMEGAs: Bitte hier http://www.kicadlib.org/Fichiers/Kerusey_Karyu_Atmel_Library.html mal schauen, und den Wunsch auf den Typ konkretisieren! Der Atmelzoo ist so verwirrend vielfältig.....&lt;br /&gt;
** Leider ist die dazugehörige Bibliothek defekt.&lt;br /&gt;
** Ist aktualisiert worden und in die aktuelle KiCad Symbol Library eingeflossen: [https://github.com/KiCad/kicad-library/blob/master/library/atmel.lib]&lt;br /&gt;
*** Weitere Aktualisierungen und Erweiterungen: [https://github.com/KiCad/kicad-library/blob/master/library/atmel.dcm]&lt;br /&gt;
* Schaltregler (u.A. LM257x, LM267x, MC33063, L5973D) |||| Der MC33063 hat gleiches Pinning und Gehäuse wie MC34063! Darum kann der in http://www.mikrocontroller.net/wikifiles/8/84/Symbols_ICs-Diskrete_RevD9.lib verwendet werden.&lt;br /&gt;
* Spulen (z.&amp;amp;nbsp;B. diverse Wuerth) ||&lt;br /&gt;
* Drosseln (B82790 für CAN, Würth 744207) ||&lt;br /&gt;
* Transformatoren (allgemein) |&lt;br /&gt;
* Ferrite (7427930 - 32, 742792651, 74279263) |&lt;br /&gt;
** ??? Was genau ist nun Footprint und Referenzmaeßig der Unterschied zwischen Drosseln, Spulen und Ferriten, wenn ich jetzt mal davon ausgehe, das die Teile weder Anzapfung noch mehr als eine Wicklung haben (dann wären es Trafos oder Uebertrager), und die elektrischen Werte in ein Feld eingetragen werden?? Schau mal unten in http://www.mikrocontroller.net/wikifiles/d/da/KiCad_Module_Footprints_3D_16Sep2013.zip. Kleinere SMD-Entstörferrit Module lassen sich uebrigens aus Footprints für SMD-Widerstaenden zaubern, in dem man sie umbenahmt und mit der Referenz &amp;quot;L&amp;quot; versieht. ;-)&lt;br /&gt;
* STM32 Mikrocontroller Bibliothek (sofern möglich alle) ||||&lt;br /&gt;
* Arduinos ||&lt;br /&gt;
** Arduino Due ||&lt;br /&gt;
** Arduino Nano |&lt;br /&gt;
* Teensy |&lt;br /&gt;
** Teensy 3.5/3.6 |&lt;br /&gt;
** Teensy 4.0 |&lt;br /&gt;
&lt;br /&gt;
=== Entwürfe ===&lt;br /&gt;
&lt;br /&gt;
Neue Bibliotheken oder Änderungen sollen zunächst in diesem Abschnitt &lt;br /&gt;
vorgestellt werden. &lt;br /&gt;
&lt;br /&gt;
==== Symbolbibliotheken ====&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/96460#832961 ATmega3250/TQFP100] von Fred S. (Gast)&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/96460#844741 ATMega3290 im 100Pin-Gehäuse] von Fred S. (Gast)&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/132811#1205130 RFM12-Funkmodul] von Dominik C.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/133310#1210137 CAN Controller MCP2515 und Transceiver MCP2551] von Dominik C.&lt;br /&gt;
&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/394700#4540445 STLib für KiCad mit STM32F4x] von Markus W.&lt;br /&gt;
&lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevB-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1. Schaltplan Symbolbibliothek fuer KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind. Von Bernd Wiebus&lt;br /&gt;
&lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevC-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind. Aenderung gegenueber Rev.B: Kleinere Symbole hinzugefügt. Mit Vorsicht geniessen! Von Bernd Wiebus.&lt;br /&gt;
 &lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevD3-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind.  Aenderung gegenueber Rev.C: Kleinere Fehler beseitigt. CLD Symbol hinzugefuegt. Kuehlkoerper Symbol und Dummy-Symbol fuer Boardoutlines hinzugefuegt. Thyristor und Triac Symbol zugefuegt. Copyright Symbole GNU-GPL und CC zugefuegt. Mit Vorsicht geniessen! Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
 &lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevE8.lib]] AKTUELLE Version! Ersetzt die Rev. B, C und die Rev. D sowie Vorgängerversionen E1-E7! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind.  Aenderung gegenueber Rev.D: Kleinere Fehler beseitigt. Ankerpunkte in die Nähe der Symetrieachsen verlegt. Verbinder DIN41612 / EN60603-2 &amp;quot;Eurokartenstecker&amp;quot; hinzugefügt. Große &amp;quot;BIG&amp;quot; Symbole entfernt und in der Datei BIG-SymbolsSimilarEN60617+oldDIN617-RevE.lib ausgelagert. Mit Vorsicht geniessen! Von Rene Belau und Bernd Wiebus.  CC-Zero/Public Domain!  Defektes Symbol &amp;quot;RESISTOR_RevE_Date15jun2010&amp;quot; repariert am 02. Maerz 2011. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
   &lt;br /&gt;
* [[Media:BIG-SymbolsSimilarEN60617+oldDIN617-RevE.lib]] Einige EN60617 oder der DIN 617 ÄHNLICHE Symbole in besonders GROSSER Ausführung. Vermutlich werden Sie diese GROSSEN Symbole eher NICHT benutzen wollen. Mit Vorsicht geniessen! Von Rene Belau und Bernd Wiebus. Unter GNU GPL. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/attachment/74203/obi.lib]] KiCad Symbol für einen ATMEGA644. Von obi&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ICs-Diskrete_RevD10.lib]] KiCad Symbole für einige diskrete ICs. Enthält L200 (Pentawatt Gehäuse), LM2587 (Pentawatt Gehäuse), Längstregler LM317, LM78xx, LM79xx, Timer NE555, NF-Verstärker LM1875 und TDA2003 (Pentawatt Gehäuse), Schaltregler UC38xx (DIP8/SO8 und DIP14/SO14), LM2587, MC34036, LM78S40 und MCP1640, Treiber MIC4422 (DIP8/SO8 und Pentawatt Gehäuse). Allegro Halleffekt Stromwandler Typ ACS754/ACS755/ACS756 und LEM Halleffekt Stromwandler der Serie &amp;quot;HX&amp;quot;. Programierbarer Oszillator Si570/Si571 sowie Quarzoszillator Typ KXO-200. Dazu Transistor Arrays BC847S und BC857S (in einfacher und in aufgelöster Darstellung) und Supressordioden Array SR05. Schieberegister 74HC4094 . Spannungs-/Laderegler uA723/LM723 in 14 und 20 poligem Gehäuse. HF/ZF Verstärker/Mischer/Demodulator TCA440 alias exDDR A244D, FM Frontend TA7358. Spannungsmonitor ICL7665. Autor Bernd Wiebus.  CC-Zero/Public Domain!  Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ICs-Opto_RevB_16Sep2013.lib]] KiCad Symbole für Optokoppler CNY17, IL300. IL388, TLP250, SFH617A-1, SFH617A-2, SFH617A-3, SFH617A-4, KPC357, LTV35x, und PC357. LWL Empfänger Toshiba TORX170 TORX173 TORX193  und TORX194 (Toslink). LWL Sender Toshiba TOTX170 TOTX173 TOTX193  und TOTX194 (Toslink). LWL Empfänger Agilent HFBR-252x und Sender Agilent HFBR-152x Serie (Versatile Link). 7 Segment Anzeigen HDSM531, HDSM533, LTS6760, LTS6780, SBC18-11EGWA. Autor Rene Belau und Bernd Wiebus. CC-Zero / Public domain. Mit VORSICHT geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Transformer-Diskrete_RevA.lib]] KiCad Symbole für einige diskrete Transformatoren. Coilcraft Q4434-B = Rhombus T1311 und Myrra-74040 ETD29. Autor: Bernd Wiebus. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_DCDC-ACDC-Converter_RevC_29Aug2014.lib]] KiCad Symbole für einige DCDC/ACDC-Converter. Enthält CINCON EC5BC12, CINCON EC6C11, TRACO TED-1212, TRACO TED-XXXX Dual Output, TRACO TED-XXXX Single Output, TRACO TEN10-1212, TRACO TEN10-XXXX, TRACO TME-XXXX, TRACO TMH-XXXX Single Output, TRACO TMH-XXXX Dual Output, sowie TRACO ACDC-Converter der TMLM Serie. BOTHHAND CF-Serie und DELTA DPS05U09D. Neu seit 29 August 2014: Floeth DCDC-Converter SD14-XXXX und SD18-XXXX. Autor: Bernd Wiebus. GNU-GPL. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_Socket-DIN41612_RevA.lib]] KiCad Symbole für DIN41612 Stecker und Buchsen (Die bekannten Eurokartenstecker). Autor: Bernd Wiebus. GNU-GPL. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_EN60617_13Mar2013.lib]] KiCad Symbole für die EN60617. Strikter als die Symbole aus SymbolsSimilarEN60617+oldDIN617-Rev~~.lib. Autor: Bernd Wiebus. CC-Zero/Public Domain! Mit Vorsicht geniessen! Hierzu gehört der Katalog: [[Media:Symbols_EN60617_13Mar2013.pdf]] Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_EN60617-10_HF-Radio_DRAFT_12Sep2013.lib]] HF-Blockschaltbild Symbole für KiCad. EXPERIMENTELL! Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain.  Hierzu gehört der Katalog: [[Media:EN60617-10_HF-Radio_SymbolCatalog_DRAFT.pdf]] Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_Microcontroller_Philips-NXP_RevA_06Oct2013.lib]] Symbole der NXP Microcontroller LPC2104, LPC2105 und LPC2106 fuer KiCad.  Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ORringController_RevA_03Aug2015.lib]] Symbole verschiedener ORing-Controller fuer KiCad. Enthält IR5001, ISL4166 (QFN20+TSSOP16) und LM5050/LM5051. Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de.&lt;br /&gt;
&lt;br /&gt;
* [https://forum.kicad.info/t/oktizer-octagonal-pads-and-vias-was-elektuur-style-symbol-library/34611 Klassische Elektor-ähnliche Symbole], angepasst an KiCad 5.1 und 6.0. Lizenz: CC0&lt;br /&gt;
&lt;br /&gt;
==== Modulbibliotheken ====&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD_Module_Footprints_3D_29Aug2014.zip]] Eine Sammlung von KiCad Modulen bzw. Footprints diskreter Bauteile. Neben den obligatorischen Rs, Cs und Ls sind Schrack und Omron Kartenrelais (die Footprints passen auch fuer andere Hersteller), diverse Dioden, Klemmen WAGO 236 (RM 5mm) Serie und WAGO 734 Serie, Sicherungshalter (Schurter und Bulgin) für 5x20 und 6x30, SMD Sicherungen 1206 und Sicherungen/Sicherungshalter TE5/TR5,Flachsicherungen Standard und Mini, Kuehlkoerper und Eurokartenoutlines enthalten. Zusaetzlich TO92, TO220, TO220-5 (Pentawatt) und TO247 Gehaeuse. Ebenso die vermissten PISN und PISR SMD Drosseln. Einige Throughhole C&amp;amp;D Bobin Drosseln, Bourns 3296, Spectrol Type 43 / Econtrim und Piher PT15 Trimmer . Potentiometer Alps RK16 und Spectrol Type 148/149. Transformatoren Coilcraft Q4434-B / Rhombus T1311 sowie ETD29 von Epcos und Myrra sind auch dabei. Eurokartenstecker/-buchsen DIN 41612 Typ B1, B2, C1, C2 und C3. Ebenfalls enthalten: GNU-GPL und Creative Commons  Symbole. Dazu Messpunkte. BNC-Buchse, Quarzoszillator, SMD Widerstände und Kondensatoren.  (0805, 1206, 2512) sowie experimentelle Universalfootprints SMD/Throughole. SMD-Dioden: MELF, Mini-MELF, SMA, SMB und SMC. Halleffekt Stromwandler mit Allegro CB-PFF, CB-PSF und CB-FSS Gehäusen.Dazu Stecker Molex Serie KK, Würth SMD Drosseln und Doppeldrosseln. Neosid Filter und Drosseln. TRACO ACDC-Converter der TMLM Seie und SOT23, SOT143, SOT143R, TSOT-6 / MK06A sowie SC70-6 SMD Footprints für Dioden, Transistoren bzw. Dioden und Transistor Arrays und kleinere ICs. Mini Universal Mate-N-Lock Steckersockel (Tyco/AMP). 2-6 Pin, vertikale und horizontale Typen. Verbesserte Fiducials und Logos. Dazu SMD-Tantalkondensatoren und ETAL NF-Transformatoren. TO50-3 und TO50-4 Gehäuse. 7 Segment Anzeigen. LQFP48/TQFP48 Gehäuse. Hallsonden Stromwandler mit Allegro CB-PFF, CB-PSF und CB-FSS Gehäusen. Halleffekt Stromwandler der Serie &amp;quot;HX&amp;quot; von LEM.  Neu in der Version vom 29. August 2014: Floeth DCDC-Converter SD14 und SD18. Fast alles ohne 3D Modelle, aber manchmal mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* Viel Standardkram in 3D: http://smisioto.no-ip.org/elettronica/kicad/kicad-en.htm&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD-Module_Buzzer_Beeper_RevA_25Oct2010.zip]] Einige Footprints von Summern /Buzzern / Beepern für KiCad. Enthaelt Kingstate KCG0601, Pro Signal ABI-009-RC, Pro Signal ABI-010-RC, Pro Signal ABT-410-RC, Star Micronics HMB-06/HMB-12 und Projects Unlimited AI-4228-TWT-R. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD-Module_CommonModeChoke_Wuerth_Type-WE-CMB_RevA_25Oct2010.zip]] Footprints der Gleichtaktdrosseln der Serie Würth WE CMB (through hole) für KiCad. Enthält die Verschieden Bauformen XS, S, M, L, XL und XXL. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:DCDC-ACDC-Converter_RevC_20Jul2012.zip]] Footprints von DCDC/ACDC-Convertern für KiCad. Enthält CINCON EC5BC12, CINCON EC6C11, TRACO TED-1212, TRACO TED-XXXX Dual Output, TRACO TED-XXXX Single Output, TRACO TEN10-1212, TRACO TEN10-XXXX, TRACO TME-XXXX, TRACO TMH-XXXX Single Output, TRACO TMH-XXXX Dual Output, BOTHHAND CF-Serie und DELTA DPS05U09D. Neu seit 20 Juli: TRACO ACDC-Converter der TMLM Serie. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Opto-Devices_RevC_03Oct2012.zip]] Footprints von Optoelectronischen Bauteilen für KiCad. Enthält 6 Polige DIL Footprints für CNY17, auch in &amp;quot;wide&amp;quot;, SMD Optokoppler Footprints (1 Kanalig) und Footprints für Toshiba (Toslink) und Agilent (Versatile Link) LWL Ssender und Empfänger. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Pentawatt_RevB_24Oct2012.zip]] Footprints von Pentawatt Gehäusen für KiCad. Enthält verschiedene Ausführungen der TO220-5 Gehäuse in gerade und verkröpft, sowie stehend und liegend. Mit 3D-Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:Transistor_TO-220_RevB_03Sep2012.zip]] Footprints von TO220-3 Gehäusen für KiCad. Enthält verschiedene Ausführungen der TO220 Transistor Gehäuse in  stehend und liegend. Mit 3D-Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! CC-Zero/Public domain! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:Transistor_TO-247_RevC.zip]] Footprints von TO247 Gehäusen für KiCad. Enthält verschiedene Ausführungen der Transistor Gehäuse in  stehend und liegend. Mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! CC-Zero/Public domain! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/topic/176405#new]] KiCad Modul / Footprint für ein TSSOP38 Gehäuse. Autor Raphael Reu.&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/topic/190088#1856759]] Texas Instruments TPIC8101 Klopfsensor Interface (für Verbrennungsmotoren). Autor Peter Diener.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IR-directFET_Packages_RevB.zip]] Footprints von directFET SMD-Transistor Gehäusen von International Rectifier für KiCad. Enthält die SH, SJ, SQ, ST, S1, MN, MP, MT, MX, MZ und die L8-Outline. Nähere Informationen in den Datenblättern betroffener Transistoren und in der International Rectifier Applikationsnotiz AN-1035. &amp;quot;directFET&amp;quot; ist übrigens eine Handelsmarke von International Rectifier und die Gehäuse sind proprietär. Also vorsichtig sein und an &amp;quot;second source&amp;quot; denken. Mit 3D Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter CC-Zero / Public domain. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Neosid-Devices_Coils_Filters_25Apr2012.zip]] Footprints von NEOSID Bauteilen. Spulen, Luftspulen, Filter ec. für KiCad. Through hole und SMD. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT23_SOT143_SOT143R_TSOT6_MK06A_SC70-6_Housing_14Mar2014.zip]] Footprints von SOT23, SOT143, SOT143R, TSOT-6 /MK06A und SC70-6 SMD Gehäusen, wie sie oft für Dioden und Transistoren, aber auch Dioden und Transistor Arrays verwendet werden. Auch ICs findet man in der Bauform. Es sind Standard Footprints und spezielle für Handlötung vorhanden. KiCad Legacy Format und neues .pretty Format. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:MiniUniversalMate-N-LokSockets_13Aug2012.zip]] Footprints von Mini Universal Mate-N-Lok Steckersockeln (Tyco/AMP). 2-6 Pin, verticale und horizontale Typen. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:NF-Transformer_ETAL_RevA_28Aug2012.zip]] Footprints und 3D-Mesh Modelle von NF-Transformatoren der Firma ETAL (http://www.etalgroup.com). SMD und THT Typen. Mit PDF-Ausdruck zur leichteren Identifikation. In der Bibliothek ist auch der bekannte Übertrager ETAL P1200, der von Box73 (http://www.box73.de) vertrieben wird. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de &lt;br /&gt;
&lt;br /&gt;
* [[Media:TantalCapacitors_SMD_RevA_28Aug2012.zip]] Footprints von Tantal Kondensatoren SMD Größe A bis E (EIA-3216, EIA-3528, EIA-6032, EIA-7343 und EIA-7360). Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Ohne Garantie und unter GNU-GPL. Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT89-3_SOT89-5_Housing_RevA_02Sep2012.zip]] Footprints und 3D-Mesh Modelle von SOT89-3 und SOT89-5 SMD Gehäusen. Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT126_SOT32_Housings_RevA_22Oct2012.zip]] Footprints und 3D-Mesh Modelle von SOT126 / SOT32 Gehäusen. Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Allegro_HallSensors_24Oct2012.zip]] Footprints und 3D Modelle von Allegro Hall-Effect Stromsensoren mit PFF, PSF oder PSS Gehäuse (ACS754, ACS755, ACS756).  Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:VML0806_Housing_Rohm_27Oct2012.zip]] Footprints und 3D Modell eines Transistors im 0806 Format (VML0806 / Rohm).  Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:TO-50_Housings_RevA_21Apr2013.zip]]  Footprints/Module von TO50-3 und TO50-4 Transistor Gehäusen.Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:OldSowjetAera_Transistor_RevA.zip]] Footprints/Module von Kleinleistungstransistoren aus der Sowjetära.Mit 3D-Modell und PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:SIP9_Housing_14Jun2013.zip]] Footprints/Module von SIP9 Gehäusen (z.B. TA7358).Mit 3D-Modell und PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:7Segment_16Sep2013.zip]] Footprints/Module von 7-Segment Anzeigen HDSM531 (SMD), HDSM533 (SMD), LTS6760, LTS6780 undSBC18-11EGWA. Dazu PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:BNC-Sockets_RevA.zip]] Footprints/Module von TYCO BNC-Buchsen für KiCad. Mit 3D Modellen und PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:LQFP_TQFP_RevA_06Oct2013.zip]] Footprints/Module von LQDP48/TQFP48 Gehäuseb für KiCad. Ohne 3D Modelle, aber mit PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:LEM_HallEffectTransducers_RevA_13Oct2012.zip]] Module/Footprints von Halleffekt Stromwandlern der Serien &amp;quot;HX&amp;quot; und &amp;quot;HTFS&amp;quot; von LEM. Mit 3D-Modellen  und PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
==== 3D-Modelle ====&lt;br /&gt;
&lt;br /&gt;
* [[Media:MeshModells_VRML-Wings3D_13Oct2013.zip]]  3D-Modelle diverser elektronischer Bauteile im wrl 2.0 und wings Format. Enthalten: DD-PAK (TO263AB), D-PAK (TO252AA), SMD Dioden MELF, MiniMELF, SMA, SMB und SMC, Transformatoren ETAL P1165, P1200, P2781, P3000, P3181, PP3188 und P3191, SO126 / SOT32 in horizontal und vertikal, SOT223-3, TO263-3, SOT89-3, SOT89-5, TO220 horizontal und vertikal und reverse. TO220-5 horizontal, vertical, inline und verkröpft, VML0806. SIP9. 7 Segment SMD Anzeige HDSM531/HDSM533 in Grün, gelb, rot und orange. directFET SMD-Transistor Gehäusen von International Rectifier für KiCad. Enthält die SH, SJ, SQ, ST, S1, MN, MP, MT, MX, MZ und die L8-Outlines. Flachsicherungen Standard und Mini. Halleffekt Stromwandler LEM &amp;quot;HX&amp;quot; Serie und Allegro ACS754/ACS755/ACS756 mit CB-PFF, CB-PSF und CB-FSS Gehäusen. Ohne Garantie und unter CC-Zero / Public Domain Lizenz. Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
==== Building-Blocks ====&lt;br /&gt;
*[[Media:BuildingBlocks_16Jun2013.zip]] enthält eine Sammlung von gängigen Schaltungen mit den Längstreglern LM317 /LM78xx /LM79xx und dem Timer 555, die nach dem in diesem [[Media:HierarchischeSchaltplaeneAlsBausteineInKicad_RevC_23Dec2013.pdf]] Dokument beschriebenen Vorgehen als Building Blocks in KiCad verwendet werden können. Ein Katalog dazu befindet sich hier: [[Media:KatalogUeberKiCadBuildingBlocks_21Apr2013.pdf]]. Autor: Bernd Wiebus, Lizenz: Creative Commons. Experimentell! Ohne Garantie! Mit Vorsicht geniessen!&lt;br /&gt;
&lt;br /&gt;
Wenn mindestens ein weiterer KiCad User die Bibliothek geprüft hat, kann sie in den folgenden Unterabschnitt verschoben werden.&lt;br /&gt;
&lt;br /&gt;
=== Geprüfte ===&lt;br /&gt;
&lt;br /&gt;
Hier sollen geprüfte Bibliotheken gesammelt werden. Bitte angeben, wer die Prüfung gemacht hat.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/132288#new STM32F103xx (LQFP64) Schaltplansymbol] erstellt/geprüft: Dominik C.; Marko S.&lt;br /&gt;
* Bei der STMF103xx fehlt glaub ich der Portpin PD2 :) Grüße :)&lt;br /&gt;
&lt;br /&gt;
=== Sonstige Bibliotheken im Netz ===&lt;br /&gt;
&lt;br /&gt;
Die Einträge hier sind nach [[KiCad-Bibliotheken#Bibliotheken_im_Netz|KiCad-Bibliotheken im Netz]] verschoben worden. &#039;&#039;&#039;Bitte Überarbeitungen und neue Einträge nur dort vornehmen!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bitte diesen Unterpunkt &#039;&#039;&#039;nicht Löschen&#039;&#039;&#039;, da es Verweise aus dem Forum oder von sonstwo geben mag, die sonst ins Leere laufen, ohne eine Erklärung für den User.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Werkzeuge ==&lt;br /&gt;
&lt;br /&gt;
Da die in KiCad verwendeten Dateien klarschriftlesbar sind, lassen sie sich sehr leicht mit externen Programmen und Skripten bearbeiten, um spezielle Funktionalitäten zu erzeugen. Eine kleine Auswahl an Programmen/Skripten ist hier zusammengestellt:&lt;br /&gt;
&lt;br /&gt;
* Zuallererst: Mittlerweile hat sich rund um KiCad eine ganze Reihe von Hilfsprogrammen etabliert. Einige davon können über die offizielle KiCad Site gefunden werden: [http://kicad.org/external-tools/ KiCad-External Tools]. Zurzeit (04Oct2019) sind dort [https://github.com/easyw/kicadStepUpMod/ KiCad StepUp] als Plugin für FreeCAD, [https://github.com/xesscorp/KiCost KiCost] zur Tabellenkalkulationserstellung und Kostenermittlung aus KiCad-Schaltplänen, [https://github.com/thesourcerer8/altium2kicad Altium2KiCad] um aus Altium PCBs und Schaltplänen solche für kiCad zu erstellen, [http://neo900.org/stuff/eeshow/ EEschow] zur Konvertierung von KiCad-Schaltplänen in verschiedene Grafikformate, sowie [[Schaltplaneditoren#Fped|Fped]], mit dem sehr komfortabel Footprints für KiCad erstellt werden können, gelistet.&lt;br /&gt;
* [http://kicad.rohrbacher.net/quicklib.php Quick KICAD Library Component Builder]&lt;br /&gt;
* Gerber-Tools sind für KiCad weniger nötig, da KiCad mit GerbView seinen eigenen Gerberviewer mitbringt. Dieser ist mächtig genug, die eingelesenen Gerberfiles als Platine in PCBnew zu exportieren, wo sie manipuliert werden können. Dieses geht aber nur mit Gerber-RS274X Daten. Ebensowenig können Gerberfiles zu Nutzen zusammengefügt werden. Hierzu bietet sich &amp;quot;Gerbmerge&amp;quot; http://ruggedcircuits.com/gerbmerge (http://claymore.engineer.gvsu.edu/~steriana/Python/gerbmerge/ Veraltet) an. Wer lediglich aus Sicherheitsgründen die von KiCad erzeugten Gerberdaten mit einem fremden Gerber-Vierer inspizieren möchte, findet hier Hinweise:http://www.mikrocontroller.net/articles/Gerber-Tools&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/204063#2011138 KiCad (Multi-)Symbol Tool] von Joghurt3000 zur Erstellung von Symbolen aus einer Textvorlage&lt;br /&gt;
* [http://cyclerecorder.org/footprintbuilder Footprintbuilder] Java-Programm zu Erstellung von Footprints.&lt;br /&gt;
*Wer seine Platine &amp;quot;panelisieren&amp;quot; (d.h. mehrmals nebeneinander anordnen um in einem &amp;quot;Nutzen&amp;quot; gleich mehrere Platinen fertigen zu können) möchte, kann das mit dem Python 2 Skript &amp;quot;panelize.py&amp;quot; tun. Das Programm arbeitet direkt auf den kicad .brd Files, so das das Mehrfachnutzen Board unter PCBnew nachbearbeitet werden kann, für z.B. einen  DRC. &amp;quot;panelize.py&amp;quot; kann hier bezogen werden: http://blog.borg.ch/?p=12&lt;br /&gt;
* &amp;quot;Raef&amp;quot; hat ein Python Script erstellt, das Bauteile automatisch ähnlich der Anordnung im Schaltplan plaziert. Siehe: http://www.mikrocontroller.net/topic/293903#3245990&lt;br /&gt;
*Wer die Reihenfolge der Subschaltpläne ändern will (Wegen Übersichtlichkeit/Bestimmt auch die Reihenfolge beim Ausdrucken), kann dieses Python 3 Skript verwenden (Liesmich/Readme beachten): http://www.mikrocontroller.net/wikifiles/9/90/PyKicadSchematic-ID_Interchanger_RevC.zip Autor: Bernd Wiebus, GNU-GPL. Dieses Skript ist unabhängig von der PCBnew internen Python 2 Schnittstelle.&lt;br /&gt;
* Um ältere Schaltpläne von vor Jan./Feb. 2014 (BZR4646) mit &amp;quot;upper case&amp;quot; Symbolnamen zu konvertieren, kann dieses Python 3 Skript verwendet werden: [[Media:PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip]]. Autor: Bernd Wiebus, GNU-GPL. Dieses Skript ist unabhängig von der PCBnew internen Python 2 Schnittstelle.&lt;br /&gt;
* Wem das Tricksen mit Dateimanager oder Schematic oder Board als Bibliotheksmanager nicht gefällt, findet vieleicht im &amp;quot;KiCad Libarian&amp;quot; ein passendes Tool: http://www.compuphase.com/electronics/kicadlibrarian_en.htm&lt;br /&gt;
* Diverse Skripte, um KiCad Symbole, Footprints oder sonstigen Bibliothekskram zu bearbeiten. [https://github.com/KiCad/kicad-library-utils]&lt;br /&gt;
* Cirillo Bernardo hat einige Programme geschrieben, um VRML 3D Gitter Modelle für Bauteile parametrisch zu erzeugen. Sie finden sich hier: https://github.com/cbernardo/kicad3Dmodels&lt;br /&gt;
* Peter Hofbauer hat einige Windows Programme geschrieben, die zur KiCad Unterstützung dienen: http://www.hcp-hofbauer.de/software.htm Bei den Programmen handelt es sich um &amp;quot;Aufräumprogramme für Bibliotheken, Stücklistenerzeugung, Extraktionsprogramm um eine Verdrahtungsliste aus einer Netzliste zu erzeugen, Ein Programm um Boherdurchmesser zu vereinheitlichen und ein Programm, um zusammen mit &amp;quot;Linegrinder&amp;quot; G-Code aus KiCad Boarddateien zu erzeugen. &lt;br /&gt;
* [http://escalalibre.com/edwt/kicad_sizeConverter.php KiCad Bitmap2Component Skalierer] Erlaubt es, Logos zu skalieren.&lt;br /&gt;
* [http://escalalibre.com/edwt/kicad_modTextChanger.php KiCad Module Text Changer]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/381605?reply_to=4346454#4346280 KiCad Symbol Generator Tool] KiCad Symbol Generator Tool als Python Skript&lt;br /&gt;
* [https://github.com/tlantela/KiCad_layout_cloner/blob/master/layout_cloner.py KiCad Layout Cloner] Python Skript. Siehe http://www.mikrocontroller.net/topic/382657#4363261&lt;br /&gt;
* [https://forum.kicad.info/t/kicad-stepup-the-sketcher-for-getting-to-blinky/7826] StepUp, eine Workbench für FreeCAD (ein open source 3D CAD Program) um den Import und Export von mecanichen CAD Daten von KiCad zu erleichtern.&lt;br /&gt;
* [https://hasanyavuz.ozderya.net/?p=256 Ein Backannotationstool für KiCad] als Pythonskript&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/450655#new Ein Tool, um per Skripting Messpunkte für einen Nadelbettadapter zu erzeugen.] Geht von Gerberdaten aus, die in KiCad importiert werden&lt;br /&gt;
&lt;br /&gt;
== Konverter ==&lt;br /&gt;
&lt;br /&gt;
Konverter wandeln KiCad-Daten in die Daten anderer Layoutprogramme bzw. die Daten anderer Layoutprogramme in KiCad-Daten um.&lt;br /&gt;
Nativ kann KiCad gEDA Footprints bzw. neuere Eagle Footprints direkt als Bibliothek einbinden. Das ganze ist aber als noch sehr experimentell zu betrachten.&lt;br /&gt;
&lt;br /&gt;
Des Weiteren gibt es einige Programme oder Skripte von dritter Seite, die Daten anderer Layoutprogramme in KiCad Daten umwandeln. Auch diese sind als experimentell einzustufen.&lt;br /&gt;
&lt;br /&gt;
Hier eine Auswahl:&lt;br /&gt;
* https://github.com/thesourcerer8/altium2kicad Wandelt Altium Schaltpläne und Layouts in KiCad Daten um.&lt;br /&gt;
* https://github.com/DanChianucci/Eagle2Kicad Wandelt Eagle 6.0 Layouts in KiCad Layouts.&lt;br /&gt;
* https://github.com/lachlanA/eagle-to-kicad Wandelt Eagle 6.0 Layouts in KiCad Layouts.&lt;br /&gt;
* http://www.cadsoft.de/downloads/file/eagle2kicad-0.9c.ulp Direkt von der Cadsoft Seite, ein ULP das Eagle Daten in KiCad Daten wandelt.&lt;br /&gt;
* http://www.cadsoft.de/downloads/file/eagle2kicad_sch.ulp Ebenfalls direkt von der Cadsoft Seite, ein ULP, das Eagle Schaltpläne in KiCad Schaltpläne wandelt.&lt;br /&gt;
* http://sourceforge.net/projects/pcad2kicad/ Wandelt P-CAD Schaltpläne, Layouts und Bibliotheken in KiCad Daten um.&lt;br /&gt;
* Gerber_Settings    [https://www.mikrocontroller.net/attachment/319118/originpoint.png originpoint]     [https://www.mikrocontroller.net/topic/319266?page=5#4891032 Gerber_Settings] [https://www.mikrocontroller.net/attachment/319192/Bohrdatei.png Drill_Files_Generation]&lt;br /&gt;
* https://github.com/mtl/svg2mod Tool, welches SVG in KiCad Board Layers wandelt. Einleitende Informationen finden sich hier: https://www.mikrocontroller.net/topic/440552#5234307&lt;br /&gt;
* https://github.com/thesourcerer8/altium2kicad Altium2KiCad um Altium Projekte in KiCad Schaltpläne und Boards zu konvertieren.&lt;br /&gt;
&lt;br /&gt;
Erfahrungsberichte willkommen!&lt;br /&gt;
&lt;br /&gt;
= Beispielprojekte =&lt;br /&gt;
&lt;br /&gt;
Projekte, die mit KiCad umgesetzt worden sind, finden sich auf der [[KiCad-Projekte|KiCad-Projektseite]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- alt -- &lt;br /&gt;
= Diskussionen (teilweise seeeehr alt) =&lt;br /&gt;
&lt;br /&gt;
* http://www.mikrocontroller.net/topic/120373#1089075 &lt;br /&gt;
* http://www.mikrocontroller.net/topic/98034#848559&lt;br /&gt;
* http://www.mikrocontroller.net/topic/95864#828660&lt;br /&gt;
* http://www.mikrocontroller.net/topic/77738#647041&lt;br /&gt;
* http://www.mikrocontroller.net/topic/103806#907523&lt;br /&gt;
* http://www.mikrocontroller.net/topic/41999#316195&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Weblinks =&lt;br /&gt;
&lt;br /&gt;
* [http://www.kicad.org kicad.org] Die neue Homepage&lt;br /&gt;
* [http://kicad.org/help/documentation/ Offizielle Dokumentation]&lt;br /&gt;
* [https://bugs.launchpad.net/kicad Bugreports] erstellen und nach vorhandenen Fehlern suchen, wenn einem etwas komisch vorkommt.&lt;br /&gt;
&lt;br /&gt;
* Tutorials: &lt;br /&gt;
&amp;lt;!-- alt -- ** [http://kicad.sourceforge.net/wiki/index.php/DE:Mini_tutorial Mini-Tutorial] --&amp;gt;&lt;br /&gt;
** [http://timogruss.de/kicad-loesung-fuer-die-leiterplatten-entwicklung/ KiCad Tutorial auf timogruss.de] (deutsch) (2013)&lt;br /&gt;
** https://www.youtube.com/watch?v=XD_PaSrLKBk Schematic Pages and Hierarchy In KiCad - Hierarchischer Schaltplan (2014)&lt;br /&gt;
** https://www.youtube.com/watch?v=YCdpXwRKbYc Create a library and put your own component in that library. (2014)&lt;br /&gt;
&amp;lt;!-- alt --&lt;br /&gt;
** http://store.curiousinventor.com/guides/kicad&lt;br /&gt;
** https://contextualelectronics.com/course/kicad-tutorial/ (Video Tutorials auf Englisch)&lt;br /&gt;
** http://xtronics.com/reference/kicad.html --&amp;gt;&lt;br /&gt;
** http://bastler-archiv.de/elektronik/platinenherstellung-platinenlayout-mit-kicad-teil-1/ (deutsch, Teil 1) (2011)&lt;br /&gt;
** http://bastler-archiv.de/elektronik/platinenherstellung-platinenlayout-mit-kicad-teil-2/ (deutsch, Teil 2) (2011)&lt;br /&gt;
** http://www.kramann.info/73_COACH3/06_Layouting/Layouting_art_Guido_Kramann_12122010.pdf (2010)&lt;br /&gt;
** [https://rheingoldheavy.com/category/education/kicad/ KiCad Tutorials zum Workflow, Migration alter KiCad Versionen und zu Stücklisten (RheingoldHEAVY, auf englisch)] (2015)&lt;br /&gt;
&amp;lt;!-- alt -- ** [http://roberthall.net/Wings3D_Tutorial_KiCad Tutorial zur Benutzung von Wings3D im KiCad Umfeld (englisch)] --&amp;gt;&lt;br /&gt;
** https://www.youtube.com/watch?v=i4vLxAoLvPk Video Tutorial auf Deutsch. Relativ aktuell.&lt;br /&gt;
&lt;br /&gt;
* Info&lt;br /&gt;
** [https://kicad.mmccoo.com/kicad-scripting-table-of-contents/ Python Scripting for KiCad] und [http://docs.kicad.org/doxygen-python/namespacepcbnew.html Befehlsliste]&lt;br /&gt;
** [https://wiki.aalto.fi/display/MEX/Introduction+to+KiCad] Ein paar Tips am Rande (2014)&lt;br /&gt;
** [http://www.daedalus.ei.tum.de/index.php/de/3d-druck-cnc/cnc/layout-und-g-code-erstellung-mit-kicad] Info für Leute, die Platinen durch Isolationfräsen statt ätzen erstellen&lt;br /&gt;
** [http://davidetienne.me/blog/2015/10/05/kicad-convert-ti-bxl-cad-files-to-kicad-libraries/] Ein Weg, um Libraries, die im Texas Instruments Format &amp;quot;.bxl&amp;quot; vorliegen, in KiCad Bibliotheken zu konvertieren. (2015)&lt;br /&gt;
&lt;br /&gt;
* Usergroups:&lt;br /&gt;
** [https://groups.yahoo.com/neo/groups/kicad-users/info Yahoo-KiCad-User-Group (Englischsprachig)]&lt;br /&gt;
** [https://forum.kicad.info/ Endlischsprachiges KiCad Forum]&lt;br /&gt;
&amp;lt;!-- alt -- ** [http://1.cad-kicad-user.cadtalk.us/ Englischsprachige Diskussionen über KiCad im &amp;quot;Cadtalk&amp;quot;-Forum] Leider nicht mehr existent. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tools&lt;br /&gt;
** [http://www.freerouting.net/ Freerouting] Autorouter (down: Download siehe [https://www.mikrocontroller.net/articles/KiCad#Tipps.26Tricks:_KiCad_und_Freeroute Tipps und Tricks])&lt;br /&gt;
** [http://www.mikrocontroller.net/articles/KiCad#Tools Liste mit externen Programmen und Skripten im Zusammenhang mit KiCad]&lt;br /&gt;
&lt;br /&gt;
* Verschiedenes im Zusammenhang mit KiCad&lt;br /&gt;
** [https://github.com/KiCad/kicad-library/wiki/Kicad-Library-Convention Kicad Library Convention / Regeln für offizielle KiCad Bibliotheken (Englisch)]&lt;br /&gt;
** [http://www.compuphase.com/electronics/LibraryFileFormats.pdf Aufbau der unterschiedlichen KiCad Bibliotheks Files (englisch)]&lt;br /&gt;
** [http://www.ohwr.org/projects/cern-kicad/wiki/WorkPackages CERN KiCad development roadmap / Was ist in KiCad Entwicklung geplant? (englisch)]&lt;br /&gt;
** [http://home.web.cern.ch/about/updates/2015/02/kicad-software-gets-cern-treatment Warum das CERN KiCad unterstützt (englisch)]&lt;br /&gt;
** [https://www.youtube.com/watch?v=chejn7dqpfQ Video mit der Leiterbahnlängenanpassen Funktion bzw. der &amp;quot;Differential pair&amp;quot; Funktion in KiCad.]&lt;br /&gt;
** [http://www.youtube.com/watch?v=irqlrVUbjuQ Video mit dem interaktiven Router]&lt;br /&gt;
&lt;br /&gt;
* Plattformen&lt;br /&gt;
&amp;lt;!-- alt -- ** Mac: http://brokentoaster.com/kicad/ --&amp;gt;&lt;br /&gt;
**Ubuntu: [http://www.mikrocontroller.net/topic/257321#2658268 KiCad selber compilieren] (2012)&lt;br /&gt;
** http://wiki.xtronics.com/index.php/Kicad Transtronics site (englisch)&lt;br /&gt;
&lt;br /&gt;
* HowTo von Tom Boyd (englisch)&lt;br /&gt;
** http://kicadhowto.wikidot.com/&lt;br /&gt;
** http://kicadhowto.org/&lt;br /&gt;
&lt;br /&gt;
* [https://hasanyavuz.ozderya.net/?p=256 PCB back annotation in KiCAD with Python]&lt;br /&gt;
&lt;br /&gt;
= Literatur =&lt;br /&gt;
* &#039;&#039;&#039;KiCad wie ein Profi&#039;&#039;&#039;, von Dr. Peter Dalmaris, Elektor-Verlag, 1. Auflage 2019, ISBN 978-3-89576-341-0&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=      =&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:KiCad]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=KiCad&amp;diff=107682</id>
		<title>KiCad</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=KiCad&amp;diff=107682"/>
		<updated>2025-08-23T11:17:18Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Import */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Wegen eines Umbaus dieser Seite bitte unter Diskussion lesen!&#039;&#039;&#039; [[Diskussion:KiCad#Seitenumbau]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KiCad&#039;&#039;&#039; ist ein Open Source [[Schaltplaneditoren|Schaltplaneditor]] und PCB Layoutprogramm für Windows, Linux, Mac OSX. &lt;br /&gt;
Diese Seite ist zunächst eine Zusammenfassung aus den KiCad Beiträgen im Forum. Und gleich zu Anfang ein grosses DANKE an alle KiCad-User aus dem Forum. Ihr seid zu viele, um jeden einzeln zu nennen. Aber wer sich diese Seite durchliest und den Links folgt, wird euch kennenlernen.  &lt;br /&gt;
&lt;br /&gt;
Hier sollen alte und neue KiCad-Anwender einen Anlaufpunkt finden und neue, insbesondere µC-relevante Aktivitäten stattfinden. &lt;br /&gt;
&lt;br /&gt;
Diese Seite will keine Konkurrenz zum offiziellen KiCad Wiki sein, d.h. was dort steht soll hier nicht wiederholt werden und was hier steht wird hoffentlich zum offiziellen KiCad Wiki wandern.&lt;br /&gt;
&lt;br /&gt;
Die Bedienung von KiCad setzt Hintergrundwissen über die Vorgänge voraus. Die Bedienungsweise entspricht eher einem alten Orcad, Altium oder auch BAE und weniger der von Eagle. Daher ist es Neulingen dringend angeraten, sich vorher die Handbücher und Tutorials gut durch zu sehen. Zur Einarbeitung benötigt man schon etwas Geduld.&lt;br /&gt;
Wer offizielle Releases verwendet, wird oft Bugs feststellen, die aber in den Testing Versionen im allgemeinen beseitigt sind.&lt;br /&gt;
Wenn ihr Kritik oder Fragen zu KiCad habt, dann nutzt das Forum! Sobald KiCad im Betreff steht, wird der Beitrag gelesen und nach Möglichkeit beantwortet. Auch Ideen zu dieser Seite sind sehr willkommen! &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suchen und Finden&#039;&#039;&#039; Da diese Seite hier etwas umfangreich geworden ist, empfehle ich eine Textsuche. Jeder Internetbrowser, der etwas auf sich hält, hat auch eine Suchfunktion, mit der der Text der Seite durchsucht werden kann. Bei Firefox/Iceweasel oben im Pull-down Menue unter &amp;quot;Bearbeiten&amp;quot; &amp;gt; &amp;quot;suchen&amp;quot; oder per Shortcut &amp;lt;Strg-F&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Link defekt -- Siehe auch die offizielle FAQ: http://kicad.sourceforge.net/wiki/index.php/FAQ --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;!-- alt 2007 -- &lt;br /&gt;
* Warum gefällt dir KiCad?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/70905#584639&lt;br /&gt;
** http://www.mikrocontroller.net/topic/81396#680502&lt;br /&gt;
** http://www.mikrocontroller.net/topic/83311#697917&lt;br /&gt;
** http://www.mikrocontroller.net/topic/42614#321502&lt;br /&gt;
* Warum gefällt dir KiCad nicht?&lt;br /&gt;
** Ich verstehe nicht, was du meinst ;-)&lt;br /&gt;
** http://www.mikrocontroller.net/topic/81396#680502&lt;br /&gt;
** http://www.mikrocontroller.net/topic/83311#697969&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wo gibt es weitere Infos zu KiCad?&lt;br /&gt;
** [http://KiCad.org Offizielle Homepage] &lt;br /&gt;
** [http://KiCad.org/help/ Die Offizielle Dokumentation] &lt;br /&gt;
** Einige allgemeine [https://docs.google.com/document/d/1M38ByFyqnhwGo8b_jDDyBceyZtEGeaSAuQaP9REzWrU/edit?usp=sharing Notizen] zur &#039;&#039;&#039;Installation&#039;&#039;&#039; und zur &#039;&#039;&#039;Arbeitsweise&#039;&#039;&#039; von KiCad &lt;br /&gt;
&amp;lt;!-- alt 2008 -- ** http://www.mikrocontroller.net/topic/98034#848661 (Von 2008, also seeeehr überholt) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Welche Leiterplattenfertiger akzeptieren KiCad Layouts?&lt;br /&gt;
** [http://www.pcb-pool.com/ppde/info_dataformat.html PCB-Pool.de]&lt;br /&gt;
** [http://fischer-leiterplatten.de Fischer Leiterplatten]&lt;br /&gt;
** [https://www.oshpark.com/ OSH Park]&lt;br /&gt;
&lt;br /&gt;
* Welche Gerberfiles benötigt der Leiterplattenhersteller?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/399503#new Forumsbeitrag]&lt;br /&gt;
** [[Gerber-Tools]] &lt;br /&gt;
** [[Richtiges_Designen_von_Platinenlayouts#Produktionsgerechter_Entwurf | Hinweise zur Technologie]]&lt;br /&gt;
&lt;br /&gt;
* Wie kriege ich raus, welche Leiterbahn welchen Netznamen hat, bzw. ich habe den Überblick verloren und weiß nicht mehr, was aus dem Layout nun was im Schaltplan ist?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/316539#3427724 Forumsbeitrag], Funktioniert nur gut, wenn ein großes Fadenkreuz gewählt ist.&lt;br /&gt;
** Genauere Informationen, z.B. über die Länge einer Leiterbahn etc. Dazu in PCBnew den gleichen Button rechts wie für das Hinzufügen von Leiterbahnen aktivieren. Oder besser noch rechts den zweiten Button von oben &amp;quot;Netz hervorheben&amp;quot;. Dann mit der rechten Maustaste die fragliche Leiterbahn anklicken. Unten in der Statusleiste werden die Informationen angezeigt.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/267538#new Forumsbeitrag]: KiCad ohne Maus bedienen. &lt;br /&gt;
* [http://www.mikrocontroller.net/topic/302664#3249204 Forumsbeitrag]: Gibt es Sonderzeichen, die ich für Symbole, Module/Footprints oder Files nicht verwenden sollte? Ja, alles was Sonderzeichen außer &amp;quot;- _ .&amp;quot; (Bindestrich, Tiefstrich, Punkt) und keine Zahl ist.&lt;br /&gt;
&lt;br /&gt;
* Wie stelle ich in KiCad das Zeitintervall für &amp;quot;automatisch Speichern&amp;quot; ein?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/459135#5551638 Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
* Woher beziehe ich KiCad?&lt;br /&gt;
** [http://kicad.org/download/ Offizielle Seite], alle Betriebssysteme        &lt;br /&gt;
*** Aktuelle Version: &#039;&#039;&#039;KiCad 9.0.4&#039;&#039;&#039; veröffentlicht im August 2025&lt;br /&gt;
*** Nightly Development Builds auch von der offiziellen Seite&lt;br /&gt;
*** KiCad kann man aus den Sourcen selbst compilieren. Dazu gibt es Skripte zur Unterstützung, die dieses automatisieren, so dass man nicht unbedingt C/C++ Kenntnisse braucht. Die meisten gängigen Linux Distributionen enthalten aber &amp;quot;old stable&amp;quot; KiCad Releases in ihren Repositories.&lt;br /&gt;
&amp;lt;!-- alt -- ** Windows: http://www2.futureware.at/~nickoe/ &lt;br /&gt;
*** Welcher Typ? ...-x86_64.exe oder ...-i686.exe ? Ich brauche x86 32 bit.&lt;br /&gt;
**** Für Windows PC 32 bit die ...-i686.exe, und für Windows PC 64 bit ...-x86_64.exe.&lt;br /&gt;
** Veraltet: http://www71.zippyshare.com/v/28617008/file.html Die Quelle ist hier genannt. https://groups.yahoo.com/neo/groups/kicad-users/conversations/messages/18534 --&amp;gt;&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/298311#3187885 Liste der Versionsänderungen] &lt;br /&gt;
* [http://www.mikrocontroller.net/topic/307517#new Forumsbeitrag]: Ich habe KiCad unter Linux installiert, aber wenn ich KiCad starten will, passiert einfach nichts, oder ich erhalte eine Fehlermeldung wie: &amp;quot;Datei nicht gefunden&amp;quot; &lt;br /&gt;
** 1) KiCad und seine zugeordneten Programme sollten im Suchpfad stehen. Es wird für Debian und Ableger empfohlen, KiCad unter usr/local/bin zu installieren. Anmerkung: Das ist die aktuelle Verfahrensweise. Oktober 2013 wurde aber noch folgende Struktur verwendet:&lt;br /&gt;
*** /usr/bin                            - Binaries (executable files).&lt;br /&gt;
*** /usr/share/doc/kicad/               - Various documentation.&lt;br /&gt;
*** /usr/share/doc/kicad/help           - Interactive help.&lt;br /&gt;
*** /usr/share/kicad/demos              - Sample schematics and printed boards.&lt;br /&gt;
*** /usr/share/kicad/internat           - Dictionaries for interface localization.&lt;br /&gt;
*** /usr/share/kicad/library            - Interface localization files.&lt;br /&gt;
*** /usr/share/kicad/modules            - Module libraries for printed boards.&lt;br /&gt;
*** /usr/share/kicad/modules/packages3d - 3D component models (.wrl and .wings format).&lt;br /&gt;
*** [http://iut-tice.ujf-grenoble.fr/cao/install.txt Quelle], hier sind auch Hinweise für Windows user enthalten.&lt;br /&gt;
&lt;br /&gt;
** 2) User sollten dort Lese- und Ausführungsrechte haben. Aber keine Schreibrechte.&lt;br /&gt;
** 3) Wenn ein fertiges Packgage auf einem 64 bit System verwendet wurde, könnte es daran liegen, das es für 32 bit compiliert wurde, und nicht für 64 bit. Es gibt zwei Möglichkeiten:&lt;br /&gt;
*** a) Selbst aus den Sourcen für sein eigenes System compilieren.&lt;br /&gt;
*** b) Die Runtime Libs für 32 Bit könnten fehlen. Nachinstallieren mit sudo apt-get install ia32-libs. Siehe [http://www.mikrocontroller.net/topic/307517#3307638 Forumsbeitrag]&lt;br /&gt;
* Ich habe das umgekehrte Problem: 32bit system aber 64bit Binarys.&lt;br /&gt;
** Selbst aus den Sourcen neu compilieren.&lt;br /&gt;
&amp;lt;!-- alt -- *Ich will/muss mir KiCad selber compilieren. Wie gehe ich vor?&lt;br /&gt;
** Aktuell nach: http://www.kicad.org/display/DEV/Build+KiCad&lt;br /&gt;
**&lt;br /&gt;
**Veraltet! siehe: http://www.mikrocontroller.net/topic/310766#3351269 Aber Achtung. Diese Anleitung (Oktober 2013) muss nicht aktuell sein. --&amp;gt;&lt;br /&gt;
* Sicherheitseinstellungen von Java sind für PCBnew unter JAVA -&amp;gt; JAVA konfigurieren zu finden.&lt;br /&gt;
&lt;br /&gt;
* Diskussionen zum Thema Installation und compilieren:&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/338600#new FEDORA] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/339509#new ARCH Linux]&lt;br /&gt;
* Konfigurationsdateien:&lt;br /&gt;
** Ab BZR5114 (ca. 5. September 2014) hat sich der Ordner für die Files mit den Konfigurationsdaten geändert. Unter Linux sind nun die Konfigurations Dateien in $HOME/.config/kicad (entsprechen der FreeDesktop.org Spezifikation). Um Ihre gegenwärtigen Konfigurierungen zu erhalten, können die KiCAd Konfigurationsfiles aus dem Home-Verzeichnis in den aktuellen Ordner kopiert werden. Es muss allerdings der führende &amp;quot;.&amp;quot; (Punkt) der Datei entfernt werden. Ebenso muss die globale &amp;quot;fp-lib-table&amp;quot; aus dem home-Verzeichnis dorthin kopiert werden. Windows User müssen KiCad leider reconfigurieren. Es gab keinen einfachen Weg um die Registry-Keys in die Konfigurationsdateien zu extrahieren. Die Konfigurationsdateien unter Windows werden genau wie die fp-lib-table im %APPDATA%\kicad Ordner gespeichert. Es ist angeraten, sämtliche Reste der KiCad Installation aus der Registry zu entfernen, wenn nicht KiCad Versionen vor der BZR5114 verwendet werden. Diese Lösung beseitigt die $home Ordner &amp;quot;Verschmutzung&amp;quot; und vermeidet die Benutzung der Windows registry, wie es häufig gewünscht wurde. Für OS X User ergeben sich keine Änderungen. [https://groups.yahoo.com/neo/groups/kicad-users/conversations/messages/18889 Link] auf die Originalnachricht (englisch):  (KiCad-User Group, 05. September 2014, Titel: Configuration file location changes (#18889) Autor: Wayne Stambaugh)&lt;br /&gt;
&lt;br /&gt;
=== Schaltplan ===&lt;br /&gt;
* Wie stellt man die Blattgröße beim Schaltplan ein?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/33653#974295 Forumsbeitrag]: In Page Settings die Blattgröße verstellen (z.B. von A4 auf A3) &lt;br /&gt;
* Wie mache ich eine neue Schaltplan Seite auf?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/398489#new Forumsbeitrag]: Nur in Form eines neuen hierarchischen Schaltplans&lt;br /&gt;
* Wie kann man den Schaltplan auf mehreren Seiten verteilen (hierarchical sheets)?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/96060 Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/117873#1060062  Forumsbeitrag]&lt;br /&gt;
*Wie geht man mit &amp;quot;Power Pins&amp;quot; in hi­e­r­ar­chischen Schaltplänen um?&lt;br /&gt;
**[http://www.mikrocontroller.net/topic/207905#new  Forumsbeitrag]&lt;br /&gt;
* Wie kann man die &amp;quot;hierachical sheets&amp;quot; benutzen, um aus vorgefertigten Subschaltplänen mit immer gleichen Bauteilgruppen rationell Schaltpläne zusammenzustellen (Building Blocks)?&lt;br /&gt;
** [http://www.mikrocontroller.net/articles/KiCad#Tipps.26Tricks:_Building_Blocks Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/175597#1687653 Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/178683#1724114 Forumsbeitrag]&lt;br /&gt;
* Ich habe einen hierarchischen Schaltplan angelegt. Wenn ich ihn ausdrucke, werden die Subschaltpläne in der Reihenfolge ausgedruckt, in der sie oben in der Übersicht stehen. Diese Reihenfolge ist aber in meinem Fall ungünstig. Wie kann ich diese nun ändern?&lt;br /&gt;
** Leider im Programm z.Z. noch nicht. Trotzdem ist es machbar. Entweder von Hand oder mit einem Python Skript. Näheres zu beidem findet sich ind diesem [http://www.mikrocontroller.net/topic/288394#3064087 Forumsbeitrag] . Ein Python 3 Skript, das den Umgang mit dem Kicad-Schaltplan erleichtert, findet sich [[Media:PyKicadSchematic-ID_Interchanger_RevC.zip | hier]].&lt;br /&gt;
*Wie geht man mit Bussen um?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/208870#new Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/209156#new Forumsbeitrag], speziell bei hierarchischen Schaltplänen&lt;br /&gt;
* Wie kann man Schaltplanentwurf (KiCad) und Schaltungssimulation (Spice) verbinden?&lt;br /&gt;
** NGspice ist in den Grundzügen mittlerweile in den entwicklungsversionen von KiCad integriert. Aktuell (Nov. 2016) muss man sich aber noch KiCad selber compilieren und dabei auch einen passenden Schalter für den Compiler setzten. Siehe: [https://www.mikrocontroller.net/topic/412350#4803960 Forumsbeitrag]&lt;br /&gt;
** [http://Fuhaweb.hartford.edu/kmhill/suppnotes/KiCadDia/AimSPICE/KiCad_AimSPICE_01.pdf Imformationen zur Zusammenspiel KiCad &amp;lt;&amp;gt; AimSpice] &lt;br /&gt;
* Ein [[Media:SymboleFuerKiCad318082009-RevC-DE.pdf | Tutorial]] zum Symboleditor für KiCad, mit dem die Symbole für das Schaltplanmodul (EEschema) erzeugt bzw. editiert werden.&lt;br /&gt;
* Zur Erstellung von Schaltplansymbolen in aufgelöster Darstellung (Relais: Kontaktsätze einzeln und getrennt von der Spule; IC: Versorgungsspannung getrennt von den einzelnen Gattern)&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/273891#new. Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/294095#3136180 Forumsbeitrag]&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/449373#new Forumsbeitrag]&lt;br /&gt;
* Wie kann man im Schaltplan Symbole zum Verschieben gruppieren?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/170913# Forumsbeitrag]&lt;br /&gt;
* Und wenn es darum geht, eine solche Gruppe in einen anderen Schaltplan oder Subschaltplan zu verschieben?&lt;br /&gt;
** Die Gruppe ins &amp;quot;Clipboard&amp;quot; stecken. Dazu nach dem Markieren der Gruppe rechte Maustaste klicken, und dort &amp;quot;Gruppe speichern&amp;quot; wählen. Nun ist die Gruppe im Clipboard. jetzt in den gewünschten Unterschaltplan gehen und die Gruppe dort mithilfe des Clipboardbuttons (Das Klemmbrett Symbol links neben dem &amp;quot;Undo&amp;quot;-Button) in den Schaltplan einfügen. NICHTS mit der rechten Maustaste versuchen! Siehe [http://www.mikrocontroller.net/topic/244836#2499782 Forumsbeitrag].  Das ganze geht nicht nur mit Subschaltplänen, sondern auch genauso in einen ganz anderen Schaltplan, den man dann halt in Eeschema öffnen muss, hinein. Wenn nach dem Einfügen allerdings nur ein Kästchen mit Fragezeichen erscheint, waren die nötigen Symbolbibliotheken für diese Symbole noch nicht in der Projektdatei eingetragen. Das muss man nun nachholen, indem man unter &amp;quot;Einstellungen&amp;quot; die &amp;quot;Bibliotheken&amp;quot; wählt, und die passenden Bibliotheken einträgt. Wenn man nicht genau weiß, wo diese zu finden sind, kann es sinnvoll sein, die *-cache.lib des Herkunftsschaltplanes einzubinden.&lt;br /&gt;
** Ist es möglich, im Schaltplan gruppierte Bauteile automatisch im Board als Gruppe zu verschieben?&lt;br /&gt;
*** Nein. Siehe [https://www.mikrocontroller.net/topic/398996#new Forumsbeitrag]&lt;br /&gt;
* Wie wird man den merkwürdigen Rahmen los?&lt;br /&gt;
** 1) Bei neueren KiCad Versionen, ab ca. Mitte 2013 (von mir getestet ab BZR 4513 29 November 2013) kann man sich eine Vorlage ohne Rahmen erstellen. Dazu den pl_editor (der ganz rechte Button im KiCad Hauptfenster) starten, und FAST alles entfernen. Dazu in der linken Spalte nacheinander alles aktivieren, und mit rechts anklicken und dann &amp;quot;entfernen&amp;quot; wählen. Aber Vorsicht, wenn alles Entfernt wird, taucht das Original Layout wieder auf. Workaround war bei mir, eine zusätzliche Alibilinie hinzuzufügen, die von X 0,000 Y 0,000 bis  X 0,001 Y 0,000 reicht. Das ist ein &amp;quot;Fliegenschiss&amp;quot; in der linken oberen Ecke. Jetzt kann alles andere gelöscht werden. Den so geleerten Rahmen unter einem beliebigen Namen mit der Endung .kicad_wks wegspeichern. Im geöffneten Schaltplan kann der dann unter Datei &amp;gt; Seite einrichten ganz unten unter &amp;quot;page layout file description&amp;quot; die entsprechende Datei eingebunden werden. Es bleibt aber dem Anwender offen, ob er den Rahmen komplett entfernt, oder noch Felder mit Textbeschreibungen übernimmt. Für gesteigerten Komfort kann diese Datei dann auch in ein Template eingebunden werden. &lt;br /&gt;
** 2) Beim Ausdrucken Frame deaktivieren.&lt;br /&gt;
** 3) Als SVG exportieren. Dort den Frame deaktivieren.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/343509#3791448 Forumsbeitrag]&lt;br /&gt;
* Wie schalte die Footprint-Namen in Eeschema global ab?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/253564#new Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Problem mit dem ERC. Ständig kommt die Fehlermeldung: &amp;quot;Pin ist mit anderen Pins verbunden, wird jedoch von keinem angesteuert&amp;quot;&lt;br /&gt;
** Netze, die nicht angesteuert werden, werden von Kicad misstrauische beäugt. Das &amp;quot;nicht ansteuern&amp;quot; kann aber schnell passieren, weil Kicad u.A. erwartet, das irgendwo ein Spannungsversorgung ist. Wenn diese aber z.B. über eine Sicherung oder einen Pull-up Widerstand gehen, so wird das nicht bemerkt, weil Sicherungen und Widerstände (oder auch Entstördrosseln) &amp;quot;passive&amp;quot; Pins haben. Siehe [http://www.mikrocontroller.net/topic/292988#new Forumsbeitrag] und [http://www.mikrocontroller.net/topic/298401#new Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Problem mit dem ERC. Immer in Verbindung mit GND kommt die Fehlermeldung: &amp;quot;Pin ist mit anderen Pins verbunden, wird jedoch von keinem angesteuert&amp;quot;&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/284089#new Forumsbeitrag]&lt;br /&gt;
* Beim ERC kommt die Fehlermeldung &amp;quot;PIN not connected&amp;quot; an Verbindungen, die per Label angeschlossen sind. Was ist da falsch?&lt;br /&gt;
**Sie sind tatsächlich nicht angeschlossen. [http://www.mikrocontroller.net/topic/346976#new Forumsbeitrag]&lt;br /&gt;
* Wie ist der Zusammenhang zwischen Bauteilen und Netznamen? Wie bekomme ich heraus, an welchem Netz mein Bauteil angeschlossen ist?&lt;br /&gt;
** Eeschema vergibt bzw. aktualisiert erst dann Netznamen, wenn eine Netzliste erzeugt wird. Darauf besteht entweder ein Zugriff über PCBnew, oder aber mit einem Editor. [http://www.mikrocontroller.net/topic/316539#new Forumsbeitrag]&lt;br /&gt;
* Ich habe einen Schaltplan geöffnet, aber alle oder einige der Symbole zeigen nur Kästen mit Fragezeichen.&lt;br /&gt;
** Es fehlen die passenden Symbolbibliotheken für diese Symbole.&lt;br /&gt;
** Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Diese Fehlen nun. Man braucht die Originalbibliotheken oder aber die Cache-Bibliothek dieses Schaltplans.&lt;br /&gt;
*** Diese müssen in der Liste der Bibliotheken nachgetragen werden. Siehe dazu die Handhabung von Bibliotheken: [[KiCad#Handhabung_von_Bibliotheken]]&lt;br /&gt;
** Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Diese Fehlen nun. Man braucht nun die Originalbibliotheken oder aber die Cache-Bibliothek dieses Schaltplans.&lt;br /&gt;
** Ab BZR4646 (Jan./Feb. 2014) behandelt KiCad Symbolnamen &amp;quot;Case Sensitive&amp;quot;. Das führt zu Problemen mit älteren Schaltplänen, wo das anders gehandhabt wurde.&lt;br /&gt;
*Wieviele Textfelder für Symbole kann ich anlegen und wie groß dürfen diese sein?&lt;br /&gt;
** Mindestens 35 Felder, die mindestens 256 Zeichen (tatsächlich deutlich mehr) beinhalten können. Aber Zeilenumbrüche gehen nicht. [http://www.mikrocontroller.net/topic/331201#3658695 Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Symbol im Symboleditor geändert. Aber irgendwie taucht diese Änderung dann in Eeschema trotzdem nicht auf.&lt;br /&gt;
** Die Reihenfolge der Einträge in der Bibliotheksliste ist wichtig. Bei gleichem Namen wird immer das zuerst gefundene Symbol verwendet. Steht die -cache.lib in der Reihenfolge zu oberst, wird immer zuerst das Bauteil aus der -cache.lib verwendet. Beheben: Die -cache.lib aus der Bibliotheksliste von Eeschema austragen und neu eintragen, so dass sie unten angefügt wird, und zuletzt geladen wird. Alternativ: Bei Änderungen einen neuen Namen für das Symbol vergeben. Z.B. durch das Pflegen eines Revisions- oder Datecode im Symbolnamen. Einfach nur die -cache.lib löschen langt möglicherweise nicht, weil diese u.U. mit alten Daten neu geschrieben wird (wenn z.b. Eeschema dabei nicht geschlossen ist). [http://www.mikrocontroller.net/topic/331201 Forumsbeitrag]&lt;br /&gt;
* Wie erstelle ich eine Stückliste (BOM, Bill of Materials)?&lt;br /&gt;
** 1) In PCBnew oben im Pull down Menue Datei &amp;gt; Fertigungsdateien &amp;gt; BOM (Bill of materials) Geht nur, wenn die Netzliste schon importiert wurde.&lt;br /&gt;
** 2) In EEschema unter Werkzeuge &amp;gt; Stückliste erstellen &amp;gt; und dann ein Plugin wählen. Es gibt verschieden Plugins mit verschiedenen Eigenschaften z.B. auch für kumulierende Listen. Die Plugins kann man von [https://github.com/KiCad/kicad-source-mirror/tree/master/eeschema/plugins hier] beziehen: Achtung, ein kleiner &#039;&#039;&#039;BUG&#039;&#039;&#039; In den Voreinstellungen der Kommandozeile muss in den Optionen &amp;quot;%O&amp;quot; in &amp;quot;%O.csv&amp;quot; umgewandelt werden, sonst hat die erzeugte Datei keinen .csv extender. Grundsätzlich: Hier wird zuerst eine behelfsmäßige Netzliste im .xml Format erstellt. Die Kommandozeile startet dann ein Programm, was widerum ein .xsl Skript (Das Plugin) abarbeitet, und als output eine .csv Datei erzeugt, die in Tabellenkalkulationen importiert werden kann. In die Kommandozeile kann natürlich auch etwas anderes eingetragen werden, so dass man dort z.B. auch Python Skripte verwenden kann.&lt;br /&gt;
** 3) Man kann sich selber ein separates Skript erstellen, welches die .kicad_sch Datei parst, und daraus eine .csv oder anders gestaltete BOM-Datei erstellt, so wie man es braucht. Da man auch ohne Plugins bei drücken von &amp;quot;Erstellen&amp;quot; die oben erwähnte behelfsmäßige Netzliste erhält, kann man diese auch mit externen Skripten bearbeiten. Es gibt Mittelwege zwischen 2) und 3). Für ein Python Skript siehe [https://forum.kicad.info/t/kibom-python-bom-generation-tool/3038 hier]&lt;br /&gt;
** Info:&lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/402089#new Forumsbnbeitrag]: &amp;quot;KiCad Stückliste&amp;quot; &lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/376977?goto=new#new Forumsbeitrag]: &amp;quot;Kicad Bauteilliste(BOM) erstellen&amp;quot;&lt;br /&gt;
**  [https://www.mikrocontroller.net/topic/402565#new Forumsbeitrag]: Klaus hat ein Plugin geschrieben, dass in html überträgt&lt;br /&gt;
* Ich möchte eine Stückliste (BOM, Bill of Materials) mit einer Datenbank, z.B. für Bestellnummern verbinden.&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/416192#4856645 Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
=== Netlist ===&lt;br /&gt;
* Was genau muss man beim Übergang vom Schaltplan (SCH) zum Layout (BRD) machen?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/33653#898771&lt;br /&gt;
** http://www.mikrocontroller.net/topic/39243#290309&lt;br /&gt;
** http://www.mikrocontroller.net/topic/39243#891530&lt;br /&gt;
* Kann man fertige Netzlisten für Gruppen von Bauteilen einbinden?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/33653#1462871&lt;br /&gt;
* Wie sieht das allgemein mit der Zuordnung Symbol zu Footprint aus?&lt;br /&gt;
** Symbole und Footprints sind zwar von der Idee her erst einmal getrennt, und Footprints werden über CVpcb und Netzliste den Symbolen zugeordnet.&lt;br /&gt;
** Allerdings besteht auch eine Möglichkeit, Symbolen einen bevorzugten Footprint  fest zuzuweisen, der dann automatisch in die Netzliste zum Einlesen in das Board eingetragen wird. Wenn dann der Zuweisungsschritt mit CVbcb in der Netzliste gemacht wird, ist dort schon etwas eingetragen, was man so lassen oder aber ändern kann.&lt;br /&gt;
*** Dazu in EEschema mit der Maus auf ein Symbol gehst und &amp;quot;E&amp;quot; drücken. Alternativ über rechten Mausklick auf Symbol und dann das Kontextmenuest gehen. Wenn man im Symboleditor arbeitet, aus der oberen buttonleiste den Button mit dem &amp;quot;T&amp;quot;-Symbol wählen. Es poppt ein Fenster auf &amp;quot;component properties&amp;quot;. In der Mitte ist eine Tabelle mit unter anderem einem Eintrag &amp;quot;Footprint&amp;quot;. Wenn dann &amp;quot;Footprint&amp;quot; aktiviert wird. kann rechts der Name eines Footprintes eingebenwerden (kompliziert), oder, wesentlich einfacher, darunter gibt es einen Button &amp;quot;browse Footprints&amp;quot;. Wenn der aktiviert wird, öffent sich ein Fenster, in dem sich in den in die Bibliothekslisten eingetragenen Footprintbiblotheken herumwühlen lässt.&lt;br /&gt;
** Desweiteren kann auch eine Kopie des Symbols unter anderem Namen angelegt werden, und dort ein anderer Footprint eingetragen werden, als Variante. Falls das Pinning nicht passt, müssen halt auch noch die Pinne im Symbol passend zum Footprint gemacht werden.&lt;br /&gt;
** Diskussion dazu: https://www.mikrocontroller.net/topic/432920#5112114&lt;br /&gt;
* Kann man Daten für automatische Bestückung erzeugen?&lt;br /&gt;
** Ja. aber nicht in CVpcb für die Symbol &amp;gt; Footprint Zuordnung, sondern im Layout Modul PCBnew.&lt;br /&gt;
* In meiner Netlist fehlen Bauteile, die im Schaltplan vorhanden und angeschlossen sind. Der ERC läuft problemlos durch. Die Annotation auch, aber nach Erstellung der Netlist sind die Symbole plötzlich mit einem vorangestellten &amp;quot;#&amp;quot; im Schaltplan bezeichnet.&lt;br /&gt;
** Vermutlich sind sie versehentlich als &amp;quot;virtuelles&amp;quot; Bauteil gekennzeichnet. Siehe http://www.mikrocontroller.net/topic/268626#new&lt;br /&gt;
* Wie exportiere ich eine Netlist NUR für einen Subschaltplan?&lt;br /&gt;
** Das geht, nachdem dieser Schaltplan explizit in EEschema geöffnet wurde. Siehe: http://www.mikrocontroller.net/topic/330740#new&lt;br /&gt;
* Ich finde CVpcb nicht mehr am gewohnten Platz zwischen all den anderen Startbuttons!&lt;br /&gt;
** CVpcb ist inzwischen aus diesen entfernt worden, und durch Startbuttons für den Symboleditor und den Footprinteditor ersetzt worden. Dafür kann CVpcb jetzt direkt aus Eeschema heraus gestartet werden. Es findet sich jetzt im oberen Pulldown Menue unter &amp;quot;Werkzeuge&amp;quot; und dann &amp;quot;Bauteilfootprints zuweisen&amp;quot; oder in der oberen Buttonleiste als dritter Button von rechts (BZR5175 vom 11 Oktober 2014).&lt;br /&gt;
** Sollte KiCad abstürzen, wenn man versucht, CVpcb zu starten, so kann man CVpcb auch direkt aus einem Terminal oder aus der Eingabeaufforderung heraus starten.  &lt;br /&gt;
** Versuchsweise mal 10 Minuten warten.....bei Problemen mit der Erkennung von Symbolnamen und Footprintnamen (beim öffnen ganz alter Projekte mit alten Dateiformaten) kann es manchmal extrem lange dauern.&lt;br /&gt;
* Was bedeuten die Maßangaben in der Netlist?&lt;br /&gt;
* Wie überträgt man Kicad Schaltpläne in QUCS Schaltpläne für Simulation?&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
* Wie stellt man die Rastergrösse im Layout ein?&lt;br /&gt;
** Mit der Rechten Maustaste in das Board klicken. Es poppt ein Menue auf. Dort Raster wählen..... Geht im Modul-Editor genauso.&lt;br /&gt;
* Wie verteile ich die übereinander geladenen Bauteile?&lt;br /&gt;
**Oben das IC Symbol mit den zwei Pfeilen (Mode footprint) aktivieren und mit der rechten Maustaste auf der Platine im Menü &amp;quot;Global spread and place&amp;quot; anwählen und die gewünschte Art auswählen.&lt;br /&gt;
* Wie werden Pads und Leiterbahnen verbunden?&lt;br /&gt;
**Siehe: http://www.mikrocontroller.net/topic/119755#1081455&lt;br /&gt;
**Aktueller: http://www.mikrocontroller.net/topic/220733#new&lt;br /&gt;
* Ich kann keine Leiterbahnen ziehen!&lt;br /&gt;
** Vermutlich hast Du den automatischen DRC (Design rule check) aktiviert. Deaktiviere ihn halt. In PCBnew im linken Buttonbar der oberste Button (Insekt mit Verbotszeichen). http://www.mikrocontroller.net/topic/306476#new&lt;br /&gt;
* Aber jetzt habe ich beim Ziehen der Leiterbahnen so merkwürdige Ergebnisse!&lt;br /&gt;
** Option &amp;quot;Remove redundant tracks&amp;quot; wählen! Siehe https://www.mikrocontroller.net/topic/381906#new &lt;br /&gt;
* Mir fehlen Airwires/Luftlinien/Gummibänder!&lt;br /&gt;
** Vieleicht die falschen Pins als Typ &amp;quot;Spannungsausgang&amp;quot; definiert? Siehe: http://www.mikrocontroller.net/topic/330817#3620918&lt;br /&gt;
* Ich bekomme immer eine Fehlermeldung vom DRC, das ein Pad nicht angeschlossen ist, aber ich habe es angeschlossen.&lt;br /&gt;
**Siehe: http://www.mikrocontroller.net/topic/204717#2018724&lt;br /&gt;
* Ich will ein Bauteil für geringeren Leiterwiderstand sowohl auf der Unterseite- als auch der Oberseite anschließen. KiCad löscht aber immer den alten Leiterbahnzug, wenn ich den neuen lege. &lt;br /&gt;
** Deaktiviere unter Einstellungen-&amp;gt;Allgemein das &amp;quot;auto-entfernen-von-Leiterbahnen&amp;quot; (einfachste Lösung). &lt;br /&gt;
** Alternativ: Designe dafür Bauteile mit speziellen Pads. http://www.mikrocontroller.net/topic/187606#1823596 (realistischste u. sauberste Lösung, aber etwas umständlich.)&lt;br /&gt;
* Das Löschen der Leiterbahnen Segment für Segment ist sehr umständlich. Geht es besser?&lt;br /&gt;
** Ja. Siehe: https://www.mikrocontroller.net/topic/385768#new &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Bei neueren (RC4 z.B.) Versionen von PCBnew kann unter &amp;quot;View&amp;quot; verschiedene &amp;quot;Canvas&amp;quot; verwendet werden. Jeder dieser &amp;quot;Canvas&amp;quot; verhält sich etwas anders und hat andere Vorzüge.&lt;br /&gt;
** Aktuell (Jan. 2019) mit Auswahlbox. Achtung: Die Auswahlbox hat anderes Verhalten in KiCad 6, je nachdem ob man sie von rechts oder von links aufgezogen hat! Details siehe: https://www.mikrocontroller.net/topic/467735#new&lt;br /&gt;
* Wie kann man ein Bauteil mit Pads und Leiterbahnen bewegen? &lt;br /&gt;
** http://www.mikrocontroller.net/topic/118539#1067219&lt;br /&gt;
* Wie füllt man eine Fläche aus?&lt;br /&gt;
** Siehe: http://www.mikrocontroller.net/topic/93131#854802&lt;br /&gt;
** Etwas aktueller: http://www.mikrocontroller.net/topic/182271#1772119 Zweiter Teil des Posts.&lt;br /&gt;
** Und wie erzeuge ich konzentrisch ineinanderliegende Flächen?&lt;br /&gt;
*** Siehe: http://www.mikrocontroller.net/topic/327475#new&lt;br /&gt;
** Wie ist das Verhalten von KiCad bei Flächen/Polygonen verglichen mit Eagle?&lt;br /&gt;
*** Siehe: https://www.mikrocontroller.net/topic/473604#new&lt;br /&gt;
** Ja, aber meine Fläche wird nicht gefüllt oder es passiert was ganz merkwürdiges.&lt;br /&gt;
***Siehe: http://www.mikrocontroller.net/topic/298692#new &lt;br /&gt;
***Konkreter: Es sollte darauf geachtet werden, das mindestens ein Endpunkt oder ein Via oder ein Knickpunkt der Leiterbahn, die mit der zu füllenden Fläche verbunden sein soll, innerhalb der als zu füllen definierten Fläche liegen. Siehe http://www.mikrocontroller.net/topic/366199#new&lt;br /&gt;
* Die Flächen habe ich jetzt, aber wie sieht das mit &amp;quot;Stitching&amp;quot; aus? Anmerkung: Als &amp;quot;Stitching&amp;quot; (von Engl. &amp;quot;stitch&amp;quot;: Nähen) bezeichnet man das Verbinden mehrerer Flächen oder Leiterbahnen gleichen Potentials mit Durchkontaktierungen durch die Platine hindurch. Üblich z.B. für Masseflächen. Die gleiche Technik kann auch verwendet werden, wenn man für Hochstromverbindungen mehrere Durchkontaktierungen parallel schalten möchte, wobei KiCad beim ziehen des Tracks nur eine  Durchkontaktierung setzt, und die anderen von Hand dazugesetzt werden müssen. &lt;br /&gt;
** Es gibt verschiedene Methoden. Je nach Geschmack. Siehe: http://www.mikrocontroller.net/topic/380550#new und https://www.youtube.com/watch?v=Hp5ngKtl7S4&amp;amp;list=PLJhdeJOBBRdnPgqcUiONoV4NLCo12f-jT&amp;amp;index=5&lt;br /&gt;
* Ich habe eine Platine, die von oben und unten bestückt ist. Wenn ich jetzt Bauteile zusammengruppiere, um sie gemeinsam zu verschieben, erwische ich immer alle Bauteile auf Vorder- und Rückseite. Wie bekomme ich das jetzt hin, das ich nur Module auf einer Seite bewege?&lt;br /&gt;
** Indem im Lagenmanager die Seite, die nicht bewegt werden soll, abgeschaltet wird. Siehe: http://www.mikrocontroller.net/topic/311586#new&lt;br /&gt;
* Wie bekommt man ein vernünftiges Boardoutline hin?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/96060#1057511 &lt;br /&gt;
* Wie erstellt man ein rundes Loch, z.B. eine Befestigungsbohrung / nichtdurchkontaktierte Bohrung?&lt;br /&gt;
** VERALTET: http://www.mikrocontroller.net/topic/179308#1726990&lt;br /&gt;
** VERALTET:http://www.mikrocontroller.net/topic/120373#1122219 ?????&lt;br /&gt;
** KiCad kann mittlerweile auch direkt nichtdurchkontaktierte Bohrungen erzeugen. Siehe dazu http://www.mikrocontroller.net/topic/263069#2732405 Enthält auch allgemeine Informationen zum Umgang mit durchkontaktierten und nicht durchkontaktierten Bohrungen.&lt;br /&gt;
Da Löcher mit einem Durchmesser ab 2mm gefräst statt gebohrt werden können, und ab 6mm Durchmesser mit hoher Sicherheit gefräst werden, ist es sinnvoll, Löcher ab ca. 4mm Durchmesser in PCBnew mit dem Kreistool in das Layer &amp;quot;edge.cuts&amp;quot; zu zeichnen.&lt;br /&gt;
&lt;br /&gt;
* Ich möchte für Passermarken / Fiducials eine deutlich größere Freistellung in der Lötstoppmaske haben. Wie geht das?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/266730#2779498&lt;br /&gt;
* Wie geht das überhaupt mit den Lötstoppmasken?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/283721#new&lt;br /&gt;
* Ja, aber die Lötstoppmaske wird leider nicht angezeigt.&lt;br /&gt;
** http://www.mikrocontroller.net/topic/298028#new&lt;br /&gt;
* Ich möchte Text und Markierungen/Grafik statt im Bestückungsdruck im Lötstopplack erstellen. Geht das überhaupt und wie ist das zu bewerkstelligen?&lt;br /&gt;
** Das geht, und dazu ist der Text oder die grafischen Linien/Kreise direkt in die Lötstoppmaske zu schreiben. Siehe: http://www.mikrocontroller.net/topic/347702#new Die Lötstoppmasken Lagen heissen F.Mask (Bestückungsseite) und B.Mask (Lötseite).&lt;br /&gt;
* Ich möchte Text invers im Bestückungsdruck haben.&lt;br /&gt;
** Das geht. Siehe: http://www.mikrocontroller.net/topic/417961#4888742&lt;br /&gt;
* Wie kann man Bauteilmaße in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
** Anzeige im Layout: Layer &amp;quot;Zeichnung&amp;quot; anwählen. In der rechten Menueleiste &amp;quot;Bemaßung hinzufügen&amp;quot; wählen. Das ist der fünfte Button von unten mit der &amp;quot;blauen Bemaßung&amp;quot;. Jetzt an einer Stelle links ins Layout klicken. Maus verschieben und noch einmal links klicken und die Maus seitlich verschieben. Es wird ein Maßpfeilsystem zwischen erstem und zweitem Mausklick angelegt, dessen höhe man mit der Maus einstellen kann. Ein weiterer linker Mausklick fixiert das System. Das Anklicken der Beschriftung mit der rechten Maustaste erlaubt das Editieren. Das System wird immer in der Einheit angelegt, die in der linken  Menueleiste vorgewählt wurde. Die Rasterung der aktuellen Einstellung wird auch übernommen. Späteres Ändern von Einheit- und Raster ändern die Beschriftung nicht mehr. In 3D und im Footprint geht diese Möglichkeit nicht.&lt;br /&gt;
** Weitere Möglichkeiten: Einen Maßstab als footprint/Modul anfertigen und zum Messen in das Board einfügen.&lt;br /&gt;
** Wenn man im Layout aber direkt etwas ausmessen möchte, so geht das über den relativen Nullpunkt. Unten im Rahmen rechts sind vier Felder. Die beiden linken zeigen die absoluten Koordinaten, an, die beiden rechten die relativen Koordinaten in Bezug auf einen relativen Nullpunkt. Defaultmäßig stimmen absoluter und relativer Nullpunkt ersteinmal überein. Per &amp;quot;Space bar&amp;quot; drücken setzt Du den relativen Nullpunkt an den Ort des Mauszeigers. Wenn Du nun die Maus verfährst, zeigen die relativen Koordinaten nun den vertikalen und horizontalen Abstand zum Nullpunkt. Die Diagonale muss leider über den Pythagoras selber ausgerechnet werden, oder indem man die Polarkoordinateneinstellung wählt (linke Menueleiste). Durch geschicktes setzten des Nullpunktes kann man nun auf der Platine herummessen. Winkel können auch über die Polarkoordinateneinstellung gemessen werden. Im Moduleditor geht das analog. Das 3D-View kann zur Zeit (Januar 2011) überhaupt keine Bemaßung.     &lt;br /&gt;
* Wie kann man mit der KiCad Version 20100314 &#039;&#039;&#039;einseitige&#039;&#039;&#039; Platinen erstellen?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/172015#1651239&lt;br /&gt;
** aktueller: http://www.mikrocontroller.net/topic/172015#1794699&lt;br /&gt;
*Und wie teile ich KiCad mit, daß der Autorouter nur eine Seite verwenden soll?&lt;br /&gt;
** Auf die doofe Tour: Erst in KiCad zweiseitig wählen, und dann beide Lagen im Autorouter als &amp;quot;Unterseite&amp;quot; wählen.&lt;br /&gt;
&lt;br /&gt;
* Wie gehen runde Bögen in KiCad?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/202512#1994063&lt;br /&gt;
* Ich brauche für einen Platinenumriss eine geschlossene Linie. Das klappt aber irgendwie nicht.&lt;br /&gt;
** Die Endpunkte müssen exakt aufeinander liegen. Dazu&lt;br /&gt;
*** A) Passende Raster verwenden&lt;br /&gt;
*** B) parametrisch die Endpunkte direkt als Koordinaten eingeben.&lt;br /&gt;
*** Siehe Diskussion dazu: https://www.mikrocontroller.net/topic/418296#new&lt;br /&gt;
* Wie benutze ich den interaktiven Router (Push &amp;amp; Shove) in PCBnew?&lt;br /&gt;
** Dazu muss in PCBnew im Pulldown-Menue unter &amp;quot;Ansicht&amp;quot; die Option &amp;quot;Canvas nach OpenGL umschalten&amp;quot; oder &amp;quot;Canvas nach Cairo umschalten&amp;quot;gewählt werden. Wenn man nun, wie gewohnt, aus der rechten Button Leiste das Verlegen von Leiterbahnen wählt, eine Leiterbahn/Luftlinie wählt und rechts anklickt, erhält man den interaktiven Router. Aber Achtung - wegen des geänderten Kontextmenues kann es sinnvoll sein, für andere Tätigkeiten auf die Voreinstellungen zurückzuschalten.&lt;br /&gt;
* Wie stelle ich beim Routen die Leiterbahnbreiten ein?&lt;br /&gt;
** Sie müssen vorher in den Design Rules definiert werden. Siehe: https://www.mikrocontroller.net/topic/452117#new&lt;br /&gt;
* Ich habe mein Board fertig geroutet, stelle aber jetzt fest, das ich noch einige Leiterbahnbreiten ändern muss. Wie geht das am einfachsten?&lt;br /&gt;
** Eine Leiterbahn rechts anklicken und Segment oder Track ändern. Das Verhalten ist im Detail vom gewählten Canvas anhängig. Und die Leiterbahnbreite muss schon in den Design rules existieren. Siehe hier: https://www.mikrocontroller.net/topic/452117#new&lt;br /&gt;
*** Ab KiCad 5.1 bzw. 6 wird es die verschiedenen Modi nicht mehr geben. Siehe https://www.mikrocontroller.net/topic/467735#5718645&lt;br /&gt;
* Wie gestalte ich einen gleitenden, stetigen Übergang bei einer Änderung der Leiterbahnbreite?&lt;br /&gt;
** Mit Workarounds wie dreieckigen/trapezförmigen Pads oder einem sehr fein gestaffelten stufigen Übergang. Siehe: https://www.mikrocontroller.net/topic/438242&lt;br /&gt;
**http://www.mikrocontroller.net/topic/205851#new&lt;br /&gt;
*Ich kann Pads nicht anschließen bzw. ich bekomme vom DRC Fehlermeldungen, daß ich Pads nicht angeschlossen habe, obwohl sie angeschlossen sind.&lt;br /&gt;
**http://www.mikrocontroller.net/topic/204717#new&lt;br /&gt;
*Wie kann ich Daten für automatische Bestückung (Pick&amp;amp;Place) erzeugen?&lt;br /&gt;
** In PCBnew unter Datei &amp;gt; Fertigungsdateien &amp;gt; Bauteile Positionsdatei (.pos). Aber dieses verlangt, das die Footprints auch die richtigen Informationen dazu enthalten. Um diese einzustellen, den Footprint im Moduleditor öffnen und unter dem Button &amp;quot;Bauteileigenschaften&amp;quot; in &amp;quot;Attribute&amp;quot; eine Markierung bei &amp;quot;Normal+Einfügen&amp;quot; machen. Dann wird der Ankerpunkt des Modules für die Positionsdatei verwendet. Damit sinnvolle Daten entstehen, sollte der Ankerpunkt bei SMD-Footprints in die Mitte des Footprintes gesetzt worden sein. &lt;br /&gt;
* Gibt es &amp;quot;Regeln&amp;quot; für das Setzten von Ankerpunkten bei Footprints?&lt;br /&gt;
** Es gibt Konventionen. Bei SMD-Bauteilen der &amp;quot;Mittelpunkt&amp;quot; des Bauteiles. Dieser wird auch für Pick&amp;amp;Place Daten in der automatischen Bestückung verwendet. &lt;br /&gt;
** Bei THT-Bauteilen wird als Konvention die Mitte von Pin 1 als Ankerpunkt verwendet.&lt;br /&gt;
*Und wie erzeuge ich ein Excellon Drillfile?&lt;br /&gt;
** In PCBnew unter Datei &amp;gt; Fertigungsdateien &amp;gt; Bohrdaten. Die Datei enthält auch eine Werkzeugliste. Kicad legt u.U. zwei Drillfiles an, wenn erforderlich. Eines für durchkontaktierte, und eines für nicht durchkontaktierte Bohrungen. Wer eine extra Liste und eine Statistik wünscht, muss auch noch &amp;quot;Bericht über Bohrung&amp;quot; anwählen.&lt;br /&gt;
** Bei mir wird aber nur ein Drillfile erzeugt. Was läuft falsch?&lt;br /&gt;
***Die NPTH Drills müssen im Pad-Editor explizit als solche gekennzeichnet werden. In PCBnew erkennt man sie dann als dicke gelbe Flächen. Siehe: http://www.mikrocontroller.net/topic/322941#3989397 Bei älteren Footprints ist das aber noch nicht komplett umgesetzt. &lt;br /&gt;
* Wenn PCBnew die Netzliste eingelesen hat, liegen alle Bauteile auf einem Haufen. Zum Plazieren eines herausgreifen ist mühsam. Wie geht das am einfachsten?&lt;br /&gt;
** In PCBnew &amp;quot;T&amp;quot; drücken. Es poppt ein Fenster auf, wo man die Bauteilreferenz (den Namen) eingeben kann. Und schon hängt das Bauteil zum Bewegen am Zeiger. Die Bedienung ist letztlich genauso wie das &amp;quot;m&amp;quot; und die Komandozeile in Eagle. Siehe http://www.mikrocontroller.net/topic/293903#3133990&lt;br /&gt;
** &amp;quot;Raef&amp;quot; hat ein Python Script erstellt, das Bauteile automatisch ähnlich der Anordnung im Schaltplan plaziert. Siehe: http://www.mikrocontroller.net/topic/293903#3245990&lt;br /&gt;
** In neueren PCBnew Version gibt es ein gutes parametrisches Plazieren: https://www.mikrocontroller.net/topic/432920#5108442&lt;br /&gt;
* Ich habe ein fertiges Layout. Jetzt möchte ich aber andere Footprints verwenden, und anschließend nicht neu routen müssen. Wie geht das?&lt;br /&gt;
** Über CVpcb und Neueinlesen der Netzliste. Siehe: http://www.mikrocontroller.net/topic/297885#new&lt;br /&gt;
* Ich will links herum routen, aber Kicad meint unbedingt rechts herum (...oder umgekehrt). Wie kann ich die Leiterbahnen &amp;quot;flippen&amp;quot;?&lt;br /&gt;
** Mit &amp;quot;/&amp;quot; (Slasch) http://www.mikrocontroller.net/topic/280028#new&lt;br /&gt;
* Ich hätte gerne die Tastenkürzel in kicad so wie in meinem gewohnten Programm. Wie geht das?&lt;br /&gt;
** Siehe http://www.mikrocontroller.net/topic/283959#3007173 . Vieleicht ist einer ja so nett, und stellt Konfigurationsfiles für Leute die aus EAGLE, ORCAD oder so wechseln, bereit.&lt;br /&gt;
* Ich habe ein kleines Board fertig geroutet. Jetzt möchte ich mehrere davon zu einer größeren Platine zusammenführen (sog. Mehrfachnutzen), um sie rationeller fertigen zu können.&lt;br /&gt;
** Siehe http:http://www.mikrocontroller.net/topic/292334#new . Das geht natürlich genauso, wenn man verschiedene Platinen so zu Nutzen zusammenfügen möchte, oder halt kleinere Teillayouts zu einem Gesamtboard.&lt;br /&gt;
*** Nachtrag: Wenn in PCBnew &amp;quot;append Board&amp;quot; oder &amp;quot;save as&amp;quot; ausgegraut sind, so schliesse KiCad Eeschem und PCBnew komplett und starte PCBnew direkt ohne über KiCad zu gehen. Das ist in neueren KiCad Versionen so vorgesehen. Siehe https://www.mikrocontroller.net/topic/399145#new&lt;br /&gt;
&lt;br /&gt;
* Ich habe einen Schaltplan mit Subschaltplänen, zu denen ich separate Layouts erstellen möchte.&lt;br /&gt;
** Dazu diesen Subschaltplan explizit in EEschema öffnen, und die Netzliste nur für diesen Subschaltplan exportieren.  Weitergehen wie üblich. Siehe: http://www.mikrocontroller.net/topic/330740#new&lt;br /&gt;
* Ich möchte Varianten eines Layouts erstellen. Was ist dazu zu sagen? Siehe: http://www.mikrocontroller.net/topic/330740#3616697&lt;br /&gt;
** Siehe http://www.mikrocontroller.net/topic/292123#new&lt;br /&gt;
* Wie importiere ich DXF-Dateien in PCBnew? z.B. ein Platinenumriss aus einem mechanischen CAD-Programm?&lt;br /&gt;
** Dafür existiert eine Import Funktion in PCBnew: Datei &amp;gt; Importieren &amp;gt; DXF-Datei. Siehe http://www.mikrocontroller.net/topic/327628#new &lt;br /&gt;
aktueller: https://www.mikrocontroller.net/topic/469438#new&lt;br /&gt;
* Wie wird man den merkwürdigen Rahmen los?&lt;br /&gt;
** 1) Genauso wie im Schaltplan. Dazu den pl_editor (der ganz rechte Button im KiCad Hauptfenster) starten, und FAST alles entfernen. Dazu in der linken Spalte nacheinander alles aktivieren, und mit rechts anlicken und dann &amp;quot;entfernen&amp;quot; wählen. Aber vorsicht, wenn alles Entfernt wird, taucht das Original Layout wieder auf. Workaround war bei mir, eine zusätzliche Alibilinie hinzuzufügen, die von X 0,000 Y 0,000 bis  X 0,001 Y 0,000 reicht. Das ist ein &amp;quot;Fliegenschiss&amp;quot; in der linken oberen Ecke. Jetzt kann alles andere gelöscht werden. Den so geleerten Rahmen unter einem beliebigen Namen mit der Endung .kicad_wks wegspeichern. Im geöffneten Schaltplan kann der dann unter Datei &amp;gt; Seite einrichten ganz unten unter &amp;quot;page layout file description&amp;quot; die entsprechende Datei eingebunden werden. Es bleibt aber dem Anwender offen, ob er den Rahmen komplett entfernt, oder noch Felder mit Textbeschreibungen übernimmt. Für gesteigerten Komfort kann diese Datei dann auch in ein Template eingebunden werden. &lt;br /&gt;
** 2) Beim Ausdrucken Frame deaktivieren.&lt;br /&gt;
** 3) Als SVG exportieren. Dort den Frame deaktivieren.&lt;br /&gt;
** 4) Beim Plotten (z.B. in Gerber) Frame deaktivieren. Ist eigentlich defaultmäßig eingestellt. &lt;br /&gt;
** Siehe: http://www.mikrocontroller.net/topic/343509#3791448&lt;br /&gt;
* Ich möchte einen bestimmten Footprint verwenden (von dem ich weiss, dass er existiert), kann ihn aber in der Auswahl der Footprints von PCBnew nicht finden.&lt;br /&gt;
**Die Bibliothek, in der er enthalten ist, muss erst in das Verzeichnis der aktiven Bibliotheken in PCBnew eingetragen werden. &lt;br /&gt;
* Ich möchte Footprint-Bibliotheken in das Verzeichnis der verwendeten Bibliotheken von PCBnew eintragen. Wie geht das?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/372123#new  &lt;br /&gt;
* Ich habe Probleme mit den Umgebungsvariablen KISYSMOD, KISYS3DMOD, KIPRJMOD, KIGITHUB beim Eintragen der Bibliothekstabellen.&lt;br /&gt;
** KISYSMOD ist eine Variable, die den Pfad zu den global verwendeten KICAD-Modulen (Footprints) angibt. KIPRJMOD ist das gleiche, für projektspezifische Module. KISYS3DMOD beschreibt den Pfad zu den 3D-Modellen, und KIGITHUB weisst den Pfad ins Internet zu den Githubbibliotheken.&lt;br /&gt;
** Nähere Informationen dazu findet man hier: http://www.mikrocontroller.net/topic/344139#new und hier : http://www.mikrocontroller.net/topic/344029#new&lt;br /&gt;
** Aktueller: http://www.mikrocontroller.net/topic/368660&lt;br /&gt;
** Falls alles nichts hilft: Nan kann den Pfad auch komplett am Stück in die Bibliothekstabelle eintragen. Copy&amp;amp;Paste funktioniert dort aber nicht per rechtem Mausklick, sondern per &amp;lt;Str-c&amp;gt; (Kopieren) und &amp;lt;Str-v&amp;gt; (einfügen). Einfacher als die Bibliothekstabelle lässt sich darum die fp-lib-table Datei per Editor bearbeiten. Unter Linux findet sich die Tabelle für globale Bibliotheken bis zur BZR5113 direkt im Homeverzeichnis. Ab BZR5114 (ca. 5. September 2014) fiondet sich die globale fp-lib-table in $HOME/.config/kicad. Die fp-lib-table für projektbezogene Bibliotheken finden sich in den korrespondierenden  Projektverzeichnissen.&lt;br /&gt;
* Ich würde gerne die Mikrowellen Tools verwenden, aber irgendwie funktioniert das nicht.&lt;br /&gt;
** In älteren KiCad Versionen funktionieren sie nur im &amp;quot;legacy Canvas&amp;quot;. Den &amp;quot;legacy Canvas&amp;quot; schaltet man mit &amp;quot;F9&amp;quot; ein, bzw. im Pull down Menue unter &amp;quot;View&amp;quot; &amp;gt; &amp;quot;legacy Canfas&amp;quot;. In neueren KiCad Versionen (daily Build ab mindestens 2017-06-16 revision dab73e1) funktionieren die Tools in allen Canvasversionen.&lt;br /&gt;
** Manchmal sieht man nur etwas, wenn man &amp;quot;Refresh&amp;quot; (F3) drückt.&lt;br /&gt;
** Eine kleine Erklärung ist hier: https://www.mikrocontroller.net/topic/434998#new&lt;br /&gt;
* Ich würde gerne aus den Mikrowellen Tools die Funktion &amp;quot;Polynominales Muster&amp;quot; verwenden. Dabei werde ich nach einem KiCad-Shapefile gefragt, aber ich weiss nicht, wie das File aussehen muss.&lt;br /&gt;
** Einen Hinweis zum Aussehen des Files gibt es hier: https://www.mikrocontroller.net/topic/369330#4166392 Allerdings müssen die Werte der Polynomstruktur anderweitig berechnet werden, und mit einem Editor manuell in diese Form gebracht werden.&lt;br /&gt;
* Wie erstelle ich koplanare Leitungen in KiCad?&lt;br /&gt;
** siehe diese Diskussion: https://www.mikrocontroller.net/topic/370700#new&lt;br /&gt;
* Ich möchte Bauteile im Kreis oder in einem Gittermuster/Array anordnen. Gibt es dafür automatische Hilfestellungen?&lt;br /&gt;
** Ja. Objekt Deiner Wahl rechts anklicken, eventuell Auswahl verfeinern, und dann im aufpoppenden Menue &amp;quot;Array erstellen&amp;quot; wählen. Geht nicht nur für Bauteile, sondern auch für Pads, Leiterbahnen ec. Siehe: http://www.mikrocontroller.net/topic/178816#new&lt;br /&gt;
** Aktuell: https://www.mikrocontroller.net/topic/473763#5832574&lt;br /&gt;
* Ich bräuchte Pads mit ungewöhnlicher Form.&lt;br /&gt;
** Aus mehreren Pads mit der gleichen Pad Nummer zusammensetzten. Pads gleicher Nummer am gleichen Footprint werden dem gleichen Netz zugeordnet. Dabei aber beachten, dass sich diese Pads sich weit genug überlappen (z.B. 0,2mm) , so dass sie nicht in einzelne Pads zerfallen, wenn in der Leiterplattenfabrik mal die Kupferflächen &amp;quot;zurückgezogen&amp;quot; werden müssen, um die Mindestabsrände für die Produktion (Galvanik) nicht zu unterschreiten.&lt;br /&gt;
** Das Mikrowellentool benutzen, um mit einem Workaround Pads als Polygon zu erzeugen. Als ein Beispiel z.B:https://www.mikrocontroller.net/attachment/259709/SMP-Test-1.png Das Mikrowellentool kannst Du mit einem Workaround dazu bekommen, Pads als Polygone zu erstellen. Näheres siehe hier: https://www.mikrocontroller.net/topic/414834#new oder hier: https://www.mikrocontroller.net/topic/369330#4166392&lt;br /&gt;
* Meine Grafikkarte unterstützt keine openGL 3D-Beschleunigung.&lt;br /&gt;
** Vieleicht kannst Du mit MESA openGL ersetzten? Siehe: https://www.mikrocontroller.net/topic/389712#4465775 Zu MESA selber siehe: https://de.wikipedia.org/wiki/Mesa_3D&lt;br /&gt;
* Ich würde gerne eine Starrflex Leiterplatte machen. Was muss ich beachten?&lt;br /&gt;
** Siehe https://www.mikrocontroller.net/topic/399330#new&lt;br /&gt;
* Wie Verbinde ich verschiedene Massen, oder allgemein verschiedene Potentiale, die aus Layouttechnischen Gründen getrennt gehalten werden sollten, ohne das der DRC zusehr meckert? Ähnliches Problem: Einzelne Vias vom Anschluss an umgebende Masseflächen ausschliessen.&lt;br /&gt;
** Voraussetzung: Die Leiterbahnen/Vias/Kupferflächen müssen unterschiedliche Potentiale haben, damit KiCad weiss, dass sie getrennt gehalten werden müssen. Wenn das nicht der Fall ist, müssen diese Segmente mit einem &amp;quot;Bauteil&amp;quot; so vom Rest der Schaltung abgedretnnt werden, dass der abgetrennte Bereich einen neuen Netznahmen/Potentialnahmen bekommt. Diese speziellen Bauteile können unterschiedlicher Art sein:&lt;br /&gt;
*** 1) Mit 0 Ohm Brücken. Das sind Bauteile, die aus einer Drahtbrücke bestehen. So sind für den ERC und DRC die Netzte getrennt, aber tatsächlich mit einer Drahtbrücke verbunden. &lt;br /&gt;
**** [http://www.mikrocontroller.net/topic/142930?goto=1321550] &amp;quot;Drahtbrücken in KiCad?&amp;quot;  hier im Forum.&lt;br /&gt;
*** 2) Ein anderer Workaround sind &amp;quot;Net ties&amp;quot; (Netties). Das sind Footprints, die aus zwei oder mehr verschiedenen Pads bestehen(wie jedes andere normale Bauteile auch, die aber direkt mit Kupfer verbunden sind. Also eigentlich ein 0 Ohm Widerstand, wo der &amp;quot;Widerstand&amp;quot; als Kupfer auf der Leiterplatte existiert. Es ist sinnvoll, zu den &amp;quot;Net tie&amp;quot; Footprints auch entsprechende Schaltplansymbole zu definieren. Zu Net ties siehe:&lt;br /&gt;
**** [http://www.grant-trebbin.com/2015/04/pcb-net-ties-and-grounding-in-kicad.html] (in Englisch)&lt;br /&gt;
**** [http://www.mikrocontroller.net/topic/330196] &amp;quot;KiCad zwei verschiedene Netze verbinden in Pcbnew&amp;quot; hier im Forum.&lt;br /&gt;
**** Etwas aktueller (geht auch auf Probleme ein): &lt;br /&gt;
***** [http://www.mikrocontroller.net/topic/389988] &amp;quot;Kicad Leiterbahn im Footprint möglich?&amp;quot; hier im Forum.&lt;br /&gt;
***** [http://www.mikrocontroller.net/topic/360510] &amp;quot;Leiterbahn aus Massepolygon isolieren&amp;quot; hier im Forum.&lt;br /&gt;
***** [https://www.mikrocontroller.net/topic/401430#new] &amp;quot;Via-Anbidung an Polygon ausschließen&amp;quot;&lt;br /&gt;
***** Ein ganz anderer Ansatz wäre, ganz auf unterschiedliche Massepotentiale zu verzichten, wenn diese sowieso verbunden werden, wie hier vorgeschlagen: https://www.mikrocontroller.net/topic/453991#5465447&lt;br /&gt;
* Wie kann man den Nullpunkt eines Layouts verschieben?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/179680#1730452 Aktueller:https://www.mikrocontroller.net/topic/427130#5008806 für den Layout Editor PCBnew. Im Moduleditor bei Erstellung eines Footprints kann man den Ankerpunkt frei Mithilfe des Anker-Tools aus der rechten Menüleiste (das Ankersymbol) setzten. Gleiches gilt für den Symboleditor.&lt;br /&gt;
* Ich habe im Layout einen weissen Kringel mit einem weissen Kreuz, der sich beim Zoomen merkwürdig verhält. Was ist das, und wie kriege ich das weg?&lt;br /&gt;
** Das ist der Ursprung des Rasters. Den sollte man nicht wegbekommen, aber man kann ihn versetzten. Siehe: https://www.mikrocontroller.net/topic/411681#new&lt;br /&gt;
* Wie erzeuge ich Thermals (Wärmefallen/thermal Pads) um Pins die in Kupferflächen sitzen?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/443639#5287943&lt;br /&gt;
* Ich möchte Langlöcher anlegen. Wie geht das am einfachsten?&lt;br /&gt;
** Als Footprint bzw. im Footprint im Footprinteditor anlegen. Dort ein Pad plazieren und als &amp;quot;Drill Shape&amp;quot; die Option &amp;quot;Oval hole&amp;quot; wählen. Den Rest des Footprints mit dem Kupfer nach eigenen Bedürfnissen gestalten, oder das Kupfer ganz weglassen. Für reine Befestigungslöcher ohne Kupfer &amp;quot;Pad type&amp;quot; zu &amp;quot;NPTH, Mechanical&amp;quot; wählen. Langlöcher landen genauso wie runde Löcher im Excellon Drill-File. Es gibt dort spezielle Kennzeichnungen dafür. Um mit dem &amp;quot;Workflow&amp;quot; konform zu bleiben, für Befestigungslöcher z.b. ein Symbol anlegen, dem ein passendes Loch oder auch Langloch als Footprint zuweisen. In einem extra hierachischen Schaltplanblatt solche Sonderfälle ablegen. Für vier löcher z.B. vier mal dieses Symbol. Es lassens sich den Symbolen unterschiedlich definierte Löcher zuweisen. Die Löcher werden dann beim Einlesen der Netzliste in PCBnew gemäß der eingetragenen Footprints auf das Board gestellt und können frei plaziert werden. Siehe: https://www.mikrocontroller.net/topic/449952#5395495&lt;br /&gt;
* Wie ist das mit der Pinnummerierung bei Symbolen und Footprints mit abweichenden Pinbelegungen? Ändere ich die Pin/Pad Nummerierung im Symbol oder im Footprint?&lt;br /&gt;
** Das hängt am Einzelfall. Aber meistens ist das Anlegen einer Symbolvariante unter anderem Namen mit geändertem Pinning am sinnvollsten. Es gibt aber Sonderfälle. Genaueres steht hier: https://www.mikrocontroller.net/topic/452154#new&lt;br /&gt;
&lt;br /&gt;
=== Layout: Python Scripting ===&lt;br /&gt;
&lt;br /&gt;
Das Python2-Scripting ist bisher nur in PCBnew implementiert und noch sehr experimentell. Daher ist leider auch der aktuelle Stand der Dokumentation zum Python-Skripting in PCBnew noch etwas dürftig. Trozdem hier Links dazu:&lt;br /&gt;
* http://confluence.kicad.org/display/KICAD/KiCad+Scripting+Reference+Manual (Allgemein. Achtung! Kicad braucht beim compilieren spezielle Befehle, um Python-Scripting tauglich zu sein.)&lt;br /&gt;
* http://ci.kicad.org/job/kicad-doxygen/ws/build/pcbnew/doxygen-python/html/namespacepcbnew.html (Definitionen von Namespaces, Classes und Files)&lt;br /&gt;
&lt;br /&gt;
Für Linux-Debian:&lt;br /&gt;
Aktuell (07. Februar 2014) mit  Pcbnew Version: (2014-01-27 BZR 4641)-product Release build auf&lt;br /&gt;
Platform: Linux 3.2.0-4-686-pae i686, 32 bit, Little endian, wxGTK (Debian Wheezy) gilt:&lt;br /&gt;
* Geht aktuell nur für PCBnew.&lt;br /&gt;
* Klassenbibliotheken: Zwei Dateien pcbnew.py und _pcbnew.so auf dem Pfad: /usr/lib/python2.7/dist-packages/&lt;br /&gt;
* Die Klassenbibliothek wird mit den üblichen Python2 Methoden importiert: z.B. &amp;quot;import pcbnew&amp;quot; oder &amp;quot;from pcbnew import *&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Beispielprogramm, das alle Footprints aus einer Legacy-Fotprint Datei auflisted und den Referenzbezeichner dazuschreibt::&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env python &lt;br /&gt;
# das war das Shebang.&lt;br /&gt;
&lt;br /&gt;
from pcbnew import * # Import der Bibliothek. &lt;br /&gt;
libpath = &amp;quot;/home/DuUser/KiCad-Daten/Module/ModuleGrosserSampler/KiCadLegacyFottprints.mod&amp;quot; # Übergabe des Pfades.&lt;br /&gt;
lst = FootprintEnumerate(libpath) &lt;br /&gt;
for name in lst:&lt;br /&gt;
    m = FootprintLoad(libpath,name)&lt;br /&gt;
    print name,&amp;quot;-&amp;gt;&amp;quot;, m.GetReference()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Scripting Möglichkeit ist so neu, dass bis jetzt die Scripting Testdateien für das KiCad interne automatische Qualitätssicherungssystem noch nicht komplett sind.&lt;br /&gt;
Unter http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/files/head:/qa/testcases/ finden sich bereits geprüfte Testskripte, und unter http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/files/head:/pcbnew/scripting/examples/ finden sich ungetestete Testskripte.&lt;br /&gt;
&lt;br /&gt;
Sie alle können als Beispiele genommen werden, wie das mit dem Skripting gemeint ist, und als Vorbild für eigene Skripte dienen.&lt;br /&gt;
&lt;br /&gt;
Weitere Skripting Info: &lt;br /&gt;
* [https://kicad.mmccoo.com/kicad-scripting-table-of-contents/ Anleitung für Python Skripting in KiCad] (Englisch)&lt;br /&gt;
&lt;br /&gt;
=== Module Editor ===&lt;br /&gt;
* Wie erstellt man Footprints für Bauteile?&lt;br /&gt;
** Mit dem Footprint Editor. Er ist bei älteren KiCad Versionen nur aus PCBnew heraus zu starten. Bei neueren KiCad Versionen hat er einen eigenen Button im KiCad Start Window.&lt;br /&gt;
** Spezielleres: http://www.mikrocontroller.net/topic/356151#new&lt;br /&gt;
* Wie verbinde kopiere ich etwas aus einem Footprint in einen anderen hinein, bzw. wie verbinde/merge ich zwei Footprints?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/288167#3061997&lt;br /&gt;
* Kann man im Module Editor die Eigenschaften aller Pads gleichzeitig ändern?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/93131#799550 &lt;br /&gt;
* Ich brauche einen Footprint, bei dem mehrere Pads verbunden sind, will aber nicht im Schaltplan zig Pins aufführen und anschliessen müssen.&lt;br /&gt;
**http://www.mikrocontroller.net/topic/208982#new&lt;br /&gt;
**http://www.mikrocontroller.net/topic/204717#new&lt;br /&gt;
* Wie erzeugt man thermal Vias in Kicad?&lt;br /&gt;
** Leider bisher nur experimentell: http://www.mikrocontroller.net/topic/298028#3187259&lt;br /&gt;
* Wie kann man Bauteilmaße in in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
* Wie verwalte ich Footprint Bibliotheken?&lt;br /&gt;
** Indem man sich ein Board erstellt, alle Footprints, die man zusammenfassen möchte, auf das Board stellt, und dann untet Dateien &amp;gt; Footprints archivieren &amp;gt; Footprint Archiv erstellen wählt. Das so erstellte Board kann auch zu Dokumentationszwecken geplottet werden. Eventuell möchte man einige Footprints, die zu Hilfszwecken (z.B. Skalen) auf dem Board sind, anschliessend mit dem Bibliothekseditor daraus löschen.&lt;br /&gt;
** Alternativ, im dem &amp;quot;neuen&amp;quot; *.pretty Format, mit einem Dateiverwaltungsprogramm Deiner Wahl. Siehe http://www.mikrocontroller.net/topic/320301#new&lt;br /&gt;
* Wie werden die Parameter für Lötpaste/Lötstopmaske vergeben?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/356151&lt;br /&gt;
* Ich möchte für einen Footprint Pads in einem Gittermuster/Array oder im Kreis anordnen. Gibt es dafür automatische Hilfestellungen?&lt;br /&gt;
** Ja. Pad rechts anklicken. Eventuell erfolgt noch eine Feinauswahl. Dann im aufpoppenden Menue &amp;quot;Array erstellen&amp;quot; wählen.&lt;br /&gt;
* Wie archiviere ich die in einem KiCad Board enthaltenen Footprints?&lt;br /&gt;
** Nicht im Footprint-editor, sondern in PCBnew. Dort in der oberen Toolleiste unter Datei/File &amp;gt; archive Footprints. Es muss dort eine bereits im Bibliotheksverzeichnis eingetragene existierende Bibliothek angegeben werden. &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Diese Bibliothek sollte &#039;&#039;&#039;speziell für diesen Zweck&#039;&#039;&#039; angelegt sein, weil ihr &#039;&#039;&#039;vorheriger Inhalt komplett entfernt&#039;&#039;&#039; wird. Idealerweise legt man die Bibliothek als &amp;quot;Projektname.pretty&amp;quot; im Projektordner an. Sie sollte spätestens bei Abschluss des Projektestens erstellt werden und &#039;&#039;&#039;MUSS bei Archivierung des Projektes oder Übergabe mit Archiviert bzw. Übergeben werden!&#039;&#039;&#039; Aber &#039;&#039;&#039;VORSICHT&#039;&#039;&#039;, bei der Bibliothekserstellung lauert ein &#039;&#039;&#039;Bug. Siehe:&#039;&#039;&#039; https://www.mikrocontroller.net/articles/KiCad#Problem:_Neue_leere_Footprintbibliothek_kann_nicht_erstellt_werden_.28kicad_Version:_4.0.0.7Erc1a-stable_release_build_.2F_RC4.29&lt;br /&gt;
* Ich brauche in einem Footprint einen Ausschnitt in der Platine. Wie mache ich das?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/404998#4696232&lt;br /&gt;
* Für Masken wie Lötpaste oder Klebstoff hätte ich gerne Pads mit abgerundeten Ecken. Wie geht das?&lt;br /&gt;
** Das geht erst seit ca. Version: 2016-11-22 revision ccdfabc-master. Siehe https://www.mikrocontroller.net/topic/427536#5015335&lt;br /&gt;
&lt;br /&gt;
=== 3D-Ansicht ===&lt;br /&gt;
[[Bild:Kicad xilinx demo.jpg|300px|thumb|right|KiCAD-Demoplatine exportiert und mit Renderer illustriert]]&lt;br /&gt;
KiCAD bietet eine eingebaute einfache 3D-Ansicht der gerouteten Platine. Mittels Export können diese weiterverarbeitet werden. KiCad beruht diesbezüglich auf Wings3D, und die 3D-Modelle der Bauteile sind standardisierte wrl-files, die mit entweder Wings3D oder Blender erstellt werden können. Daher sei hier auf ein Wings3D Handbuch verwiesen: http://www.oortman3d.com/wings3d/TheWings3dHandbook.pdf&lt;br /&gt;
&lt;br /&gt;
Viele Bauteilhersteller (vor allem von eher mechanischen, wie z.B. Stecker, Buchsen, Befestigung...) bieten fertige 3D-Modelle an. Diese sind meistens in den Formaten STEP oder IGES. So kann man diese in das von KiCad benötigte .wrl (VRML 2.0) konvertieren:&lt;br /&gt;
# STEP oder IGES in [http://gcad3d.org/ gCAD3D] öffnen (File &amp;gt; Open Model)&lt;br /&gt;
# als Wavefront .obj speichern (File &amp;gt; Save Model as &amp;gt; OBJ)&lt;br /&gt;
# Das .obj in [http://www.wings3d.com/ Wings 3D] importieren (File &amp;gt; Import &amp;gt; Wavefront .obj)&lt;br /&gt;
# Als VRML 2 exportieren (File &amp;gt; Export &amp;gt; VRML 2.0 .wrl)&lt;br /&gt;
# Im KiCad-Moduleditor die .wrl-Datei als 3D-Modell auswählen&lt;br /&gt;
# Eventuell muss man die Skalierung und Positionierung anpassen, die angezeigten Pads und Löcher helfen dabei. Die am meisten benötigten Faktoren dürften dabei 0,3937 und 2,54 sein - bei den Konvertierungen kommt leicht die Einheit Zoll oder cm durcheinander.&lt;br /&gt;
&lt;br /&gt;
Eine andere Möglichkeit .obj oder .stl-Dateien aus STEP und IGES zu erzeugen ist [http://free-cad.sourceforge.net/ FreeCAD]. Obwohl es auch .wrl direkt erzeugen kann, können diese nicht in KiCad geladen werden. Der Umweg über .obj oder .stl und Wings 3D löst dies aber auch hier.&lt;br /&gt;
&lt;br /&gt;
Wenn man das Board wieder in einem CAD-Programm verwenden will um z.B. ein Gehäuse zu konstruieren, sollte man wieder STEP-Dateien erzeugen. Neuere KiCad-Versionen können zwar VRML exportieren, doch das beschreibt nur Umrisse und keine Körper (Solids). CAD-Programme zum Gehäusedesign brauchen jedoch letzteres. So geht die Konvertierung:&lt;br /&gt;
# VRML aus KiCad exportieren (File &amp;gt; Export &amp;gt; VRML)&lt;br /&gt;
# .wrl-Datei mit Hilfe von [http://www.cs.princeton.edu/~min/meshconv/ meshconv] in eine STL-Datei konvertieren: &amp;lt;code&amp;gt;meshconv boardname.wrl -c stl -o boardname.stl&amp;lt;/code&amp;gt;&lt;br /&gt;
# Die STL-Datei mit [http://www.solveering.com/products/products_stl2step.html stl2step] in eine STEP-Datei konvertieren&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG:&#039;&#039;&#039;&lt;br /&gt;
Man sollte hinterher im CAD nochmal genau die Maße kontrollieren. Denn die Konvertierung von STL nach STEP ist nur eine Approximierung und keine exakte, verlustfreie Konvertierung.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG:&#039;&#039;&#039;&lt;br /&gt;
Bei der Verwendung von Modellen aus fremden Quellen die Rechtslage prüfen. Es kann bei Veröffentlichungen zu Problemen führen, wenn die verwendeten Modelle unter einer problematischen privaten Lizenz stehen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Appropos Einheit: Welche Einheit benutzt WRL (Wings3d)?&lt;br /&gt;
* Das ist leider nicht soooo klar. Tatsache ist aber, das KiCad die Einheit als 1/10 Inch (100mil) interpretiert.&lt;br /&gt;
** Es könnte sein, dass die Einheit von WRL offiziell mal zu einem Meter gedacht war. Siehe: https://www.mikrocontroller.net/topic/405477#4704394&lt;br /&gt;
&lt;br /&gt;
*Und wie bedient man Wings3d?&lt;br /&gt;
** Ein (vorläufiger) Merkzettel/Ultrakurzanleitung zur Bedienung von Wings3D findet sich hier: [[Media:Kicad-Wings3D_Merkzettel_29November2012.pdf]]. Wenn man nur mit Wings3d Modelle für Kicad erstellen will, langt das eventuell schon als Tutorial. There is also an English translation of this leaflet about using wings3d for kicad  at [[Media:Kicad-Wings3D_Leaflet_25April2013.pdf]].&lt;br /&gt;
** Aktueller: [http://roberthall.net/Wings3D_Tutorial_KiCad Tutorial zur Benutzung von Wings3D im KiCad Umfeld (englisch)]&lt;br /&gt;
&lt;br /&gt;
Weitere Diskussionen um KiCAD 3D:&lt;br /&gt;
* Die 3D-Ansicht funktioniert bei mir nicht.&lt;br /&gt;
** http://www.mikrocontroller.net/topic/289075#new&lt;br /&gt;
** https://www.mikrocontroller.net/topic/404658#new&lt;br /&gt;
* Kann man die 3D-Ansicht in ein 3D-CAD Programm exportieren? &lt;br /&gt;
**http://www.mikrocontroller.net/topic/203388#new&lt;br /&gt;
* Wie kann man Bauteilmaße in in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
&lt;br /&gt;
* Irgendwie werden meine 3D-Bibliotheken nicht gefunden.&lt;br /&gt;
** Das kann z.b. passieren, wenn eine KiCad v5 3D-bibliothek mit einer v4 Bauteilebibliothek verwendet wird. Siehe:https://www.mikrocontroller.net/topic/467178#new&lt;br /&gt;
* Ich habe 3D-Modelle/STEP-Modelle von einem Hersteller heruntergeladen. Aber nach Einbindunge liegen sie neben dem Footprint, schweben darüber oder durchdringen die Platine.&lt;br /&gt;
** Der Hersteller hat einen anderen Ursprung für sein Modell gewählt als üblich ist. Weit verbreitet ist, den Bauteil/Footprint Ursprung bei THT Bauteilen auf die &amp;quot;Mitte&amp;quot; von Pin 1 zu setzen. Bei SMD Bauteilen wird der Ursprung auf die Mitte des Bauteiles gesetzt, meint, da wo sich beide Symmetrieachsen des Bauteiles schneiden. Bleibt das Problem, wenn das Bauteil nur eine Symmetrieachse hat. Dann einen Punkt auf der Symmetrieachse wählen, der die Mitte zwischen den extremsten Bauteilgrenzen bildet. Wenn keine Symmetrie überhaupt existiert, halt irgendwo etwas &amp;quot;in der Mitte&amp;quot;. Das ist dann aber immer soweit in der Nähe des Footprints, dass Du es in KiCad selber anpassen kannst. Angepasst wird das entweder im Footprinteditor in der oberen Buttonleiste &amp;quot;footprint Eigenschaften&amp;quot; (Icon IC mit Zahnrad davor). Es poppt ein Fenster auf. Dort den zweiten Reiter von Links wählen: &amp;quot;3D-einstellungen&amp;quot;. Dort können Korrekturwerte für koordinaten, Skalierung und Drehungen angegeben werden. Siehe Diskussion: https://www.mikrocontroller.net/topic/467095#new&lt;br /&gt;
&lt;br /&gt;
=== Drucken/Plotten/Gerber Export/Excellon Drillfiles Export ===&lt;br /&gt;
&lt;br /&gt;
==== Drucken ====&lt;br /&gt;
* Wie exportiert man den Schaltplan oder das Layout als Bild (PNG o.ä.)? &lt;br /&gt;
** Drucken über Postscript-Treiber und Umwandeln mit Ghostscript&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/96060#1061492 Forumsbeitrag] Export als SVG&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/117562#1056566 Forumsbeitrag] Plot to Clipboard &lt;br /&gt;
* Wie kann ich GENAU ausdrucken? Mein Ausdruck auf ABC ist ca. X % zu klein oder Y% zu groß! &lt;br /&gt;
** So genau sind einfache Drucker bzw. Druckertreiber selten. Aber meistens hilft folgendes: Mache einen 1:1 (100%) Probeausdruck. Messe auf dem Ausdruck nach, wie groß er tatsächlich geworden ist. Berechne die Abweichung und gebe sie in den Drucker bzw. Druckertreiber unter Einstellung ein, vorausgesetzt, der Drucker bzw. Druckertreiber kann das. Mit dem Wert machst Du wieder eine Probeausdruck, messe wieder nach, und wenn es mit der Einstellung funktioniert hat, kannst Du Deine Folie bedrucken. Wenn das nicht klappen kann, weil Du stark abweichende Werte für horizontal und vertikal bräuchtest, aber der Drucker nur einen gleichen Wert für beides kennt, hast Du einen (zu) schlechten Drucker. Trozdem nicht verzweifeln, weil KiCad beim Drucken oder Plotten in der X- und Y-Achse getrennt skalieren kann. Aber Vorsicht bei Weitergabe der so erzeugten Dateien: Sie sind individuell auf einen Drucker angepasst, und produzieren auf einem anderen Drucker nur falsch skalierte Ausdrucke. Weil der Wert von Drucker zu Drucker unterschiedlich ist, ist es auch sinnvoll, diese Skalierung direkt am speziellen Drucker/Druckertreiber zu machen. Tipp: Wenn Du den Wert erfolgreich ermittelt hast, so kleb Dir einen Zettel auf den Drucker mit dem Wert. Die Werte sind zwar individuell für jeden Drucker, aber meistens für den speziellen Drucker durchaus fix. Und Du hast ihn sofort wieder parat, wenn der Drucker resettet wurde. Dies ist übrigens ein allgemeiner Tipp für das Ausdrucken, der auch für Eagle, Target, Altium usw. gilt.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/304619#new Thema Skalieren] - Die aktuelle Situation (August 2013):  &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/371079#4191106 Und nochmal Thema Skalieren]&lt;br /&gt;
* Wie kann man das Layout invers ausdrucken, d.h. alle Leiterbahnen und Pads müssen weiß bleiben, der Rest wird schwarz ausgedruckt?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/156202#1474507 Beim Plotten den Haken bei Negativ-Plot setzen ] &lt;br /&gt;
* Ich habe irgendwie Probleme mit dem Ausdrucken.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/207764#new Verzerrt] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/207310#new Sonderzeichen]&lt;br /&gt;
** In der aktuellen Version 2012-01-19 BZR 3256)-stable besteht ein generelles Druckproblem. Aber Plotten geht wunderbar!&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/280958#new Aktualisierter Stand 23. Dezember 2012] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/303043#3249166 Aktualisierter Stand vom 21. Juli 2013]&lt;br /&gt;
&lt;br /&gt;
* Ich würde gerne PDF Dateien aus meinem Layout erstellen, aber irgendwie ist der Ausdruck defekt.&lt;br /&gt;
** Drucken ist aus Kicad manchmal ein Problem, auch in eine Datei hinein. Aber Plotten und Exportieren in SVG funktioniert gut.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/303043#3249166 Von SVG zu PDF] kommt man über Inkscape. &lt;br /&gt;
** [https://www.mikrocontroller.net/topic/430532#new Aktuell] &lt;br /&gt;
** Problem dabei: [https://www.mikrocontroller.net/topic/431522#new Vektorfonts] &lt;br /&gt;
* Wie kann ich mir einen [http://www.mikrocontroller.net/topic/266037#new Bohrplan ausdrucken], um mit der Hand zu bohren?&lt;br /&gt;
&lt;br /&gt;
==== SVG Plotten ====&lt;br /&gt;
&lt;br /&gt;
* Meine erzeugten SVG Plots sind kaputt. Ich erhalte nur Fehlermeldungen, wenn ich sie in Inkscape oder Gimp einlesen will.&lt;br /&gt;
** Es besteht ein Problem mit dem SVG Export, wenn man Schaltpläne oder Boards in SVG exportiert, die ein Ampersand (Kaufmansund, &amp;quot;&amp;amp;&amp;quot;) im Dateinamen haben. Dieser Dateiname tauch dann innerhalb der SVG Datei in einem Titelblock auf, wo das &amp;quot;&amp;amp;&amp;quot; dann ein Problem bedeutet (Es leitet eine Art Escape-Sequenz ein). Sowohl Kicad als auch Inkscape/Gimp akzeptieren &amp;quot;&amp;amp;&amp;quot; im Dateinamen, und sowol unter Windows als auch Linux ist das &amp;quot;&amp;amp;&amp;quot; im Dateinamen legal....darum bringt auch eine Veränderung des Namens der SVG-Datei keine Lösung. Eine Lösung ist, Grundsätzlich in Kicad keine &amp;quot;&amp;amp;&amp;quot; in Dateinamen zu verwenden, wenn man einen SVG-Export macht. Alternativ kann man mit einem Editor das &amp;quot;&amp;amp;&amp;quot; aus dem Titelblock (Das ist NICHT der Dateiname, sondern in der Datei selber alles zwischen &amp;lt;titel&amp;gt; und &amp;lt;/titel&amp;gt;) der SVG-Datei löschen. Angeblich kommt der Bug aus den verwendeten wx-Bibliotheken. Siehe [https://bugs.launchpad.net/kicad/+bug/1171160 den Bugreport]&lt;br /&gt;
* Wie kann ich unter Windows die SVG Dateien überhaupt nutzen? &lt;br /&gt;
** Die SVG Datei kann mit Microsoft Edge auf einen Drucker gedruckt werden, nützlich bei negativ Plot. Das Öffnen mit GIMP ging mit 1000pixel/in. Das Programm, mit dem sich SVG Dateien am besten bearbeiten lassen, ist aber Inkscape. Davon gibt es sogar einen Windows Ableger.&lt;br /&gt;
** Grundsätzliche Infos zum [https://de.wikipedia.org/wiki/Scalable_Vector_Graphics SVG Format] &lt;br /&gt;
** Grundsätzliche Infos zu [https://de.wikipedia.org/wiki/Inkscape Inkscape]&lt;br /&gt;
&lt;br /&gt;
==== Gerber Export ====&lt;br /&gt;
&lt;br /&gt;
* Kann man Gerber-Dateien exportieren?&lt;br /&gt;
** Ja. Es wird extended Gerber 274X exportiert. Einheit ist inch (doppelt sowohl im 274d als auch im 274x Stil definiert). Die Y-Koordinaten sind im allgemeinen negativ. KiCad verwendet für Flächen das in Gerber spezifizierte Polygon Makro und kein &amp;quot;stroke fill&amp;quot;.&lt;br /&gt;
** Um Gerber Dateien zu erstellen, wählt man aus der oberen Menueleiste ganz links Datei &amp;gt; Plotten und dann oben links unter Plotformat &amp;quot;Gerber&amp;quot; &lt;br /&gt;
** KiCad unterstützt auch die kürzlich eingeführten Gerber-Attribute. Die Anwendung derselben muss aber explizit angewählt werden. Dazu setzt man im Gerber-Plottmenue im Feld &amp;quot;Gerber Optionen&amp;quot; bei &amp;quot;include extended attributes&amp;quot; einen Haken.&lt;br /&gt;
** KiCad kann automatisch die Lötstoppmaske von der Siebdruckmaske (Silk screen - Bestückungsaufdruck) abziehen, damit nicht der Bestückungsaufdruck versehentlich über Pads liegt und dort das Löten verhindert. Dazu muss aber im Gerber-Plottmenue im Feld &amp;quot;Gerber Optionen&amp;quot; bei &amp;quot;Subtrahiere Lötstoppmaske von Siebdruckmaske&amp;quot; ein Haken gesetzt werden.&lt;br /&gt;
* Welche Gerber Lagen werden zur Herstellung einer Platine benötigt?&lt;br /&gt;
** Grundsätzlich zu Herstellung der Platine die Gerberfiles: Alle Kupferlagen, Bestückungsdruck Top und Bottom (Falls auf Bottom was steht), Lötstoppmaske Top und Bottom. Eine Umrisslage mit dem Platinenumriss und Ausfräsungen. Drillfiles (Excellon) Für durchkontaktierte und NICHT durchkontaktierte (NPTH) Bohrungen. Dazu: Ein Textfile mit einer Erläuterung, welche Lage welche ist, sowie Angaben, wie dick die Kupferschichten der Kupferlagen und wie dick die Isolierlagen dazwischen sein sollen, und aus welchem Material. Wenn Du eine einfache rechteckige Platine hast, schreibst Du dort auch noch die Kantenlängen hinein. Wenn die Platinenumrisse komplizierter sind (z.B. verwinkelt, mit Ausfräsungen ec.), noch eine Masszeichnung als Gerber File. Siehe [https://www.mikrocontroller.net/topic/399503#new Forumsbeitrag]&lt;br /&gt;
** Zum Bestücken wird mindestens noch eine Stückliste (BOM) benötigt. Eventuell noch ein spezieller Bestückungsplan (Assembly), wenn der Bestückungsaufdruck nicht reicht. Für SMD eventuell noch die Gerberdaten für Klebstoffmaske und Lötpastenmaske, und eventuell die Pick and Place Daten für den Bestückungsautomaten.&lt;br /&gt;
* Wie kann man den Gerber-Plot so ausdrucken, dass in der Mitte von Pads und Vias ein Zentrierloch frei bleibt?&lt;br /&gt;
** [http://article.gmane.org/gmane.comp.cad.kicad.user/3457 KiCAD Forum]&lt;br /&gt;
* Was ist &#039;&#039;&#039;allgemein&#039;&#039;&#039; beim Export von Gerber Daten zu  beachten?&lt;br /&gt;
** Allgemeine Informationen zum Gerber File Format findet hier: [[Gerber-Tools]] &lt;br /&gt;
** Speziell zu Passermarken/Fiducials (add layer alignment target) diese [https://www.mikrocontroller.net/topic/396624#new Diskussion] &lt;br /&gt;
** [https://www.mikrocontroller.net/topic/428569#new Aktuell]&lt;br /&gt;
* Ich würde gerne meine Gerberdaten gespiegelt ausdrucken, aber das &amp;quot;gespiegelt&amp;quot; ist ausgegraut.&lt;br /&gt;
** Gerber Daten werden nur sehr selten vom Layouter gespiegelt benötigt. Wenn aber doch, so öffne die Gerber Daten mit dem Gerberviewer (Gerbview). Wenn Du dort ausdruckst, kannst du auch spiegeln. Trotzdem solltest Du Dir in dieser [https://www.mikrocontroller.net/topic/466448#new Diskussion] durchlesen, warum Du vermutlich keine Gerberdaten gespiegelt ausdrucken musst &lt;br /&gt;
* Mein Layterplattenfertiger bemämgelt, das meine Gerber Daten fehlerhaft sind.&lt;br /&gt;
** Wenn er negative Koordinaten bemängelt, so sind diese nach der aktuellen Gerber Definition zulässig.&lt;br /&gt;
** Wenn Du trotzdem negative Gerber Koordinaten beim Export vermeiden möchtest, musst Du den Ursprung bzw. das Hilfskoordinatensystem passend setzen. Siehe [https://www.mikrocontroller.net/topic/482457#5999588 Forumsbeitrag]. &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Wenn man einen Offset für Gerber verwendet, muss man den gleichen Haken auch bei den Drillfiles setzten. Sonst sind die Bohrdaten gegenüber den Gerberdaten verschoben.&lt;br /&gt;
** Wegen nicht geschlossener Polygone bzw. doppelter Punkte in Polygonen siehe [https://www.mikrocontroller.net/topic/482457#5999669 Forumsbeitrag] und den [https://bugs.launchpad.net/kicad/+bug/1847714 Bugreport]&lt;br /&gt;
** Ucamco als Schöpfer des Gerberformates bietet einen [https://gerber-viewer.ucamco.com/ Online Viewer] für Gerberdateien, um die Qualität von Gerberdaten zu überprüfen&lt;br /&gt;
&lt;br /&gt;
==== Excellon Drillfiles exportieren ====&lt;br /&gt;
&lt;br /&gt;
* Wie erstelle ich mit KiCad Excellon Drillfiles?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/310333#new Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
==== KiCad Board Dateien direkt zum Hersteller ====&lt;br /&gt;
&lt;br /&gt;
* Bei Bestellungen bei [http://www.pcb-pool.com/ppde/info_dataformat.html PCB-Pool] ist deren GC-Prevue NICHT mehr erforderlich, weil PCB-Pool mittlerweile KiCad *.brd Dateien direkt akzeptiert. Das gilt auch für viele andere Hersteller. im Zweifel dort einmal nachfragen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Trotzdem&#039;&#039;&#039; sollte man &#039;&#039;&#039;besser Gerber Dateien&#039;&#039;&#039; zum Platinenhersteller senden. Das gilt &#039;&#039;&#039;grundsätzlich&#039;&#039;&#039; so auch für andere Platinen Layout Programme. Der Grund ist [[Gerber-Tools#Alternativen_zu_Gerber | hier]] angegeben.&lt;br /&gt;
&lt;br /&gt;
=== Import ===&lt;br /&gt;
* Kann man EAGLE Dateien importieren? (=&amp;gt; Obacht bei Weitergabe der Daten! Die originalen Eagle Dateien könnten mit Urheberrechten belastet sein)&lt;br /&gt;
** Ja. Voraussetzung ist, dass das Eagle Projekt im XML-Format vorliegt. Das ist automatisch der Fall, wenn man Eagle 6 (6.6?) oder aktueller benutzt und darin speichert. Dieses Projekt kann dann in aktuellen KiCad Versionen (5.x oder 6?) geöffnet und als KiCad Projekt gespeichert werden. Dazu das Eagle Projekt für diesen Zweck vorher in einen separaten Ordner kopieren. Dann im KiCad Hauptfenster aus dem Pulldown Menue Datei &amp;gt; Projekt importieren &amp;gt; Eagle CAd wählen.&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/474387#new Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/articles/KiCad#Konverter Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/70905#797416 Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/120373#1089933 Forumsbeitrag]&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/417848#new Forumsbeitrag]&lt;br /&gt;
* Wie bindet man fremde KiCad Bibliotheken ein?&lt;br /&gt;
** EESchema (Schaltplaneditor) starten, unter Einstellungen &amp;quot;Bibliothek&amp;quot;  auswählen, auf &amp;quot;Hinzufügen&amp;quot; klicken, neue Bibliothek auswählen dann &amp;quot;öffnen&amp;quot; und in der Projektdatei &amp;quot;Speichern&amp;quot;. Gültig für Version 20090216Final, 2011-04-29-BZR2986-WinXP und Version: (2011-11-27 BZR 3249)-stable unter Platform: Linux 2.6.32-5-686 i686, 32 bit, Little endian, wxGTK.&lt;br /&gt;
&lt;br /&gt;
** VERALTET! Das Verfahren zur Einbindung eigener oder fremder Bibliotheken ist under PCBnew genauso.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/356855#3988114 Forumsbeitrag]&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&lt;br /&gt;
Es empfielt sich dringenst, eigene Bibliotheken &#039;&#039;&#039;NICHT&#039;&#039;&#039; zu den KiCad Bibliotheken im Ordner kicad/share/library bzw. kicad/share/modules für Footprints zu speichern, weil diese dort bei einem Upgrade von KiCad gelöscht würden. Stattdessen sollte man sich einen KiCad Ordner im eigenen home bzw. Benutzerverzeichnis (oder sonstwo, wo es opportun ist, und man Schreibrechte hat) anlegen, mit einem Ort, um eigene Bibliotheken abzulegen. Dies ist ein eher allgemeiner Hinweis, der so nicht nur für KiCad. sondern auch für die meisten CAD-Programme gelten dürfte.&lt;br /&gt;
&lt;br /&gt;
=== Neues Projekt ===&lt;br /&gt;
Ein neues Projekt legt kicad automatisch nach der in kicad/share/template hinterlegten Projektdatei an. Möchte man, das kicad ein neues Projekt von vorneherein nur mit ausgewählten eigenen Bibliotheken anlegt, so ist eine entsprechende Projektdatei unter kicad/share/template/kicad.pro abzulegen.&lt;br /&gt;
Dies erfordert dort Schreibrechte. Linux roots müssen diese Datei anschliessend mit chmod 755 Dateiname für user lesbar machen.&lt;br /&gt;
Bei einem upgrade würde kicad.pro gelöscht. Daher sollte man sich davon eine Sicherheitskopie in seinem benutzerverzeichnis hinterlegen.&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen sichern / wiederherstellen===&lt;br /&gt;
* Wo speichert KiCad die Einstellungen ab und wie lassen sich die originalen Einstellungen wiederherstellen?&lt;br /&gt;
** [[http://kicad.sourceforge.net/wiki/index.php/DE:KiCadHB#Einstellungen_sichern_.2F_wiederherstellen]]&lt;br /&gt;
**Man erstelle ein neues Projekt beliebigen Namens, nehme alle Einstellungen (Bibliotheken, Pfade usw.) vor und speichere diese in der aktuellen Projektdatei &amp;quot;name.pro&amp;quot;. Im Ordner KiCad Verzeichnis ....../kicad/share/template befindet sich eine Datei &amp;quot;kicad.pro&amp;quot;. Diese Datei &amp;quot;kicad.pro&amp;quot; ist die &amp;quot;Musterprojektdatei&amp;quot;, die für alle neuen Projekte verwendet wird. Man benenne sie um in &amp;quot;kicad-orig.pro, und kopiere die aktuelle Projektdatei &amp;quot;name.pro&amp;quot; nun als &amp;quot;kicad.pro&amp;quot; in diesen Template-Ordner. Leider Funktioniert dieses Verfahren nicht in allen KiCad Versionen. Den originalen Zustand stellt man wieder her, indem man &amp;quot;kicad.pro&amp;quot; umbenennt, und &amp;quot;kicad-org.pro&amp;quot; wieder in &amp;quot;kicad.pro&amp;quot; zurückumbenennt.&lt;br /&gt;
&lt;br /&gt;
=== Bitmaps als Symbol oder Footprint importieren ===&lt;br /&gt;
Der Programmteil Bitmap2component wandelt Bitmaps wahlweise in Symbole oder in Footprints um. Auf diese Weise können also auch Logos oder spezielle Muster für HF-anwendungen in KiCad importiert werden, sobald sie als Bitmap vorliegen. Es gibt allerdings auch andere Möglichkeiten, Grafiken zu importieren. Siehe dazu https://www.mikrocontroller.net/topic/428745#new&lt;br /&gt;
&lt;br /&gt;
== Tipps&amp;amp;Tricks / Eigenheiten / Bugs ==&lt;br /&gt;
&lt;br /&gt;
* Nachbearbeitung mit Skript oder Texteditor (Pin Swapping, Versionskontrolle via SVN, Generierung von Packages aus UCF-Listen) &lt;br /&gt;
** http://www.mikrocontroller.net/topic/120373#1100467&lt;br /&gt;
** http://www.mikrocontroller.net/topic/96860#836967&lt;br /&gt;
** http://stawoo.com/dokuwiki/doku.php?id=ecld:kicad:board&lt;br /&gt;
&lt;br /&gt;
* Veraltet! (2006) Schaltplan: Durchnummerieren von GND und PWR erforderlich http://www.mikrocontroller.net/topic/39243#290309&lt;br /&gt;
&lt;br /&gt;
* Zum Verbinden von Schaltplan und Layout müssen an den Bauteilen die Pinnummern mit den Padnummern der Footprints korrespondieren. Das ist &amp;quot;defaultmäßig&amp;quot; nicht immer zu erreichen, weil es unterschiedliche Nummerierungssysteme gibt. Ausser dem Anlegen eines speziellen Footprints kann diese Anpassung für einzelne Bauteile wärend des Layoutens im Moduleditor vorgenommen werden. http://www.mikrocontroller.net/topic/186121#1805890&lt;br /&gt;
* Ich habe einen hierarchischen Schaltplan angefertigt, indem sich eine Schaltung zig mal wiederholt. Eine dieser Subschaltungen habe ich schon geroutet, und möchte dieses Layout genau wie die hierarchischen Schaltpläne mehrfach auf dem Board verwenden.&lt;br /&gt;
** In PCBnew lassen sich mit &amp;quot;Datei&amp;gt;Platine hinzufügen&amp;quot; auch schon geroutete Gruppen von Bauteilen quasi als Modul einfügen, wenn sie zuvor als Board abgelegt wurden. Ebenso kann eine Bauteilgruppe, die in der Form mehrmals vorkommt, und die die schon einmal geroutet worden ist, gruppiert, kopiert und wiederverwended werden. Die dazu nötige Annotation und das Löschen der überzähligen Bauteile muss aber sorgfältig von Hand gemacht werden. &#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; In neueren Versionen von PCBnew ist diese Funktion ausgegraut, wenn PCBnew &amp;quot;normal&amp;quot; aus dem Menue des KiCad Hauptfensters gestartet wurde. Um diese Funktion zu aktivieren, KiCad schliessen und PCBnew wie ein alleinstehendes Program direkt starten.&lt;br /&gt;
** Wer seinen Subschaltplan separat routen möchte, sollte den Subschaltplan explizit in EEschema öffnen und die Netliste nur dieses Subschaltplanes exportieren. Diese Netlist in ein neues Board in PCBnew einlesen und wie üblich routen.&lt;br /&gt;
* Bibliotheken verwalten, umsortieren bzw. neu strukturieren: http://www.mikrocontroller.net/topic/187107#1817559 &lt;br /&gt;
&lt;br /&gt;
* Layout: Rest-Gummiband an Pins http://www.mikrocontroller.net/topic/120373#1092375&lt;br /&gt;
&lt;br /&gt;
* Produktion: http://www.mikrocontroller.net/topic/98034#848965&lt;br /&gt;
&lt;br /&gt;
* Bug in Version 2010-03-14: Unter Einstellungen lässt sich keine einseitige Platine wählen (wichtig für Autorouter). Lösung: Modifikation des .brd Files mit einem Editor [http://www.mikrocontroller.net/topic/172015#1651239]:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;&lt;br /&gt;
:In der *.brd Datei gleich ganz oben...&lt;br /&gt;
:&lt;br /&gt;
:$GENERAL&lt;br /&gt;
:LayerCount 2                 -&amp;gt; auf 1 setzen&lt;br /&gt;
:&lt;br /&gt;
:$SETUP&lt;br /&gt;
:InternalUnit 0.000100 INCH&lt;br /&gt;
:ZoneGridSize 250&lt;br /&gt;
:Layers 2                     -&amp;gt; auf 1 setzen&lt;br /&gt;
:Layer[0] Rückseite power&lt;br /&gt;
:Layer[15] Vorderseite power  -&amp;gt; hab&#039; ich mal beides so gelassen&lt;br /&gt;
:&amp;lt;/pre&amp;gt;                                                                aktueller: http://www.mikrocontroller.net/topic/172015#1794699&lt;br /&gt;
&lt;br /&gt;
* Das Anlegen von Symbolen/Bauteilen in aufgelöster Darstellung ist etwas stolperig. Siehe: http://www.mikrocontroller.net/topic/294095#3136180&lt;br /&gt;
&lt;br /&gt;
* Es empfielt sich, in Kicad vorläufig KEIN Ampersand (Kaufmansund, &amp;quot;&amp;amp;&amp;quot;) im Namen einer Schaltplan- oder Boarddatei zu Verwenden. Es besteht ein Bug beim Export/Plotten nach SVG. Siehe oben unter &amp;quot;Drucken / Export&amp;quot; und dann &amp;quot;Meine erzeugten SVG Plots sind kaputt.&amp;quot;. Siehe auch: http://tech.groups.yahoo.com/group/kicad-users/message/14952&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kühlkörper&#039;&#039;&#039; können als Symbol und Footprint (Modul) angelegt werden. Die Befestigungslöcher können im  Modul als Pad ausgeführt werden. Die Padnummer aller Pads sollte gleich sein (gleicher Anschluss / über Kühlkörper verbunden), z.B. &amp;quot;1&amp;quot;. Entsprechend ein Symbol mit Pin und korrespondierender Pinnummer anlegen. Wenn der Kühlkörper elektrisch nirgendwo verbunden sein soll, dann die Anschlusspinne im Schaltplan als &amp;quot;unused&amp;quot; markieren. Als Referenz in Symbol und Footprint habe ich &amp;quot;HS&amp;quot; (HeatSink) gewählt. Es ist zu überlegen, ob &amp;quot;HS&amp;quot; nicht auch als Padnummer besser wäre.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kartenumrisse/Outlines&#039;&#039;&#039;: Für immer wiederkehrende Platinengrössen, z.B. die beliebte Eurokarte, kann zur Vereinfachung des Zeichnens einmal ein Eurokartenumriss im Layer &amp;quot;outlines&amp;quot; gezeichnet werden, und als Modul abgelegt werden. Um die Zahl der Kollisionen beim Einlesen der Netzliste zu verringern, wird im Schaltplan ein Dummy-Symbol ohne Pinne angelegt. In CVpcb dann dieses Symbol mit dem passenden Kartenumriss Footprint/Modul verbinden, und es wird automatisch in PCBnew eingefügt. Als Referenz in Symbol und Footprint habe ich &amp;quot;Outl&amp;quot; (OUTLine) gewählt.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sprachanpassung&#039;&#039;&#039;: Ich will mein KiCad auf Deutsch / Englisch / Französisch / Finnisch oder sonst eine Sprache umstellen. Wie geht das?&lt;br /&gt;
** Siehe : http://www.mikrocontroller.net/topic/262039#2719056&lt;br /&gt;
**Die deutsche Übersetzung der Texte und Hilfetexte/Tooltips ist manchmal etwas unelegant. Wem so etwas auffält, bitte Mitteilung am Ende dieses Threads: http://www.mikrocontroller.net/topic/255932#2641638 (deutschsprachig) oder an die KiCad user group unter https://groups.yahoo.com/neo/groups/kicad-users/info (englischsprachig, auch bei Fällen wo es um die deutsche Übersetzung geht). Diese Mitteilungen nach Möglichkeit nicht in Launchpad.&lt;br /&gt;
** Ich habe aber keine Möglichkeit, die Sprache umzustellen!&lt;br /&gt;
*** Wenn Debian eine Fehlermeldung &amp;quot;Cannot set locale to &#039;xy_XY&#039;. kommt, ist die entsprechende Umgebung nicht installiert. Unter Debian als root in der Konsole: &amp;quot;dpkg-reconfigure locales&amp;quot; aufrufen. Es öffnet sich eine ncurses-gui, wo die entsprechenden Einstellungen gemacht werden können. Für &amp;quot;Deutsch&amp;quot; wähle ich &amp;quot;de_DE.utf8&amp;quot;.&lt;br /&gt;
*** Wenn nichts passiert, fehlen möglicherweise die localisierungs Dateien. Sie sind NICHT Teil der Sourcen, und finden sich in http://bazaar.launchpad.net/~kicad-developers/kicad/doc/files/head:/internat/. Auf Debian und verwandten Systemen müssen die einzelnen localisationsordner, z. B. &amp;quot;de&amp;quot; nach /usr/local/share/kicad/internat kopiert werden. Dann als root dort Leserechte erteilen mit &amp;quot;chmode -R 755 /usr/local/share/kicad/internat&amp;quot;.&lt;br /&gt;
*** Wenn ein Mischmasch aus Englisch und der gewählten Sprache existiert, sind entweder nicht alle Begriffe übersetzt (siehe oben) oder wegen Umbenennung von Variablen ist eine Inkonsistenz entstanden. Siehe: http://www.mikrocontroller.net/topic/326622#3565178&lt;br /&gt;
** Für die KiCad Localsisation wird &amp;quot;GNU gettext&amp;quot; verwendet. Eine kleine Hilfestellung zur Anpassung der Localisation findet sich hier: http://docs.kicad.org/en/gui_translation_howto.html. Info zu Gnu gettext findet sich hier: http://de.wikipedia.org/wiki/GNU_gettext&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Projektdateien (.pro) Pfadschreibweise&#039;&#039;&#039;: In einer Windowsumgebung ist es anscheinend nötig, relative Pfade speziell zu kennzeichnen. Siehe: http://www.mikrocontroller.net/topic/326869#new&lt;br /&gt;
&lt;br /&gt;
=== Problem: Der Ursprung für die Pick und Place bzw. Drill-Daten wurde verändert und lässt sich nicht zurücksetzten. === &lt;br /&gt;
Siehe: http://www.mikrocontroller.net/topic/363280#new&lt;br /&gt;
&lt;br /&gt;
=== Problem: Case Senitive Symbols ab BZR4646 (Jan./Feb. 2014) in Schaltplänen. (Migration alter Projekte auf neue) ===&lt;br /&gt;
Ab BZR4646 sind die Symbole in Eeschema &amp;quot;Case Sensitive&amp;quot;. Das bedeutet: In alten Schaltplandateien wurden für die Symbolnamen nur Großbuchstaben verwendet, auch wenn die Originalnamen in der Library Kleinbuchstaben enthielten. Ab BZR4646 werden die Symbolnamen in den Schaltplandateien genauso geschrieben wie die Originalnamen in der Library. Leider werden dadurch bei alten Schaltplandateien die großgeschriebenen Symbolnamen nicht mehr in den Bibliotheksdateien erkannt. Auch nicht in den &amp;quot;-cache.lib&amp;quot; Dateien. Ganz so kritisch, wie es sich anhört, ist es wiederum auch nicht, weil KiCad schon seit geraumer Zeit die Schaltpläne in der neuen Version speichert. Jemand, der mit aktuellen KiCad Versionen an aktuellen Schaltplänen arbeitet, wird darum den Übergang vermutlich nicht bemerken. Allerdings tritt das Problem bei alten Schaltplänen auf, die möglicherweise Jahrelang unberührt auf der Festplatte lagen. Um die Symbolnamen in diesen alten Schaltplandateien anzupassen, existiert das Python3 Skript &amp;quot;PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip&amp;quot;. Es ist ein &amp;quot;Stand alone&amp;quot; Python3 skript, das nicht in das KiCad interne Python skripting eingebunden ist. Die Datei kann hier bezogen werden:[[Media:PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip]].&lt;br /&gt;
Autor: Bernd Wiebus, GNU-GPL.&lt;br /&gt;
&lt;br /&gt;
Be einigen Linux Distributionen (z.B. Archlinux) wird neben Python 3 auch noch das Paket &amp;quot;python3-tk&amp;quot; benötigt. Oder eine irgendwie anders genannte Einbindung von Tkinter in Python3. Anmerkung: &amp;quot;Tkinter&amp;quot; für Python3 wird im allgemeinen kleingeschrieben &amp;quot;tkinter&amp;quot; zur Unterscheidung vom großgeschriebenen &amp;quot;Tkinter&amp;quot; für das alte Python(2). &lt;br /&gt;
Sonst gibt es die Fehlermeldung &amp;quot;ImportError: No module named tkinter&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Manueller Start mit: &amp;quot;python3 PyKiCad-CaseSensitiveLibCure_RevD_13Mar2015.py&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dieses Skript kann benutzt werden, um Schaltpläne, die mit der Eeschema Version (2013-11-29 BZR 4513) von Ende 2013, die in Linux Repositorys (z.B. Debian 7 &amp;quot;Wheezy&amp;quot;) noch sehr verbreitet ist, auf aktuelle KiCad Versionen anzupassen.&lt;br /&gt;
&lt;br /&gt;
In RC4 übernimmt ein &amp;quot;Rescue-Helper&amp;quot; diese (und andere) Funktion. Aber auch dieser kann genau wie das Python Skript nur funktionieren, wenn entweder die Originalsymbole (Cache.lib!) oder entsprechend benannte Nachfolger der Bibliotheken existieren, so dass ein auf den Namen passendes Symbol existiert.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Backporting KiCad-Board Dateien (.kicad_pcb) von Version 4 auf Version 3 2014/2015) ===&lt;br /&gt;
&lt;br /&gt;
Möchte man z.B mit einer KiCad/PCBnew Version BZR 4027 vom 22 Juni 2014, welche in vielen Repositorys noch weit verbreitet ist, eine Board-Datei ( .kicad_pcb), die mit einer neueren PCBnew Version erstellt wurde, z.B. einer BZR 5513 vom 14. März 2015 (die aktuell kompiliert wurde), öffnen, so stösst man auf Probleme. Aktuell die BZR 5513 verwendet für die Board Dateien Version 4, und die alte BZR 4027 verwendet dort die Version 3. Obwohl das Schema der Boarddateien fast gleich ist, enthält die Version 4 Elemente, die es zur Zeit der Version 3 noch nicht gab, und die darum zu Fehlermeldungen und zum Abbruch des Einlesens der Datei führen. Diese Neuerungen beziehen sich auf den Export von Gerberfiles mit Attributen sowie Platinenlagen, die es vorher noch nicht gab. Diese Fehler sind dank der einfachen, klarschriftlesbaren Filestruktur von KiCad sehr leicht mit einem Texteditor zu beheben. Eine Beschreibung, wie dieses manuell zu machen ist, finden Sie hier: [[Media:KiCad-PCBnewBoardDateienMigrierenVonVersion4Auf5.pdf]] Achtung Irrtum: Hier sind Version 4 und 5 genannt, dabei sind aber Version 4 und 3 gemeint.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Portieren von älteren KiCad-Board Dateien auf neuere Versionen.  ===&lt;br /&gt;
&lt;br /&gt;
In einigen Fällen funktioniert das Erkennen von selbstvergebenen Layer Namen aus der älteren Version nicht. Abhilfe schafft das manuelle Umbenennen der betroffenen Layer per Editor in den Board Dateien in KiCad-Standard Bezeichnungen und natürlich das konsequente Einpflegen in den Rest der Datei. Eine Vorstellung, wie das zu bewerkstelligen ist, ist ebenfalls aus [[Media:KiCad-PCBnewBoardDateienMigrierenVonVersion4Auf5.pdf]] zu ersehen. Achtung Irrtum: Hier sind Version 4 und 5 genannt, dabei sind aber Version 4 und 3 gemeint. Einen Überblick, welche Layernamen die jeweils aktuelle KiCad Version verwendet, bekommt man indem man sich ein Testboard anlegt, indem ALLE möglichen Layer verwendet werden, dieses abspeichert und sich die Datei mit einem Texteditor ansieht.&lt;br /&gt;
Die Portierung von alten KiCad-board Dateien (Projektname.brd) funktioniert dagegen im Allgemeinen problemlos.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Neue leere Footprintbibliothek kann nicht erstellt werden (kicad Version: 4.0.0~rc1a-stable release build / RC4) ===&lt;br /&gt;
&lt;br /&gt;
Soll eine neue, leere Footprintbibliothek angelegt werden, so funktioniert das nicht mit den angebotenen Tools (z.B. dem Wizzard) weil die automatisch den Typ der Bibliothek ermitteln wollen, was nicht funktioniert, weil die Bibliothek noch leer ist. Auch das manuelle Eintragen des Pfades funktioniert nicht, weil die leere Bibliothek nicht als solche erkannt wird, und wegen dieses Fehlers der Abschluss des Eintrages nicht übernommen wird. Abhilfe schafft dabei das Anlegen eines Ordners &amp;quot;Bibliotheksname.pretty&amp;quot; (Erinnerung: Neue KiCad Footprintbibliotheken bestehen aus einem Ordener &amp;quot;xyz.pretty&amp;quot;, indem die einzelnen Footprints jeder für sich in einer extra Datei &amp;quot;Footprintname.kicad_mod&amp;quot; existieren). Anschliessend kopiert man eine einzige beliebige Footprintdatei &amp;quot;Nameirgendwie.kicad_mod&amp;quot; in diesen Ordner. Somit ist &amp;quot;Bibliotheksname.pretty&amp;quot; eine &amp;quot;echte&amp;quot; Bibliothek, welche als solche problemlos eingebunden werden kann. Enthält die Bibliothek dann irgendwann die gewünschten richtigen Einträge, so kann der Footprint, der zu Anfangs zum Erstellen der Bibliothek hineinkopiert wurde, auch wieder gelöscht werden.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Fehlende Backannotationsmöglichkeit in KiCad ===&lt;br /&gt;
&lt;br /&gt;
Es gibt Leute, die sich in KiCad eine Backannotationsmöglichkeit wünschen (andere warnen davor, sowas zu benutzen, selbst wenn es existiert). KiCad bietet aktuell selber diese Möglichkeit nicht, doch lässt sich aufgrund der offenen Dateistrukturen ein z.b. Python Skript schreiben, welchess die Backannotation durchführt. Als ein Beispiel siehe hier: &amp;lt;ref&amp;gt;https://hasanyavuz.ozderya.net/?p=256&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Problem: Platinenerstellung durch Isolationsfräsen ===&lt;br /&gt;
&lt;br /&gt;
Einer der möglichen Wege ist hier beschrieben: https://www.daedalus.ei.tum.de/index.php/de/3d-druck-cnc/cnc/layout-und-g-code-erstellung-mit-kicad  Allerdings scheint die dort erwähnte Software mittlerweile aus einer anderen ecke zu kommen: http://carbide3d.com/apps/pcb/community.html Es gibt aber noch andere Wege, zb. über: http://flatcam.org/discussion#!/?HPGL Eine Diskussion dazu findet sich hier: https://www.mikrocontroller.net/topic/447442#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Building Blocks ===&lt;br /&gt;
* Eine unfertige Dokumentation, wie man das hierarchische Schaltplansystem von KiCad verwendet, um daraus schnell und rationell Schaltpläne mit vorgefertigten Schaltplänen (Building Blocks) nach dem Baukastensystem aufzubauen. Enthält auch ein Beispielprojekt. Beachte die Liesmich.txt Datei. [[Media:BuildingBlocksKiCad-EXPERIMENTELL.zip]] Das File  KiCad-HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf, enthält eine vorläufige Beschreibung dazu. KiCad-HierarchischeSchaltplaene+buildingBlocksRevA-EN.pdf is an English description how to use hirarchical schematics as building blocks for a fast and rationel schematic design. Es fehlt noch die Übersetzung und die Bebilderung und ein paar Berichtigungen und Ergänzungen. ;-) . Das echte Hauptbeispielprojekt ist UnderVoltageDetector24V-2Group_Experimental.pro bzw. UnderVoltageDetector24V-2Group_Experimental.sch. Im Ordner Experimentalprojekt23052010 findet sich ein weiterer Ordner BuildingBlocksExperimental. Dieser enthält die Ausgangsbausteine VoltageRegulatorBuildingBlock.sch mit VoltageRegulatorBuildingBlock-cache.lib und  VoltageDetectorBuildingBlock.sch mit VoltageDetectorBuildingBlock-cache.lib. Die Projektdateien der Buildingblocks .pro sind nur der Vollständigkeit und zur leichteren Bearbeitung zugefügt. Aus VoltageDetectorBuildingBlock.sch und VoltageRegulatorBuildingBlock.sch wurde (nach umkopieren, umbenenen und kleiner Änderung) im übergeordneten Ordner das Projekt VoltageRegulatorBuildingBlock.pro unter verwendung des &amp;quot;Zwischenbuildingblocks&amp;quot; UnderVoltageDetectorBuildingBlock.sch zusammengesetzt. NICHT VERGESSEN DIE CACHE.LIB EINZUBINDEN! Sonst gibt es nur Fragezeichen statt Bauteile. Das Beispielprojekt enthält eine 24V Unterspannungsüberwachung für einen Bleiakku, die zwei 12V Gruppen überwacht. Nicht elegant, aber hoffentlich robust. Autor: Bernd Wiebus , GNU-GPL. Der dazubezügliche Beitrag im Forum ist: http://www.mikrocontroller.net/topic/178683#1724114&lt;br /&gt;
*[[Media:HierarchischeSchaltplaeneAlsBausteineInKicad_RevC_23Dec2013.pdf]] VERBESSERTE und AKTUALISIERTE Version von KiCad-HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf aus obiger Zip-Datei. Beschreibt, wie mit Hilfe der hierarchischen Schaltplanstruktur aus einzelnen, vorgefertigten Schaltplänen schnell und rationell neue Schaltpläne modular zusammengesetzt werden können. There is also a English translation of this tutorial about using hierarchical schematics as building blocks. You can get it here: [[Media:HierarchicalSchematicsAsBuildingblocksAtKiCad_RevC-EN_06May2015.pdf]]&lt;br /&gt;
* Eine Sammlung von gängigen Schaltungen mit den Längstreglern LM317 /LM78xx /LM79xx und dem Timer 555, die nach dem in obig erwänten Dokument KiCad_HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf beschriebenen Vorgehen als Building Blocks in KiCad verwendet werden können, findet sich unter: http://www.mikrocontroller.net/articles/KiCad#Building-Blocks&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Shortcuts/Hotkeys ===&lt;br /&gt;
&lt;br /&gt;
KiCad besitzt eine ganze Anzahl von Shortcuts/Hotkeys. Diese lassen sich editieren, abspeichern und importieren.&lt;br /&gt;
Dieses erfolgt in EEschema, dem Symboleditor und in PCBnew in der oberen Menueleiste unter &amp;quot;Einstellungen&amp;quot; &amp;gt; &amp;quot;Tastaturbefehle&amp;quot; (&amp;quot;Preferences&amp;quot; &amp;gt; &amp;quot;Hotkeys&amp;quot;). Dort finden sich weitere Menuepunkte, um eine Liste der verfügbaren Hotkeys anzuzeigen, die Hotkeys zu editieren oder um sie zu exportieren oder importieren.&lt;br /&gt;
&lt;br /&gt;
Eine &#039;&#039;&#039;Liste&#039;&#039;&#039; der aktuell verfügbaren Hotkeys erhält man mit &amp;quot;?&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Es gibt eine Reihe von Hotkeys, die in EEschema, dem Symboleditor und PCBnew gleich sind:&lt;br /&gt;
&lt;br /&gt;
*Help (this window)		?&lt;br /&gt;
*Zoom In			        F1&lt;br /&gt;
*Zoom Out			F2&lt;br /&gt;
*Zoom Redraw			F3&lt;br /&gt;
*Zoom Center			F4&lt;br /&gt;
*Fit on Screen			Home&lt;br /&gt;
*Reset Local Coordinates	Space&lt;br /&gt;
*Edit Item			E&lt;br /&gt;
*Delete Item			Del&lt;br /&gt;
*Rotate Item			R&lt;br /&gt;
*Drag Item			G&lt;br /&gt;
*Undo				Ctrl+Z&lt;br /&gt;
*Redo				Ctrl+Y&lt;br /&gt;
*Mouse Left Click		Return&lt;br /&gt;
*Mouse Left DClick		End&lt;br /&gt;
&lt;br /&gt;
Die anderen variieren je nachdem, in welcher Umgebung man sich befindet.&lt;br /&gt;
&lt;br /&gt;
Ein wichtiger Hotkey in PCBnew ist &amp;quot;T&amp;quot;. Wird &amp;quot;T&amp;quot; gedrückt, poppt ein Fenster auf, in dem nach dem Referenzbezeichner des Bauteils gefragt wird. Den gibt man ein, drückt &amp;lt;Enter&amp;gt; und der Footprint des Bauteiles hängt am Mauszeiger. Das ist eine wichtige Funktion beim &#039;&#039;&#039;Plazieren der Bauteile&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Eine PDF Datei mit Notizen zu den Shortcuts in KiCad und Listen von Shortcuts findet sich hier: [[Media:KiCad-Shortcuts-Hotkeys_Notizen_BZR4803_28Jun2014.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Lochraster/Lötleisten Platinen Entwurf mit KiCad ===&lt;br /&gt;
&#039;&#039;&#039;Dieses hier beschriebene Verfahren ist KiCad unabhängig und geht grundsätzlich mit jedem Layoutprogramm, das ein Raster anzeigen kann.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Wer viel mit Lochraster Platinen arbeitet, hat gelegentlich auch ein Bedürfnis, diese Tätigkeit mit einem Layoutprogramm zu begleiten. Zum einen um den Platzbedarf besser abschätzen zu können, zum anderen, um dadurch auch eine schnelle und einfache Dokumentation auch für Lochrasterprojekte zu schaffen. Auch dazu kann KiCad verwendet werden.&lt;br /&gt;
* Vorgehensweise: Schaltplan in Eeschema erstellen wie üblich, Netzliste erzeugen, und in CVpcp die Bauteile zuordnen. In PCBnew dann das Raster einblenden und auf 2,54mm (100mil) stellen. Nun geben die Rasterpunkte die Position der Löcher der Lochrasterplatine vor. Nach dem Einlesen der Netzliste bei Lochraster mit Streifenleitungen am besten zweiseitig manuell routen. Auf der Unterseite der Richtung der Streifenleitung in Längstrichtung folgen (z.b. wagerecht). Auf der Oberseite die Brücken dazu quer legen (z.B. senkrecht). Zweipolige Bauteile immer senkrecht oder wagerecht positionieren. &lt;br /&gt;
** Wer eine Platine erstellen möchte, die nur teilweise ein Lochraster aufweist, dem sei diese Diskussion empfohlen: https://www.mikrocontroller.net/topic/369534#new&lt;br /&gt;
* Noch ein Vorschlag für Lochraster bzw. Lötleistenentwürfe in KiCad: http://www.mikrocontroller.net/topic/395181#4547206&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: KiCad und Freeroute ===&lt;br /&gt;
Leider ist die Freeroute Seite abgeschaltet. Grund:http://www.mikrocontroller.net/topic/337014#new Allerdings gibt es eine Möglichkeit, Freeroute selber zu installieren und zu nutzen: https://github.com/nikropht/FreeRouting und http://freerouting.net/index_de.php &lt;br /&gt;
*Freerouting einseitig bzw. für Lochraster verwenden: http://www.mikrocontroller.net/topic/363335#new&lt;br /&gt;
*Fehlermeldungen beim Start von Freeroute: Es ist wichtig, dass der Leiterplattenumriss in der Lage edge.cuts geschlossen ist: https://www.mikrocontroller.net/topic/435039#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: KiCad und Specctra Autorouter ===&lt;br /&gt;
Es treten beim Export der Netzlisten/Designs Fehlermeldungen der Art: &amp;quot;IO_ERROR: Multiple components have identical reference IDs&amp;quot; auf, obwohl offensichtlich keine doppelten Referenzbezeichner vergeben wurden.&lt;br /&gt;
* Die &amp;quot;doppelten Referenzbezeichner&amp;quot; sind doch &amp;quot;irgendwie&amp;quot; versteckt vorhanden. Z.B. dadurch, das Bauteile nicht Referenziert oder Annotiert wurden. Im Zweifel die Files mit einem Texteditor danach durchsuchen, oder die Autoannotation über das Board laufen lassen. Siehe: https://www.mikrocontroller.net/topic/365185#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Platinen von ALLPCB ===&lt;br /&gt;
Hinweise, wie die Design Restrictions von ALLPCB in KiCad umgesetzt werden können, als Beispiel auch für andere Platinenhersteller (entsprechend anpassen)&lt;br /&gt;
* https://www.mikrocontroller.net/topic/443533#new&lt;br /&gt;
&lt;br /&gt;
= Bibliotheken =&lt;br /&gt;
&lt;br /&gt;
== Handhabung von Bibliotheken ==&lt;br /&gt;
&lt;br /&gt;
=== Eeschema ===&lt;br /&gt;
&lt;br /&gt;
* Symbolbibliotheken in Eeschema einbinden.&lt;br /&gt;
** Zur Benutzung müssen Bibliotheken mit Symbolen in das Bibliotheksverzeichnis von Eeschema eingetragen werden. Siehe: https://www.mikrocontroller.net/topic/416835 [[Bild:EeschemaBibliotheksliste.png|300px|thumb|right|Bearbeitung einer KiCad 4 Eeschema Bibliotheksliste]]&lt;br /&gt;
* Cache Bibliothek:&lt;br /&gt;
**  Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Aus diesem Grunde existiert zu jeder Schaltplandatei (Dateiname.sch) eine Cache Bibliothek (Dateiname-cache.lib). Diese enthält alle im Schaltplan verwendeten Symbole, und sollte darum mit dem Schaltplan zusammen übergeben werden. Diese Cache-Bibliothek sollte auch in die Bibliothekstabelle übernommen werden.&lt;br /&gt;
* Fehler mit Case-Senitiven Bibliotheken&lt;br /&gt;
** Ab BZR4646 (Jan./Feb. 2014) behandelt KiCad Symbolnamen &amp;quot;Case Sensitive&amp;quot;. Das führt zu Problemen mit älteren Schaltplänen, wo &amp;quot;Mixed Case&amp;quot; Symbolnamen aus den Bibliotheken automatisch in &amp;quot;Upper Case&amp;quot; Symbolnamen konvertiert wurden. Diese werden jetzt nicht mehr erkannt. Näheres siehe: http://www.mikrocontroller.net/articles/KiCad#Problem:_Case_Senitive_Symbols_ab_BZR4646_.28Jan..2FFeb._2014.29&lt;br /&gt;
&lt;br /&gt;
== Bibliothekssammlungen ==&lt;br /&gt;
&lt;br /&gt;
In diesem Abschnitt sollen unsere Arbeiten an Bibliotheken koordiniert werden. Dabei sollen alle Arbeiten unter der Creative Commons Lizenz stattfinden. Das heisst insbesondere, dass keine Arbeiten mit anderem Copyright unseren Bibliothekspool vergiften sollen z.&amp;amp;nbsp;B. durch unerwünschte Konvertierung von EAGLE-Bibliotheken.  &lt;br /&gt;
&lt;br /&gt;
Unsere Designziele sind:&lt;br /&gt;
* Frei benutzbar (Creative Commons Lizenz) &lt;br /&gt;
* Einheitlich (Richtlinien?)&lt;br /&gt;
** Vorschlag von Marko für Bohrungen und Pads siehe [http://www.mikrocontroller.net/topic/124070#1176177]&lt;br /&gt;
** Die Richtlinien, die die KiCad Librarys selber verwenden: [https://github.com/KiCad/kicad-library/blob/master/KiCad_Library_Convention.txt]&lt;br /&gt;
* Fehlerfrei (Nachkontrolle durch andere User)&lt;br /&gt;
&lt;br /&gt;
=== Wünsche ===&lt;br /&gt;
&lt;br /&gt;
Hier soll eine Strichliste geführt werden, welche neuen Bauteile gesucht sind bzw. welche oder besseren, genaueren Versionen benötigt werden. Bitte gebt an, was bei bestehenden Bauteilen problematisch ist.&lt;br /&gt;
&lt;br /&gt;
Bevor wir Bibliotheken erstellen, sollten auf jeden Fall einige Parameter - insbesondere für die Schaltplansymbole - festgelegt werden: Pinlänge, Pinabstand, Größe der Schriften, Konventionen bzw. Nummerierung (z.B. bei gepolten Bauteilen wie Dioden, Elkos usw.). Sonst entsteht Wildwuchs, weil jeder für sich anderes festlegt.&lt;br /&gt;
&lt;br /&gt;
* Stehende Layouts für 7805 und N-FETs: ||||&lt;br /&gt;
** Passt TO220_VERT ? Natürlich! Nur die Anschlussnumerierung muss ev. passend adaptiert werden. Ist unter &amp;quot;TO-220&amp;quot; in [[Media:KiCAD_Module_Footprints_3D_29Aug2014.zip]] enthalten. In allen Perversionen. Stehend, liegend, rumgedreht von der Rückseite usw....&lt;br /&gt;
* LPC21xx / LPC22xx / LPC23xx |&lt;br /&gt;
* EINE AVR ATmega-Bibliothek, wo ALLE Controller drin sind. ||||||||&lt;br /&gt;
* AVR XMegas |&lt;br /&gt;
* AT90CAN128 / allgemein mehr AVRs (MEGA &amp;amp; TINY) ||||||&lt;br /&gt;
* Wegen der AVRs und ATMEGAs: Bitte hier http://www.kicadlib.org/Fichiers/Kerusey_Karyu_Atmel_Library.html mal schauen, und den Wunsch auf den Typ konkretisieren! Der Atmelzoo ist so verwirrend vielfältig.....&lt;br /&gt;
** Leider ist die dazugehörige Bibliothek defekt.&lt;br /&gt;
** Ist aktualisiert worden und in die aktuelle KiCad Symbol Library eingeflossen: [https://github.com/KiCad/kicad-library/blob/master/library/atmel.lib]&lt;br /&gt;
*** Weitere Aktualisierungen und Erweiterungen: [https://github.com/KiCad/kicad-library/blob/master/library/atmel.dcm]&lt;br /&gt;
* Schaltregler (u.A. LM257x, LM267x, MC33063, L5973D) |||| Der MC33063 hat gleiches Pinning und Gehäuse wie MC34063! Darum kann der in http://www.mikrocontroller.net/wikifiles/8/84/Symbols_ICs-Diskrete_RevD9.lib verwendet werden.&lt;br /&gt;
* Spulen (z.&amp;amp;nbsp;B. diverse Wuerth) ||&lt;br /&gt;
* Drosseln (B82790 für CAN, Würth 744207) ||&lt;br /&gt;
* Transformatoren (allgemein) |&lt;br /&gt;
* Ferrite (7427930 - 32, 742792651, 74279263) |&lt;br /&gt;
** ??? Was genau ist nun Footprint und Referenzmaeßig der Unterschied zwischen Drosseln, Spulen und Ferriten, wenn ich jetzt mal davon ausgehe, das die Teile weder Anzapfung noch mehr als eine Wicklung haben (dann wären es Trafos oder Uebertrager), und die elektrischen Werte in ein Feld eingetragen werden?? Schau mal unten in http://www.mikrocontroller.net/wikifiles/d/da/KiCad_Module_Footprints_3D_16Sep2013.zip. Kleinere SMD-Entstörferrit Module lassen sich uebrigens aus Footprints für SMD-Widerstaenden zaubern, in dem man sie umbenahmt und mit der Referenz &amp;quot;L&amp;quot; versieht. ;-)&lt;br /&gt;
* STM32 Mikrocontroller Bibliothek (sofern möglich alle) ||||&lt;br /&gt;
* Arduinos ||&lt;br /&gt;
** Arduino Due ||&lt;br /&gt;
** Arduino Nano |&lt;br /&gt;
* Teensy |&lt;br /&gt;
** Teensy 3.5/3.6 |&lt;br /&gt;
** Teensy 4.0 |&lt;br /&gt;
&lt;br /&gt;
=== Entwürfe ===&lt;br /&gt;
&lt;br /&gt;
Neue Bibliotheken oder Änderungen sollen zunächst in diesem Abschnitt &lt;br /&gt;
vorgestellt werden. &lt;br /&gt;
&lt;br /&gt;
==== Symbolbibliotheken ====&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/96460#832961 ATmega3250/TQFP100] von Fred S. (Gast)&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/96460#844741 ATMega3290 im 100Pin-Gehäuse] von Fred S. (Gast)&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/132811#1205130 RFM12-Funkmodul] von Dominik C.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/133310#1210137 CAN Controller MCP2515 und Transceiver MCP2551] von Dominik C.&lt;br /&gt;
&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/394700#4540445 STLib für KiCad mit STM32F4x] von Markus W.&lt;br /&gt;
&lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevB-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1. Schaltplan Symbolbibliothek fuer KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind. Von Bernd Wiebus&lt;br /&gt;
&lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevC-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind. Aenderung gegenueber Rev.B: Kleinere Symbole hinzugefügt. Mit Vorsicht geniessen! Von Bernd Wiebus.&lt;br /&gt;
 &lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevD3-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind.  Aenderung gegenueber Rev.C: Kleinere Fehler beseitigt. CLD Symbol hinzugefuegt. Kuehlkoerper Symbol und Dummy-Symbol fuer Boardoutlines hinzugefuegt. Thyristor und Triac Symbol zugefuegt. Copyright Symbole GNU-GPL und CC zugefuegt. Mit Vorsicht geniessen! Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
 &lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevE8.lib]] AKTUELLE Version! Ersetzt die Rev. B, C und die Rev. D sowie Vorgängerversionen E1-E7! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind.  Aenderung gegenueber Rev.D: Kleinere Fehler beseitigt. Ankerpunkte in die Nähe der Symetrieachsen verlegt. Verbinder DIN41612 / EN60603-2 &amp;quot;Eurokartenstecker&amp;quot; hinzugefügt. Große &amp;quot;BIG&amp;quot; Symbole entfernt und in der Datei BIG-SymbolsSimilarEN60617+oldDIN617-RevE.lib ausgelagert. Mit Vorsicht geniessen! Von Rene Belau und Bernd Wiebus.  CC-Zero/Public Domain!  Defektes Symbol &amp;quot;RESISTOR_RevE_Date15jun2010&amp;quot; repariert am 02. Maerz 2011. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
   &lt;br /&gt;
* [[Media:BIG-SymbolsSimilarEN60617+oldDIN617-RevE.lib]] Einige EN60617 oder der DIN 617 ÄHNLICHE Symbole in besonders GROSSER Ausführung. Vermutlich werden Sie diese GROSSEN Symbole eher NICHT benutzen wollen. Mit Vorsicht geniessen! Von Rene Belau und Bernd Wiebus. Unter GNU GPL. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/attachment/74203/obi.lib]] KiCad Symbol für einen ATMEGA644. Von obi&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ICs-Diskrete_RevD10.lib]] KiCad Symbole für einige diskrete ICs. Enthält L200 (Pentawatt Gehäuse), LM2587 (Pentawatt Gehäuse), Längstregler LM317, LM78xx, LM79xx, Timer NE555, NF-Verstärker LM1875 und TDA2003 (Pentawatt Gehäuse), Schaltregler UC38xx (DIP8/SO8 und DIP14/SO14), LM2587, MC34036, LM78S40 und MCP1640, Treiber MIC4422 (DIP8/SO8 und Pentawatt Gehäuse). Allegro Halleffekt Stromwandler Typ ACS754/ACS755/ACS756 und LEM Halleffekt Stromwandler der Serie &amp;quot;HX&amp;quot;. Programierbarer Oszillator Si570/Si571 sowie Quarzoszillator Typ KXO-200. Dazu Transistor Arrays BC847S und BC857S (in einfacher und in aufgelöster Darstellung) und Supressordioden Array SR05. Schieberegister 74HC4094 . Spannungs-/Laderegler uA723/LM723 in 14 und 20 poligem Gehäuse. HF/ZF Verstärker/Mischer/Demodulator TCA440 alias exDDR A244D, FM Frontend TA7358. Spannungsmonitor ICL7665. Autor Bernd Wiebus.  CC-Zero/Public Domain!  Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ICs-Opto_RevB_16Sep2013.lib]] KiCad Symbole für Optokoppler CNY17, IL300. IL388, TLP250, SFH617A-1, SFH617A-2, SFH617A-3, SFH617A-4, KPC357, LTV35x, und PC357. LWL Empfänger Toshiba TORX170 TORX173 TORX193  und TORX194 (Toslink). LWL Sender Toshiba TOTX170 TOTX173 TOTX193  und TOTX194 (Toslink). LWL Empfänger Agilent HFBR-252x und Sender Agilent HFBR-152x Serie (Versatile Link). 7 Segment Anzeigen HDSM531, HDSM533, LTS6760, LTS6780, SBC18-11EGWA. Autor Rene Belau und Bernd Wiebus. CC-Zero / Public domain. Mit VORSICHT geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Transformer-Diskrete_RevA.lib]] KiCad Symbole für einige diskrete Transformatoren. Coilcraft Q4434-B = Rhombus T1311 und Myrra-74040 ETD29. Autor: Bernd Wiebus. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_DCDC-ACDC-Converter_RevC_29Aug2014.lib]] KiCad Symbole für einige DCDC/ACDC-Converter. Enthält CINCON EC5BC12, CINCON EC6C11, TRACO TED-1212, TRACO TED-XXXX Dual Output, TRACO TED-XXXX Single Output, TRACO TEN10-1212, TRACO TEN10-XXXX, TRACO TME-XXXX, TRACO TMH-XXXX Single Output, TRACO TMH-XXXX Dual Output, sowie TRACO ACDC-Converter der TMLM Serie. BOTHHAND CF-Serie und DELTA DPS05U09D. Neu seit 29 August 2014: Floeth DCDC-Converter SD14-XXXX und SD18-XXXX. Autor: Bernd Wiebus. GNU-GPL. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_Socket-DIN41612_RevA.lib]] KiCad Symbole für DIN41612 Stecker und Buchsen (Die bekannten Eurokartenstecker). Autor: Bernd Wiebus. GNU-GPL. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_EN60617_13Mar2013.lib]] KiCad Symbole für die EN60617. Strikter als die Symbole aus SymbolsSimilarEN60617+oldDIN617-Rev~~.lib. Autor: Bernd Wiebus. CC-Zero/Public Domain! Mit Vorsicht geniessen! Hierzu gehört der Katalog: [[Media:Symbols_EN60617_13Mar2013.pdf]] Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_EN60617-10_HF-Radio_DRAFT_12Sep2013.lib]] HF-Blockschaltbild Symbole für KiCad. EXPERIMENTELL! Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain.  Hierzu gehört der Katalog: [[Media:EN60617-10_HF-Radio_SymbolCatalog_DRAFT.pdf]] Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_Microcontroller_Philips-NXP_RevA_06Oct2013.lib]] Symbole der NXP Microcontroller LPC2104, LPC2105 und LPC2106 fuer KiCad.  Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ORringController_RevA_03Aug2015.lib]] Symbole verschiedener ORing-Controller fuer KiCad. Enthält IR5001, ISL4166 (QFN20+TSSOP16) und LM5050/LM5051. Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de.&lt;br /&gt;
&lt;br /&gt;
* [https://forum.kicad.info/t/oktizer-octagonal-pads-and-vias-was-elektuur-style-symbol-library/34611 Klassische Elektor-ähnliche Symbole], angepasst an KiCad 5.1 und 6.0. Lizenz: CC0&lt;br /&gt;
&lt;br /&gt;
==== Modulbibliotheken ====&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD_Module_Footprints_3D_29Aug2014.zip]] Eine Sammlung von KiCad Modulen bzw. Footprints diskreter Bauteile. Neben den obligatorischen Rs, Cs und Ls sind Schrack und Omron Kartenrelais (die Footprints passen auch fuer andere Hersteller), diverse Dioden, Klemmen WAGO 236 (RM 5mm) Serie und WAGO 734 Serie, Sicherungshalter (Schurter und Bulgin) für 5x20 und 6x30, SMD Sicherungen 1206 und Sicherungen/Sicherungshalter TE5/TR5,Flachsicherungen Standard und Mini, Kuehlkoerper und Eurokartenoutlines enthalten. Zusaetzlich TO92, TO220, TO220-5 (Pentawatt) und TO247 Gehaeuse. Ebenso die vermissten PISN und PISR SMD Drosseln. Einige Throughhole C&amp;amp;D Bobin Drosseln, Bourns 3296, Spectrol Type 43 / Econtrim und Piher PT15 Trimmer . Potentiometer Alps RK16 und Spectrol Type 148/149. Transformatoren Coilcraft Q4434-B / Rhombus T1311 sowie ETD29 von Epcos und Myrra sind auch dabei. Eurokartenstecker/-buchsen DIN 41612 Typ B1, B2, C1, C2 und C3. Ebenfalls enthalten: GNU-GPL und Creative Commons  Symbole. Dazu Messpunkte. BNC-Buchse, Quarzoszillator, SMD Widerstände und Kondensatoren.  (0805, 1206, 2512) sowie experimentelle Universalfootprints SMD/Throughole. SMD-Dioden: MELF, Mini-MELF, SMA, SMB und SMC. Halleffekt Stromwandler mit Allegro CB-PFF, CB-PSF und CB-FSS Gehäusen.Dazu Stecker Molex Serie KK, Würth SMD Drosseln und Doppeldrosseln. Neosid Filter und Drosseln. TRACO ACDC-Converter der TMLM Seie und SOT23, SOT143, SOT143R, TSOT-6 / MK06A sowie SC70-6 SMD Footprints für Dioden, Transistoren bzw. Dioden und Transistor Arrays und kleinere ICs. Mini Universal Mate-N-Lock Steckersockel (Tyco/AMP). 2-6 Pin, vertikale und horizontale Typen. Verbesserte Fiducials und Logos. Dazu SMD-Tantalkondensatoren und ETAL NF-Transformatoren. TO50-3 und TO50-4 Gehäuse. 7 Segment Anzeigen. LQFP48/TQFP48 Gehäuse. Hallsonden Stromwandler mit Allegro CB-PFF, CB-PSF und CB-FSS Gehäusen. Halleffekt Stromwandler der Serie &amp;quot;HX&amp;quot; von LEM.  Neu in der Version vom 29. August 2014: Floeth DCDC-Converter SD14 und SD18. Fast alles ohne 3D Modelle, aber manchmal mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* Viel Standardkram in 3D: http://smisioto.no-ip.org/elettronica/kicad/kicad-en.htm&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD-Module_Buzzer_Beeper_RevA_25Oct2010.zip]] Einige Footprints von Summern /Buzzern / Beepern für KiCad. Enthaelt Kingstate KCG0601, Pro Signal ABI-009-RC, Pro Signal ABI-010-RC, Pro Signal ABT-410-RC, Star Micronics HMB-06/HMB-12 und Projects Unlimited AI-4228-TWT-R. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD-Module_CommonModeChoke_Wuerth_Type-WE-CMB_RevA_25Oct2010.zip]] Footprints der Gleichtaktdrosseln der Serie Würth WE CMB (through hole) für KiCad. Enthält die Verschieden Bauformen XS, S, M, L, XL und XXL. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:DCDC-ACDC-Converter_RevC_20Jul2012.zip]] Footprints von DCDC/ACDC-Convertern für KiCad. Enthält CINCON EC5BC12, CINCON EC6C11, TRACO TED-1212, TRACO TED-XXXX Dual Output, TRACO TED-XXXX Single Output, TRACO TEN10-1212, TRACO TEN10-XXXX, TRACO TME-XXXX, TRACO TMH-XXXX Single Output, TRACO TMH-XXXX Dual Output, BOTHHAND CF-Serie und DELTA DPS05U09D. Neu seit 20 Juli: TRACO ACDC-Converter der TMLM Serie. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Opto-Devices_RevC_03Oct2012.zip]] Footprints von Optoelectronischen Bauteilen für KiCad. Enthält 6 Polige DIL Footprints für CNY17, auch in &amp;quot;wide&amp;quot;, SMD Optokoppler Footprints (1 Kanalig) und Footprints für Toshiba (Toslink) und Agilent (Versatile Link) LWL Ssender und Empfänger. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Pentawatt_RevB_24Oct2012.zip]] Footprints von Pentawatt Gehäusen für KiCad. Enthält verschiedene Ausführungen der TO220-5 Gehäuse in gerade und verkröpft, sowie stehend und liegend. Mit 3D-Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:Transistor_TO-220_RevB_03Sep2012.zip]] Footprints von TO220-3 Gehäusen für KiCad. Enthält verschiedene Ausführungen der TO220 Transistor Gehäuse in  stehend und liegend. Mit 3D-Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! CC-Zero/Public domain! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:Transistor_TO-247_RevC.zip]] Footprints von TO247 Gehäusen für KiCad. Enthält verschiedene Ausführungen der Transistor Gehäuse in  stehend und liegend. Mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! CC-Zero/Public domain! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/topic/176405#new]] KiCad Modul / Footprint für ein TSSOP38 Gehäuse. Autor Raphael Reu.&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/topic/190088#1856759]] Texas Instruments TPIC8101 Klopfsensor Interface (für Verbrennungsmotoren). Autor Peter Diener.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IR-directFET_Packages_RevB.zip]] Footprints von directFET SMD-Transistor Gehäusen von International Rectifier für KiCad. Enthält die SH, SJ, SQ, ST, S1, MN, MP, MT, MX, MZ und die L8-Outline. Nähere Informationen in den Datenblättern betroffener Transistoren und in der International Rectifier Applikationsnotiz AN-1035. &amp;quot;directFET&amp;quot; ist übrigens eine Handelsmarke von International Rectifier und die Gehäuse sind proprietär. Also vorsichtig sein und an &amp;quot;second source&amp;quot; denken. Mit 3D Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter CC-Zero / Public domain. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Neosid-Devices_Coils_Filters_25Apr2012.zip]] Footprints von NEOSID Bauteilen. Spulen, Luftspulen, Filter ec. für KiCad. Through hole und SMD. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT23_SOT143_SOT143R_TSOT6_MK06A_SC70-6_Housing_14Mar2014.zip]] Footprints von SOT23, SOT143, SOT143R, TSOT-6 /MK06A und SC70-6 SMD Gehäusen, wie sie oft für Dioden und Transistoren, aber auch Dioden und Transistor Arrays verwendet werden. Auch ICs findet man in der Bauform. Es sind Standard Footprints und spezielle für Handlötung vorhanden. KiCad Legacy Format und neues .pretty Format. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:MiniUniversalMate-N-LokSockets_13Aug2012.zip]] Footprints von Mini Universal Mate-N-Lok Steckersockeln (Tyco/AMP). 2-6 Pin, verticale und horizontale Typen. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:NF-Transformer_ETAL_RevA_28Aug2012.zip]] Footprints und 3D-Mesh Modelle von NF-Transformatoren der Firma ETAL (http://www.etalgroup.com). SMD und THT Typen. Mit PDF-Ausdruck zur leichteren Identifikation. In der Bibliothek ist auch der bekannte Übertrager ETAL P1200, der von Box73 (http://www.box73.de) vertrieben wird. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de &lt;br /&gt;
&lt;br /&gt;
* [[Media:TantalCapacitors_SMD_RevA_28Aug2012.zip]] Footprints von Tantal Kondensatoren SMD Größe A bis E (EIA-3216, EIA-3528, EIA-6032, EIA-7343 und EIA-7360). Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Ohne Garantie und unter GNU-GPL. Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT89-3_SOT89-5_Housing_RevA_02Sep2012.zip]] Footprints und 3D-Mesh Modelle von SOT89-3 und SOT89-5 SMD Gehäusen. Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT126_SOT32_Housings_RevA_22Oct2012.zip]] Footprints und 3D-Mesh Modelle von SOT126 / SOT32 Gehäusen. Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Allegro_HallSensors_24Oct2012.zip]] Footprints und 3D Modelle von Allegro Hall-Effect Stromsensoren mit PFF, PSF oder PSS Gehäuse (ACS754, ACS755, ACS756).  Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:VML0806_Housing_Rohm_27Oct2012.zip]] Footprints und 3D Modell eines Transistors im 0806 Format (VML0806 / Rohm).  Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:TO-50_Housings_RevA_21Apr2013.zip]]  Footprints/Module von TO50-3 und TO50-4 Transistor Gehäusen.Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:OldSowjetAera_Transistor_RevA.zip]] Footprints/Module von Kleinleistungstransistoren aus der Sowjetära.Mit 3D-Modell und PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:SIP9_Housing_14Jun2013.zip]] Footprints/Module von SIP9 Gehäusen (z.B. TA7358).Mit 3D-Modell und PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:7Segment_16Sep2013.zip]] Footprints/Module von 7-Segment Anzeigen HDSM531 (SMD), HDSM533 (SMD), LTS6760, LTS6780 undSBC18-11EGWA. Dazu PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:BNC-Sockets_RevA.zip]] Footprints/Module von TYCO BNC-Buchsen für KiCad. Mit 3D Modellen und PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:LQFP_TQFP_RevA_06Oct2013.zip]] Footprints/Module von LQDP48/TQFP48 Gehäuseb für KiCad. Ohne 3D Modelle, aber mit PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:LEM_HallEffectTransducers_RevA_13Oct2012.zip]] Module/Footprints von Halleffekt Stromwandlern der Serien &amp;quot;HX&amp;quot; und &amp;quot;HTFS&amp;quot; von LEM. Mit 3D-Modellen  und PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
==== 3D-Modelle ====&lt;br /&gt;
&lt;br /&gt;
* [[Media:MeshModells_VRML-Wings3D_13Oct2013.zip]]  3D-Modelle diverser elektronischer Bauteile im wrl 2.0 und wings Format. Enthalten: DD-PAK (TO263AB), D-PAK (TO252AA), SMD Dioden MELF, MiniMELF, SMA, SMB und SMC, Transformatoren ETAL P1165, P1200, P2781, P3000, P3181, PP3188 und P3191, SO126 / SOT32 in horizontal und vertikal, SOT223-3, TO263-3, SOT89-3, SOT89-5, TO220 horizontal und vertikal und reverse. TO220-5 horizontal, vertical, inline und verkröpft, VML0806. SIP9. 7 Segment SMD Anzeige HDSM531/HDSM533 in Grün, gelb, rot und orange. directFET SMD-Transistor Gehäusen von International Rectifier für KiCad. Enthält die SH, SJ, SQ, ST, S1, MN, MP, MT, MX, MZ und die L8-Outlines. Flachsicherungen Standard und Mini. Halleffekt Stromwandler LEM &amp;quot;HX&amp;quot; Serie und Allegro ACS754/ACS755/ACS756 mit CB-PFF, CB-PSF und CB-FSS Gehäusen. Ohne Garantie und unter CC-Zero / Public Domain Lizenz. Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
==== Building-Blocks ====&lt;br /&gt;
*[[Media:BuildingBlocks_16Jun2013.zip]] enthält eine Sammlung von gängigen Schaltungen mit den Längstreglern LM317 /LM78xx /LM79xx und dem Timer 555, die nach dem in diesem [[Media:HierarchischeSchaltplaeneAlsBausteineInKicad_RevC_23Dec2013.pdf]] Dokument beschriebenen Vorgehen als Building Blocks in KiCad verwendet werden können. Ein Katalog dazu befindet sich hier: [[Media:KatalogUeberKiCadBuildingBlocks_21Apr2013.pdf]]. Autor: Bernd Wiebus, Lizenz: Creative Commons. Experimentell! Ohne Garantie! Mit Vorsicht geniessen!&lt;br /&gt;
&lt;br /&gt;
Wenn mindestens ein weiterer KiCad User die Bibliothek geprüft hat, kann sie in den folgenden Unterabschnitt verschoben werden.&lt;br /&gt;
&lt;br /&gt;
=== Geprüfte ===&lt;br /&gt;
&lt;br /&gt;
Hier sollen geprüfte Bibliotheken gesammelt werden. Bitte angeben, wer die Prüfung gemacht hat.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/132288#new STM32F103xx (LQFP64) Schaltplansymbol] erstellt/geprüft: Dominik C.; Marko S.&lt;br /&gt;
* Bei der STMF103xx fehlt glaub ich der Portpin PD2 :) Grüße :)&lt;br /&gt;
&lt;br /&gt;
=== Sonstige Bibliotheken im Netz ===&lt;br /&gt;
&lt;br /&gt;
Die Einträge hier sind nach [[KiCad-Bibliotheken#Bibliotheken_im_Netz|KiCad-Bibliotheken im Netz]] verschoben worden. &#039;&#039;&#039;Bitte Überarbeitungen und neue Einträge nur dort vornehmen!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bitte diesen Unterpunkt &#039;&#039;&#039;nicht Löschen&#039;&#039;&#039;, da es Verweise aus dem Forum oder von sonstwo geben mag, die sonst ins Leere laufen, ohne eine Erklärung für den User.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Werkzeuge ==&lt;br /&gt;
&lt;br /&gt;
Da die in KiCad verwendeten Dateien klarschriftlesbar sind, lassen sie sich sehr leicht mit externen Programmen und Skripten bearbeiten, um spezielle Funktionalitäten zu erzeugen. Eine kleine Auswahl an Programmen/Skripten ist hier zusammengestellt:&lt;br /&gt;
&lt;br /&gt;
* Zuallererst: Mittlerweile hat sich rund um KiCad eine ganze Reihe von Hilfsprogrammen etabliert. Einige davon können über die offizielle KiCad Site gefunden werden: [http://kicad.org/external-tools/ KiCad-External Tools]. Zurzeit (04Oct2019) sind dort [https://github.com/easyw/kicadStepUpMod/ KiCad StepUp] als Plugin für FreeCAD, [https://github.com/xesscorp/KiCost KiCost] zur Tabellenkalkulationserstellung und Kostenermittlung aus KiCad-Schaltplänen, [https://github.com/thesourcerer8/altium2kicad Altium2KiCad] um aus Altium PCBs und Schaltplänen solche für kiCad zu erstellen, [http://neo900.org/stuff/eeshow/ EEschow] zur Konvertierung von KiCad-Schaltplänen in verschiedene Grafikformate, sowie [[Schaltplaneditoren#Fped|Fped]], mit dem sehr komfortabel Footprints für KiCad erstellt werden können, gelistet.&lt;br /&gt;
* [http://kicad.rohrbacher.net/quicklib.php Quick KICAD Library Component Builder]&lt;br /&gt;
* Gerber-Tools sind für KiCad weniger nötig, da KiCad mit GerbView seinen eigenen Gerberviewer mitbringt. Dieser ist mächtig genug, die eingelesenen Gerberfiles als Platine in PCBnew zu exportieren, wo sie manipuliert werden können. Dieses geht aber nur mit Gerber-RS274X Daten. Ebensowenig können Gerberfiles zu Nutzen zusammengefügt werden. Hierzu bietet sich &amp;quot;Gerbmerge&amp;quot; http://ruggedcircuits.com/gerbmerge (http://claymore.engineer.gvsu.edu/~steriana/Python/gerbmerge/ Veraltet) an. Wer lediglich aus Sicherheitsgründen die von KiCad erzeugten Gerberdaten mit einem fremden Gerber-Vierer inspizieren möchte, findet hier Hinweise:http://www.mikrocontroller.net/articles/Gerber-Tools&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/204063#2011138 KiCad (Multi-)Symbol Tool] von Joghurt3000 zur Erstellung von Symbolen aus einer Textvorlage&lt;br /&gt;
* [http://cyclerecorder.org/footprintbuilder Footprintbuilder] Java-Programm zu Erstellung von Footprints.&lt;br /&gt;
*Wer seine Platine &amp;quot;panelisieren&amp;quot; (d.h. mehrmals nebeneinander anordnen um in einem &amp;quot;Nutzen&amp;quot; gleich mehrere Platinen fertigen zu können) möchte, kann das mit dem Python 2 Skript &amp;quot;panelize.py&amp;quot; tun. Das Programm arbeitet direkt auf den kicad .brd Files, so das das Mehrfachnutzen Board unter PCBnew nachbearbeitet werden kann, für z.B. einen  DRC. &amp;quot;panelize.py&amp;quot; kann hier bezogen werden: http://blog.borg.ch/?p=12&lt;br /&gt;
* &amp;quot;Raef&amp;quot; hat ein Python Script erstellt, das Bauteile automatisch ähnlich der Anordnung im Schaltplan plaziert. Siehe: http://www.mikrocontroller.net/topic/293903#3245990&lt;br /&gt;
*Wer die Reihenfolge der Subschaltpläne ändern will (Wegen Übersichtlichkeit/Bestimmt auch die Reihenfolge beim Ausdrucken), kann dieses Python 3 Skript verwenden (Liesmich/Readme beachten): http://www.mikrocontroller.net/wikifiles/9/90/PyKicadSchematic-ID_Interchanger_RevC.zip Autor: Bernd Wiebus, GNU-GPL. Dieses Skript ist unabhängig von der PCBnew internen Python 2 Schnittstelle.&lt;br /&gt;
* Um ältere Schaltpläne von vor Jan./Feb. 2014 (BZR4646) mit &amp;quot;upper case&amp;quot; Symbolnamen zu konvertieren, kann dieses Python 3 Skript verwendet werden: [[Media:PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip]]. Autor: Bernd Wiebus, GNU-GPL. Dieses Skript ist unabhängig von der PCBnew internen Python 2 Schnittstelle.&lt;br /&gt;
* Wem das Tricksen mit Dateimanager oder Schematic oder Board als Bibliotheksmanager nicht gefällt, findet vieleicht im &amp;quot;KiCad Libarian&amp;quot; ein passendes Tool: http://www.compuphase.com/electronics/kicadlibrarian_en.htm&lt;br /&gt;
* Diverse Skripte, um KiCad Symbole, Footprints oder sonstigen Bibliothekskram zu bearbeiten. [https://github.com/KiCad/kicad-library-utils]&lt;br /&gt;
* Cirillo Bernardo hat einige Programme geschrieben, um VRML 3D Gitter Modelle für Bauteile parametrisch zu erzeugen. Sie finden sich hier: https://github.com/cbernardo/kicad3Dmodels&lt;br /&gt;
* Peter Hofbauer hat einige Windows Programme geschrieben, die zur KiCad Unterstützung dienen: http://www.hcp-hofbauer.de/software.htm Bei den Programmen handelt es sich um &amp;quot;Aufräumprogramme für Bibliotheken, Stücklistenerzeugung, Extraktionsprogramm um eine Verdrahtungsliste aus einer Netzliste zu erzeugen, Ein Programm um Boherdurchmesser zu vereinheitlichen und ein Programm, um zusammen mit &amp;quot;Linegrinder&amp;quot; G-Code aus KiCad Boarddateien zu erzeugen. &lt;br /&gt;
* [http://escalalibre.com/edwt/kicad_sizeConverter.php KiCad Bitmap2Component Skalierer] Erlaubt es, Logos zu skalieren.&lt;br /&gt;
* [http://escalalibre.com/edwt/kicad_modTextChanger.php KiCad Module Text Changer]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/381605?reply_to=4346454#4346280 KiCad Symbol Generator Tool] KiCad Symbol Generator Tool als Python Skript&lt;br /&gt;
* [https://github.com/tlantela/KiCad_layout_cloner/blob/master/layout_cloner.py KiCad Layout Cloner] Python Skript. Siehe http://www.mikrocontroller.net/topic/382657#4363261&lt;br /&gt;
* [https://forum.kicad.info/t/kicad-stepup-the-sketcher-for-getting-to-blinky/7826] StepUp, eine Workbench für FreeCAD (ein open source 3D CAD Program) um den Import und Export von mecanichen CAD Daten von KiCad zu erleichtern.&lt;br /&gt;
* [https://hasanyavuz.ozderya.net/?p=256 Ein Backannotationstool für KiCad] als Pythonskript&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/450655#new Ein Tool, um per Skripting Messpunkte für einen Nadelbettadapter zu erzeugen.] Geht von Gerberdaten aus, die in KiCad importiert werden&lt;br /&gt;
&lt;br /&gt;
== Konverter ==&lt;br /&gt;
&lt;br /&gt;
Konverter wandeln KiCad-Daten in die Daten anderer Layoutprogramme bzw. die Daten anderer Layoutprogramme in KiCad-Daten um.&lt;br /&gt;
Nativ kann KiCad gEDA Footprints bzw. neuere Eagle Footprints direkt als Bibliothek einbinden. Das ganze ist aber als noch sehr experimentell zu betrachten.&lt;br /&gt;
&lt;br /&gt;
Des Weiteren gibt es einige Programme oder Skripte von dritter Seite, die Daten anderer Layoutprogramme in KiCad Daten umwandeln. Auch diese sind als experimentell einzustufen.&lt;br /&gt;
&lt;br /&gt;
Hier eine Auswahl:&lt;br /&gt;
* https://github.com/thesourcerer8/altium2kicad Wandelt Altium Schaltpläne und Layouts in KiCad Daten um.&lt;br /&gt;
* https://github.com/DanChianucci/Eagle2Kicad Wandelt Eagle 6.0 Layouts in KiCad Layouts.&lt;br /&gt;
* https://github.com/lachlanA/eagle-to-kicad Wandelt Eagle 6.0 Layouts in KiCad Layouts.&lt;br /&gt;
* http://www.cadsoft.de/downloads/file/eagle2kicad-0.9c.ulp Direkt von der Cadsoft Seite, ein ULP das Eagle Daten in KiCad Daten wandelt.&lt;br /&gt;
* http://www.cadsoft.de/downloads/file/eagle2kicad_sch.ulp Ebenfalls direkt von der Cadsoft Seite, ein ULP, das Eagle Schaltpläne in KiCad Schaltpläne wandelt.&lt;br /&gt;
* http://sourceforge.net/projects/pcad2kicad/ Wandelt P-CAD Schaltpläne, Layouts und Bibliotheken in KiCad Daten um.&lt;br /&gt;
* Gerber_Settings    [https://www.mikrocontroller.net/attachment/319118/originpoint.png originpoint]     [https://www.mikrocontroller.net/topic/319266?page=5#4891032 Gerber_Settings] [https://www.mikrocontroller.net/attachment/319192/Bohrdatei.png Drill_Files_Generation]&lt;br /&gt;
* https://github.com/mtl/svg2mod Tool, welches SVG in KiCad Board Layers wandelt. Einleitende Informationen finden sich hier: https://www.mikrocontroller.net/topic/440552#5234307&lt;br /&gt;
* https://github.com/thesourcerer8/altium2kicad Altium2KiCad um Altium Projekte in KiCad Schaltpläne und Boards zu konvertieren.&lt;br /&gt;
&lt;br /&gt;
Erfahrungsberichte willkommen!&lt;br /&gt;
&lt;br /&gt;
= Beispielprojekte =&lt;br /&gt;
&lt;br /&gt;
Projekte, die mit KiCad umgesetzt worden sind, finden sich auf der [[KiCad-Projekte|KiCad-Projektseite]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- alt -- &lt;br /&gt;
= Diskussionen (teilweise seeeehr alt) =&lt;br /&gt;
&lt;br /&gt;
* http://www.mikrocontroller.net/topic/120373#1089075 &lt;br /&gt;
* http://www.mikrocontroller.net/topic/98034#848559&lt;br /&gt;
* http://www.mikrocontroller.net/topic/95864#828660&lt;br /&gt;
* http://www.mikrocontroller.net/topic/77738#647041&lt;br /&gt;
* http://www.mikrocontroller.net/topic/103806#907523&lt;br /&gt;
* http://www.mikrocontroller.net/topic/41999#316195&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Weblinks =&lt;br /&gt;
&lt;br /&gt;
* [http://www.kicad.org kicad.org] Die neue Homepage&lt;br /&gt;
* [http://kicad.org/help/documentation/ Offizielle Dokumentation]&lt;br /&gt;
* [https://bugs.launchpad.net/kicad Bugreports] erstellen und nach vorhandenen Fehlern suchen, wenn einem etwas komisch vorkommt.&lt;br /&gt;
&lt;br /&gt;
* Tutorials: &lt;br /&gt;
&amp;lt;!-- alt -- ** [http://kicad.sourceforge.net/wiki/index.php/DE:Mini_tutorial Mini-Tutorial] --&amp;gt;&lt;br /&gt;
** [http://timogruss.de/kicad-loesung-fuer-die-leiterplatten-entwicklung/ KiCad Tutorial auf timogruss.de] (deutsch) (2013)&lt;br /&gt;
** https://www.youtube.com/watch?v=XD_PaSrLKBk Schematic Pages and Hierarchy In KiCad - Hierarchischer Schaltplan (2014)&lt;br /&gt;
** https://www.youtube.com/watch?v=YCdpXwRKbYc Create a library and put your own component in that library. (2014)&lt;br /&gt;
&amp;lt;!-- alt --&lt;br /&gt;
** http://store.curiousinventor.com/guides/kicad&lt;br /&gt;
** https://contextualelectronics.com/course/kicad-tutorial/ (Video Tutorials auf Englisch)&lt;br /&gt;
** http://xtronics.com/reference/kicad.html --&amp;gt;&lt;br /&gt;
** http://bastler-archiv.de/elektronik/platinenherstellung-platinenlayout-mit-kicad-teil-1/ (deutsch, Teil 1) (2011)&lt;br /&gt;
** http://bastler-archiv.de/elektronik/platinenherstellung-platinenlayout-mit-kicad-teil-2/ (deutsch, Teil 2) (2011)&lt;br /&gt;
** http://www.kramann.info/73_COACH3/06_Layouting/Layouting_art_Guido_Kramann_12122010.pdf (2010)&lt;br /&gt;
** [https://rheingoldheavy.com/category/education/kicad/ KiCad Tutorials zum Workflow, Migration alter KiCad Versionen und zu Stücklisten (RheingoldHEAVY, auf englisch)] (2015)&lt;br /&gt;
&amp;lt;!-- alt -- ** [http://roberthall.net/Wings3D_Tutorial_KiCad Tutorial zur Benutzung von Wings3D im KiCad Umfeld (englisch)] --&amp;gt;&lt;br /&gt;
** https://www.youtube.com/watch?v=i4vLxAoLvPk Video Tutorial auf Deutsch. Relativ aktuell.&lt;br /&gt;
&lt;br /&gt;
* Info&lt;br /&gt;
** [https://kicad.mmccoo.com/kicad-scripting-table-of-contents/ Python Scripting for KiCad] und [http://docs.kicad.org/doxygen-python/namespacepcbnew.html Befehlsliste]&lt;br /&gt;
** [https://wiki.aalto.fi/display/MEX/Introduction+to+KiCad] Ein paar Tips am Rande (2014)&lt;br /&gt;
** [http://www.daedalus.ei.tum.de/index.php/de/3d-druck-cnc/cnc/layout-und-g-code-erstellung-mit-kicad] Info für Leute, die Platinen durch Isolationfräsen statt ätzen erstellen&lt;br /&gt;
** [http://davidetienne.me/blog/2015/10/05/kicad-convert-ti-bxl-cad-files-to-kicad-libraries/] Ein Weg, um Libraries, die im Texas Instruments Format &amp;quot;.bxl&amp;quot; vorliegen, in KiCad Bibliotheken zu konvertieren. (2015)&lt;br /&gt;
&lt;br /&gt;
* Usergroups:&lt;br /&gt;
** [https://groups.yahoo.com/neo/groups/kicad-users/info Yahoo-KiCad-User-Group (Englischsprachig)]&lt;br /&gt;
** [https://forum.kicad.info/ Endlischsprachiges KiCad Forum]&lt;br /&gt;
&amp;lt;!-- alt -- ** [http://1.cad-kicad-user.cadtalk.us/ Englischsprachige Diskussionen über KiCad im &amp;quot;Cadtalk&amp;quot;-Forum] Leider nicht mehr existent. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tools&lt;br /&gt;
** [http://www.freerouting.net/ Freerouting] Autorouter (down: Download siehe [https://www.mikrocontroller.net/articles/KiCad#Tipps.26Tricks:_KiCad_und_Freeroute Tipps und Tricks])&lt;br /&gt;
** [http://www.mikrocontroller.net/articles/KiCad#Tools Liste mit externen Programmen und Skripten im Zusammenhang mit KiCad]&lt;br /&gt;
&lt;br /&gt;
* Verschiedenes im Zusammenhang mit KiCad&lt;br /&gt;
** [https://github.com/KiCad/kicad-library/wiki/Kicad-Library-Convention Kicad Library Convention / Regeln für offizielle KiCad Bibliotheken (Englisch)]&lt;br /&gt;
** [http://www.compuphase.com/electronics/LibraryFileFormats.pdf Aufbau der unterschiedlichen KiCad Bibliotheks Files (englisch)]&lt;br /&gt;
** [http://www.ohwr.org/projects/cern-kicad/wiki/WorkPackages CERN KiCad development roadmap / Was ist in KiCad Entwicklung geplant? (englisch)]&lt;br /&gt;
** [http://home.web.cern.ch/about/updates/2015/02/kicad-software-gets-cern-treatment Warum das CERN KiCad unterstützt (englisch)]&lt;br /&gt;
** [https://www.youtube.com/watch?v=chejn7dqpfQ Video mit der Leiterbahnlängenanpassen Funktion bzw. der &amp;quot;Differential pair&amp;quot; Funktion in KiCad.]&lt;br /&gt;
** [http://www.youtube.com/watch?v=irqlrVUbjuQ Video mit dem interaktiven Router]&lt;br /&gt;
&lt;br /&gt;
* Plattformen&lt;br /&gt;
&amp;lt;!-- alt -- ** Mac: http://brokentoaster.com/kicad/ --&amp;gt;&lt;br /&gt;
**Ubuntu: [http://www.mikrocontroller.net/topic/257321#2658268 KiCad selber compilieren] (2012)&lt;br /&gt;
** http://wiki.xtronics.com/index.php/Kicad Transtronics site (englisch)&lt;br /&gt;
&lt;br /&gt;
* HowTo von Tom Boyd (englisch)&lt;br /&gt;
** http://kicadhowto.wikidot.com/&lt;br /&gt;
** http://kicadhowto.org/&lt;br /&gt;
&lt;br /&gt;
* [https://hasanyavuz.ozderya.net/?p=256 PCB back annotation in KiCAD with Python]&lt;br /&gt;
&lt;br /&gt;
= Literatur =&lt;br /&gt;
* &#039;&#039;&#039;KiCad wie ein Profi&#039;&#039;&#039;, von Dr. Peter Dalmaris, Elektor-Verlag, 1. Auflage 2019, ISBN 978-3-89576-341-0&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=      =&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:KiCad]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=KiCad&amp;diff=107681</id>
		<title>KiCad</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=KiCad&amp;diff=107681"/>
		<updated>2025-08-23T11:15:22Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* KiCad Board Dateien direkt zum Hersteller */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Wegen eines Umbaus dieser Seite bitte unter Diskussion lesen!&#039;&#039;&#039; [[Diskussion:KiCad#Seitenumbau]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KiCad&#039;&#039;&#039; ist ein Open Source [[Schaltplaneditoren|Schaltplaneditor]] und PCB Layoutprogramm für Windows, Linux, Mac OSX. &lt;br /&gt;
Diese Seite ist zunächst eine Zusammenfassung aus den KiCad Beiträgen im Forum. Und gleich zu Anfang ein grosses DANKE an alle KiCad-User aus dem Forum. Ihr seid zu viele, um jeden einzeln zu nennen. Aber wer sich diese Seite durchliest und den Links folgt, wird euch kennenlernen.  &lt;br /&gt;
&lt;br /&gt;
Hier sollen alte und neue KiCad-Anwender einen Anlaufpunkt finden und neue, insbesondere µC-relevante Aktivitäten stattfinden. &lt;br /&gt;
&lt;br /&gt;
Diese Seite will keine Konkurrenz zum offiziellen KiCad Wiki sein, d.h. was dort steht soll hier nicht wiederholt werden und was hier steht wird hoffentlich zum offiziellen KiCad Wiki wandern.&lt;br /&gt;
&lt;br /&gt;
Die Bedienung von KiCad setzt Hintergrundwissen über die Vorgänge voraus. Die Bedienungsweise entspricht eher einem alten Orcad, Altium oder auch BAE und weniger der von Eagle. Daher ist es Neulingen dringend angeraten, sich vorher die Handbücher und Tutorials gut durch zu sehen. Zur Einarbeitung benötigt man schon etwas Geduld.&lt;br /&gt;
Wer offizielle Releases verwendet, wird oft Bugs feststellen, die aber in den Testing Versionen im allgemeinen beseitigt sind.&lt;br /&gt;
Wenn ihr Kritik oder Fragen zu KiCad habt, dann nutzt das Forum! Sobald KiCad im Betreff steht, wird der Beitrag gelesen und nach Möglichkeit beantwortet. Auch Ideen zu dieser Seite sind sehr willkommen! &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suchen und Finden&#039;&#039;&#039; Da diese Seite hier etwas umfangreich geworden ist, empfehle ich eine Textsuche. Jeder Internetbrowser, der etwas auf sich hält, hat auch eine Suchfunktion, mit der der Text der Seite durchsucht werden kann. Bei Firefox/Iceweasel oben im Pull-down Menue unter &amp;quot;Bearbeiten&amp;quot; &amp;gt; &amp;quot;suchen&amp;quot; oder per Shortcut &amp;lt;Strg-F&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Link defekt -- Siehe auch die offizielle FAQ: http://kicad.sourceforge.net/wiki/index.php/FAQ --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;!-- alt 2007 -- &lt;br /&gt;
* Warum gefällt dir KiCad?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/70905#584639&lt;br /&gt;
** http://www.mikrocontroller.net/topic/81396#680502&lt;br /&gt;
** http://www.mikrocontroller.net/topic/83311#697917&lt;br /&gt;
** http://www.mikrocontroller.net/topic/42614#321502&lt;br /&gt;
* Warum gefällt dir KiCad nicht?&lt;br /&gt;
** Ich verstehe nicht, was du meinst ;-)&lt;br /&gt;
** http://www.mikrocontroller.net/topic/81396#680502&lt;br /&gt;
** http://www.mikrocontroller.net/topic/83311#697969&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wo gibt es weitere Infos zu KiCad?&lt;br /&gt;
** [http://KiCad.org Offizielle Homepage] &lt;br /&gt;
** [http://KiCad.org/help/ Die Offizielle Dokumentation] &lt;br /&gt;
** Einige allgemeine [https://docs.google.com/document/d/1M38ByFyqnhwGo8b_jDDyBceyZtEGeaSAuQaP9REzWrU/edit?usp=sharing Notizen] zur &#039;&#039;&#039;Installation&#039;&#039;&#039; und zur &#039;&#039;&#039;Arbeitsweise&#039;&#039;&#039; von KiCad &lt;br /&gt;
&amp;lt;!-- alt 2008 -- ** http://www.mikrocontroller.net/topic/98034#848661 (Von 2008, also seeeehr überholt) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Welche Leiterplattenfertiger akzeptieren KiCad Layouts?&lt;br /&gt;
** [http://www.pcb-pool.com/ppde/info_dataformat.html PCB-Pool.de]&lt;br /&gt;
** [http://fischer-leiterplatten.de Fischer Leiterplatten]&lt;br /&gt;
** [https://www.oshpark.com/ OSH Park]&lt;br /&gt;
&lt;br /&gt;
* Welche Gerberfiles benötigt der Leiterplattenhersteller?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/399503#new Forumsbeitrag]&lt;br /&gt;
** [[Gerber-Tools]] &lt;br /&gt;
** [[Richtiges_Designen_von_Platinenlayouts#Produktionsgerechter_Entwurf | Hinweise zur Technologie]]&lt;br /&gt;
&lt;br /&gt;
* Wie kriege ich raus, welche Leiterbahn welchen Netznamen hat, bzw. ich habe den Überblick verloren und weiß nicht mehr, was aus dem Layout nun was im Schaltplan ist?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/316539#3427724 Forumsbeitrag], Funktioniert nur gut, wenn ein großes Fadenkreuz gewählt ist.&lt;br /&gt;
** Genauere Informationen, z.B. über die Länge einer Leiterbahn etc. Dazu in PCBnew den gleichen Button rechts wie für das Hinzufügen von Leiterbahnen aktivieren. Oder besser noch rechts den zweiten Button von oben &amp;quot;Netz hervorheben&amp;quot;. Dann mit der rechten Maustaste die fragliche Leiterbahn anklicken. Unten in der Statusleiste werden die Informationen angezeigt.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/267538#new Forumsbeitrag]: KiCad ohne Maus bedienen. &lt;br /&gt;
* [http://www.mikrocontroller.net/topic/302664#3249204 Forumsbeitrag]: Gibt es Sonderzeichen, die ich für Symbole, Module/Footprints oder Files nicht verwenden sollte? Ja, alles was Sonderzeichen außer &amp;quot;- _ .&amp;quot; (Bindestrich, Tiefstrich, Punkt) und keine Zahl ist.&lt;br /&gt;
&lt;br /&gt;
* Wie stelle ich in KiCad das Zeitintervall für &amp;quot;automatisch Speichern&amp;quot; ein?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/459135#5551638 Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
* Woher beziehe ich KiCad?&lt;br /&gt;
** [http://kicad.org/download/ Offizielle Seite], alle Betriebssysteme        &lt;br /&gt;
*** Aktuelle Version: &#039;&#039;&#039;KiCad 9.0.4&#039;&#039;&#039; veröffentlicht im August 2025&lt;br /&gt;
*** Nightly Development Builds auch von der offiziellen Seite&lt;br /&gt;
*** KiCad kann man aus den Sourcen selbst compilieren. Dazu gibt es Skripte zur Unterstützung, die dieses automatisieren, so dass man nicht unbedingt C/C++ Kenntnisse braucht. Die meisten gängigen Linux Distributionen enthalten aber &amp;quot;old stable&amp;quot; KiCad Releases in ihren Repositories.&lt;br /&gt;
&amp;lt;!-- alt -- ** Windows: http://www2.futureware.at/~nickoe/ &lt;br /&gt;
*** Welcher Typ? ...-x86_64.exe oder ...-i686.exe ? Ich brauche x86 32 bit.&lt;br /&gt;
**** Für Windows PC 32 bit die ...-i686.exe, und für Windows PC 64 bit ...-x86_64.exe.&lt;br /&gt;
** Veraltet: http://www71.zippyshare.com/v/28617008/file.html Die Quelle ist hier genannt. https://groups.yahoo.com/neo/groups/kicad-users/conversations/messages/18534 --&amp;gt;&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/298311#3187885 Liste der Versionsänderungen] &lt;br /&gt;
* [http://www.mikrocontroller.net/topic/307517#new Forumsbeitrag]: Ich habe KiCad unter Linux installiert, aber wenn ich KiCad starten will, passiert einfach nichts, oder ich erhalte eine Fehlermeldung wie: &amp;quot;Datei nicht gefunden&amp;quot; &lt;br /&gt;
** 1) KiCad und seine zugeordneten Programme sollten im Suchpfad stehen. Es wird für Debian und Ableger empfohlen, KiCad unter usr/local/bin zu installieren. Anmerkung: Das ist die aktuelle Verfahrensweise. Oktober 2013 wurde aber noch folgende Struktur verwendet:&lt;br /&gt;
*** /usr/bin                            - Binaries (executable files).&lt;br /&gt;
*** /usr/share/doc/kicad/               - Various documentation.&lt;br /&gt;
*** /usr/share/doc/kicad/help           - Interactive help.&lt;br /&gt;
*** /usr/share/kicad/demos              - Sample schematics and printed boards.&lt;br /&gt;
*** /usr/share/kicad/internat           - Dictionaries for interface localization.&lt;br /&gt;
*** /usr/share/kicad/library            - Interface localization files.&lt;br /&gt;
*** /usr/share/kicad/modules            - Module libraries for printed boards.&lt;br /&gt;
*** /usr/share/kicad/modules/packages3d - 3D component models (.wrl and .wings format).&lt;br /&gt;
*** [http://iut-tice.ujf-grenoble.fr/cao/install.txt Quelle], hier sind auch Hinweise für Windows user enthalten.&lt;br /&gt;
&lt;br /&gt;
** 2) User sollten dort Lese- und Ausführungsrechte haben. Aber keine Schreibrechte.&lt;br /&gt;
** 3) Wenn ein fertiges Packgage auf einem 64 bit System verwendet wurde, könnte es daran liegen, das es für 32 bit compiliert wurde, und nicht für 64 bit. Es gibt zwei Möglichkeiten:&lt;br /&gt;
*** a) Selbst aus den Sourcen für sein eigenes System compilieren.&lt;br /&gt;
*** b) Die Runtime Libs für 32 Bit könnten fehlen. Nachinstallieren mit sudo apt-get install ia32-libs. Siehe [http://www.mikrocontroller.net/topic/307517#3307638 Forumsbeitrag]&lt;br /&gt;
* Ich habe das umgekehrte Problem: 32bit system aber 64bit Binarys.&lt;br /&gt;
** Selbst aus den Sourcen neu compilieren.&lt;br /&gt;
&amp;lt;!-- alt -- *Ich will/muss mir KiCad selber compilieren. Wie gehe ich vor?&lt;br /&gt;
** Aktuell nach: http://www.kicad.org/display/DEV/Build+KiCad&lt;br /&gt;
**&lt;br /&gt;
**Veraltet! siehe: http://www.mikrocontroller.net/topic/310766#3351269 Aber Achtung. Diese Anleitung (Oktober 2013) muss nicht aktuell sein. --&amp;gt;&lt;br /&gt;
* Sicherheitseinstellungen von Java sind für PCBnew unter JAVA -&amp;gt; JAVA konfigurieren zu finden.&lt;br /&gt;
&lt;br /&gt;
* Diskussionen zum Thema Installation und compilieren:&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/338600#new FEDORA] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/339509#new ARCH Linux]&lt;br /&gt;
* Konfigurationsdateien:&lt;br /&gt;
** Ab BZR5114 (ca. 5. September 2014) hat sich der Ordner für die Files mit den Konfigurationsdaten geändert. Unter Linux sind nun die Konfigurations Dateien in $HOME/.config/kicad (entsprechen der FreeDesktop.org Spezifikation). Um Ihre gegenwärtigen Konfigurierungen zu erhalten, können die KiCAd Konfigurationsfiles aus dem Home-Verzeichnis in den aktuellen Ordner kopiert werden. Es muss allerdings der führende &amp;quot;.&amp;quot; (Punkt) der Datei entfernt werden. Ebenso muss die globale &amp;quot;fp-lib-table&amp;quot; aus dem home-Verzeichnis dorthin kopiert werden. Windows User müssen KiCad leider reconfigurieren. Es gab keinen einfachen Weg um die Registry-Keys in die Konfigurationsdateien zu extrahieren. Die Konfigurationsdateien unter Windows werden genau wie die fp-lib-table im %APPDATA%\kicad Ordner gespeichert. Es ist angeraten, sämtliche Reste der KiCad Installation aus der Registry zu entfernen, wenn nicht KiCad Versionen vor der BZR5114 verwendet werden. Diese Lösung beseitigt die $home Ordner &amp;quot;Verschmutzung&amp;quot; und vermeidet die Benutzung der Windows registry, wie es häufig gewünscht wurde. Für OS X User ergeben sich keine Änderungen. [https://groups.yahoo.com/neo/groups/kicad-users/conversations/messages/18889 Link] auf die Originalnachricht (englisch):  (KiCad-User Group, 05. September 2014, Titel: Configuration file location changes (#18889) Autor: Wayne Stambaugh)&lt;br /&gt;
&lt;br /&gt;
=== Schaltplan ===&lt;br /&gt;
* Wie stellt man die Blattgröße beim Schaltplan ein?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/33653#974295 Forumsbeitrag]: In Page Settings die Blattgröße verstellen (z.B. von A4 auf A3) &lt;br /&gt;
* Wie mache ich eine neue Schaltplan Seite auf?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/398489#new Forumsbeitrag]: Nur in Form eines neuen hierarchischen Schaltplans&lt;br /&gt;
* Wie kann man den Schaltplan auf mehreren Seiten verteilen (hierarchical sheets)?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/96060 Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/117873#1060062  Forumsbeitrag]&lt;br /&gt;
*Wie geht man mit &amp;quot;Power Pins&amp;quot; in hi­e­r­ar­chischen Schaltplänen um?&lt;br /&gt;
**[http://www.mikrocontroller.net/topic/207905#new  Forumsbeitrag]&lt;br /&gt;
* Wie kann man die &amp;quot;hierachical sheets&amp;quot; benutzen, um aus vorgefertigten Subschaltplänen mit immer gleichen Bauteilgruppen rationell Schaltpläne zusammenzustellen (Building Blocks)?&lt;br /&gt;
** [http://www.mikrocontroller.net/articles/KiCad#Tipps.26Tricks:_Building_Blocks Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/175597#1687653 Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/178683#1724114 Forumsbeitrag]&lt;br /&gt;
* Ich habe einen hierarchischen Schaltplan angelegt. Wenn ich ihn ausdrucke, werden die Subschaltpläne in der Reihenfolge ausgedruckt, in der sie oben in der Übersicht stehen. Diese Reihenfolge ist aber in meinem Fall ungünstig. Wie kann ich diese nun ändern?&lt;br /&gt;
** Leider im Programm z.Z. noch nicht. Trotzdem ist es machbar. Entweder von Hand oder mit einem Python Skript. Näheres zu beidem findet sich ind diesem [http://www.mikrocontroller.net/topic/288394#3064087 Forumsbeitrag] . Ein Python 3 Skript, das den Umgang mit dem Kicad-Schaltplan erleichtert, findet sich [[Media:PyKicadSchematic-ID_Interchanger_RevC.zip | hier]].&lt;br /&gt;
*Wie geht man mit Bussen um?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/208870#new Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/209156#new Forumsbeitrag], speziell bei hierarchischen Schaltplänen&lt;br /&gt;
* Wie kann man Schaltplanentwurf (KiCad) und Schaltungssimulation (Spice) verbinden?&lt;br /&gt;
** NGspice ist in den Grundzügen mittlerweile in den entwicklungsversionen von KiCad integriert. Aktuell (Nov. 2016) muss man sich aber noch KiCad selber compilieren und dabei auch einen passenden Schalter für den Compiler setzten. Siehe: [https://www.mikrocontroller.net/topic/412350#4803960 Forumsbeitrag]&lt;br /&gt;
** [http://Fuhaweb.hartford.edu/kmhill/suppnotes/KiCadDia/AimSPICE/KiCad_AimSPICE_01.pdf Imformationen zur Zusammenspiel KiCad &amp;lt;&amp;gt; AimSpice] &lt;br /&gt;
* Ein [[Media:SymboleFuerKiCad318082009-RevC-DE.pdf | Tutorial]] zum Symboleditor für KiCad, mit dem die Symbole für das Schaltplanmodul (EEschema) erzeugt bzw. editiert werden.&lt;br /&gt;
* Zur Erstellung von Schaltplansymbolen in aufgelöster Darstellung (Relais: Kontaktsätze einzeln und getrennt von der Spule; IC: Versorgungsspannung getrennt von den einzelnen Gattern)&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/273891#new. Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/294095#3136180 Forumsbeitrag]&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/449373#new Forumsbeitrag]&lt;br /&gt;
* Wie kann man im Schaltplan Symbole zum Verschieben gruppieren?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/170913# Forumsbeitrag]&lt;br /&gt;
* Und wenn es darum geht, eine solche Gruppe in einen anderen Schaltplan oder Subschaltplan zu verschieben?&lt;br /&gt;
** Die Gruppe ins &amp;quot;Clipboard&amp;quot; stecken. Dazu nach dem Markieren der Gruppe rechte Maustaste klicken, und dort &amp;quot;Gruppe speichern&amp;quot; wählen. Nun ist die Gruppe im Clipboard. jetzt in den gewünschten Unterschaltplan gehen und die Gruppe dort mithilfe des Clipboardbuttons (Das Klemmbrett Symbol links neben dem &amp;quot;Undo&amp;quot;-Button) in den Schaltplan einfügen. NICHTS mit der rechten Maustaste versuchen! Siehe [http://www.mikrocontroller.net/topic/244836#2499782 Forumsbeitrag].  Das ganze geht nicht nur mit Subschaltplänen, sondern auch genauso in einen ganz anderen Schaltplan, den man dann halt in Eeschema öffnen muss, hinein. Wenn nach dem Einfügen allerdings nur ein Kästchen mit Fragezeichen erscheint, waren die nötigen Symbolbibliotheken für diese Symbole noch nicht in der Projektdatei eingetragen. Das muss man nun nachholen, indem man unter &amp;quot;Einstellungen&amp;quot; die &amp;quot;Bibliotheken&amp;quot; wählt, und die passenden Bibliotheken einträgt. Wenn man nicht genau weiß, wo diese zu finden sind, kann es sinnvoll sein, die *-cache.lib des Herkunftsschaltplanes einzubinden.&lt;br /&gt;
** Ist es möglich, im Schaltplan gruppierte Bauteile automatisch im Board als Gruppe zu verschieben?&lt;br /&gt;
*** Nein. Siehe [https://www.mikrocontroller.net/topic/398996#new Forumsbeitrag]&lt;br /&gt;
* Wie wird man den merkwürdigen Rahmen los?&lt;br /&gt;
** 1) Bei neueren KiCad Versionen, ab ca. Mitte 2013 (von mir getestet ab BZR 4513 29 November 2013) kann man sich eine Vorlage ohne Rahmen erstellen. Dazu den pl_editor (der ganz rechte Button im KiCad Hauptfenster) starten, und FAST alles entfernen. Dazu in der linken Spalte nacheinander alles aktivieren, und mit rechts anklicken und dann &amp;quot;entfernen&amp;quot; wählen. Aber Vorsicht, wenn alles Entfernt wird, taucht das Original Layout wieder auf. Workaround war bei mir, eine zusätzliche Alibilinie hinzuzufügen, die von X 0,000 Y 0,000 bis  X 0,001 Y 0,000 reicht. Das ist ein &amp;quot;Fliegenschiss&amp;quot; in der linken oberen Ecke. Jetzt kann alles andere gelöscht werden. Den so geleerten Rahmen unter einem beliebigen Namen mit der Endung .kicad_wks wegspeichern. Im geöffneten Schaltplan kann der dann unter Datei &amp;gt; Seite einrichten ganz unten unter &amp;quot;page layout file description&amp;quot; die entsprechende Datei eingebunden werden. Es bleibt aber dem Anwender offen, ob er den Rahmen komplett entfernt, oder noch Felder mit Textbeschreibungen übernimmt. Für gesteigerten Komfort kann diese Datei dann auch in ein Template eingebunden werden. &lt;br /&gt;
** 2) Beim Ausdrucken Frame deaktivieren.&lt;br /&gt;
** 3) Als SVG exportieren. Dort den Frame deaktivieren.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/343509#3791448 Forumsbeitrag]&lt;br /&gt;
* Wie schalte die Footprint-Namen in Eeschema global ab?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/253564#new Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Problem mit dem ERC. Ständig kommt die Fehlermeldung: &amp;quot;Pin ist mit anderen Pins verbunden, wird jedoch von keinem angesteuert&amp;quot;&lt;br /&gt;
** Netze, die nicht angesteuert werden, werden von Kicad misstrauische beäugt. Das &amp;quot;nicht ansteuern&amp;quot; kann aber schnell passieren, weil Kicad u.A. erwartet, das irgendwo ein Spannungsversorgung ist. Wenn diese aber z.B. über eine Sicherung oder einen Pull-up Widerstand gehen, so wird das nicht bemerkt, weil Sicherungen und Widerstände (oder auch Entstördrosseln) &amp;quot;passive&amp;quot; Pins haben. Siehe [http://www.mikrocontroller.net/topic/292988#new Forumsbeitrag] und [http://www.mikrocontroller.net/topic/298401#new Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Problem mit dem ERC. Immer in Verbindung mit GND kommt die Fehlermeldung: &amp;quot;Pin ist mit anderen Pins verbunden, wird jedoch von keinem angesteuert&amp;quot;&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/284089#new Forumsbeitrag]&lt;br /&gt;
* Beim ERC kommt die Fehlermeldung &amp;quot;PIN not connected&amp;quot; an Verbindungen, die per Label angeschlossen sind. Was ist da falsch?&lt;br /&gt;
**Sie sind tatsächlich nicht angeschlossen. [http://www.mikrocontroller.net/topic/346976#new Forumsbeitrag]&lt;br /&gt;
* Wie ist der Zusammenhang zwischen Bauteilen und Netznamen? Wie bekomme ich heraus, an welchem Netz mein Bauteil angeschlossen ist?&lt;br /&gt;
** Eeschema vergibt bzw. aktualisiert erst dann Netznamen, wenn eine Netzliste erzeugt wird. Darauf besteht entweder ein Zugriff über PCBnew, oder aber mit einem Editor. [http://www.mikrocontroller.net/topic/316539#new Forumsbeitrag]&lt;br /&gt;
* Ich habe einen Schaltplan geöffnet, aber alle oder einige der Symbole zeigen nur Kästen mit Fragezeichen.&lt;br /&gt;
** Es fehlen die passenden Symbolbibliotheken für diese Symbole.&lt;br /&gt;
** Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Diese Fehlen nun. Man braucht die Originalbibliotheken oder aber die Cache-Bibliothek dieses Schaltplans.&lt;br /&gt;
*** Diese müssen in der Liste der Bibliotheken nachgetragen werden. Siehe dazu die Handhabung von Bibliotheken: [[KiCad#Handhabung_von_Bibliotheken]]&lt;br /&gt;
** Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Diese Fehlen nun. Man braucht nun die Originalbibliotheken oder aber die Cache-Bibliothek dieses Schaltplans.&lt;br /&gt;
** Ab BZR4646 (Jan./Feb. 2014) behandelt KiCad Symbolnamen &amp;quot;Case Sensitive&amp;quot;. Das führt zu Problemen mit älteren Schaltplänen, wo das anders gehandhabt wurde.&lt;br /&gt;
*Wieviele Textfelder für Symbole kann ich anlegen und wie groß dürfen diese sein?&lt;br /&gt;
** Mindestens 35 Felder, die mindestens 256 Zeichen (tatsächlich deutlich mehr) beinhalten können. Aber Zeilenumbrüche gehen nicht. [http://www.mikrocontroller.net/topic/331201#3658695 Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Symbol im Symboleditor geändert. Aber irgendwie taucht diese Änderung dann in Eeschema trotzdem nicht auf.&lt;br /&gt;
** Die Reihenfolge der Einträge in der Bibliotheksliste ist wichtig. Bei gleichem Namen wird immer das zuerst gefundene Symbol verwendet. Steht die -cache.lib in der Reihenfolge zu oberst, wird immer zuerst das Bauteil aus der -cache.lib verwendet. Beheben: Die -cache.lib aus der Bibliotheksliste von Eeschema austragen und neu eintragen, so dass sie unten angefügt wird, und zuletzt geladen wird. Alternativ: Bei Änderungen einen neuen Namen für das Symbol vergeben. Z.B. durch das Pflegen eines Revisions- oder Datecode im Symbolnamen. Einfach nur die -cache.lib löschen langt möglicherweise nicht, weil diese u.U. mit alten Daten neu geschrieben wird (wenn z.b. Eeschema dabei nicht geschlossen ist). [http://www.mikrocontroller.net/topic/331201 Forumsbeitrag]&lt;br /&gt;
* Wie erstelle ich eine Stückliste (BOM, Bill of Materials)?&lt;br /&gt;
** 1) In PCBnew oben im Pull down Menue Datei &amp;gt; Fertigungsdateien &amp;gt; BOM (Bill of materials) Geht nur, wenn die Netzliste schon importiert wurde.&lt;br /&gt;
** 2) In EEschema unter Werkzeuge &amp;gt; Stückliste erstellen &amp;gt; und dann ein Plugin wählen. Es gibt verschieden Plugins mit verschiedenen Eigenschaften z.B. auch für kumulierende Listen. Die Plugins kann man von [https://github.com/KiCad/kicad-source-mirror/tree/master/eeschema/plugins hier] beziehen: Achtung, ein kleiner &#039;&#039;&#039;BUG&#039;&#039;&#039; In den Voreinstellungen der Kommandozeile muss in den Optionen &amp;quot;%O&amp;quot; in &amp;quot;%O.csv&amp;quot; umgewandelt werden, sonst hat die erzeugte Datei keinen .csv extender. Grundsätzlich: Hier wird zuerst eine behelfsmäßige Netzliste im .xml Format erstellt. Die Kommandozeile startet dann ein Programm, was widerum ein .xsl Skript (Das Plugin) abarbeitet, und als output eine .csv Datei erzeugt, die in Tabellenkalkulationen importiert werden kann. In die Kommandozeile kann natürlich auch etwas anderes eingetragen werden, so dass man dort z.B. auch Python Skripte verwenden kann.&lt;br /&gt;
** 3) Man kann sich selber ein separates Skript erstellen, welches die .kicad_sch Datei parst, und daraus eine .csv oder anders gestaltete BOM-Datei erstellt, so wie man es braucht. Da man auch ohne Plugins bei drücken von &amp;quot;Erstellen&amp;quot; die oben erwähnte behelfsmäßige Netzliste erhält, kann man diese auch mit externen Skripten bearbeiten. Es gibt Mittelwege zwischen 2) und 3). Für ein Python Skript siehe [https://forum.kicad.info/t/kibom-python-bom-generation-tool/3038 hier]&lt;br /&gt;
** Info:&lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/402089#new Forumsbnbeitrag]: &amp;quot;KiCad Stückliste&amp;quot; &lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/376977?goto=new#new Forumsbeitrag]: &amp;quot;Kicad Bauteilliste(BOM) erstellen&amp;quot;&lt;br /&gt;
**  [https://www.mikrocontroller.net/topic/402565#new Forumsbeitrag]: Klaus hat ein Plugin geschrieben, dass in html überträgt&lt;br /&gt;
* Ich möchte eine Stückliste (BOM, Bill of Materials) mit einer Datenbank, z.B. für Bestellnummern verbinden.&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/416192#4856645 Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
=== Netlist ===&lt;br /&gt;
* Was genau muss man beim Übergang vom Schaltplan (SCH) zum Layout (BRD) machen?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/33653#898771&lt;br /&gt;
** http://www.mikrocontroller.net/topic/39243#290309&lt;br /&gt;
** http://www.mikrocontroller.net/topic/39243#891530&lt;br /&gt;
* Kann man fertige Netzlisten für Gruppen von Bauteilen einbinden?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/33653#1462871&lt;br /&gt;
* Wie sieht das allgemein mit der Zuordnung Symbol zu Footprint aus?&lt;br /&gt;
** Symbole und Footprints sind zwar von der Idee her erst einmal getrennt, und Footprints werden über CVpcb und Netzliste den Symbolen zugeordnet.&lt;br /&gt;
** Allerdings besteht auch eine Möglichkeit, Symbolen einen bevorzugten Footprint  fest zuzuweisen, der dann automatisch in die Netzliste zum Einlesen in das Board eingetragen wird. Wenn dann der Zuweisungsschritt mit CVbcb in der Netzliste gemacht wird, ist dort schon etwas eingetragen, was man so lassen oder aber ändern kann.&lt;br /&gt;
*** Dazu in EEschema mit der Maus auf ein Symbol gehst und &amp;quot;E&amp;quot; drücken. Alternativ über rechten Mausklick auf Symbol und dann das Kontextmenuest gehen. Wenn man im Symboleditor arbeitet, aus der oberen buttonleiste den Button mit dem &amp;quot;T&amp;quot;-Symbol wählen. Es poppt ein Fenster auf &amp;quot;component properties&amp;quot;. In der Mitte ist eine Tabelle mit unter anderem einem Eintrag &amp;quot;Footprint&amp;quot;. Wenn dann &amp;quot;Footprint&amp;quot; aktiviert wird. kann rechts der Name eines Footprintes eingebenwerden (kompliziert), oder, wesentlich einfacher, darunter gibt es einen Button &amp;quot;browse Footprints&amp;quot;. Wenn der aktiviert wird, öffent sich ein Fenster, in dem sich in den in die Bibliothekslisten eingetragenen Footprintbiblotheken herumwühlen lässt.&lt;br /&gt;
** Desweiteren kann auch eine Kopie des Symbols unter anderem Namen angelegt werden, und dort ein anderer Footprint eingetragen werden, als Variante. Falls das Pinning nicht passt, müssen halt auch noch die Pinne im Symbol passend zum Footprint gemacht werden.&lt;br /&gt;
** Diskussion dazu: https://www.mikrocontroller.net/topic/432920#5112114&lt;br /&gt;
* Kann man Daten für automatische Bestückung erzeugen?&lt;br /&gt;
** Ja. aber nicht in CVpcb für die Symbol &amp;gt; Footprint Zuordnung, sondern im Layout Modul PCBnew.&lt;br /&gt;
* In meiner Netlist fehlen Bauteile, die im Schaltplan vorhanden und angeschlossen sind. Der ERC läuft problemlos durch. Die Annotation auch, aber nach Erstellung der Netlist sind die Symbole plötzlich mit einem vorangestellten &amp;quot;#&amp;quot; im Schaltplan bezeichnet.&lt;br /&gt;
** Vermutlich sind sie versehentlich als &amp;quot;virtuelles&amp;quot; Bauteil gekennzeichnet. Siehe http://www.mikrocontroller.net/topic/268626#new&lt;br /&gt;
* Wie exportiere ich eine Netlist NUR für einen Subschaltplan?&lt;br /&gt;
** Das geht, nachdem dieser Schaltplan explizit in EEschema geöffnet wurde. Siehe: http://www.mikrocontroller.net/topic/330740#new&lt;br /&gt;
* Ich finde CVpcb nicht mehr am gewohnten Platz zwischen all den anderen Startbuttons!&lt;br /&gt;
** CVpcb ist inzwischen aus diesen entfernt worden, und durch Startbuttons für den Symboleditor und den Footprinteditor ersetzt worden. Dafür kann CVpcb jetzt direkt aus Eeschema heraus gestartet werden. Es findet sich jetzt im oberen Pulldown Menue unter &amp;quot;Werkzeuge&amp;quot; und dann &amp;quot;Bauteilfootprints zuweisen&amp;quot; oder in der oberen Buttonleiste als dritter Button von rechts (BZR5175 vom 11 Oktober 2014).&lt;br /&gt;
** Sollte KiCad abstürzen, wenn man versucht, CVpcb zu starten, so kann man CVpcb auch direkt aus einem Terminal oder aus der Eingabeaufforderung heraus starten.  &lt;br /&gt;
** Versuchsweise mal 10 Minuten warten.....bei Problemen mit der Erkennung von Symbolnamen und Footprintnamen (beim öffnen ganz alter Projekte mit alten Dateiformaten) kann es manchmal extrem lange dauern.&lt;br /&gt;
* Was bedeuten die Maßangaben in der Netlist?&lt;br /&gt;
* Wie überträgt man Kicad Schaltpläne in QUCS Schaltpläne für Simulation?&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
* Wie stellt man die Rastergrösse im Layout ein?&lt;br /&gt;
** Mit der Rechten Maustaste in das Board klicken. Es poppt ein Menue auf. Dort Raster wählen..... Geht im Modul-Editor genauso.&lt;br /&gt;
* Wie verteile ich die übereinander geladenen Bauteile?&lt;br /&gt;
**Oben das IC Symbol mit den zwei Pfeilen (Mode footprint) aktivieren und mit der rechten Maustaste auf der Platine im Menü &amp;quot;Global spread and place&amp;quot; anwählen und die gewünschte Art auswählen.&lt;br /&gt;
* Wie werden Pads und Leiterbahnen verbunden?&lt;br /&gt;
**Siehe: http://www.mikrocontroller.net/topic/119755#1081455&lt;br /&gt;
**Aktueller: http://www.mikrocontroller.net/topic/220733#new&lt;br /&gt;
* Ich kann keine Leiterbahnen ziehen!&lt;br /&gt;
** Vermutlich hast Du den automatischen DRC (Design rule check) aktiviert. Deaktiviere ihn halt. In PCBnew im linken Buttonbar der oberste Button (Insekt mit Verbotszeichen). http://www.mikrocontroller.net/topic/306476#new&lt;br /&gt;
* Aber jetzt habe ich beim Ziehen der Leiterbahnen so merkwürdige Ergebnisse!&lt;br /&gt;
** Option &amp;quot;Remove redundant tracks&amp;quot; wählen! Siehe https://www.mikrocontroller.net/topic/381906#new &lt;br /&gt;
* Mir fehlen Airwires/Luftlinien/Gummibänder!&lt;br /&gt;
** Vieleicht die falschen Pins als Typ &amp;quot;Spannungsausgang&amp;quot; definiert? Siehe: http://www.mikrocontroller.net/topic/330817#3620918&lt;br /&gt;
* Ich bekomme immer eine Fehlermeldung vom DRC, das ein Pad nicht angeschlossen ist, aber ich habe es angeschlossen.&lt;br /&gt;
**Siehe: http://www.mikrocontroller.net/topic/204717#2018724&lt;br /&gt;
* Ich will ein Bauteil für geringeren Leiterwiderstand sowohl auf der Unterseite- als auch der Oberseite anschließen. KiCad löscht aber immer den alten Leiterbahnzug, wenn ich den neuen lege. &lt;br /&gt;
** Deaktiviere unter Einstellungen-&amp;gt;Allgemein das &amp;quot;auto-entfernen-von-Leiterbahnen&amp;quot; (einfachste Lösung). &lt;br /&gt;
** Alternativ: Designe dafür Bauteile mit speziellen Pads. http://www.mikrocontroller.net/topic/187606#1823596 (realistischste u. sauberste Lösung, aber etwas umständlich.)&lt;br /&gt;
* Das Löschen der Leiterbahnen Segment für Segment ist sehr umständlich. Geht es besser?&lt;br /&gt;
** Ja. Siehe: https://www.mikrocontroller.net/topic/385768#new &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Bei neueren (RC4 z.B.) Versionen von PCBnew kann unter &amp;quot;View&amp;quot; verschiedene &amp;quot;Canvas&amp;quot; verwendet werden. Jeder dieser &amp;quot;Canvas&amp;quot; verhält sich etwas anders und hat andere Vorzüge.&lt;br /&gt;
** Aktuell (Jan. 2019) mit Auswahlbox. Achtung: Die Auswahlbox hat anderes Verhalten in KiCad 6, je nachdem ob man sie von rechts oder von links aufgezogen hat! Details siehe: https://www.mikrocontroller.net/topic/467735#new&lt;br /&gt;
* Wie kann man ein Bauteil mit Pads und Leiterbahnen bewegen? &lt;br /&gt;
** http://www.mikrocontroller.net/topic/118539#1067219&lt;br /&gt;
* Wie füllt man eine Fläche aus?&lt;br /&gt;
** Siehe: http://www.mikrocontroller.net/topic/93131#854802&lt;br /&gt;
** Etwas aktueller: http://www.mikrocontroller.net/topic/182271#1772119 Zweiter Teil des Posts.&lt;br /&gt;
** Und wie erzeuge ich konzentrisch ineinanderliegende Flächen?&lt;br /&gt;
*** Siehe: http://www.mikrocontroller.net/topic/327475#new&lt;br /&gt;
** Wie ist das Verhalten von KiCad bei Flächen/Polygonen verglichen mit Eagle?&lt;br /&gt;
*** Siehe: https://www.mikrocontroller.net/topic/473604#new&lt;br /&gt;
** Ja, aber meine Fläche wird nicht gefüllt oder es passiert was ganz merkwürdiges.&lt;br /&gt;
***Siehe: http://www.mikrocontroller.net/topic/298692#new &lt;br /&gt;
***Konkreter: Es sollte darauf geachtet werden, das mindestens ein Endpunkt oder ein Via oder ein Knickpunkt der Leiterbahn, die mit der zu füllenden Fläche verbunden sein soll, innerhalb der als zu füllen definierten Fläche liegen. Siehe http://www.mikrocontroller.net/topic/366199#new&lt;br /&gt;
* Die Flächen habe ich jetzt, aber wie sieht das mit &amp;quot;Stitching&amp;quot; aus? Anmerkung: Als &amp;quot;Stitching&amp;quot; (von Engl. &amp;quot;stitch&amp;quot;: Nähen) bezeichnet man das Verbinden mehrerer Flächen oder Leiterbahnen gleichen Potentials mit Durchkontaktierungen durch die Platine hindurch. Üblich z.B. für Masseflächen. Die gleiche Technik kann auch verwendet werden, wenn man für Hochstromverbindungen mehrere Durchkontaktierungen parallel schalten möchte, wobei KiCad beim ziehen des Tracks nur eine  Durchkontaktierung setzt, und die anderen von Hand dazugesetzt werden müssen. &lt;br /&gt;
** Es gibt verschiedene Methoden. Je nach Geschmack. Siehe: http://www.mikrocontroller.net/topic/380550#new und https://www.youtube.com/watch?v=Hp5ngKtl7S4&amp;amp;list=PLJhdeJOBBRdnPgqcUiONoV4NLCo12f-jT&amp;amp;index=5&lt;br /&gt;
* Ich habe eine Platine, die von oben und unten bestückt ist. Wenn ich jetzt Bauteile zusammengruppiere, um sie gemeinsam zu verschieben, erwische ich immer alle Bauteile auf Vorder- und Rückseite. Wie bekomme ich das jetzt hin, das ich nur Module auf einer Seite bewege?&lt;br /&gt;
** Indem im Lagenmanager die Seite, die nicht bewegt werden soll, abgeschaltet wird. Siehe: http://www.mikrocontroller.net/topic/311586#new&lt;br /&gt;
* Wie bekommt man ein vernünftiges Boardoutline hin?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/96060#1057511 &lt;br /&gt;
* Wie erstellt man ein rundes Loch, z.B. eine Befestigungsbohrung / nichtdurchkontaktierte Bohrung?&lt;br /&gt;
** VERALTET: http://www.mikrocontroller.net/topic/179308#1726990&lt;br /&gt;
** VERALTET:http://www.mikrocontroller.net/topic/120373#1122219 ?????&lt;br /&gt;
** KiCad kann mittlerweile auch direkt nichtdurchkontaktierte Bohrungen erzeugen. Siehe dazu http://www.mikrocontroller.net/topic/263069#2732405 Enthält auch allgemeine Informationen zum Umgang mit durchkontaktierten und nicht durchkontaktierten Bohrungen.&lt;br /&gt;
Da Löcher mit einem Durchmesser ab 2mm gefräst statt gebohrt werden können, und ab 6mm Durchmesser mit hoher Sicherheit gefräst werden, ist es sinnvoll, Löcher ab ca. 4mm Durchmesser in PCBnew mit dem Kreistool in das Layer &amp;quot;edge.cuts&amp;quot; zu zeichnen.&lt;br /&gt;
&lt;br /&gt;
* Ich möchte für Passermarken / Fiducials eine deutlich größere Freistellung in der Lötstoppmaske haben. Wie geht das?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/266730#2779498&lt;br /&gt;
* Wie geht das überhaupt mit den Lötstoppmasken?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/283721#new&lt;br /&gt;
* Ja, aber die Lötstoppmaske wird leider nicht angezeigt.&lt;br /&gt;
** http://www.mikrocontroller.net/topic/298028#new&lt;br /&gt;
* Ich möchte Text und Markierungen/Grafik statt im Bestückungsdruck im Lötstopplack erstellen. Geht das überhaupt und wie ist das zu bewerkstelligen?&lt;br /&gt;
** Das geht, und dazu ist der Text oder die grafischen Linien/Kreise direkt in die Lötstoppmaske zu schreiben. Siehe: http://www.mikrocontroller.net/topic/347702#new Die Lötstoppmasken Lagen heissen F.Mask (Bestückungsseite) und B.Mask (Lötseite).&lt;br /&gt;
* Ich möchte Text invers im Bestückungsdruck haben.&lt;br /&gt;
** Das geht. Siehe: http://www.mikrocontroller.net/topic/417961#4888742&lt;br /&gt;
* Wie kann man Bauteilmaße in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
** Anzeige im Layout: Layer &amp;quot;Zeichnung&amp;quot; anwählen. In der rechten Menueleiste &amp;quot;Bemaßung hinzufügen&amp;quot; wählen. Das ist der fünfte Button von unten mit der &amp;quot;blauen Bemaßung&amp;quot;. Jetzt an einer Stelle links ins Layout klicken. Maus verschieben und noch einmal links klicken und die Maus seitlich verschieben. Es wird ein Maßpfeilsystem zwischen erstem und zweitem Mausklick angelegt, dessen höhe man mit der Maus einstellen kann. Ein weiterer linker Mausklick fixiert das System. Das Anklicken der Beschriftung mit der rechten Maustaste erlaubt das Editieren. Das System wird immer in der Einheit angelegt, die in der linken  Menueleiste vorgewählt wurde. Die Rasterung der aktuellen Einstellung wird auch übernommen. Späteres Ändern von Einheit- und Raster ändern die Beschriftung nicht mehr. In 3D und im Footprint geht diese Möglichkeit nicht.&lt;br /&gt;
** Weitere Möglichkeiten: Einen Maßstab als footprint/Modul anfertigen und zum Messen in das Board einfügen.&lt;br /&gt;
** Wenn man im Layout aber direkt etwas ausmessen möchte, so geht das über den relativen Nullpunkt. Unten im Rahmen rechts sind vier Felder. Die beiden linken zeigen die absoluten Koordinaten, an, die beiden rechten die relativen Koordinaten in Bezug auf einen relativen Nullpunkt. Defaultmäßig stimmen absoluter und relativer Nullpunkt ersteinmal überein. Per &amp;quot;Space bar&amp;quot; drücken setzt Du den relativen Nullpunkt an den Ort des Mauszeigers. Wenn Du nun die Maus verfährst, zeigen die relativen Koordinaten nun den vertikalen und horizontalen Abstand zum Nullpunkt. Die Diagonale muss leider über den Pythagoras selber ausgerechnet werden, oder indem man die Polarkoordinateneinstellung wählt (linke Menueleiste). Durch geschicktes setzten des Nullpunktes kann man nun auf der Platine herummessen. Winkel können auch über die Polarkoordinateneinstellung gemessen werden. Im Moduleditor geht das analog. Das 3D-View kann zur Zeit (Januar 2011) überhaupt keine Bemaßung.     &lt;br /&gt;
* Wie kann man mit der KiCad Version 20100314 &#039;&#039;&#039;einseitige&#039;&#039;&#039; Platinen erstellen?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/172015#1651239&lt;br /&gt;
** aktueller: http://www.mikrocontroller.net/topic/172015#1794699&lt;br /&gt;
*Und wie teile ich KiCad mit, daß der Autorouter nur eine Seite verwenden soll?&lt;br /&gt;
** Auf die doofe Tour: Erst in KiCad zweiseitig wählen, und dann beide Lagen im Autorouter als &amp;quot;Unterseite&amp;quot; wählen.&lt;br /&gt;
&lt;br /&gt;
* Wie gehen runde Bögen in KiCad?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/202512#1994063&lt;br /&gt;
* Ich brauche für einen Platinenumriss eine geschlossene Linie. Das klappt aber irgendwie nicht.&lt;br /&gt;
** Die Endpunkte müssen exakt aufeinander liegen. Dazu&lt;br /&gt;
*** A) Passende Raster verwenden&lt;br /&gt;
*** B) parametrisch die Endpunkte direkt als Koordinaten eingeben.&lt;br /&gt;
*** Siehe Diskussion dazu: https://www.mikrocontroller.net/topic/418296#new&lt;br /&gt;
* Wie benutze ich den interaktiven Router (Push &amp;amp; Shove) in PCBnew?&lt;br /&gt;
** Dazu muss in PCBnew im Pulldown-Menue unter &amp;quot;Ansicht&amp;quot; die Option &amp;quot;Canvas nach OpenGL umschalten&amp;quot; oder &amp;quot;Canvas nach Cairo umschalten&amp;quot;gewählt werden. Wenn man nun, wie gewohnt, aus der rechten Button Leiste das Verlegen von Leiterbahnen wählt, eine Leiterbahn/Luftlinie wählt und rechts anklickt, erhält man den interaktiven Router. Aber Achtung - wegen des geänderten Kontextmenues kann es sinnvoll sein, für andere Tätigkeiten auf die Voreinstellungen zurückzuschalten.&lt;br /&gt;
* Wie stelle ich beim Routen die Leiterbahnbreiten ein?&lt;br /&gt;
** Sie müssen vorher in den Design Rules definiert werden. Siehe: https://www.mikrocontroller.net/topic/452117#new&lt;br /&gt;
* Ich habe mein Board fertig geroutet, stelle aber jetzt fest, das ich noch einige Leiterbahnbreiten ändern muss. Wie geht das am einfachsten?&lt;br /&gt;
** Eine Leiterbahn rechts anklicken und Segment oder Track ändern. Das Verhalten ist im Detail vom gewählten Canvas anhängig. Und die Leiterbahnbreite muss schon in den Design rules existieren. Siehe hier: https://www.mikrocontroller.net/topic/452117#new&lt;br /&gt;
*** Ab KiCad 5.1 bzw. 6 wird es die verschiedenen Modi nicht mehr geben. Siehe https://www.mikrocontroller.net/topic/467735#5718645&lt;br /&gt;
* Wie gestalte ich einen gleitenden, stetigen Übergang bei einer Änderung der Leiterbahnbreite?&lt;br /&gt;
** Mit Workarounds wie dreieckigen/trapezförmigen Pads oder einem sehr fein gestaffelten stufigen Übergang. Siehe: https://www.mikrocontroller.net/topic/438242&lt;br /&gt;
**http://www.mikrocontroller.net/topic/205851#new&lt;br /&gt;
*Ich kann Pads nicht anschließen bzw. ich bekomme vom DRC Fehlermeldungen, daß ich Pads nicht angeschlossen habe, obwohl sie angeschlossen sind.&lt;br /&gt;
**http://www.mikrocontroller.net/topic/204717#new&lt;br /&gt;
*Wie kann ich Daten für automatische Bestückung (Pick&amp;amp;Place) erzeugen?&lt;br /&gt;
** In PCBnew unter Datei &amp;gt; Fertigungsdateien &amp;gt; Bauteile Positionsdatei (.pos). Aber dieses verlangt, das die Footprints auch die richtigen Informationen dazu enthalten. Um diese einzustellen, den Footprint im Moduleditor öffnen und unter dem Button &amp;quot;Bauteileigenschaften&amp;quot; in &amp;quot;Attribute&amp;quot; eine Markierung bei &amp;quot;Normal+Einfügen&amp;quot; machen. Dann wird der Ankerpunkt des Modules für die Positionsdatei verwendet. Damit sinnvolle Daten entstehen, sollte der Ankerpunkt bei SMD-Footprints in die Mitte des Footprintes gesetzt worden sein. &lt;br /&gt;
* Gibt es &amp;quot;Regeln&amp;quot; für das Setzten von Ankerpunkten bei Footprints?&lt;br /&gt;
** Es gibt Konventionen. Bei SMD-Bauteilen der &amp;quot;Mittelpunkt&amp;quot; des Bauteiles. Dieser wird auch für Pick&amp;amp;Place Daten in der automatischen Bestückung verwendet. &lt;br /&gt;
** Bei THT-Bauteilen wird als Konvention die Mitte von Pin 1 als Ankerpunkt verwendet.&lt;br /&gt;
*Und wie erzeuge ich ein Excellon Drillfile?&lt;br /&gt;
** In PCBnew unter Datei &amp;gt; Fertigungsdateien &amp;gt; Bohrdaten. Die Datei enthält auch eine Werkzeugliste. Kicad legt u.U. zwei Drillfiles an, wenn erforderlich. Eines für durchkontaktierte, und eines für nicht durchkontaktierte Bohrungen. Wer eine extra Liste und eine Statistik wünscht, muss auch noch &amp;quot;Bericht über Bohrung&amp;quot; anwählen.&lt;br /&gt;
** Bei mir wird aber nur ein Drillfile erzeugt. Was läuft falsch?&lt;br /&gt;
***Die NPTH Drills müssen im Pad-Editor explizit als solche gekennzeichnet werden. In PCBnew erkennt man sie dann als dicke gelbe Flächen. Siehe: http://www.mikrocontroller.net/topic/322941#3989397 Bei älteren Footprints ist das aber noch nicht komplett umgesetzt. &lt;br /&gt;
* Wenn PCBnew die Netzliste eingelesen hat, liegen alle Bauteile auf einem Haufen. Zum Plazieren eines herausgreifen ist mühsam. Wie geht das am einfachsten?&lt;br /&gt;
** In PCBnew &amp;quot;T&amp;quot; drücken. Es poppt ein Fenster auf, wo man die Bauteilreferenz (den Namen) eingeben kann. Und schon hängt das Bauteil zum Bewegen am Zeiger. Die Bedienung ist letztlich genauso wie das &amp;quot;m&amp;quot; und die Komandozeile in Eagle. Siehe http://www.mikrocontroller.net/topic/293903#3133990&lt;br /&gt;
** &amp;quot;Raef&amp;quot; hat ein Python Script erstellt, das Bauteile automatisch ähnlich der Anordnung im Schaltplan plaziert. Siehe: http://www.mikrocontroller.net/topic/293903#3245990&lt;br /&gt;
** In neueren PCBnew Version gibt es ein gutes parametrisches Plazieren: https://www.mikrocontroller.net/topic/432920#5108442&lt;br /&gt;
* Ich habe ein fertiges Layout. Jetzt möchte ich aber andere Footprints verwenden, und anschließend nicht neu routen müssen. Wie geht das?&lt;br /&gt;
** Über CVpcb und Neueinlesen der Netzliste. Siehe: http://www.mikrocontroller.net/topic/297885#new&lt;br /&gt;
* Ich will links herum routen, aber Kicad meint unbedingt rechts herum (...oder umgekehrt). Wie kann ich die Leiterbahnen &amp;quot;flippen&amp;quot;?&lt;br /&gt;
** Mit &amp;quot;/&amp;quot; (Slasch) http://www.mikrocontroller.net/topic/280028#new&lt;br /&gt;
* Ich hätte gerne die Tastenkürzel in kicad so wie in meinem gewohnten Programm. Wie geht das?&lt;br /&gt;
** Siehe http://www.mikrocontroller.net/topic/283959#3007173 . Vieleicht ist einer ja so nett, und stellt Konfigurationsfiles für Leute die aus EAGLE, ORCAD oder so wechseln, bereit.&lt;br /&gt;
* Ich habe ein kleines Board fertig geroutet. Jetzt möchte ich mehrere davon zu einer größeren Platine zusammenführen (sog. Mehrfachnutzen), um sie rationeller fertigen zu können.&lt;br /&gt;
** Siehe http:http://www.mikrocontroller.net/topic/292334#new . Das geht natürlich genauso, wenn man verschiedene Platinen so zu Nutzen zusammenfügen möchte, oder halt kleinere Teillayouts zu einem Gesamtboard.&lt;br /&gt;
*** Nachtrag: Wenn in PCBnew &amp;quot;append Board&amp;quot; oder &amp;quot;save as&amp;quot; ausgegraut sind, so schliesse KiCad Eeschem und PCBnew komplett und starte PCBnew direkt ohne über KiCad zu gehen. Das ist in neueren KiCad Versionen so vorgesehen. Siehe https://www.mikrocontroller.net/topic/399145#new&lt;br /&gt;
&lt;br /&gt;
* Ich habe einen Schaltplan mit Subschaltplänen, zu denen ich separate Layouts erstellen möchte.&lt;br /&gt;
** Dazu diesen Subschaltplan explizit in EEschema öffnen, und die Netzliste nur für diesen Subschaltplan exportieren.  Weitergehen wie üblich. Siehe: http://www.mikrocontroller.net/topic/330740#new&lt;br /&gt;
* Ich möchte Varianten eines Layouts erstellen. Was ist dazu zu sagen? Siehe: http://www.mikrocontroller.net/topic/330740#3616697&lt;br /&gt;
** Siehe http://www.mikrocontroller.net/topic/292123#new&lt;br /&gt;
* Wie importiere ich DXF-Dateien in PCBnew? z.B. ein Platinenumriss aus einem mechanischen CAD-Programm?&lt;br /&gt;
** Dafür existiert eine Import Funktion in PCBnew: Datei &amp;gt; Importieren &amp;gt; DXF-Datei. Siehe http://www.mikrocontroller.net/topic/327628#new &lt;br /&gt;
aktueller: https://www.mikrocontroller.net/topic/469438#new&lt;br /&gt;
* Wie wird man den merkwürdigen Rahmen los?&lt;br /&gt;
** 1) Genauso wie im Schaltplan. Dazu den pl_editor (der ganz rechte Button im KiCad Hauptfenster) starten, und FAST alles entfernen. Dazu in der linken Spalte nacheinander alles aktivieren, und mit rechts anlicken und dann &amp;quot;entfernen&amp;quot; wählen. Aber vorsicht, wenn alles Entfernt wird, taucht das Original Layout wieder auf. Workaround war bei mir, eine zusätzliche Alibilinie hinzuzufügen, die von X 0,000 Y 0,000 bis  X 0,001 Y 0,000 reicht. Das ist ein &amp;quot;Fliegenschiss&amp;quot; in der linken oberen Ecke. Jetzt kann alles andere gelöscht werden. Den so geleerten Rahmen unter einem beliebigen Namen mit der Endung .kicad_wks wegspeichern. Im geöffneten Schaltplan kann der dann unter Datei &amp;gt; Seite einrichten ganz unten unter &amp;quot;page layout file description&amp;quot; die entsprechende Datei eingebunden werden. Es bleibt aber dem Anwender offen, ob er den Rahmen komplett entfernt, oder noch Felder mit Textbeschreibungen übernimmt. Für gesteigerten Komfort kann diese Datei dann auch in ein Template eingebunden werden. &lt;br /&gt;
** 2) Beim Ausdrucken Frame deaktivieren.&lt;br /&gt;
** 3) Als SVG exportieren. Dort den Frame deaktivieren.&lt;br /&gt;
** 4) Beim Plotten (z.B. in Gerber) Frame deaktivieren. Ist eigentlich defaultmäßig eingestellt. &lt;br /&gt;
** Siehe: http://www.mikrocontroller.net/topic/343509#3791448&lt;br /&gt;
* Ich möchte einen bestimmten Footprint verwenden (von dem ich weiss, dass er existiert), kann ihn aber in der Auswahl der Footprints von PCBnew nicht finden.&lt;br /&gt;
**Die Bibliothek, in der er enthalten ist, muss erst in das Verzeichnis der aktiven Bibliotheken in PCBnew eingetragen werden. &lt;br /&gt;
* Ich möchte Footprint-Bibliotheken in das Verzeichnis der verwendeten Bibliotheken von PCBnew eintragen. Wie geht das?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/372123#new  &lt;br /&gt;
* Ich habe Probleme mit den Umgebungsvariablen KISYSMOD, KISYS3DMOD, KIPRJMOD, KIGITHUB beim Eintragen der Bibliothekstabellen.&lt;br /&gt;
** KISYSMOD ist eine Variable, die den Pfad zu den global verwendeten KICAD-Modulen (Footprints) angibt. KIPRJMOD ist das gleiche, für projektspezifische Module. KISYS3DMOD beschreibt den Pfad zu den 3D-Modellen, und KIGITHUB weisst den Pfad ins Internet zu den Githubbibliotheken.&lt;br /&gt;
** Nähere Informationen dazu findet man hier: http://www.mikrocontroller.net/topic/344139#new und hier : http://www.mikrocontroller.net/topic/344029#new&lt;br /&gt;
** Aktueller: http://www.mikrocontroller.net/topic/368660&lt;br /&gt;
** Falls alles nichts hilft: Nan kann den Pfad auch komplett am Stück in die Bibliothekstabelle eintragen. Copy&amp;amp;Paste funktioniert dort aber nicht per rechtem Mausklick, sondern per &amp;lt;Str-c&amp;gt; (Kopieren) und &amp;lt;Str-v&amp;gt; (einfügen). Einfacher als die Bibliothekstabelle lässt sich darum die fp-lib-table Datei per Editor bearbeiten. Unter Linux findet sich die Tabelle für globale Bibliotheken bis zur BZR5113 direkt im Homeverzeichnis. Ab BZR5114 (ca. 5. September 2014) fiondet sich die globale fp-lib-table in $HOME/.config/kicad. Die fp-lib-table für projektbezogene Bibliotheken finden sich in den korrespondierenden  Projektverzeichnissen.&lt;br /&gt;
* Ich würde gerne die Mikrowellen Tools verwenden, aber irgendwie funktioniert das nicht.&lt;br /&gt;
** In älteren KiCad Versionen funktionieren sie nur im &amp;quot;legacy Canvas&amp;quot;. Den &amp;quot;legacy Canvas&amp;quot; schaltet man mit &amp;quot;F9&amp;quot; ein, bzw. im Pull down Menue unter &amp;quot;View&amp;quot; &amp;gt; &amp;quot;legacy Canfas&amp;quot;. In neueren KiCad Versionen (daily Build ab mindestens 2017-06-16 revision dab73e1) funktionieren die Tools in allen Canvasversionen.&lt;br /&gt;
** Manchmal sieht man nur etwas, wenn man &amp;quot;Refresh&amp;quot; (F3) drückt.&lt;br /&gt;
** Eine kleine Erklärung ist hier: https://www.mikrocontroller.net/topic/434998#new&lt;br /&gt;
* Ich würde gerne aus den Mikrowellen Tools die Funktion &amp;quot;Polynominales Muster&amp;quot; verwenden. Dabei werde ich nach einem KiCad-Shapefile gefragt, aber ich weiss nicht, wie das File aussehen muss.&lt;br /&gt;
** Einen Hinweis zum Aussehen des Files gibt es hier: https://www.mikrocontroller.net/topic/369330#4166392 Allerdings müssen die Werte der Polynomstruktur anderweitig berechnet werden, und mit einem Editor manuell in diese Form gebracht werden.&lt;br /&gt;
* Wie erstelle ich koplanare Leitungen in KiCad?&lt;br /&gt;
** siehe diese Diskussion: https://www.mikrocontroller.net/topic/370700#new&lt;br /&gt;
* Ich möchte Bauteile im Kreis oder in einem Gittermuster/Array anordnen. Gibt es dafür automatische Hilfestellungen?&lt;br /&gt;
** Ja. Objekt Deiner Wahl rechts anklicken, eventuell Auswahl verfeinern, und dann im aufpoppenden Menue &amp;quot;Array erstellen&amp;quot; wählen. Geht nicht nur für Bauteile, sondern auch für Pads, Leiterbahnen ec. Siehe: http://www.mikrocontroller.net/topic/178816#new&lt;br /&gt;
** Aktuell: https://www.mikrocontroller.net/topic/473763#5832574&lt;br /&gt;
* Ich bräuchte Pads mit ungewöhnlicher Form.&lt;br /&gt;
** Aus mehreren Pads mit der gleichen Pad Nummer zusammensetzten. Pads gleicher Nummer am gleichen Footprint werden dem gleichen Netz zugeordnet. Dabei aber beachten, dass sich diese Pads sich weit genug überlappen (z.B. 0,2mm) , so dass sie nicht in einzelne Pads zerfallen, wenn in der Leiterplattenfabrik mal die Kupferflächen &amp;quot;zurückgezogen&amp;quot; werden müssen, um die Mindestabsrände für die Produktion (Galvanik) nicht zu unterschreiten.&lt;br /&gt;
** Das Mikrowellentool benutzen, um mit einem Workaround Pads als Polygon zu erzeugen. Als ein Beispiel z.B:https://www.mikrocontroller.net/attachment/259709/SMP-Test-1.png Das Mikrowellentool kannst Du mit einem Workaround dazu bekommen, Pads als Polygone zu erstellen. Näheres siehe hier: https://www.mikrocontroller.net/topic/414834#new oder hier: https://www.mikrocontroller.net/topic/369330#4166392&lt;br /&gt;
* Meine Grafikkarte unterstützt keine openGL 3D-Beschleunigung.&lt;br /&gt;
** Vieleicht kannst Du mit MESA openGL ersetzten? Siehe: https://www.mikrocontroller.net/topic/389712#4465775 Zu MESA selber siehe: https://de.wikipedia.org/wiki/Mesa_3D&lt;br /&gt;
* Ich würde gerne eine Starrflex Leiterplatte machen. Was muss ich beachten?&lt;br /&gt;
** Siehe https://www.mikrocontroller.net/topic/399330#new&lt;br /&gt;
* Wie Verbinde ich verschiedene Massen, oder allgemein verschiedene Potentiale, die aus Layouttechnischen Gründen getrennt gehalten werden sollten, ohne das der DRC zusehr meckert? Ähnliches Problem: Einzelne Vias vom Anschluss an umgebende Masseflächen ausschliessen.&lt;br /&gt;
** Voraussetzung: Die Leiterbahnen/Vias/Kupferflächen müssen unterschiedliche Potentiale haben, damit KiCad weiss, dass sie getrennt gehalten werden müssen. Wenn das nicht der Fall ist, müssen diese Segmente mit einem &amp;quot;Bauteil&amp;quot; so vom Rest der Schaltung abgedretnnt werden, dass der abgetrennte Bereich einen neuen Netznahmen/Potentialnahmen bekommt. Diese speziellen Bauteile können unterschiedlicher Art sein:&lt;br /&gt;
*** 1) Mit 0 Ohm Brücken. Das sind Bauteile, die aus einer Drahtbrücke bestehen. So sind für den ERC und DRC die Netzte getrennt, aber tatsächlich mit einer Drahtbrücke verbunden. &lt;br /&gt;
**** [http://www.mikrocontroller.net/topic/142930?goto=1321550] &amp;quot;Drahtbrücken in KiCad?&amp;quot;  hier im Forum.&lt;br /&gt;
*** 2) Ein anderer Workaround sind &amp;quot;Net ties&amp;quot; (Netties). Das sind Footprints, die aus zwei oder mehr verschiedenen Pads bestehen(wie jedes andere normale Bauteile auch, die aber direkt mit Kupfer verbunden sind. Also eigentlich ein 0 Ohm Widerstand, wo der &amp;quot;Widerstand&amp;quot; als Kupfer auf der Leiterplatte existiert. Es ist sinnvoll, zu den &amp;quot;Net tie&amp;quot; Footprints auch entsprechende Schaltplansymbole zu definieren. Zu Net ties siehe:&lt;br /&gt;
**** [http://www.grant-trebbin.com/2015/04/pcb-net-ties-and-grounding-in-kicad.html] (in Englisch)&lt;br /&gt;
**** [http://www.mikrocontroller.net/topic/330196] &amp;quot;KiCad zwei verschiedene Netze verbinden in Pcbnew&amp;quot; hier im Forum.&lt;br /&gt;
**** Etwas aktueller (geht auch auf Probleme ein): &lt;br /&gt;
***** [http://www.mikrocontroller.net/topic/389988] &amp;quot;Kicad Leiterbahn im Footprint möglich?&amp;quot; hier im Forum.&lt;br /&gt;
***** [http://www.mikrocontroller.net/topic/360510] &amp;quot;Leiterbahn aus Massepolygon isolieren&amp;quot; hier im Forum.&lt;br /&gt;
***** [https://www.mikrocontroller.net/topic/401430#new] &amp;quot;Via-Anbidung an Polygon ausschließen&amp;quot;&lt;br /&gt;
***** Ein ganz anderer Ansatz wäre, ganz auf unterschiedliche Massepotentiale zu verzichten, wenn diese sowieso verbunden werden, wie hier vorgeschlagen: https://www.mikrocontroller.net/topic/453991#5465447&lt;br /&gt;
* Wie kann man den Nullpunkt eines Layouts verschieben?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/179680#1730452 Aktueller:https://www.mikrocontroller.net/topic/427130#5008806 für den Layout Editor PCBnew. Im Moduleditor bei Erstellung eines Footprints kann man den Ankerpunkt frei Mithilfe des Anker-Tools aus der rechten Menüleiste (das Ankersymbol) setzten. Gleiches gilt für den Symboleditor.&lt;br /&gt;
* Ich habe im Layout einen weissen Kringel mit einem weissen Kreuz, der sich beim Zoomen merkwürdig verhält. Was ist das, und wie kriege ich das weg?&lt;br /&gt;
** Das ist der Ursprung des Rasters. Den sollte man nicht wegbekommen, aber man kann ihn versetzten. Siehe: https://www.mikrocontroller.net/topic/411681#new&lt;br /&gt;
* Wie erzeuge ich Thermals (Wärmefallen/thermal Pads) um Pins die in Kupferflächen sitzen?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/443639#5287943&lt;br /&gt;
* Ich möchte Langlöcher anlegen. Wie geht das am einfachsten?&lt;br /&gt;
** Als Footprint bzw. im Footprint im Footprinteditor anlegen. Dort ein Pad plazieren und als &amp;quot;Drill Shape&amp;quot; die Option &amp;quot;Oval hole&amp;quot; wählen. Den Rest des Footprints mit dem Kupfer nach eigenen Bedürfnissen gestalten, oder das Kupfer ganz weglassen. Für reine Befestigungslöcher ohne Kupfer &amp;quot;Pad type&amp;quot; zu &amp;quot;NPTH, Mechanical&amp;quot; wählen. Langlöcher landen genauso wie runde Löcher im Excellon Drill-File. Es gibt dort spezielle Kennzeichnungen dafür. Um mit dem &amp;quot;Workflow&amp;quot; konform zu bleiben, für Befestigungslöcher z.b. ein Symbol anlegen, dem ein passendes Loch oder auch Langloch als Footprint zuweisen. In einem extra hierachischen Schaltplanblatt solche Sonderfälle ablegen. Für vier löcher z.B. vier mal dieses Symbol. Es lassens sich den Symbolen unterschiedlich definierte Löcher zuweisen. Die Löcher werden dann beim Einlesen der Netzliste in PCBnew gemäß der eingetragenen Footprints auf das Board gestellt und können frei plaziert werden. Siehe: https://www.mikrocontroller.net/topic/449952#5395495&lt;br /&gt;
* Wie ist das mit der Pinnummerierung bei Symbolen und Footprints mit abweichenden Pinbelegungen? Ändere ich die Pin/Pad Nummerierung im Symbol oder im Footprint?&lt;br /&gt;
** Das hängt am Einzelfall. Aber meistens ist das Anlegen einer Symbolvariante unter anderem Namen mit geändertem Pinning am sinnvollsten. Es gibt aber Sonderfälle. Genaueres steht hier: https://www.mikrocontroller.net/topic/452154#new&lt;br /&gt;
&lt;br /&gt;
=== Layout: Python Scripting ===&lt;br /&gt;
&lt;br /&gt;
Das Python2-Scripting ist bisher nur in PCBnew implementiert und noch sehr experimentell. Daher ist leider auch der aktuelle Stand der Dokumentation zum Python-Skripting in PCBnew noch etwas dürftig. Trozdem hier Links dazu:&lt;br /&gt;
* http://confluence.kicad.org/display/KICAD/KiCad+Scripting+Reference+Manual (Allgemein. Achtung! Kicad braucht beim compilieren spezielle Befehle, um Python-Scripting tauglich zu sein.)&lt;br /&gt;
* http://ci.kicad.org/job/kicad-doxygen/ws/build/pcbnew/doxygen-python/html/namespacepcbnew.html (Definitionen von Namespaces, Classes und Files)&lt;br /&gt;
&lt;br /&gt;
Für Linux-Debian:&lt;br /&gt;
Aktuell (07. Februar 2014) mit  Pcbnew Version: (2014-01-27 BZR 4641)-product Release build auf&lt;br /&gt;
Platform: Linux 3.2.0-4-686-pae i686, 32 bit, Little endian, wxGTK (Debian Wheezy) gilt:&lt;br /&gt;
* Geht aktuell nur für PCBnew.&lt;br /&gt;
* Klassenbibliotheken: Zwei Dateien pcbnew.py und _pcbnew.so auf dem Pfad: /usr/lib/python2.7/dist-packages/&lt;br /&gt;
* Die Klassenbibliothek wird mit den üblichen Python2 Methoden importiert: z.B. &amp;quot;import pcbnew&amp;quot; oder &amp;quot;from pcbnew import *&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Beispielprogramm, das alle Footprints aus einer Legacy-Fotprint Datei auflisted und den Referenzbezeichner dazuschreibt::&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env python &lt;br /&gt;
# das war das Shebang.&lt;br /&gt;
&lt;br /&gt;
from pcbnew import * # Import der Bibliothek. &lt;br /&gt;
libpath = &amp;quot;/home/DuUser/KiCad-Daten/Module/ModuleGrosserSampler/KiCadLegacyFottprints.mod&amp;quot; # Übergabe des Pfades.&lt;br /&gt;
lst = FootprintEnumerate(libpath) &lt;br /&gt;
for name in lst:&lt;br /&gt;
    m = FootprintLoad(libpath,name)&lt;br /&gt;
    print name,&amp;quot;-&amp;gt;&amp;quot;, m.GetReference()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Scripting Möglichkeit ist so neu, dass bis jetzt die Scripting Testdateien für das KiCad interne automatische Qualitätssicherungssystem noch nicht komplett sind.&lt;br /&gt;
Unter http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/files/head:/qa/testcases/ finden sich bereits geprüfte Testskripte, und unter http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/files/head:/pcbnew/scripting/examples/ finden sich ungetestete Testskripte.&lt;br /&gt;
&lt;br /&gt;
Sie alle können als Beispiele genommen werden, wie das mit dem Skripting gemeint ist, und als Vorbild für eigene Skripte dienen.&lt;br /&gt;
&lt;br /&gt;
Weitere Skripting Info: &lt;br /&gt;
* [https://kicad.mmccoo.com/kicad-scripting-table-of-contents/ Anleitung für Python Skripting in KiCad] (Englisch)&lt;br /&gt;
&lt;br /&gt;
=== Module Editor ===&lt;br /&gt;
* Wie erstellt man Footprints für Bauteile?&lt;br /&gt;
** Mit dem Footprint Editor. Er ist bei älteren KiCad Versionen nur aus PCBnew heraus zu starten. Bei neueren KiCad Versionen hat er einen eigenen Button im KiCad Start Window.&lt;br /&gt;
** Spezielleres: http://www.mikrocontroller.net/topic/356151#new&lt;br /&gt;
* Wie verbinde kopiere ich etwas aus einem Footprint in einen anderen hinein, bzw. wie verbinde/merge ich zwei Footprints?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/288167#3061997&lt;br /&gt;
* Kann man im Module Editor die Eigenschaften aller Pads gleichzeitig ändern?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/93131#799550 &lt;br /&gt;
* Ich brauche einen Footprint, bei dem mehrere Pads verbunden sind, will aber nicht im Schaltplan zig Pins aufführen und anschliessen müssen.&lt;br /&gt;
**http://www.mikrocontroller.net/topic/208982#new&lt;br /&gt;
**http://www.mikrocontroller.net/topic/204717#new&lt;br /&gt;
* Wie erzeugt man thermal Vias in Kicad?&lt;br /&gt;
** Leider bisher nur experimentell: http://www.mikrocontroller.net/topic/298028#3187259&lt;br /&gt;
* Wie kann man Bauteilmaße in in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
* Wie verwalte ich Footprint Bibliotheken?&lt;br /&gt;
** Indem man sich ein Board erstellt, alle Footprints, die man zusammenfassen möchte, auf das Board stellt, und dann untet Dateien &amp;gt; Footprints archivieren &amp;gt; Footprint Archiv erstellen wählt. Das so erstellte Board kann auch zu Dokumentationszwecken geplottet werden. Eventuell möchte man einige Footprints, die zu Hilfszwecken (z.B. Skalen) auf dem Board sind, anschliessend mit dem Bibliothekseditor daraus löschen.&lt;br /&gt;
** Alternativ, im dem &amp;quot;neuen&amp;quot; *.pretty Format, mit einem Dateiverwaltungsprogramm Deiner Wahl. Siehe http://www.mikrocontroller.net/topic/320301#new&lt;br /&gt;
* Wie werden die Parameter für Lötpaste/Lötstopmaske vergeben?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/356151&lt;br /&gt;
* Ich möchte für einen Footprint Pads in einem Gittermuster/Array oder im Kreis anordnen. Gibt es dafür automatische Hilfestellungen?&lt;br /&gt;
** Ja. Pad rechts anklicken. Eventuell erfolgt noch eine Feinauswahl. Dann im aufpoppenden Menue &amp;quot;Array erstellen&amp;quot; wählen.&lt;br /&gt;
* Wie archiviere ich die in einem KiCad Board enthaltenen Footprints?&lt;br /&gt;
** Nicht im Footprint-editor, sondern in PCBnew. Dort in der oberen Toolleiste unter Datei/File &amp;gt; archive Footprints. Es muss dort eine bereits im Bibliotheksverzeichnis eingetragene existierende Bibliothek angegeben werden. &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Diese Bibliothek sollte &#039;&#039;&#039;speziell für diesen Zweck&#039;&#039;&#039; angelegt sein, weil ihr &#039;&#039;&#039;vorheriger Inhalt komplett entfernt&#039;&#039;&#039; wird. Idealerweise legt man die Bibliothek als &amp;quot;Projektname.pretty&amp;quot; im Projektordner an. Sie sollte spätestens bei Abschluss des Projektestens erstellt werden und &#039;&#039;&#039;MUSS bei Archivierung des Projektes oder Übergabe mit Archiviert bzw. Übergeben werden!&#039;&#039;&#039; Aber &#039;&#039;&#039;VORSICHT&#039;&#039;&#039;, bei der Bibliothekserstellung lauert ein &#039;&#039;&#039;Bug. Siehe:&#039;&#039;&#039; https://www.mikrocontroller.net/articles/KiCad#Problem:_Neue_leere_Footprintbibliothek_kann_nicht_erstellt_werden_.28kicad_Version:_4.0.0.7Erc1a-stable_release_build_.2F_RC4.29&lt;br /&gt;
* Ich brauche in einem Footprint einen Ausschnitt in der Platine. Wie mache ich das?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/404998#4696232&lt;br /&gt;
* Für Masken wie Lötpaste oder Klebstoff hätte ich gerne Pads mit abgerundeten Ecken. Wie geht das?&lt;br /&gt;
** Das geht erst seit ca. Version: 2016-11-22 revision ccdfabc-master. Siehe https://www.mikrocontroller.net/topic/427536#5015335&lt;br /&gt;
&lt;br /&gt;
=== 3D-Ansicht ===&lt;br /&gt;
[[Bild:Kicad xilinx demo.jpg|300px|thumb|right|KiCAD-Demoplatine exportiert und mit Renderer illustriert]]&lt;br /&gt;
KiCAD bietet eine eingebaute einfache 3D-Ansicht der gerouteten Platine. Mittels Export können diese weiterverarbeitet werden. KiCad beruht diesbezüglich auf Wings3D, und die 3D-Modelle der Bauteile sind standardisierte wrl-files, die mit entweder Wings3D oder Blender erstellt werden können. Daher sei hier auf ein Wings3D Handbuch verwiesen: http://www.oortman3d.com/wings3d/TheWings3dHandbook.pdf&lt;br /&gt;
&lt;br /&gt;
Viele Bauteilhersteller (vor allem von eher mechanischen, wie z.B. Stecker, Buchsen, Befestigung...) bieten fertige 3D-Modelle an. Diese sind meistens in den Formaten STEP oder IGES. So kann man diese in das von KiCad benötigte .wrl (VRML 2.0) konvertieren:&lt;br /&gt;
# STEP oder IGES in [http://gcad3d.org/ gCAD3D] öffnen (File &amp;gt; Open Model)&lt;br /&gt;
# als Wavefront .obj speichern (File &amp;gt; Save Model as &amp;gt; OBJ)&lt;br /&gt;
# Das .obj in [http://www.wings3d.com/ Wings 3D] importieren (File &amp;gt; Import &amp;gt; Wavefront .obj)&lt;br /&gt;
# Als VRML 2 exportieren (File &amp;gt; Export &amp;gt; VRML 2.0 .wrl)&lt;br /&gt;
# Im KiCad-Moduleditor die .wrl-Datei als 3D-Modell auswählen&lt;br /&gt;
# Eventuell muss man die Skalierung und Positionierung anpassen, die angezeigten Pads und Löcher helfen dabei. Die am meisten benötigten Faktoren dürften dabei 0,3937 und 2,54 sein - bei den Konvertierungen kommt leicht die Einheit Zoll oder cm durcheinander.&lt;br /&gt;
&lt;br /&gt;
Eine andere Möglichkeit .obj oder .stl-Dateien aus STEP und IGES zu erzeugen ist [http://free-cad.sourceforge.net/ FreeCAD]. Obwohl es auch .wrl direkt erzeugen kann, können diese nicht in KiCad geladen werden. Der Umweg über .obj oder .stl und Wings 3D löst dies aber auch hier.&lt;br /&gt;
&lt;br /&gt;
Wenn man das Board wieder in einem CAD-Programm verwenden will um z.B. ein Gehäuse zu konstruieren, sollte man wieder STEP-Dateien erzeugen. Neuere KiCad-Versionen können zwar VRML exportieren, doch das beschreibt nur Umrisse und keine Körper (Solids). CAD-Programme zum Gehäusedesign brauchen jedoch letzteres. So geht die Konvertierung:&lt;br /&gt;
# VRML aus KiCad exportieren (File &amp;gt; Export &amp;gt; VRML)&lt;br /&gt;
# .wrl-Datei mit Hilfe von [http://www.cs.princeton.edu/~min/meshconv/ meshconv] in eine STL-Datei konvertieren: &amp;lt;code&amp;gt;meshconv boardname.wrl -c stl -o boardname.stl&amp;lt;/code&amp;gt;&lt;br /&gt;
# Die STL-Datei mit [http://www.solveering.com/products/products_stl2step.html stl2step] in eine STEP-Datei konvertieren&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG:&#039;&#039;&#039;&lt;br /&gt;
Man sollte hinterher im CAD nochmal genau die Maße kontrollieren. Denn die Konvertierung von STL nach STEP ist nur eine Approximierung und keine exakte, verlustfreie Konvertierung.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG:&#039;&#039;&#039;&lt;br /&gt;
Bei der Verwendung von Modellen aus fremden Quellen die Rechtslage prüfen. Es kann bei Veröffentlichungen zu Problemen führen, wenn die verwendeten Modelle unter einer problematischen privaten Lizenz stehen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Appropos Einheit: Welche Einheit benutzt WRL (Wings3d)?&lt;br /&gt;
* Das ist leider nicht soooo klar. Tatsache ist aber, das KiCad die Einheit als 1/10 Inch (100mil) interpretiert.&lt;br /&gt;
** Es könnte sein, dass die Einheit von WRL offiziell mal zu einem Meter gedacht war. Siehe: https://www.mikrocontroller.net/topic/405477#4704394&lt;br /&gt;
&lt;br /&gt;
*Und wie bedient man Wings3d?&lt;br /&gt;
** Ein (vorläufiger) Merkzettel/Ultrakurzanleitung zur Bedienung von Wings3D findet sich hier: [[Media:Kicad-Wings3D_Merkzettel_29November2012.pdf]]. Wenn man nur mit Wings3d Modelle für Kicad erstellen will, langt das eventuell schon als Tutorial. There is also an English translation of this leaflet about using wings3d for kicad  at [[Media:Kicad-Wings3D_Leaflet_25April2013.pdf]].&lt;br /&gt;
** Aktueller: [http://roberthall.net/Wings3D_Tutorial_KiCad Tutorial zur Benutzung von Wings3D im KiCad Umfeld (englisch)]&lt;br /&gt;
&lt;br /&gt;
Weitere Diskussionen um KiCAD 3D:&lt;br /&gt;
* Die 3D-Ansicht funktioniert bei mir nicht.&lt;br /&gt;
** http://www.mikrocontroller.net/topic/289075#new&lt;br /&gt;
** https://www.mikrocontroller.net/topic/404658#new&lt;br /&gt;
* Kann man die 3D-Ansicht in ein 3D-CAD Programm exportieren? &lt;br /&gt;
**http://www.mikrocontroller.net/topic/203388#new&lt;br /&gt;
* Wie kann man Bauteilmaße in in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
&lt;br /&gt;
* Irgendwie werden meine 3D-Bibliotheken nicht gefunden.&lt;br /&gt;
** Das kann z.b. passieren, wenn eine KiCad v5 3D-bibliothek mit einer v4 Bauteilebibliothek verwendet wird. Siehe:https://www.mikrocontroller.net/topic/467178#new&lt;br /&gt;
* Ich habe 3D-Modelle/STEP-Modelle von einem Hersteller heruntergeladen. Aber nach Einbindunge liegen sie neben dem Footprint, schweben darüber oder durchdringen die Platine.&lt;br /&gt;
** Der Hersteller hat einen anderen Ursprung für sein Modell gewählt als üblich ist. Weit verbreitet ist, den Bauteil/Footprint Ursprung bei THT Bauteilen auf die &amp;quot;Mitte&amp;quot; von Pin 1 zu setzen. Bei SMD Bauteilen wird der Ursprung auf die Mitte des Bauteiles gesetzt, meint, da wo sich beide Symmetrieachsen des Bauteiles schneiden. Bleibt das Problem, wenn das Bauteil nur eine Symmetrieachse hat. Dann einen Punkt auf der Symmetrieachse wählen, der die Mitte zwischen den extremsten Bauteilgrenzen bildet. Wenn keine Symmetrie überhaupt existiert, halt irgendwo etwas &amp;quot;in der Mitte&amp;quot;. Das ist dann aber immer soweit in der Nähe des Footprints, dass Du es in KiCad selber anpassen kannst. Angepasst wird das entweder im Footprinteditor in der oberen Buttonleiste &amp;quot;footprint Eigenschaften&amp;quot; (Icon IC mit Zahnrad davor). Es poppt ein Fenster auf. Dort den zweiten Reiter von Links wählen: &amp;quot;3D-einstellungen&amp;quot;. Dort können Korrekturwerte für koordinaten, Skalierung und Drehungen angegeben werden. Siehe Diskussion: https://www.mikrocontroller.net/topic/467095#new&lt;br /&gt;
&lt;br /&gt;
=== Drucken/Plotten/Gerber Export/Excellon Drillfiles Export ===&lt;br /&gt;
&lt;br /&gt;
==== Drucken ====&lt;br /&gt;
* Wie exportiert man den Schaltplan oder das Layout als Bild (PNG o.ä.)? &lt;br /&gt;
** Drucken über Postscript-Treiber und Umwandeln mit Ghostscript&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/96060#1061492 Forumsbeitrag] Export als SVG&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/117562#1056566 Forumsbeitrag] Plot to Clipboard &lt;br /&gt;
* Wie kann ich GENAU ausdrucken? Mein Ausdruck auf ABC ist ca. X % zu klein oder Y% zu groß! &lt;br /&gt;
** So genau sind einfache Drucker bzw. Druckertreiber selten. Aber meistens hilft folgendes: Mache einen 1:1 (100%) Probeausdruck. Messe auf dem Ausdruck nach, wie groß er tatsächlich geworden ist. Berechne die Abweichung und gebe sie in den Drucker bzw. Druckertreiber unter Einstellung ein, vorausgesetzt, der Drucker bzw. Druckertreiber kann das. Mit dem Wert machst Du wieder eine Probeausdruck, messe wieder nach, und wenn es mit der Einstellung funktioniert hat, kannst Du Deine Folie bedrucken. Wenn das nicht klappen kann, weil Du stark abweichende Werte für horizontal und vertikal bräuchtest, aber der Drucker nur einen gleichen Wert für beides kennt, hast Du einen (zu) schlechten Drucker. Trozdem nicht verzweifeln, weil KiCad beim Drucken oder Plotten in der X- und Y-Achse getrennt skalieren kann. Aber Vorsicht bei Weitergabe der so erzeugten Dateien: Sie sind individuell auf einen Drucker angepasst, und produzieren auf einem anderen Drucker nur falsch skalierte Ausdrucke. Weil der Wert von Drucker zu Drucker unterschiedlich ist, ist es auch sinnvoll, diese Skalierung direkt am speziellen Drucker/Druckertreiber zu machen. Tipp: Wenn Du den Wert erfolgreich ermittelt hast, so kleb Dir einen Zettel auf den Drucker mit dem Wert. Die Werte sind zwar individuell für jeden Drucker, aber meistens für den speziellen Drucker durchaus fix. Und Du hast ihn sofort wieder parat, wenn der Drucker resettet wurde. Dies ist übrigens ein allgemeiner Tipp für das Ausdrucken, der auch für Eagle, Target, Altium usw. gilt.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/304619#new Thema Skalieren] - Die aktuelle Situation (August 2013):  &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/371079#4191106 Und nochmal Thema Skalieren]&lt;br /&gt;
* Wie kann man das Layout invers ausdrucken, d.h. alle Leiterbahnen und Pads müssen weiß bleiben, der Rest wird schwarz ausgedruckt?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/156202#1474507 Beim Plotten den Haken bei Negativ-Plot setzen ] &lt;br /&gt;
* Ich habe irgendwie Probleme mit dem Ausdrucken.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/207764#new Verzerrt] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/207310#new Sonderzeichen]&lt;br /&gt;
** In der aktuellen Version 2012-01-19 BZR 3256)-stable besteht ein generelles Druckproblem. Aber Plotten geht wunderbar!&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/280958#new Aktualisierter Stand 23. Dezember 2012] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/303043#3249166 Aktualisierter Stand vom 21. Juli 2013]&lt;br /&gt;
&lt;br /&gt;
* Ich würde gerne PDF Dateien aus meinem Layout erstellen, aber irgendwie ist der Ausdruck defekt.&lt;br /&gt;
** Drucken ist aus Kicad manchmal ein Problem, auch in eine Datei hinein. Aber Plotten und Exportieren in SVG funktioniert gut.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/303043#3249166 Von SVG zu PDF] kommt man über Inkscape. &lt;br /&gt;
** [https://www.mikrocontroller.net/topic/430532#new Aktuell] &lt;br /&gt;
** Problem dabei: [https://www.mikrocontroller.net/topic/431522#new Vektorfonts] &lt;br /&gt;
* Wie kann ich mir einen [http://www.mikrocontroller.net/topic/266037#new Bohrplan ausdrucken], um mit der Hand zu bohren?&lt;br /&gt;
&lt;br /&gt;
==== SVG Plotten ====&lt;br /&gt;
&lt;br /&gt;
* Meine erzeugten SVG Plots sind kaputt. Ich erhalte nur Fehlermeldungen, wenn ich sie in Inkscape oder Gimp einlesen will.&lt;br /&gt;
** Es besteht ein Problem mit dem SVG Export, wenn man Schaltpläne oder Boards in SVG exportiert, die ein Ampersand (Kaufmansund, &amp;quot;&amp;amp;&amp;quot;) im Dateinamen haben. Dieser Dateiname tauch dann innerhalb der SVG Datei in einem Titelblock auf, wo das &amp;quot;&amp;amp;&amp;quot; dann ein Problem bedeutet (Es leitet eine Art Escape-Sequenz ein). Sowohl Kicad als auch Inkscape/Gimp akzeptieren &amp;quot;&amp;amp;&amp;quot; im Dateinamen, und sowol unter Windows als auch Linux ist das &amp;quot;&amp;amp;&amp;quot; im Dateinamen legal....darum bringt auch eine Veränderung des Namens der SVG-Datei keine Lösung. Eine Lösung ist, Grundsätzlich in Kicad keine &amp;quot;&amp;amp;&amp;quot; in Dateinamen zu verwenden, wenn man einen SVG-Export macht. Alternativ kann man mit einem Editor das &amp;quot;&amp;amp;&amp;quot; aus dem Titelblock (Das ist NICHT der Dateiname, sondern in der Datei selber alles zwischen &amp;lt;titel&amp;gt; und &amp;lt;/titel&amp;gt;) der SVG-Datei löschen. Angeblich kommt der Bug aus den verwendeten wx-Bibliotheken. Siehe [https://bugs.launchpad.net/kicad/+bug/1171160 den Bugreport]&lt;br /&gt;
* Wie kann ich unter Windows die SVG Dateien überhaupt nutzen? &lt;br /&gt;
** Die SVG Datei kann mit Microsoft Edge auf einen Drucker gedruckt werden, nützlich bei negativ Plot. Das Öffnen mit GIMP ging mit 1000pixel/in. Das Programm, mit dem sich SVG Dateien am besten bearbeiten lassen, ist aber Inkscape. Davon gibt es sogar einen Windows Ableger.&lt;br /&gt;
** Grundsätzliche Infos zum [https://de.wikipedia.org/wiki/Scalable_Vector_Graphics SVG Format] &lt;br /&gt;
** Grundsätzliche Infos zu [https://de.wikipedia.org/wiki/Inkscape Inkscape]&lt;br /&gt;
&lt;br /&gt;
==== Gerber Export ====&lt;br /&gt;
&lt;br /&gt;
* Kann man Gerber-Dateien exportieren?&lt;br /&gt;
** Ja. Es wird extended Gerber 274X exportiert. Einheit ist inch (doppelt sowohl im 274d als auch im 274x Stil definiert). Die Y-Koordinaten sind im allgemeinen negativ. KiCad verwendet für Flächen das in Gerber spezifizierte Polygon Makro und kein &amp;quot;stroke fill&amp;quot;.&lt;br /&gt;
** Um Gerber Dateien zu erstellen, wählt man aus der oberen Menueleiste ganz links Datei &amp;gt; Plotten und dann oben links unter Plotformat &amp;quot;Gerber&amp;quot; &lt;br /&gt;
** KiCad unterstützt auch die kürzlich eingeführten Gerber-Attribute. Die Anwendung derselben muss aber explizit angewählt werden. Dazu setzt man im Gerber-Plottmenue im Feld &amp;quot;Gerber Optionen&amp;quot; bei &amp;quot;include extended attributes&amp;quot; einen Haken.&lt;br /&gt;
** KiCad kann automatisch die Lötstoppmaske von der Siebdruckmaske (Silk screen - Bestückungsaufdruck) abziehen, damit nicht der Bestückungsaufdruck versehentlich über Pads liegt und dort das Löten verhindert. Dazu muss aber im Gerber-Plottmenue im Feld &amp;quot;Gerber Optionen&amp;quot; bei &amp;quot;Subtrahiere Lötstoppmaske von Siebdruckmaske&amp;quot; ein Haken gesetzt werden.&lt;br /&gt;
* Welche Gerber Lagen werden zur Herstellung einer Platine benötigt?&lt;br /&gt;
** Grundsätzlich zu Herstellung der Platine die Gerberfiles: Alle Kupferlagen, Bestückungsdruck Top und Bottom (Falls auf Bottom was steht), Lötstoppmaske Top und Bottom. Eine Umrisslage mit dem Platinenumriss und Ausfräsungen. Drillfiles (Excellon) Für durchkontaktierte und NICHT durchkontaktierte (NPTH) Bohrungen. Dazu: Ein Textfile mit einer Erläuterung, welche Lage welche ist, sowie Angaben, wie dick die Kupferschichten der Kupferlagen und wie dick die Isolierlagen dazwischen sein sollen, und aus welchem Material. Wenn Du eine einfache rechteckige Platine hast, schreibst Du dort auch noch die Kantenlängen hinein. Wenn die Platinenumrisse komplizierter sind (z.B. verwinkelt, mit Ausfräsungen ec.), noch eine Masszeichnung als Gerber File. Siehe [https://www.mikrocontroller.net/topic/399503#new Forumsbeitrag]&lt;br /&gt;
** Zum Bestücken wird mindestens noch eine Stückliste (BOM) benötigt. Eventuell noch ein spezieller Bestückungsplan (Assembly), wenn der Bestückungsaufdruck nicht reicht. Für SMD eventuell noch die Gerberdaten für Klebstoffmaske und Lötpastenmaske, und eventuell die Pick and Place Daten für den Bestückungsautomaten.&lt;br /&gt;
* Wie kann man den Gerber-Plot so ausdrucken, dass in der Mitte von Pads und Vias ein Zentrierloch frei bleibt?&lt;br /&gt;
** [http://article.gmane.org/gmane.comp.cad.kicad.user/3457 KiCAD Forum]&lt;br /&gt;
* Was ist &#039;&#039;&#039;allgemein&#039;&#039;&#039; beim Export von Gerber Daten zu  beachten?&lt;br /&gt;
** Allgemeine Informationen zum Gerber File Format findet hier: [[Gerber-Tools]] &lt;br /&gt;
** Speziell zu Passermarken/Fiducials (add layer alignment target) diese [https://www.mikrocontroller.net/topic/396624#new Diskussion] &lt;br /&gt;
** [https://www.mikrocontroller.net/topic/428569#new Aktuell]&lt;br /&gt;
* Ich würde gerne meine Gerberdaten gespiegelt ausdrucken, aber das &amp;quot;gespiegelt&amp;quot; ist ausgegraut.&lt;br /&gt;
** Gerber Daten werden nur sehr selten vom Layouter gespiegelt benötigt. Wenn aber doch, so öffne die Gerber Daten mit dem Gerberviewer (Gerbview). Wenn Du dort ausdruckst, kannst du auch spiegeln. Trotzdem solltest Du Dir in dieser [https://www.mikrocontroller.net/topic/466448#new Diskussion] durchlesen, warum Du vermutlich keine Gerberdaten gespiegelt ausdrucken musst &lt;br /&gt;
* Mein Layterplattenfertiger bemämgelt, das meine Gerber Daten fehlerhaft sind.&lt;br /&gt;
** Wenn er negative Koordinaten bemängelt, so sind diese nach der aktuellen Gerber Definition zulässig.&lt;br /&gt;
** Wenn Du trotzdem negative Gerber Koordinaten beim Export vermeiden möchtest, musst Du den Ursprung bzw. das Hilfskoordinatensystem passend setzen. Siehe [https://www.mikrocontroller.net/topic/482457#5999588 Forumsbeitrag]. &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Wenn man einen Offset für Gerber verwendet, muss man den gleichen Haken auch bei den Drillfiles setzten. Sonst sind die Bohrdaten gegenüber den Gerberdaten verschoben.&lt;br /&gt;
** Wegen nicht geschlossener Polygone bzw. doppelter Punkte in Polygonen siehe [https://www.mikrocontroller.net/topic/482457#5999669 Forumsbeitrag] und den [https://bugs.launchpad.net/kicad/+bug/1847714 Bugreport]&lt;br /&gt;
** Ucamco als Schöpfer des Gerberformates bietet einen [https://gerber-viewer.ucamco.com/ Online Viewer] für Gerberdateien, um die Qualität von Gerberdaten zu überprüfen&lt;br /&gt;
&lt;br /&gt;
==== Excellon Drillfiles exportieren ====&lt;br /&gt;
&lt;br /&gt;
* Wie erstelle ich mit KiCad Excellon Drillfiles?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/310333#new Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
==== KiCad Board Dateien direkt zum Hersteller ====&lt;br /&gt;
&lt;br /&gt;
* Bei Bestellungen bei [http://www.pcb-pool.com/ppde/info_dataformat.html PCB-Pool] ist deren GC-Prevue NICHT mehr erforderlich, weil PCB-Pool mittlerweile KiCad *.brd Dateien direkt akzeptiert. Das gilt auch für viele andere Hersteller. im Zweifel dort einmal nachfragen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Trotzdem&#039;&#039;&#039; sollte man &#039;&#039;&#039;besser Gerber Dateien&#039;&#039;&#039; zum Platinenhersteller senden. Das gilt &#039;&#039;&#039;grundsätzlich&#039;&#039;&#039; so auch für andere Platinen Layout Programme. Der Grund ist [[Gerber-Tools#Alternativen_zu_Gerber | hier]] angegeben.&lt;br /&gt;
&lt;br /&gt;
=== Import ===&lt;br /&gt;
* Kann man EAGLE Dateien importieren? (=&amp;gt; Obacht bei Weitergabe der Daten! Die originalen Eagle Dateien könnten mit Urheberrechten belastet sein)&lt;br /&gt;
** Ja. Voraussetzung ist, dass das Eagle Projekt im XML-Format vorliegt. Das ist automatisch der Fall, wenn man Eagle 6 (6.6?) oder aktueller benutzt und darin speichert. Dieses Projekt kann dann in aktuellen KiCad Versionen (5.x oder 6?) geöffnet und als KiCad Projekt gespeichert werden. Dazu das Eagle Projekt für diesen Zweck vorher in einen separaten Ordner kopieren. Dann im KiCad Hauptfenster aus dem Pulldown Menue Datei &amp;gt; Projekt importieren &amp;gt; Eagle CAd wählen.&lt;br /&gt;
** Ganz aktuell: https://www.mikrocontroller.net/topic/474387#new &lt;br /&gt;
** Aktuell: http://www.mikrocontroller.net/articles/KiCad#Konverter&lt;br /&gt;
** Etwas älter: http://www.mikrocontroller.net/topic/70905#797416&lt;br /&gt;
** http://www.mikrocontroller.net/topic/120373#1089933&lt;br /&gt;
** https://www.mikrocontroller.net/topic/417848#new&lt;br /&gt;
* Wie bindet man fremde KiCad Bibliotheken ein?&lt;br /&gt;
** EESchema (Schaltplaneditor) starten, unter Einstellungen &amp;quot;Bibliothek&amp;quot;  auswählen, auf &amp;quot;Hinzufügen&amp;quot; klicken, neue Bibliothek auswählen dann &amp;quot;öffnen&amp;quot; und in der Projektdatei &amp;quot;Speichern&amp;quot;. Gültig für Version 20090216Final, 2011-04-29-BZR2986-WinXP und Version: (2011-11-27 BZR 3249)-stable unter Platform: Linux 2.6.32-5-686 i686, 32 bit, Little endian, wxGTK.&lt;br /&gt;
&lt;br /&gt;
** VERALTET! Das Verfahren zur Einbindung eigener oder fremder Bibliotheken ist under PCBnew genauso.&lt;br /&gt;
** Aktuell: Siehe http://www.mikrocontroller.net/topic/356855#3988114&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&lt;br /&gt;
Es empfielt sich dringenst, eigene Bibliotheken &#039;&#039;&#039;NICHT&#039;&#039;&#039; zu den KiCad Bibliotheken im Ordner kicad/share/library bzw. kicad/share/modules für Footprints zu speichern, weil diese dort bei einem Upgrade von KiCad gelöscht würden. Stattdessen sollte man sich einen KiCad Ordner im eigenen home bzw. Benutzerverzeichnis (oder sonstwo, wo es opportun ist, und man Schreibrechte hat) anlegen, mit einem Ort, um eigene Bibliotheken abzulegen. Dies ist ein eher allgemeiner Hinweis, der so nicht nur für KiCad. sondern auch für die meisten CAD-Programme gelten dürfte.&lt;br /&gt;
&lt;br /&gt;
=== Neues Projekt ===&lt;br /&gt;
Ein neues Projekt legt kicad automatisch nach der in kicad/share/template hinterlegten Projektdatei an. Möchte man, das kicad ein neues Projekt von vorneherein nur mit ausgewählten eigenen Bibliotheken anlegt, so ist eine entsprechende Projektdatei unter kicad/share/template/kicad.pro abzulegen.&lt;br /&gt;
Dies erfordert dort Schreibrechte. Linux roots müssen diese Datei anschliessend mit chmod 755 Dateiname für user lesbar machen.&lt;br /&gt;
Bei einem upgrade würde kicad.pro gelöscht. Daher sollte man sich davon eine Sicherheitskopie in seinem benutzerverzeichnis hinterlegen.&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen sichern / wiederherstellen===&lt;br /&gt;
* Wo speichert KiCad die Einstellungen ab und wie lassen sich die originalen Einstellungen wiederherstellen?&lt;br /&gt;
** [[http://kicad.sourceforge.net/wiki/index.php/DE:KiCadHB#Einstellungen_sichern_.2F_wiederherstellen]]&lt;br /&gt;
**Man erstelle ein neues Projekt beliebigen Namens, nehme alle Einstellungen (Bibliotheken, Pfade usw.) vor und speichere diese in der aktuellen Projektdatei &amp;quot;name.pro&amp;quot;. Im Ordner KiCad Verzeichnis ....../kicad/share/template befindet sich eine Datei &amp;quot;kicad.pro&amp;quot;. Diese Datei &amp;quot;kicad.pro&amp;quot; ist die &amp;quot;Musterprojektdatei&amp;quot;, die für alle neuen Projekte verwendet wird. Man benenne sie um in &amp;quot;kicad-orig.pro, und kopiere die aktuelle Projektdatei &amp;quot;name.pro&amp;quot; nun als &amp;quot;kicad.pro&amp;quot; in diesen Template-Ordner. Leider Funktioniert dieses Verfahren nicht in allen KiCad Versionen. Den originalen Zustand stellt man wieder her, indem man &amp;quot;kicad.pro&amp;quot; umbenennt, und &amp;quot;kicad-org.pro&amp;quot; wieder in &amp;quot;kicad.pro&amp;quot; zurückumbenennt.&lt;br /&gt;
&lt;br /&gt;
=== Bitmaps als Symbol oder Footprint importieren ===&lt;br /&gt;
Der Programmteil Bitmap2component wandelt Bitmaps wahlweise in Symbole oder in Footprints um. Auf diese Weise können also auch Logos oder spezielle Muster für HF-anwendungen in KiCad importiert werden, sobald sie als Bitmap vorliegen. Es gibt allerdings auch andere Möglichkeiten, Grafiken zu importieren. Siehe dazu https://www.mikrocontroller.net/topic/428745#new&lt;br /&gt;
&lt;br /&gt;
== Tipps&amp;amp;Tricks / Eigenheiten / Bugs ==&lt;br /&gt;
&lt;br /&gt;
* Nachbearbeitung mit Skript oder Texteditor (Pin Swapping, Versionskontrolle via SVN, Generierung von Packages aus UCF-Listen) &lt;br /&gt;
** http://www.mikrocontroller.net/topic/120373#1100467&lt;br /&gt;
** http://www.mikrocontroller.net/topic/96860#836967&lt;br /&gt;
** http://stawoo.com/dokuwiki/doku.php?id=ecld:kicad:board&lt;br /&gt;
&lt;br /&gt;
* Veraltet! (2006) Schaltplan: Durchnummerieren von GND und PWR erforderlich http://www.mikrocontroller.net/topic/39243#290309&lt;br /&gt;
&lt;br /&gt;
* Zum Verbinden von Schaltplan und Layout müssen an den Bauteilen die Pinnummern mit den Padnummern der Footprints korrespondieren. Das ist &amp;quot;defaultmäßig&amp;quot; nicht immer zu erreichen, weil es unterschiedliche Nummerierungssysteme gibt. Ausser dem Anlegen eines speziellen Footprints kann diese Anpassung für einzelne Bauteile wärend des Layoutens im Moduleditor vorgenommen werden. http://www.mikrocontroller.net/topic/186121#1805890&lt;br /&gt;
* Ich habe einen hierarchischen Schaltplan angefertigt, indem sich eine Schaltung zig mal wiederholt. Eine dieser Subschaltungen habe ich schon geroutet, und möchte dieses Layout genau wie die hierarchischen Schaltpläne mehrfach auf dem Board verwenden.&lt;br /&gt;
** In PCBnew lassen sich mit &amp;quot;Datei&amp;gt;Platine hinzufügen&amp;quot; auch schon geroutete Gruppen von Bauteilen quasi als Modul einfügen, wenn sie zuvor als Board abgelegt wurden. Ebenso kann eine Bauteilgruppe, die in der Form mehrmals vorkommt, und die die schon einmal geroutet worden ist, gruppiert, kopiert und wiederverwended werden. Die dazu nötige Annotation und das Löschen der überzähligen Bauteile muss aber sorgfältig von Hand gemacht werden. &#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; In neueren Versionen von PCBnew ist diese Funktion ausgegraut, wenn PCBnew &amp;quot;normal&amp;quot; aus dem Menue des KiCad Hauptfensters gestartet wurde. Um diese Funktion zu aktivieren, KiCad schliessen und PCBnew wie ein alleinstehendes Program direkt starten.&lt;br /&gt;
** Wer seinen Subschaltplan separat routen möchte, sollte den Subschaltplan explizit in EEschema öffnen und die Netliste nur dieses Subschaltplanes exportieren. Diese Netlist in ein neues Board in PCBnew einlesen und wie üblich routen.&lt;br /&gt;
* Bibliotheken verwalten, umsortieren bzw. neu strukturieren: http://www.mikrocontroller.net/topic/187107#1817559 &lt;br /&gt;
&lt;br /&gt;
* Layout: Rest-Gummiband an Pins http://www.mikrocontroller.net/topic/120373#1092375&lt;br /&gt;
&lt;br /&gt;
* Produktion: http://www.mikrocontroller.net/topic/98034#848965&lt;br /&gt;
&lt;br /&gt;
* Bug in Version 2010-03-14: Unter Einstellungen lässt sich keine einseitige Platine wählen (wichtig für Autorouter). Lösung: Modifikation des .brd Files mit einem Editor [http://www.mikrocontroller.net/topic/172015#1651239]:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;&lt;br /&gt;
:In der *.brd Datei gleich ganz oben...&lt;br /&gt;
:&lt;br /&gt;
:$GENERAL&lt;br /&gt;
:LayerCount 2                 -&amp;gt; auf 1 setzen&lt;br /&gt;
:&lt;br /&gt;
:$SETUP&lt;br /&gt;
:InternalUnit 0.000100 INCH&lt;br /&gt;
:ZoneGridSize 250&lt;br /&gt;
:Layers 2                     -&amp;gt; auf 1 setzen&lt;br /&gt;
:Layer[0] Rückseite power&lt;br /&gt;
:Layer[15] Vorderseite power  -&amp;gt; hab&#039; ich mal beides so gelassen&lt;br /&gt;
:&amp;lt;/pre&amp;gt;                                                                aktueller: http://www.mikrocontroller.net/topic/172015#1794699&lt;br /&gt;
&lt;br /&gt;
* Das Anlegen von Symbolen/Bauteilen in aufgelöster Darstellung ist etwas stolperig. Siehe: http://www.mikrocontroller.net/topic/294095#3136180&lt;br /&gt;
&lt;br /&gt;
* Es empfielt sich, in Kicad vorläufig KEIN Ampersand (Kaufmansund, &amp;quot;&amp;amp;&amp;quot;) im Namen einer Schaltplan- oder Boarddatei zu Verwenden. Es besteht ein Bug beim Export/Plotten nach SVG. Siehe oben unter &amp;quot;Drucken / Export&amp;quot; und dann &amp;quot;Meine erzeugten SVG Plots sind kaputt.&amp;quot;. Siehe auch: http://tech.groups.yahoo.com/group/kicad-users/message/14952&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kühlkörper&#039;&#039;&#039; können als Symbol und Footprint (Modul) angelegt werden. Die Befestigungslöcher können im  Modul als Pad ausgeführt werden. Die Padnummer aller Pads sollte gleich sein (gleicher Anschluss / über Kühlkörper verbunden), z.B. &amp;quot;1&amp;quot;. Entsprechend ein Symbol mit Pin und korrespondierender Pinnummer anlegen. Wenn der Kühlkörper elektrisch nirgendwo verbunden sein soll, dann die Anschlusspinne im Schaltplan als &amp;quot;unused&amp;quot; markieren. Als Referenz in Symbol und Footprint habe ich &amp;quot;HS&amp;quot; (HeatSink) gewählt. Es ist zu überlegen, ob &amp;quot;HS&amp;quot; nicht auch als Padnummer besser wäre.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kartenumrisse/Outlines&#039;&#039;&#039;: Für immer wiederkehrende Platinengrössen, z.B. die beliebte Eurokarte, kann zur Vereinfachung des Zeichnens einmal ein Eurokartenumriss im Layer &amp;quot;outlines&amp;quot; gezeichnet werden, und als Modul abgelegt werden. Um die Zahl der Kollisionen beim Einlesen der Netzliste zu verringern, wird im Schaltplan ein Dummy-Symbol ohne Pinne angelegt. In CVpcb dann dieses Symbol mit dem passenden Kartenumriss Footprint/Modul verbinden, und es wird automatisch in PCBnew eingefügt. Als Referenz in Symbol und Footprint habe ich &amp;quot;Outl&amp;quot; (OUTLine) gewählt.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sprachanpassung&#039;&#039;&#039;: Ich will mein KiCad auf Deutsch / Englisch / Französisch / Finnisch oder sonst eine Sprache umstellen. Wie geht das?&lt;br /&gt;
** Siehe : http://www.mikrocontroller.net/topic/262039#2719056&lt;br /&gt;
**Die deutsche Übersetzung der Texte und Hilfetexte/Tooltips ist manchmal etwas unelegant. Wem so etwas auffält, bitte Mitteilung am Ende dieses Threads: http://www.mikrocontroller.net/topic/255932#2641638 (deutschsprachig) oder an die KiCad user group unter https://groups.yahoo.com/neo/groups/kicad-users/info (englischsprachig, auch bei Fällen wo es um die deutsche Übersetzung geht). Diese Mitteilungen nach Möglichkeit nicht in Launchpad.&lt;br /&gt;
** Ich habe aber keine Möglichkeit, die Sprache umzustellen!&lt;br /&gt;
*** Wenn Debian eine Fehlermeldung &amp;quot;Cannot set locale to &#039;xy_XY&#039;. kommt, ist die entsprechende Umgebung nicht installiert. Unter Debian als root in der Konsole: &amp;quot;dpkg-reconfigure locales&amp;quot; aufrufen. Es öffnet sich eine ncurses-gui, wo die entsprechenden Einstellungen gemacht werden können. Für &amp;quot;Deutsch&amp;quot; wähle ich &amp;quot;de_DE.utf8&amp;quot;.&lt;br /&gt;
*** Wenn nichts passiert, fehlen möglicherweise die localisierungs Dateien. Sie sind NICHT Teil der Sourcen, und finden sich in http://bazaar.launchpad.net/~kicad-developers/kicad/doc/files/head:/internat/. Auf Debian und verwandten Systemen müssen die einzelnen localisationsordner, z. B. &amp;quot;de&amp;quot; nach /usr/local/share/kicad/internat kopiert werden. Dann als root dort Leserechte erteilen mit &amp;quot;chmode -R 755 /usr/local/share/kicad/internat&amp;quot;.&lt;br /&gt;
*** Wenn ein Mischmasch aus Englisch und der gewählten Sprache existiert, sind entweder nicht alle Begriffe übersetzt (siehe oben) oder wegen Umbenennung von Variablen ist eine Inkonsistenz entstanden. Siehe: http://www.mikrocontroller.net/topic/326622#3565178&lt;br /&gt;
** Für die KiCad Localsisation wird &amp;quot;GNU gettext&amp;quot; verwendet. Eine kleine Hilfestellung zur Anpassung der Localisation findet sich hier: http://docs.kicad.org/en/gui_translation_howto.html. Info zu Gnu gettext findet sich hier: http://de.wikipedia.org/wiki/GNU_gettext&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Projektdateien (.pro) Pfadschreibweise&#039;&#039;&#039;: In einer Windowsumgebung ist es anscheinend nötig, relative Pfade speziell zu kennzeichnen. Siehe: http://www.mikrocontroller.net/topic/326869#new&lt;br /&gt;
&lt;br /&gt;
=== Problem: Der Ursprung für die Pick und Place bzw. Drill-Daten wurde verändert und lässt sich nicht zurücksetzten. === &lt;br /&gt;
Siehe: http://www.mikrocontroller.net/topic/363280#new&lt;br /&gt;
&lt;br /&gt;
=== Problem: Case Senitive Symbols ab BZR4646 (Jan./Feb. 2014) in Schaltplänen. (Migration alter Projekte auf neue) ===&lt;br /&gt;
Ab BZR4646 sind die Symbole in Eeschema &amp;quot;Case Sensitive&amp;quot;. Das bedeutet: In alten Schaltplandateien wurden für die Symbolnamen nur Großbuchstaben verwendet, auch wenn die Originalnamen in der Library Kleinbuchstaben enthielten. Ab BZR4646 werden die Symbolnamen in den Schaltplandateien genauso geschrieben wie die Originalnamen in der Library. Leider werden dadurch bei alten Schaltplandateien die großgeschriebenen Symbolnamen nicht mehr in den Bibliotheksdateien erkannt. Auch nicht in den &amp;quot;-cache.lib&amp;quot; Dateien. Ganz so kritisch, wie es sich anhört, ist es wiederum auch nicht, weil KiCad schon seit geraumer Zeit die Schaltpläne in der neuen Version speichert. Jemand, der mit aktuellen KiCad Versionen an aktuellen Schaltplänen arbeitet, wird darum den Übergang vermutlich nicht bemerken. Allerdings tritt das Problem bei alten Schaltplänen auf, die möglicherweise Jahrelang unberührt auf der Festplatte lagen. Um die Symbolnamen in diesen alten Schaltplandateien anzupassen, existiert das Python3 Skript &amp;quot;PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip&amp;quot;. Es ist ein &amp;quot;Stand alone&amp;quot; Python3 skript, das nicht in das KiCad interne Python skripting eingebunden ist. Die Datei kann hier bezogen werden:[[Media:PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip]].&lt;br /&gt;
Autor: Bernd Wiebus, GNU-GPL.&lt;br /&gt;
&lt;br /&gt;
Be einigen Linux Distributionen (z.B. Archlinux) wird neben Python 3 auch noch das Paket &amp;quot;python3-tk&amp;quot; benötigt. Oder eine irgendwie anders genannte Einbindung von Tkinter in Python3. Anmerkung: &amp;quot;Tkinter&amp;quot; für Python3 wird im allgemeinen kleingeschrieben &amp;quot;tkinter&amp;quot; zur Unterscheidung vom großgeschriebenen &amp;quot;Tkinter&amp;quot; für das alte Python(2). &lt;br /&gt;
Sonst gibt es die Fehlermeldung &amp;quot;ImportError: No module named tkinter&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Manueller Start mit: &amp;quot;python3 PyKiCad-CaseSensitiveLibCure_RevD_13Mar2015.py&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dieses Skript kann benutzt werden, um Schaltpläne, die mit der Eeschema Version (2013-11-29 BZR 4513) von Ende 2013, die in Linux Repositorys (z.B. Debian 7 &amp;quot;Wheezy&amp;quot;) noch sehr verbreitet ist, auf aktuelle KiCad Versionen anzupassen.&lt;br /&gt;
&lt;br /&gt;
In RC4 übernimmt ein &amp;quot;Rescue-Helper&amp;quot; diese (und andere) Funktion. Aber auch dieser kann genau wie das Python Skript nur funktionieren, wenn entweder die Originalsymbole (Cache.lib!) oder entsprechend benannte Nachfolger der Bibliotheken existieren, so dass ein auf den Namen passendes Symbol existiert.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Backporting KiCad-Board Dateien (.kicad_pcb) von Version 4 auf Version 3 2014/2015) ===&lt;br /&gt;
&lt;br /&gt;
Möchte man z.B mit einer KiCad/PCBnew Version BZR 4027 vom 22 Juni 2014, welche in vielen Repositorys noch weit verbreitet ist, eine Board-Datei ( .kicad_pcb), die mit einer neueren PCBnew Version erstellt wurde, z.B. einer BZR 5513 vom 14. März 2015 (die aktuell kompiliert wurde), öffnen, so stösst man auf Probleme. Aktuell die BZR 5513 verwendet für die Board Dateien Version 4, und die alte BZR 4027 verwendet dort die Version 3. Obwohl das Schema der Boarddateien fast gleich ist, enthält die Version 4 Elemente, die es zur Zeit der Version 3 noch nicht gab, und die darum zu Fehlermeldungen und zum Abbruch des Einlesens der Datei führen. Diese Neuerungen beziehen sich auf den Export von Gerberfiles mit Attributen sowie Platinenlagen, die es vorher noch nicht gab. Diese Fehler sind dank der einfachen, klarschriftlesbaren Filestruktur von KiCad sehr leicht mit einem Texteditor zu beheben. Eine Beschreibung, wie dieses manuell zu machen ist, finden Sie hier: [[Media:KiCad-PCBnewBoardDateienMigrierenVonVersion4Auf5.pdf]] Achtung Irrtum: Hier sind Version 4 und 5 genannt, dabei sind aber Version 4 und 3 gemeint.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Portieren von älteren KiCad-Board Dateien auf neuere Versionen.  ===&lt;br /&gt;
&lt;br /&gt;
In einigen Fällen funktioniert das Erkennen von selbstvergebenen Layer Namen aus der älteren Version nicht. Abhilfe schafft das manuelle Umbenennen der betroffenen Layer per Editor in den Board Dateien in KiCad-Standard Bezeichnungen und natürlich das konsequente Einpflegen in den Rest der Datei. Eine Vorstellung, wie das zu bewerkstelligen ist, ist ebenfalls aus [[Media:KiCad-PCBnewBoardDateienMigrierenVonVersion4Auf5.pdf]] zu ersehen. Achtung Irrtum: Hier sind Version 4 und 5 genannt, dabei sind aber Version 4 und 3 gemeint. Einen Überblick, welche Layernamen die jeweils aktuelle KiCad Version verwendet, bekommt man indem man sich ein Testboard anlegt, indem ALLE möglichen Layer verwendet werden, dieses abspeichert und sich die Datei mit einem Texteditor ansieht.&lt;br /&gt;
Die Portierung von alten KiCad-board Dateien (Projektname.brd) funktioniert dagegen im Allgemeinen problemlos.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Neue leere Footprintbibliothek kann nicht erstellt werden (kicad Version: 4.0.0~rc1a-stable release build / RC4) ===&lt;br /&gt;
&lt;br /&gt;
Soll eine neue, leere Footprintbibliothek angelegt werden, so funktioniert das nicht mit den angebotenen Tools (z.B. dem Wizzard) weil die automatisch den Typ der Bibliothek ermitteln wollen, was nicht funktioniert, weil die Bibliothek noch leer ist. Auch das manuelle Eintragen des Pfades funktioniert nicht, weil die leere Bibliothek nicht als solche erkannt wird, und wegen dieses Fehlers der Abschluss des Eintrages nicht übernommen wird. Abhilfe schafft dabei das Anlegen eines Ordners &amp;quot;Bibliotheksname.pretty&amp;quot; (Erinnerung: Neue KiCad Footprintbibliotheken bestehen aus einem Ordener &amp;quot;xyz.pretty&amp;quot;, indem die einzelnen Footprints jeder für sich in einer extra Datei &amp;quot;Footprintname.kicad_mod&amp;quot; existieren). Anschliessend kopiert man eine einzige beliebige Footprintdatei &amp;quot;Nameirgendwie.kicad_mod&amp;quot; in diesen Ordner. Somit ist &amp;quot;Bibliotheksname.pretty&amp;quot; eine &amp;quot;echte&amp;quot; Bibliothek, welche als solche problemlos eingebunden werden kann. Enthält die Bibliothek dann irgendwann die gewünschten richtigen Einträge, so kann der Footprint, der zu Anfangs zum Erstellen der Bibliothek hineinkopiert wurde, auch wieder gelöscht werden.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Fehlende Backannotationsmöglichkeit in KiCad ===&lt;br /&gt;
&lt;br /&gt;
Es gibt Leute, die sich in KiCad eine Backannotationsmöglichkeit wünschen (andere warnen davor, sowas zu benutzen, selbst wenn es existiert). KiCad bietet aktuell selber diese Möglichkeit nicht, doch lässt sich aufgrund der offenen Dateistrukturen ein z.b. Python Skript schreiben, welchess die Backannotation durchführt. Als ein Beispiel siehe hier: &amp;lt;ref&amp;gt;https://hasanyavuz.ozderya.net/?p=256&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Problem: Platinenerstellung durch Isolationsfräsen ===&lt;br /&gt;
&lt;br /&gt;
Einer der möglichen Wege ist hier beschrieben: https://www.daedalus.ei.tum.de/index.php/de/3d-druck-cnc/cnc/layout-und-g-code-erstellung-mit-kicad  Allerdings scheint die dort erwähnte Software mittlerweile aus einer anderen ecke zu kommen: http://carbide3d.com/apps/pcb/community.html Es gibt aber noch andere Wege, zb. über: http://flatcam.org/discussion#!/?HPGL Eine Diskussion dazu findet sich hier: https://www.mikrocontroller.net/topic/447442#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Building Blocks ===&lt;br /&gt;
* Eine unfertige Dokumentation, wie man das hierarchische Schaltplansystem von KiCad verwendet, um daraus schnell und rationell Schaltpläne mit vorgefertigten Schaltplänen (Building Blocks) nach dem Baukastensystem aufzubauen. Enthält auch ein Beispielprojekt. Beachte die Liesmich.txt Datei. [[Media:BuildingBlocksKiCad-EXPERIMENTELL.zip]] Das File  KiCad-HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf, enthält eine vorläufige Beschreibung dazu. KiCad-HierarchischeSchaltplaene+buildingBlocksRevA-EN.pdf is an English description how to use hirarchical schematics as building blocks for a fast and rationel schematic design. Es fehlt noch die Übersetzung und die Bebilderung und ein paar Berichtigungen und Ergänzungen. ;-) . Das echte Hauptbeispielprojekt ist UnderVoltageDetector24V-2Group_Experimental.pro bzw. UnderVoltageDetector24V-2Group_Experimental.sch. Im Ordner Experimentalprojekt23052010 findet sich ein weiterer Ordner BuildingBlocksExperimental. Dieser enthält die Ausgangsbausteine VoltageRegulatorBuildingBlock.sch mit VoltageRegulatorBuildingBlock-cache.lib und  VoltageDetectorBuildingBlock.sch mit VoltageDetectorBuildingBlock-cache.lib. Die Projektdateien der Buildingblocks .pro sind nur der Vollständigkeit und zur leichteren Bearbeitung zugefügt. Aus VoltageDetectorBuildingBlock.sch und VoltageRegulatorBuildingBlock.sch wurde (nach umkopieren, umbenenen und kleiner Änderung) im übergeordneten Ordner das Projekt VoltageRegulatorBuildingBlock.pro unter verwendung des &amp;quot;Zwischenbuildingblocks&amp;quot; UnderVoltageDetectorBuildingBlock.sch zusammengesetzt. NICHT VERGESSEN DIE CACHE.LIB EINZUBINDEN! Sonst gibt es nur Fragezeichen statt Bauteile. Das Beispielprojekt enthält eine 24V Unterspannungsüberwachung für einen Bleiakku, die zwei 12V Gruppen überwacht. Nicht elegant, aber hoffentlich robust. Autor: Bernd Wiebus , GNU-GPL. Der dazubezügliche Beitrag im Forum ist: http://www.mikrocontroller.net/topic/178683#1724114&lt;br /&gt;
*[[Media:HierarchischeSchaltplaeneAlsBausteineInKicad_RevC_23Dec2013.pdf]] VERBESSERTE und AKTUALISIERTE Version von KiCad-HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf aus obiger Zip-Datei. Beschreibt, wie mit Hilfe der hierarchischen Schaltplanstruktur aus einzelnen, vorgefertigten Schaltplänen schnell und rationell neue Schaltpläne modular zusammengesetzt werden können. There is also a English translation of this tutorial about using hierarchical schematics as building blocks. You can get it here: [[Media:HierarchicalSchematicsAsBuildingblocksAtKiCad_RevC-EN_06May2015.pdf]]&lt;br /&gt;
* Eine Sammlung von gängigen Schaltungen mit den Längstreglern LM317 /LM78xx /LM79xx und dem Timer 555, die nach dem in obig erwänten Dokument KiCad_HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf beschriebenen Vorgehen als Building Blocks in KiCad verwendet werden können, findet sich unter: http://www.mikrocontroller.net/articles/KiCad#Building-Blocks&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Shortcuts/Hotkeys ===&lt;br /&gt;
&lt;br /&gt;
KiCad besitzt eine ganze Anzahl von Shortcuts/Hotkeys. Diese lassen sich editieren, abspeichern und importieren.&lt;br /&gt;
Dieses erfolgt in EEschema, dem Symboleditor und in PCBnew in der oberen Menueleiste unter &amp;quot;Einstellungen&amp;quot; &amp;gt; &amp;quot;Tastaturbefehle&amp;quot; (&amp;quot;Preferences&amp;quot; &amp;gt; &amp;quot;Hotkeys&amp;quot;). Dort finden sich weitere Menuepunkte, um eine Liste der verfügbaren Hotkeys anzuzeigen, die Hotkeys zu editieren oder um sie zu exportieren oder importieren.&lt;br /&gt;
&lt;br /&gt;
Eine &#039;&#039;&#039;Liste&#039;&#039;&#039; der aktuell verfügbaren Hotkeys erhält man mit &amp;quot;?&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Es gibt eine Reihe von Hotkeys, die in EEschema, dem Symboleditor und PCBnew gleich sind:&lt;br /&gt;
&lt;br /&gt;
*Help (this window)		?&lt;br /&gt;
*Zoom In			        F1&lt;br /&gt;
*Zoom Out			F2&lt;br /&gt;
*Zoom Redraw			F3&lt;br /&gt;
*Zoom Center			F4&lt;br /&gt;
*Fit on Screen			Home&lt;br /&gt;
*Reset Local Coordinates	Space&lt;br /&gt;
*Edit Item			E&lt;br /&gt;
*Delete Item			Del&lt;br /&gt;
*Rotate Item			R&lt;br /&gt;
*Drag Item			G&lt;br /&gt;
*Undo				Ctrl+Z&lt;br /&gt;
*Redo				Ctrl+Y&lt;br /&gt;
*Mouse Left Click		Return&lt;br /&gt;
*Mouse Left DClick		End&lt;br /&gt;
&lt;br /&gt;
Die anderen variieren je nachdem, in welcher Umgebung man sich befindet.&lt;br /&gt;
&lt;br /&gt;
Ein wichtiger Hotkey in PCBnew ist &amp;quot;T&amp;quot;. Wird &amp;quot;T&amp;quot; gedrückt, poppt ein Fenster auf, in dem nach dem Referenzbezeichner des Bauteils gefragt wird. Den gibt man ein, drückt &amp;lt;Enter&amp;gt; und der Footprint des Bauteiles hängt am Mauszeiger. Das ist eine wichtige Funktion beim &#039;&#039;&#039;Plazieren der Bauteile&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Eine PDF Datei mit Notizen zu den Shortcuts in KiCad und Listen von Shortcuts findet sich hier: [[Media:KiCad-Shortcuts-Hotkeys_Notizen_BZR4803_28Jun2014.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Lochraster/Lötleisten Platinen Entwurf mit KiCad ===&lt;br /&gt;
&#039;&#039;&#039;Dieses hier beschriebene Verfahren ist KiCad unabhängig und geht grundsätzlich mit jedem Layoutprogramm, das ein Raster anzeigen kann.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Wer viel mit Lochraster Platinen arbeitet, hat gelegentlich auch ein Bedürfnis, diese Tätigkeit mit einem Layoutprogramm zu begleiten. Zum einen um den Platzbedarf besser abschätzen zu können, zum anderen, um dadurch auch eine schnelle und einfache Dokumentation auch für Lochrasterprojekte zu schaffen. Auch dazu kann KiCad verwendet werden.&lt;br /&gt;
* Vorgehensweise: Schaltplan in Eeschema erstellen wie üblich, Netzliste erzeugen, und in CVpcp die Bauteile zuordnen. In PCBnew dann das Raster einblenden und auf 2,54mm (100mil) stellen. Nun geben die Rasterpunkte die Position der Löcher der Lochrasterplatine vor. Nach dem Einlesen der Netzliste bei Lochraster mit Streifenleitungen am besten zweiseitig manuell routen. Auf der Unterseite der Richtung der Streifenleitung in Längstrichtung folgen (z.b. wagerecht). Auf der Oberseite die Brücken dazu quer legen (z.B. senkrecht). Zweipolige Bauteile immer senkrecht oder wagerecht positionieren. &lt;br /&gt;
** Wer eine Platine erstellen möchte, die nur teilweise ein Lochraster aufweist, dem sei diese Diskussion empfohlen: https://www.mikrocontroller.net/topic/369534#new&lt;br /&gt;
* Noch ein Vorschlag für Lochraster bzw. Lötleistenentwürfe in KiCad: http://www.mikrocontroller.net/topic/395181#4547206&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: KiCad und Freeroute ===&lt;br /&gt;
Leider ist die Freeroute Seite abgeschaltet. Grund:http://www.mikrocontroller.net/topic/337014#new Allerdings gibt es eine Möglichkeit, Freeroute selber zu installieren und zu nutzen: https://github.com/nikropht/FreeRouting und http://freerouting.net/index_de.php &lt;br /&gt;
*Freerouting einseitig bzw. für Lochraster verwenden: http://www.mikrocontroller.net/topic/363335#new&lt;br /&gt;
*Fehlermeldungen beim Start von Freeroute: Es ist wichtig, dass der Leiterplattenumriss in der Lage edge.cuts geschlossen ist: https://www.mikrocontroller.net/topic/435039#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: KiCad und Specctra Autorouter ===&lt;br /&gt;
Es treten beim Export der Netzlisten/Designs Fehlermeldungen der Art: &amp;quot;IO_ERROR: Multiple components have identical reference IDs&amp;quot; auf, obwohl offensichtlich keine doppelten Referenzbezeichner vergeben wurden.&lt;br /&gt;
* Die &amp;quot;doppelten Referenzbezeichner&amp;quot; sind doch &amp;quot;irgendwie&amp;quot; versteckt vorhanden. Z.B. dadurch, das Bauteile nicht Referenziert oder Annotiert wurden. Im Zweifel die Files mit einem Texteditor danach durchsuchen, oder die Autoannotation über das Board laufen lassen. Siehe: https://www.mikrocontroller.net/topic/365185#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Platinen von ALLPCB ===&lt;br /&gt;
Hinweise, wie die Design Restrictions von ALLPCB in KiCad umgesetzt werden können, als Beispiel auch für andere Platinenhersteller (entsprechend anpassen)&lt;br /&gt;
* https://www.mikrocontroller.net/topic/443533#new&lt;br /&gt;
&lt;br /&gt;
= Bibliotheken =&lt;br /&gt;
&lt;br /&gt;
== Handhabung von Bibliotheken ==&lt;br /&gt;
&lt;br /&gt;
=== Eeschema ===&lt;br /&gt;
&lt;br /&gt;
* Symbolbibliotheken in Eeschema einbinden.&lt;br /&gt;
** Zur Benutzung müssen Bibliotheken mit Symbolen in das Bibliotheksverzeichnis von Eeschema eingetragen werden. Siehe: https://www.mikrocontroller.net/topic/416835 [[Bild:EeschemaBibliotheksliste.png|300px|thumb|right|Bearbeitung einer KiCad 4 Eeschema Bibliotheksliste]]&lt;br /&gt;
* Cache Bibliothek:&lt;br /&gt;
**  Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Aus diesem Grunde existiert zu jeder Schaltplandatei (Dateiname.sch) eine Cache Bibliothek (Dateiname-cache.lib). Diese enthält alle im Schaltplan verwendeten Symbole, und sollte darum mit dem Schaltplan zusammen übergeben werden. Diese Cache-Bibliothek sollte auch in die Bibliothekstabelle übernommen werden.&lt;br /&gt;
* Fehler mit Case-Senitiven Bibliotheken&lt;br /&gt;
** Ab BZR4646 (Jan./Feb. 2014) behandelt KiCad Symbolnamen &amp;quot;Case Sensitive&amp;quot;. Das führt zu Problemen mit älteren Schaltplänen, wo &amp;quot;Mixed Case&amp;quot; Symbolnamen aus den Bibliotheken automatisch in &amp;quot;Upper Case&amp;quot; Symbolnamen konvertiert wurden. Diese werden jetzt nicht mehr erkannt. Näheres siehe: http://www.mikrocontroller.net/articles/KiCad#Problem:_Case_Senitive_Symbols_ab_BZR4646_.28Jan..2FFeb._2014.29&lt;br /&gt;
&lt;br /&gt;
== Bibliothekssammlungen ==&lt;br /&gt;
&lt;br /&gt;
In diesem Abschnitt sollen unsere Arbeiten an Bibliotheken koordiniert werden. Dabei sollen alle Arbeiten unter der Creative Commons Lizenz stattfinden. Das heisst insbesondere, dass keine Arbeiten mit anderem Copyright unseren Bibliothekspool vergiften sollen z.&amp;amp;nbsp;B. durch unerwünschte Konvertierung von EAGLE-Bibliotheken.  &lt;br /&gt;
&lt;br /&gt;
Unsere Designziele sind:&lt;br /&gt;
* Frei benutzbar (Creative Commons Lizenz) &lt;br /&gt;
* Einheitlich (Richtlinien?)&lt;br /&gt;
** Vorschlag von Marko für Bohrungen und Pads siehe [http://www.mikrocontroller.net/topic/124070#1176177]&lt;br /&gt;
** Die Richtlinien, die die KiCad Librarys selber verwenden: [https://github.com/KiCad/kicad-library/blob/master/KiCad_Library_Convention.txt]&lt;br /&gt;
* Fehlerfrei (Nachkontrolle durch andere User)&lt;br /&gt;
&lt;br /&gt;
=== Wünsche ===&lt;br /&gt;
&lt;br /&gt;
Hier soll eine Strichliste geführt werden, welche neuen Bauteile gesucht sind bzw. welche oder besseren, genaueren Versionen benötigt werden. Bitte gebt an, was bei bestehenden Bauteilen problematisch ist.&lt;br /&gt;
&lt;br /&gt;
Bevor wir Bibliotheken erstellen, sollten auf jeden Fall einige Parameter - insbesondere für die Schaltplansymbole - festgelegt werden: Pinlänge, Pinabstand, Größe der Schriften, Konventionen bzw. Nummerierung (z.B. bei gepolten Bauteilen wie Dioden, Elkos usw.). Sonst entsteht Wildwuchs, weil jeder für sich anderes festlegt.&lt;br /&gt;
&lt;br /&gt;
* Stehende Layouts für 7805 und N-FETs: ||||&lt;br /&gt;
** Passt TO220_VERT ? Natürlich! Nur die Anschlussnumerierung muss ev. passend adaptiert werden. Ist unter &amp;quot;TO-220&amp;quot; in [[Media:KiCAD_Module_Footprints_3D_29Aug2014.zip]] enthalten. In allen Perversionen. Stehend, liegend, rumgedreht von der Rückseite usw....&lt;br /&gt;
* LPC21xx / LPC22xx / LPC23xx |&lt;br /&gt;
* EINE AVR ATmega-Bibliothek, wo ALLE Controller drin sind. ||||||||&lt;br /&gt;
* AVR XMegas |&lt;br /&gt;
* AT90CAN128 / allgemein mehr AVRs (MEGA &amp;amp; TINY) ||||||&lt;br /&gt;
* Wegen der AVRs und ATMEGAs: Bitte hier http://www.kicadlib.org/Fichiers/Kerusey_Karyu_Atmel_Library.html mal schauen, und den Wunsch auf den Typ konkretisieren! Der Atmelzoo ist so verwirrend vielfältig.....&lt;br /&gt;
** Leider ist die dazugehörige Bibliothek defekt.&lt;br /&gt;
** Ist aktualisiert worden und in die aktuelle KiCad Symbol Library eingeflossen: [https://github.com/KiCad/kicad-library/blob/master/library/atmel.lib]&lt;br /&gt;
*** Weitere Aktualisierungen und Erweiterungen: [https://github.com/KiCad/kicad-library/blob/master/library/atmel.dcm]&lt;br /&gt;
* Schaltregler (u.A. LM257x, LM267x, MC33063, L5973D) |||| Der MC33063 hat gleiches Pinning und Gehäuse wie MC34063! Darum kann der in http://www.mikrocontroller.net/wikifiles/8/84/Symbols_ICs-Diskrete_RevD9.lib verwendet werden.&lt;br /&gt;
* Spulen (z.&amp;amp;nbsp;B. diverse Wuerth) ||&lt;br /&gt;
* Drosseln (B82790 für CAN, Würth 744207) ||&lt;br /&gt;
* Transformatoren (allgemein) |&lt;br /&gt;
* Ferrite (7427930 - 32, 742792651, 74279263) |&lt;br /&gt;
** ??? Was genau ist nun Footprint und Referenzmaeßig der Unterschied zwischen Drosseln, Spulen und Ferriten, wenn ich jetzt mal davon ausgehe, das die Teile weder Anzapfung noch mehr als eine Wicklung haben (dann wären es Trafos oder Uebertrager), und die elektrischen Werte in ein Feld eingetragen werden?? Schau mal unten in http://www.mikrocontroller.net/wikifiles/d/da/KiCad_Module_Footprints_3D_16Sep2013.zip. Kleinere SMD-Entstörferrit Module lassen sich uebrigens aus Footprints für SMD-Widerstaenden zaubern, in dem man sie umbenahmt und mit der Referenz &amp;quot;L&amp;quot; versieht. ;-)&lt;br /&gt;
* STM32 Mikrocontroller Bibliothek (sofern möglich alle) ||||&lt;br /&gt;
* Arduinos ||&lt;br /&gt;
** Arduino Due ||&lt;br /&gt;
** Arduino Nano |&lt;br /&gt;
* Teensy |&lt;br /&gt;
** Teensy 3.5/3.6 |&lt;br /&gt;
** Teensy 4.0 |&lt;br /&gt;
&lt;br /&gt;
=== Entwürfe ===&lt;br /&gt;
&lt;br /&gt;
Neue Bibliotheken oder Änderungen sollen zunächst in diesem Abschnitt &lt;br /&gt;
vorgestellt werden. &lt;br /&gt;
&lt;br /&gt;
==== Symbolbibliotheken ====&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/96460#832961 ATmega3250/TQFP100] von Fred S. (Gast)&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/96460#844741 ATMega3290 im 100Pin-Gehäuse] von Fred S. (Gast)&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/132811#1205130 RFM12-Funkmodul] von Dominik C.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/133310#1210137 CAN Controller MCP2515 und Transceiver MCP2551] von Dominik C.&lt;br /&gt;
&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/394700#4540445 STLib für KiCad mit STM32F4x] von Markus W.&lt;br /&gt;
&lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevB-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1. Schaltplan Symbolbibliothek fuer KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind. Von Bernd Wiebus&lt;br /&gt;
&lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevC-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind. Aenderung gegenueber Rev.B: Kleinere Symbole hinzugefügt. Mit Vorsicht geniessen! Von Bernd Wiebus.&lt;br /&gt;
 &lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevD3-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind.  Aenderung gegenueber Rev.C: Kleinere Fehler beseitigt. CLD Symbol hinzugefuegt. Kuehlkoerper Symbol und Dummy-Symbol fuer Boardoutlines hinzugefuegt. Thyristor und Triac Symbol zugefuegt. Copyright Symbole GNU-GPL und CC zugefuegt. Mit Vorsicht geniessen! Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
 &lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevE8.lib]] AKTUELLE Version! Ersetzt die Rev. B, C und die Rev. D sowie Vorgängerversionen E1-E7! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind.  Aenderung gegenueber Rev.D: Kleinere Fehler beseitigt. Ankerpunkte in die Nähe der Symetrieachsen verlegt. Verbinder DIN41612 / EN60603-2 &amp;quot;Eurokartenstecker&amp;quot; hinzugefügt. Große &amp;quot;BIG&amp;quot; Symbole entfernt und in der Datei BIG-SymbolsSimilarEN60617+oldDIN617-RevE.lib ausgelagert. Mit Vorsicht geniessen! Von Rene Belau und Bernd Wiebus.  CC-Zero/Public Domain!  Defektes Symbol &amp;quot;RESISTOR_RevE_Date15jun2010&amp;quot; repariert am 02. Maerz 2011. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
   &lt;br /&gt;
* [[Media:BIG-SymbolsSimilarEN60617+oldDIN617-RevE.lib]] Einige EN60617 oder der DIN 617 ÄHNLICHE Symbole in besonders GROSSER Ausführung. Vermutlich werden Sie diese GROSSEN Symbole eher NICHT benutzen wollen. Mit Vorsicht geniessen! Von Rene Belau und Bernd Wiebus. Unter GNU GPL. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/attachment/74203/obi.lib]] KiCad Symbol für einen ATMEGA644. Von obi&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ICs-Diskrete_RevD10.lib]] KiCad Symbole für einige diskrete ICs. Enthält L200 (Pentawatt Gehäuse), LM2587 (Pentawatt Gehäuse), Längstregler LM317, LM78xx, LM79xx, Timer NE555, NF-Verstärker LM1875 und TDA2003 (Pentawatt Gehäuse), Schaltregler UC38xx (DIP8/SO8 und DIP14/SO14), LM2587, MC34036, LM78S40 und MCP1640, Treiber MIC4422 (DIP8/SO8 und Pentawatt Gehäuse). Allegro Halleffekt Stromwandler Typ ACS754/ACS755/ACS756 und LEM Halleffekt Stromwandler der Serie &amp;quot;HX&amp;quot;. Programierbarer Oszillator Si570/Si571 sowie Quarzoszillator Typ KXO-200. Dazu Transistor Arrays BC847S und BC857S (in einfacher und in aufgelöster Darstellung) und Supressordioden Array SR05. Schieberegister 74HC4094 . Spannungs-/Laderegler uA723/LM723 in 14 und 20 poligem Gehäuse. HF/ZF Verstärker/Mischer/Demodulator TCA440 alias exDDR A244D, FM Frontend TA7358. Spannungsmonitor ICL7665. Autor Bernd Wiebus.  CC-Zero/Public Domain!  Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ICs-Opto_RevB_16Sep2013.lib]] KiCad Symbole für Optokoppler CNY17, IL300. IL388, TLP250, SFH617A-1, SFH617A-2, SFH617A-3, SFH617A-4, KPC357, LTV35x, und PC357. LWL Empfänger Toshiba TORX170 TORX173 TORX193  und TORX194 (Toslink). LWL Sender Toshiba TOTX170 TOTX173 TOTX193  und TOTX194 (Toslink). LWL Empfänger Agilent HFBR-252x und Sender Agilent HFBR-152x Serie (Versatile Link). 7 Segment Anzeigen HDSM531, HDSM533, LTS6760, LTS6780, SBC18-11EGWA. Autor Rene Belau und Bernd Wiebus. CC-Zero / Public domain. Mit VORSICHT geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Transformer-Diskrete_RevA.lib]] KiCad Symbole für einige diskrete Transformatoren. Coilcraft Q4434-B = Rhombus T1311 und Myrra-74040 ETD29. Autor: Bernd Wiebus. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_DCDC-ACDC-Converter_RevC_29Aug2014.lib]] KiCad Symbole für einige DCDC/ACDC-Converter. Enthält CINCON EC5BC12, CINCON EC6C11, TRACO TED-1212, TRACO TED-XXXX Dual Output, TRACO TED-XXXX Single Output, TRACO TEN10-1212, TRACO TEN10-XXXX, TRACO TME-XXXX, TRACO TMH-XXXX Single Output, TRACO TMH-XXXX Dual Output, sowie TRACO ACDC-Converter der TMLM Serie. BOTHHAND CF-Serie und DELTA DPS05U09D. Neu seit 29 August 2014: Floeth DCDC-Converter SD14-XXXX und SD18-XXXX. Autor: Bernd Wiebus. GNU-GPL. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_Socket-DIN41612_RevA.lib]] KiCad Symbole für DIN41612 Stecker und Buchsen (Die bekannten Eurokartenstecker). Autor: Bernd Wiebus. GNU-GPL. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_EN60617_13Mar2013.lib]] KiCad Symbole für die EN60617. Strikter als die Symbole aus SymbolsSimilarEN60617+oldDIN617-Rev~~.lib. Autor: Bernd Wiebus. CC-Zero/Public Domain! Mit Vorsicht geniessen! Hierzu gehört der Katalog: [[Media:Symbols_EN60617_13Mar2013.pdf]] Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_EN60617-10_HF-Radio_DRAFT_12Sep2013.lib]] HF-Blockschaltbild Symbole für KiCad. EXPERIMENTELL! Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain.  Hierzu gehört der Katalog: [[Media:EN60617-10_HF-Radio_SymbolCatalog_DRAFT.pdf]] Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_Microcontroller_Philips-NXP_RevA_06Oct2013.lib]] Symbole der NXP Microcontroller LPC2104, LPC2105 und LPC2106 fuer KiCad.  Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ORringController_RevA_03Aug2015.lib]] Symbole verschiedener ORing-Controller fuer KiCad. Enthält IR5001, ISL4166 (QFN20+TSSOP16) und LM5050/LM5051. Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de.&lt;br /&gt;
&lt;br /&gt;
* [https://forum.kicad.info/t/oktizer-octagonal-pads-and-vias-was-elektuur-style-symbol-library/34611 Klassische Elektor-ähnliche Symbole], angepasst an KiCad 5.1 und 6.0. Lizenz: CC0&lt;br /&gt;
&lt;br /&gt;
==== Modulbibliotheken ====&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD_Module_Footprints_3D_29Aug2014.zip]] Eine Sammlung von KiCad Modulen bzw. Footprints diskreter Bauteile. Neben den obligatorischen Rs, Cs und Ls sind Schrack und Omron Kartenrelais (die Footprints passen auch fuer andere Hersteller), diverse Dioden, Klemmen WAGO 236 (RM 5mm) Serie und WAGO 734 Serie, Sicherungshalter (Schurter und Bulgin) für 5x20 und 6x30, SMD Sicherungen 1206 und Sicherungen/Sicherungshalter TE5/TR5,Flachsicherungen Standard und Mini, Kuehlkoerper und Eurokartenoutlines enthalten. Zusaetzlich TO92, TO220, TO220-5 (Pentawatt) und TO247 Gehaeuse. Ebenso die vermissten PISN und PISR SMD Drosseln. Einige Throughhole C&amp;amp;D Bobin Drosseln, Bourns 3296, Spectrol Type 43 / Econtrim und Piher PT15 Trimmer . Potentiometer Alps RK16 und Spectrol Type 148/149. Transformatoren Coilcraft Q4434-B / Rhombus T1311 sowie ETD29 von Epcos und Myrra sind auch dabei. Eurokartenstecker/-buchsen DIN 41612 Typ B1, B2, C1, C2 und C3. Ebenfalls enthalten: GNU-GPL und Creative Commons  Symbole. Dazu Messpunkte. BNC-Buchse, Quarzoszillator, SMD Widerstände und Kondensatoren.  (0805, 1206, 2512) sowie experimentelle Universalfootprints SMD/Throughole. SMD-Dioden: MELF, Mini-MELF, SMA, SMB und SMC. Halleffekt Stromwandler mit Allegro CB-PFF, CB-PSF und CB-FSS Gehäusen.Dazu Stecker Molex Serie KK, Würth SMD Drosseln und Doppeldrosseln. Neosid Filter und Drosseln. TRACO ACDC-Converter der TMLM Seie und SOT23, SOT143, SOT143R, TSOT-6 / MK06A sowie SC70-6 SMD Footprints für Dioden, Transistoren bzw. Dioden und Transistor Arrays und kleinere ICs. Mini Universal Mate-N-Lock Steckersockel (Tyco/AMP). 2-6 Pin, vertikale und horizontale Typen. Verbesserte Fiducials und Logos. Dazu SMD-Tantalkondensatoren und ETAL NF-Transformatoren. TO50-3 und TO50-4 Gehäuse. 7 Segment Anzeigen. LQFP48/TQFP48 Gehäuse. Hallsonden Stromwandler mit Allegro CB-PFF, CB-PSF und CB-FSS Gehäusen. Halleffekt Stromwandler der Serie &amp;quot;HX&amp;quot; von LEM.  Neu in der Version vom 29. August 2014: Floeth DCDC-Converter SD14 und SD18. Fast alles ohne 3D Modelle, aber manchmal mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* Viel Standardkram in 3D: http://smisioto.no-ip.org/elettronica/kicad/kicad-en.htm&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD-Module_Buzzer_Beeper_RevA_25Oct2010.zip]] Einige Footprints von Summern /Buzzern / Beepern für KiCad. Enthaelt Kingstate KCG0601, Pro Signal ABI-009-RC, Pro Signal ABI-010-RC, Pro Signal ABT-410-RC, Star Micronics HMB-06/HMB-12 und Projects Unlimited AI-4228-TWT-R. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD-Module_CommonModeChoke_Wuerth_Type-WE-CMB_RevA_25Oct2010.zip]] Footprints der Gleichtaktdrosseln der Serie Würth WE CMB (through hole) für KiCad. Enthält die Verschieden Bauformen XS, S, M, L, XL und XXL. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:DCDC-ACDC-Converter_RevC_20Jul2012.zip]] Footprints von DCDC/ACDC-Convertern für KiCad. Enthält CINCON EC5BC12, CINCON EC6C11, TRACO TED-1212, TRACO TED-XXXX Dual Output, TRACO TED-XXXX Single Output, TRACO TEN10-1212, TRACO TEN10-XXXX, TRACO TME-XXXX, TRACO TMH-XXXX Single Output, TRACO TMH-XXXX Dual Output, BOTHHAND CF-Serie und DELTA DPS05U09D. Neu seit 20 Juli: TRACO ACDC-Converter der TMLM Serie. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Opto-Devices_RevC_03Oct2012.zip]] Footprints von Optoelectronischen Bauteilen für KiCad. Enthält 6 Polige DIL Footprints für CNY17, auch in &amp;quot;wide&amp;quot;, SMD Optokoppler Footprints (1 Kanalig) und Footprints für Toshiba (Toslink) und Agilent (Versatile Link) LWL Ssender und Empfänger. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Pentawatt_RevB_24Oct2012.zip]] Footprints von Pentawatt Gehäusen für KiCad. Enthält verschiedene Ausführungen der TO220-5 Gehäuse in gerade und verkröpft, sowie stehend und liegend. Mit 3D-Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:Transistor_TO-220_RevB_03Sep2012.zip]] Footprints von TO220-3 Gehäusen für KiCad. Enthält verschiedene Ausführungen der TO220 Transistor Gehäuse in  stehend und liegend. Mit 3D-Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! CC-Zero/Public domain! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:Transistor_TO-247_RevC.zip]] Footprints von TO247 Gehäusen für KiCad. Enthält verschiedene Ausführungen der Transistor Gehäuse in  stehend und liegend. Mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! CC-Zero/Public domain! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/topic/176405#new]] KiCad Modul / Footprint für ein TSSOP38 Gehäuse. Autor Raphael Reu.&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/topic/190088#1856759]] Texas Instruments TPIC8101 Klopfsensor Interface (für Verbrennungsmotoren). Autor Peter Diener.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IR-directFET_Packages_RevB.zip]] Footprints von directFET SMD-Transistor Gehäusen von International Rectifier für KiCad. Enthält die SH, SJ, SQ, ST, S1, MN, MP, MT, MX, MZ und die L8-Outline. Nähere Informationen in den Datenblättern betroffener Transistoren und in der International Rectifier Applikationsnotiz AN-1035. &amp;quot;directFET&amp;quot; ist übrigens eine Handelsmarke von International Rectifier und die Gehäuse sind proprietär. Also vorsichtig sein und an &amp;quot;second source&amp;quot; denken. Mit 3D Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter CC-Zero / Public domain. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Neosid-Devices_Coils_Filters_25Apr2012.zip]] Footprints von NEOSID Bauteilen. Spulen, Luftspulen, Filter ec. für KiCad. Through hole und SMD. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT23_SOT143_SOT143R_TSOT6_MK06A_SC70-6_Housing_14Mar2014.zip]] Footprints von SOT23, SOT143, SOT143R, TSOT-6 /MK06A und SC70-6 SMD Gehäusen, wie sie oft für Dioden und Transistoren, aber auch Dioden und Transistor Arrays verwendet werden. Auch ICs findet man in der Bauform. Es sind Standard Footprints und spezielle für Handlötung vorhanden. KiCad Legacy Format und neues .pretty Format. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:MiniUniversalMate-N-LokSockets_13Aug2012.zip]] Footprints von Mini Universal Mate-N-Lok Steckersockeln (Tyco/AMP). 2-6 Pin, verticale und horizontale Typen. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:NF-Transformer_ETAL_RevA_28Aug2012.zip]] Footprints und 3D-Mesh Modelle von NF-Transformatoren der Firma ETAL (http://www.etalgroup.com). SMD und THT Typen. Mit PDF-Ausdruck zur leichteren Identifikation. In der Bibliothek ist auch der bekannte Übertrager ETAL P1200, der von Box73 (http://www.box73.de) vertrieben wird. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de &lt;br /&gt;
&lt;br /&gt;
* [[Media:TantalCapacitors_SMD_RevA_28Aug2012.zip]] Footprints von Tantal Kondensatoren SMD Größe A bis E (EIA-3216, EIA-3528, EIA-6032, EIA-7343 und EIA-7360). Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Ohne Garantie und unter GNU-GPL. Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT89-3_SOT89-5_Housing_RevA_02Sep2012.zip]] Footprints und 3D-Mesh Modelle von SOT89-3 und SOT89-5 SMD Gehäusen. Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT126_SOT32_Housings_RevA_22Oct2012.zip]] Footprints und 3D-Mesh Modelle von SOT126 / SOT32 Gehäusen. Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Allegro_HallSensors_24Oct2012.zip]] Footprints und 3D Modelle von Allegro Hall-Effect Stromsensoren mit PFF, PSF oder PSS Gehäuse (ACS754, ACS755, ACS756).  Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:VML0806_Housing_Rohm_27Oct2012.zip]] Footprints und 3D Modell eines Transistors im 0806 Format (VML0806 / Rohm).  Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:TO-50_Housings_RevA_21Apr2013.zip]]  Footprints/Module von TO50-3 und TO50-4 Transistor Gehäusen.Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:OldSowjetAera_Transistor_RevA.zip]] Footprints/Module von Kleinleistungstransistoren aus der Sowjetära.Mit 3D-Modell und PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:SIP9_Housing_14Jun2013.zip]] Footprints/Module von SIP9 Gehäusen (z.B. TA7358).Mit 3D-Modell und PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:7Segment_16Sep2013.zip]] Footprints/Module von 7-Segment Anzeigen HDSM531 (SMD), HDSM533 (SMD), LTS6760, LTS6780 undSBC18-11EGWA. Dazu PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:BNC-Sockets_RevA.zip]] Footprints/Module von TYCO BNC-Buchsen für KiCad. Mit 3D Modellen und PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:LQFP_TQFP_RevA_06Oct2013.zip]] Footprints/Module von LQDP48/TQFP48 Gehäuseb für KiCad. Ohne 3D Modelle, aber mit PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:LEM_HallEffectTransducers_RevA_13Oct2012.zip]] Module/Footprints von Halleffekt Stromwandlern der Serien &amp;quot;HX&amp;quot; und &amp;quot;HTFS&amp;quot; von LEM. Mit 3D-Modellen  und PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
==== 3D-Modelle ====&lt;br /&gt;
&lt;br /&gt;
* [[Media:MeshModells_VRML-Wings3D_13Oct2013.zip]]  3D-Modelle diverser elektronischer Bauteile im wrl 2.0 und wings Format. Enthalten: DD-PAK (TO263AB), D-PAK (TO252AA), SMD Dioden MELF, MiniMELF, SMA, SMB und SMC, Transformatoren ETAL P1165, P1200, P2781, P3000, P3181, PP3188 und P3191, SO126 / SOT32 in horizontal und vertikal, SOT223-3, TO263-3, SOT89-3, SOT89-5, TO220 horizontal und vertikal und reverse. TO220-5 horizontal, vertical, inline und verkröpft, VML0806. SIP9. 7 Segment SMD Anzeige HDSM531/HDSM533 in Grün, gelb, rot und orange. directFET SMD-Transistor Gehäusen von International Rectifier für KiCad. Enthält die SH, SJ, SQ, ST, S1, MN, MP, MT, MX, MZ und die L8-Outlines. Flachsicherungen Standard und Mini. Halleffekt Stromwandler LEM &amp;quot;HX&amp;quot; Serie und Allegro ACS754/ACS755/ACS756 mit CB-PFF, CB-PSF und CB-FSS Gehäusen. Ohne Garantie und unter CC-Zero / Public Domain Lizenz. Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
==== Building-Blocks ====&lt;br /&gt;
*[[Media:BuildingBlocks_16Jun2013.zip]] enthält eine Sammlung von gängigen Schaltungen mit den Längstreglern LM317 /LM78xx /LM79xx und dem Timer 555, die nach dem in diesem [[Media:HierarchischeSchaltplaeneAlsBausteineInKicad_RevC_23Dec2013.pdf]] Dokument beschriebenen Vorgehen als Building Blocks in KiCad verwendet werden können. Ein Katalog dazu befindet sich hier: [[Media:KatalogUeberKiCadBuildingBlocks_21Apr2013.pdf]]. Autor: Bernd Wiebus, Lizenz: Creative Commons. Experimentell! Ohne Garantie! Mit Vorsicht geniessen!&lt;br /&gt;
&lt;br /&gt;
Wenn mindestens ein weiterer KiCad User die Bibliothek geprüft hat, kann sie in den folgenden Unterabschnitt verschoben werden.&lt;br /&gt;
&lt;br /&gt;
=== Geprüfte ===&lt;br /&gt;
&lt;br /&gt;
Hier sollen geprüfte Bibliotheken gesammelt werden. Bitte angeben, wer die Prüfung gemacht hat.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/132288#new STM32F103xx (LQFP64) Schaltplansymbol] erstellt/geprüft: Dominik C.; Marko S.&lt;br /&gt;
* Bei der STMF103xx fehlt glaub ich der Portpin PD2 :) Grüße :)&lt;br /&gt;
&lt;br /&gt;
=== Sonstige Bibliotheken im Netz ===&lt;br /&gt;
&lt;br /&gt;
Die Einträge hier sind nach [[KiCad-Bibliotheken#Bibliotheken_im_Netz|KiCad-Bibliotheken im Netz]] verschoben worden. &#039;&#039;&#039;Bitte Überarbeitungen und neue Einträge nur dort vornehmen!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bitte diesen Unterpunkt &#039;&#039;&#039;nicht Löschen&#039;&#039;&#039;, da es Verweise aus dem Forum oder von sonstwo geben mag, die sonst ins Leere laufen, ohne eine Erklärung für den User.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Werkzeuge ==&lt;br /&gt;
&lt;br /&gt;
Da die in KiCad verwendeten Dateien klarschriftlesbar sind, lassen sie sich sehr leicht mit externen Programmen und Skripten bearbeiten, um spezielle Funktionalitäten zu erzeugen. Eine kleine Auswahl an Programmen/Skripten ist hier zusammengestellt:&lt;br /&gt;
&lt;br /&gt;
* Zuallererst: Mittlerweile hat sich rund um KiCad eine ganze Reihe von Hilfsprogrammen etabliert. Einige davon können über die offizielle KiCad Site gefunden werden: [http://kicad.org/external-tools/ KiCad-External Tools]. Zurzeit (04Oct2019) sind dort [https://github.com/easyw/kicadStepUpMod/ KiCad StepUp] als Plugin für FreeCAD, [https://github.com/xesscorp/KiCost KiCost] zur Tabellenkalkulationserstellung und Kostenermittlung aus KiCad-Schaltplänen, [https://github.com/thesourcerer8/altium2kicad Altium2KiCad] um aus Altium PCBs und Schaltplänen solche für kiCad zu erstellen, [http://neo900.org/stuff/eeshow/ EEschow] zur Konvertierung von KiCad-Schaltplänen in verschiedene Grafikformate, sowie [[Schaltplaneditoren#Fped|Fped]], mit dem sehr komfortabel Footprints für KiCad erstellt werden können, gelistet.&lt;br /&gt;
* [http://kicad.rohrbacher.net/quicklib.php Quick KICAD Library Component Builder]&lt;br /&gt;
* Gerber-Tools sind für KiCad weniger nötig, da KiCad mit GerbView seinen eigenen Gerberviewer mitbringt. Dieser ist mächtig genug, die eingelesenen Gerberfiles als Platine in PCBnew zu exportieren, wo sie manipuliert werden können. Dieses geht aber nur mit Gerber-RS274X Daten. Ebensowenig können Gerberfiles zu Nutzen zusammengefügt werden. Hierzu bietet sich &amp;quot;Gerbmerge&amp;quot; http://ruggedcircuits.com/gerbmerge (http://claymore.engineer.gvsu.edu/~steriana/Python/gerbmerge/ Veraltet) an. Wer lediglich aus Sicherheitsgründen die von KiCad erzeugten Gerberdaten mit einem fremden Gerber-Vierer inspizieren möchte, findet hier Hinweise:http://www.mikrocontroller.net/articles/Gerber-Tools&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/204063#2011138 KiCad (Multi-)Symbol Tool] von Joghurt3000 zur Erstellung von Symbolen aus einer Textvorlage&lt;br /&gt;
* [http://cyclerecorder.org/footprintbuilder Footprintbuilder] Java-Programm zu Erstellung von Footprints.&lt;br /&gt;
*Wer seine Platine &amp;quot;panelisieren&amp;quot; (d.h. mehrmals nebeneinander anordnen um in einem &amp;quot;Nutzen&amp;quot; gleich mehrere Platinen fertigen zu können) möchte, kann das mit dem Python 2 Skript &amp;quot;panelize.py&amp;quot; tun. Das Programm arbeitet direkt auf den kicad .brd Files, so das das Mehrfachnutzen Board unter PCBnew nachbearbeitet werden kann, für z.B. einen  DRC. &amp;quot;panelize.py&amp;quot; kann hier bezogen werden: http://blog.borg.ch/?p=12&lt;br /&gt;
* &amp;quot;Raef&amp;quot; hat ein Python Script erstellt, das Bauteile automatisch ähnlich der Anordnung im Schaltplan plaziert. Siehe: http://www.mikrocontroller.net/topic/293903#3245990&lt;br /&gt;
*Wer die Reihenfolge der Subschaltpläne ändern will (Wegen Übersichtlichkeit/Bestimmt auch die Reihenfolge beim Ausdrucken), kann dieses Python 3 Skript verwenden (Liesmich/Readme beachten): http://www.mikrocontroller.net/wikifiles/9/90/PyKicadSchematic-ID_Interchanger_RevC.zip Autor: Bernd Wiebus, GNU-GPL. Dieses Skript ist unabhängig von der PCBnew internen Python 2 Schnittstelle.&lt;br /&gt;
* Um ältere Schaltpläne von vor Jan./Feb. 2014 (BZR4646) mit &amp;quot;upper case&amp;quot; Symbolnamen zu konvertieren, kann dieses Python 3 Skript verwendet werden: [[Media:PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip]]. Autor: Bernd Wiebus, GNU-GPL. Dieses Skript ist unabhängig von der PCBnew internen Python 2 Schnittstelle.&lt;br /&gt;
* Wem das Tricksen mit Dateimanager oder Schematic oder Board als Bibliotheksmanager nicht gefällt, findet vieleicht im &amp;quot;KiCad Libarian&amp;quot; ein passendes Tool: http://www.compuphase.com/electronics/kicadlibrarian_en.htm&lt;br /&gt;
* Diverse Skripte, um KiCad Symbole, Footprints oder sonstigen Bibliothekskram zu bearbeiten. [https://github.com/KiCad/kicad-library-utils]&lt;br /&gt;
* Cirillo Bernardo hat einige Programme geschrieben, um VRML 3D Gitter Modelle für Bauteile parametrisch zu erzeugen. Sie finden sich hier: https://github.com/cbernardo/kicad3Dmodels&lt;br /&gt;
* Peter Hofbauer hat einige Windows Programme geschrieben, die zur KiCad Unterstützung dienen: http://www.hcp-hofbauer.de/software.htm Bei den Programmen handelt es sich um &amp;quot;Aufräumprogramme für Bibliotheken, Stücklistenerzeugung, Extraktionsprogramm um eine Verdrahtungsliste aus einer Netzliste zu erzeugen, Ein Programm um Boherdurchmesser zu vereinheitlichen und ein Programm, um zusammen mit &amp;quot;Linegrinder&amp;quot; G-Code aus KiCad Boarddateien zu erzeugen. &lt;br /&gt;
* [http://escalalibre.com/edwt/kicad_sizeConverter.php KiCad Bitmap2Component Skalierer] Erlaubt es, Logos zu skalieren.&lt;br /&gt;
* [http://escalalibre.com/edwt/kicad_modTextChanger.php KiCad Module Text Changer]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/381605?reply_to=4346454#4346280 KiCad Symbol Generator Tool] KiCad Symbol Generator Tool als Python Skript&lt;br /&gt;
* [https://github.com/tlantela/KiCad_layout_cloner/blob/master/layout_cloner.py KiCad Layout Cloner] Python Skript. Siehe http://www.mikrocontroller.net/topic/382657#4363261&lt;br /&gt;
* [https://forum.kicad.info/t/kicad-stepup-the-sketcher-for-getting-to-blinky/7826] StepUp, eine Workbench für FreeCAD (ein open source 3D CAD Program) um den Import und Export von mecanichen CAD Daten von KiCad zu erleichtern.&lt;br /&gt;
* [https://hasanyavuz.ozderya.net/?p=256 Ein Backannotationstool für KiCad] als Pythonskript&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/450655#new Ein Tool, um per Skripting Messpunkte für einen Nadelbettadapter zu erzeugen.] Geht von Gerberdaten aus, die in KiCad importiert werden&lt;br /&gt;
&lt;br /&gt;
== Konverter ==&lt;br /&gt;
&lt;br /&gt;
Konverter wandeln KiCad-Daten in die Daten anderer Layoutprogramme bzw. die Daten anderer Layoutprogramme in KiCad-Daten um.&lt;br /&gt;
Nativ kann KiCad gEDA Footprints bzw. neuere Eagle Footprints direkt als Bibliothek einbinden. Das ganze ist aber als noch sehr experimentell zu betrachten.&lt;br /&gt;
&lt;br /&gt;
Des Weiteren gibt es einige Programme oder Skripte von dritter Seite, die Daten anderer Layoutprogramme in KiCad Daten umwandeln. Auch diese sind als experimentell einzustufen.&lt;br /&gt;
&lt;br /&gt;
Hier eine Auswahl:&lt;br /&gt;
* https://github.com/thesourcerer8/altium2kicad Wandelt Altium Schaltpläne und Layouts in KiCad Daten um.&lt;br /&gt;
* https://github.com/DanChianucci/Eagle2Kicad Wandelt Eagle 6.0 Layouts in KiCad Layouts.&lt;br /&gt;
* https://github.com/lachlanA/eagle-to-kicad Wandelt Eagle 6.0 Layouts in KiCad Layouts.&lt;br /&gt;
* http://www.cadsoft.de/downloads/file/eagle2kicad-0.9c.ulp Direkt von der Cadsoft Seite, ein ULP das Eagle Daten in KiCad Daten wandelt.&lt;br /&gt;
* http://www.cadsoft.de/downloads/file/eagle2kicad_sch.ulp Ebenfalls direkt von der Cadsoft Seite, ein ULP, das Eagle Schaltpläne in KiCad Schaltpläne wandelt.&lt;br /&gt;
* http://sourceforge.net/projects/pcad2kicad/ Wandelt P-CAD Schaltpläne, Layouts und Bibliotheken in KiCad Daten um.&lt;br /&gt;
* Gerber_Settings    [https://www.mikrocontroller.net/attachment/319118/originpoint.png originpoint]     [https://www.mikrocontroller.net/topic/319266?page=5#4891032 Gerber_Settings] [https://www.mikrocontroller.net/attachment/319192/Bohrdatei.png Drill_Files_Generation]&lt;br /&gt;
* https://github.com/mtl/svg2mod Tool, welches SVG in KiCad Board Layers wandelt. Einleitende Informationen finden sich hier: https://www.mikrocontroller.net/topic/440552#5234307&lt;br /&gt;
* https://github.com/thesourcerer8/altium2kicad Altium2KiCad um Altium Projekte in KiCad Schaltpläne und Boards zu konvertieren.&lt;br /&gt;
&lt;br /&gt;
Erfahrungsberichte willkommen!&lt;br /&gt;
&lt;br /&gt;
= Beispielprojekte =&lt;br /&gt;
&lt;br /&gt;
Projekte, die mit KiCad umgesetzt worden sind, finden sich auf der [[KiCad-Projekte|KiCad-Projektseite]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- alt -- &lt;br /&gt;
= Diskussionen (teilweise seeeehr alt) =&lt;br /&gt;
&lt;br /&gt;
* http://www.mikrocontroller.net/topic/120373#1089075 &lt;br /&gt;
* http://www.mikrocontroller.net/topic/98034#848559&lt;br /&gt;
* http://www.mikrocontroller.net/topic/95864#828660&lt;br /&gt;
* http://www.mikrocontroller.net/topic/77738#647041&lt;br /&gt;
* http://www.mikrocontroller.net/topic/103806#907523&lt;br /&gt;
* http://www.mikrocontroller.net/topic/41999#316195&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Weblinks =&lt;br /&gt;
&lt;br /&gt;
* [http://www.kicad.org kicad.org] Die neue Homepage&lt;br /&gt;
* [http://kicad.org/help/documentation/ Offizielle Dokumentation]&lt;br /&gt;
* [https://bugs.launchpad.net/kicad Bugreports] erstellen und nach vorhandenen Fehlern suchen, wenn einem etwas komisch vorkommt.&lt;br /&gt;
&lt;br /&gt;
* Tutorials: &lt;br /&gt;
&amp;lt;!-- alt -- ** [http://kicad.sourceforge.net/wiki/index.php/DE:Mini_tutorial Mini-Tutorial] --&amp;gt;&lt;br /&gt;
** [http://timogruss.de/kicad-loesung-fuer-die-leiterplatten-entwicklung/ KiCad Tutorial auf timogruss.de] (deutsch) (2013)&lt;br /&gt;
** https://www.youtube.com/watch?v=XD_PaSrLKBk Schematic Pages and Hierarchy In KiCad - Hierarchischer Schaltplan (2014)&lt;br /&gt;
** https://www.youtube.com/watch?v=YCdpXwRKbYc Create a library and put your own component in that library. (2014)&lt;br /&gt;
&amp;lt;!-- alt --&lt;br /&gt;
** http://store.curiousinventor.com/guides/kicad&lt;br /&gt;
** https://contextualelectronics.com/course/kicad-tutorial/ (Video Tutorials auf Englisch)&lt;br /&gt;
** http://xtronics.com/reference/kicad.html --&amp;gt;&lt;br /&gt;
** http://bastler-archiv.de/elektronik/platinenherstellung-platinenlayout-mit-kicad-teil-1/ (deutsch, Teil 1) (2011)&lt;br /&gt;
** http://bastler-archiv.de/elektronik/platinenherstellung-platinenlayout-mit-kicad-teil-2/ (deutsch, Teil 2) (2011)&lt;br /&gt;
** http://www.kramann.info/73_COACH3/06_Layouting/Layouting_art_Guido_Kramann_12122010.pdf (2010)&lt;br /&gt;
** [https://rheingoldheavy.com/category/education/kicad/ KiCad Tutorials zum Workflow, Migration alter KiCad Versionen und zu Stücklisten (RheingoldHEAVY, auf englisch)] (2015)&lt;br /&gt;
&amp;lt;!-- alt -- ** [http://roberthall.net/Wings3D_Tutorial_KiCad Tutorial zur Benutzung von Wings3D im KiCad Umfeld (englisch)] --&amp;gt;&lt;br /&gt;
** https://www.youtube.com/watch?v=i4vLxAoLvPk Video Tutorial auf Deutsch. Relativ aktuell.&lt;br /&gt;
&lt;br /&gt;
* Info&lt;br /&gt;
** [https://kicad.mmccoo.com/kicad-scripting-table-of-contents/ Python Scripting for KiCad] und [http://docs.kicad.org/doxygen-python/namespacepcbnew.html Befehlsliste]&lt;br /&gt;
** [https://wiki.aalto.fi/display/MEX/Introduction+to+KiCad] Ein paar Tips am Rande (2014)&lt;br /&gt;
** [http://www.daedalus.ei.tum.de/index.php/de/3d-druck-cnc/cnc/layout-und-g-code-erstellung-mit-kicad] Info für Leute, die Platinen durch Isolationfräsen statt ätzen erstellen&lt;br /&gt;
** [http://davidetienne.me/blog/2015/10/05/kicad-convert-ti-bxl-cad-files-to-kicad-libraries/] Ein Weg, um Libraries, die im Texas Instruments Format &amp;quot;.bxl&amp;quot; vorliegen, in KiCad Bibliotheken zu konvertieren. (2015)&lt;br /&gt;
&lt;br /&gt;
* Usergroups:&lt;br /&gt;
** [https://groups.yahoo.com/neo/groups/kicad-users/info Yahoo-KiCad-User-Group (Englischsprachig)]&lt;br /&gt;
** [https://forum.kicad.info/ Endlischsprachiges KiCad Forum]&lt;br /&gt;
&amp;lt;!-- alt -- ** [http://1.cad-kicad-user.cadtalk.us/ Englischsprachige Diskussionen über KiCad im &amp;quot;Cadtalk&amp;quot;-Forum] Leider nicht mehr existent. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tools&lt;br /&gt;
** [http://www.freerouting.net/ Freerouting] Autorouter (down: Download siehe [https://www.mikrocontroller.net/articles/KiCad#Tipps.26Tricks:_KiCad_und_Freeroute Tipps und Tricks])&lt;br /&gt;
** [http://www.mikrocontroller.net/articles/KiCad#Tools Liste mit externen Programmen und Skripten im Zusammenhang mit KiCad]&lt;br /&gt;
&lt;br /&gt;
* Verschiedenes im Zusammenhang mit KiCad&lt;br /&gt;
** [https://github.com/KiCad/kicad-library/wiki/Kicad-Library-Convention Kicad Library Convention / Regeln für offizielle KiCad Bibliotheken (Englisch)]&lt;br /&gt;
** [http://www.compuphase.com/electronics/LibraryFileFormats.pdf Aufbau der unterschiedlichen KiCad Bibliotheks Files (englisch)]&lt;br /&gt;
** [http://www.ohwr.org/projects/cern-kicad/wiki/WorkPackages CERN KiCad development roadmap / Was ist in KiCad Entwicklung geplant? (englisch)]&lt;br /&gt;
** [http://home.web.cern.ch/about/updates/2015/02/kicad-software-gets-cern-treatment Warum das CERN KiCad unterstützt (englisch)]&lt;br /&gt;
** [https://www.youtube.com/watch?v=chejn7dqpfQ Video mit der Leiterbahnlängenanpassen Funktion bzw. der &amp;quot;Differential pair&amp;quot; Funktion in KiCad.]&lt;br /&gt;
** [http://www.youtube.com/watch?v=irqlrVUbjuQ Video mit dem interaktiven Router]&lt;br /&gt;
&lt;br /&gt;
* Plattformen&lt;br /&gt;
&amp;lt;!-- alt -- ** Mac: http://brokentoaster.com/kicad/ --&amp;gt;&lt;br /&gt;
**Ubuntu: [http://www.mikrocontroller.net/topic/257321#2658268 KiCad selber compilieren] (2012)&lt;br /&gt;
** http://wiki.xtronics.com/index.php/Kicad Transtronics site (englisch)&lt;br /&gt;
&lt;br /&gt;
* HowTo von Tom Boyd (englisch)&lt;br /&gt;
** http://kicadhowto.wikidot.com/&lt;br /&gt;
** http://kicadhowto.org/&lt;br /&gt;
&lt;br /&gt;
* [https://hasanyavuz.ozderya.net/?p=256 PCB back annotation in KiCAD with Python]&lt;br /&gt;
&lt;br /&gt;
= Literatur =&lt;br /&gt;
* &#039;&#039;&#039;KiCad wie ein Profi&#039;&#039;&#039;, von Dr. Peter Dalmaris, Elektor-Verlag, 1. Auflage 2019, ISBN 978-3-89576-341-0&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=      =&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:KiCad]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=KiCad&amp;diff=107680</id>
		<title>KiCad</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=KiCad&amp;diff=107680"/>
		<updated>2025-08-23T11:11:47Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Excellon Drillfiles exportieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Wegen eines Umbaus dieser Seite bitte unter Diskussion lesen!&#039;&#039;&#039; [[Diskussion:KiCad#Seitenumbau]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KiCad&#039;&#039;&#039; ist ein Open Source [[Schaltplaneditoren|Schaltplaneditor]] und PCB Layoutprogramm für Windows, Linux, Mac OSX. &lt;br /&gt;
Diese Seite ist zunächst eine Zusammenfassung aus den KiCad Beiträgen im Forum. Und gleich zu Anfang ein grosses DANKE an alle KiCad-User aus dem Forum. Ihr seid zu viele, um jeden einzeln zu nennen. Aber wer sich diese Seite durchliest und den Links folgt, wird euch kennenlernen.  &lt;br /&gt;
&lt;br /&gt;
Hier sollen alte und neue KiCad-Anwender einen Anlaufpunkt finden und neue, insbesondere µC-relevante Aktivitäten stattfinden. &lt;br /&gt;
&lt;br /&gt;
Diese Seite will keine Konkurrenz zum offiziellen KiCad Wiki sein, d.h. was dort steht soll hier nicht wiederholt werden und was hier steht wird hoffentlich zum offiziellen KiCad Wiki wandern.&lt;br /&gt;
&lt;br /&gt;
Die Bedienung von KiCad setzt Hintergrundwissen über die Vorgänge voraus. Die Bedienungsweise entspricht eher einem alten Orcad, Altium oder auch BAE und weniger der von Eagle. Daher ist es Neulingen dringend angeraten, sich vorher die Handbücher und Tutorials gut durch zu sehen. Zur Einarbeitung benötigt man schon etwas Geduld.&lt;br /&gt;
Wer offizielle Releases verwendet, wird oft Bugs feststellen, die aber in den Testing Versionen im allgemeinen beseitigt sind.&lt;br /&gt;
Wenn ihr Kritik oder Fragen zu KiCad habt, dann nutzt das Forum! Sobald KiCad im Betreff steht, wird der Beitrag gelesen und nach Möglichkeit beantwortet. Auch Ideen zu dieser Seite sind sehr willkommen! &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suchen und Finden&#039;&#039;&#039; Da diese Seite hier etwas umfangreich geworden ist, empfehle ich eine Textsuche. Jeder Internetbrowser, der etwas auf sich hält, hat auch eine Suchfunktion, mit der der Text der Seite durchsucht werden kann. Bei Firefox/Iceweasel oben im Pull-down Menue unter &amp;quot;Bearbeiten&amp;quot; &amp;gt; &amp;quot;suchen&amp;quot; oder per Shortcut &amp;lt;Strg-F&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Link defekt -- Siehe auch die offizielle FAQ: http://kicad.sourceforge.net/wiki/index.php/FAQ --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;!-- alt 2007 -- &lt;br /&gt;
* Warum gefällt dir KiCad?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/70905#584639&lt;br /&gt;
** http://www.mikrocontroller.net/topic/81396#680502&lt;br /&gt;
** http://www.mikrocontroller.net/topic/83311#697917&lt;br /&gt;
** http://www.mikrocontroller.net/topic/42614#321502&lt;br /&gt;
* Warum gefällt dir KiCad nicht?&lt;br /&gt;
** Ich verstehe nicht, was du meinst ;-)&lt;br /&gt;
** http://www.mikrocontroller.net/topic/81396#680502&lt;br /&gt;
** http://www.mikrocontroller.net/topic/83311#697969&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wo gibt es weitere Infos zu KiCad?&lt;br /&gt;
** [http://KiCad.org Offizielle Homepage] &lt;br /&gt;
** [http://KiCad.org/help/ Die Offizielle Dokumentation] &lt;br /&gt;
** Einige allgemeine [https://docs.google.com/document/d/1M38ByFyqnhwGo8b_jDDyBceyZtEGeaSAuQaP9REzWrU/edit?usp=sharing Notizen] zur &#039;&#039;&#039;Installation&#039;&#039;&#039; und zur &#039;&#039;&#039;Arbeitsweise&#039;&#039;&#039; von KiCad &lt;br /&gt;
&amp;lt;!-- alt 2008 -- ** http://www.mikrocontroller.net/topic/98034#848661 (Von 2008, also seeeehr überholt) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Welche Leiterplattenfertiger akzeptieren KiCad Layouts?&lt;br /&gt;
** [http://www.pcb-pool.com/ppde/info_dataformat.html PCB-Pool.de]&lt;br /&gt;
** [http://fischer-leiterplatten.de Fischer Leiterplatten]&lt;br /&gt;
** [https://www.oshpark.com/ OSH Park]&lt;br /&gt;
&lt;br /&gt;
* Welche Gerberfiles benötigt der Leiterplattenhersteller?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/399503#new Forumsbeitrag]&lt;br /&gt;
** [[Gerber-Tools]] &lt;br /&gt;
** [[Richtiges_Designen_von_Platinenlayouts#Produktionsgerechter_Entwurf | Hinweise zur Technologie]]&lt;br /&gt;
&lt;br /&gt;
* Wie kriege ich raus, welche Leiterbahn welchen Netznamen hat, bzw. ich habe den Überblick verloren und weiß nicht mehr, was aus dem Layout nun was im Schaltplan ist?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/316539#3427724 Forumsbeitrag], Funktioniert nur gut, wenn ein großes Fadenkreuz gewählt ist.&lt;br /&gt;
** Genauere Informationen, z.B. über die Länge einer Leiterbahn etc. Dazu in PCBnew den gleichen Button rechts wie für das Hinzufügen von Leiterbahnen aktivieren. Oder besser noch rechts den zweiten Button von oben &amp;quot;Netz hervorheben&amp;quot;. Dann mit der rechten Maustaste die fragliche Leiterbahn anklicken. Unten in der Statusleiste werden die Informationen angezeigt.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/267538#new Forumsbeitrag]: KiCad ohne Maus bedienen. &lt;br /&gt;
* [http://www.mikrocontroller.net/topic/302664#3249204 Forumsbeitrag]: Gibt es Sonderzeichen, die ich für Symbole, Module/Footprints oder Files nicht verwenden sollte? Ja, alles was Sonderzeichen außer &amp;quot;- _ .&amp;quot; (Bindestrich, Tiefstrich, Punkt) und keine Zahl ist.&lt;br /&gt;
&lt;br /&gt;
* Wie stelle ich in KiCad das Zeitintervall für &amp;quot;automatisch Speichern&amp;quot; ein?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/459135#5551638 Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
* Woher beziehe ich KiCad?&lt;br /&gt;
** [http://kicad.org/download/ Offizielle Seite], alle Betriebssysteme        &lt;br /&gt;
*** Aktuelle Version: &#039;&#039;&#039;KiCad 9.0.4&#039;&#039;&#039; veröffentlicht im August 2025&lt;br /&gt;
*** Nightly Development Builds auch von der offiziellen Seite&lt;br /&gt;
*** KiCad kann man aus den Sourcen selbst compilieren. Dazu gibt es Skripte zur Unterstützung, die dieses automatisieren, so dass man nicht unbedingt C/C++ Kenntnisse braucht. Die meisten gängigen Linux Distributionen enthalten aber &amp;quot;old stable&amp;quot; KiCad Releases in ihren Repositories.&lt;br /&gt;
&amp;lt;!-- alt -- ** Windows: http://www2.futureware.at/~nickoe/ &lt;br /&gt;
*** Welcher Typ? ...-x86_64.exe oder ...-i686.exe ? Ich brauche x86 32 bit.&lt;br /&gt;
**** Für Windows PC 32 bit die ...-i686.exe, und für Windows PC 64 bit ...-x86_64.exe.&lt;br /&gt;
** Veraltet: http://www71.zippyshare.com/v/28617008/file.html Die Quelle ist hier genannt. https://groups.yahoo.com/neo/groups/kicad-users/conversations/messages/18534 --&amp;gt;&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/298311#3187885 Liste der Versionsänderungen] &lt;br /&gt;
* [http://www.mikrocontroller.net/topic/307517#new Forumsbeitrag]: Ich habe KiCad unter Linux installiert, aber wenn ich KiCad starten will, passiert einfach nichts, oder ich erhalte eine Fehlermeldung wie: &amp;quot;Datei nicht gefunden&amp;quot; &lt;br /&gt;
** 1) KiCad und seine zugeordneten Programme sollten im Suchpfad stehen. Es wird für Debian und Ableger empfohlen, KiCad unter usr/local/bin zu installieren. Anmerkung: Das ist die aktuelle Verfahrensweise. Oktober 2013 wurde aber noch folgende Struktur verwendet:&lt;br /&gt;
*** /usr/bin                            - Binaries (executable files).&lt;br /&gt;
*** /usr/share/doc/kicad/               - Various documentation.&lt;br /&gt;
*** /usr/share/doc/kicad/help           - Interactive help.&lt;br /&gt;
*** /usr/share/kicad/demos              - Sample schematics and printed boards.&lt;br /&gt;
*** /usr/share/kicad/internat           - Dictionaries for interface localization.&lt;br /&gt;
*** /usr/share/kicad/library            - Interface localization files.&lt;br /&gt;
*** /usr/share/kicad/modules            - Module libraries for printed boards.&lt;br /&gt;
*** /usr/share/kicad/modules/packages3d - 3D component models (.wrl and .wings format).&lt;br /&gt;
*** [http://iut-tice.ujf-grenoble.fr/cao/install.txt Quelle], hier sind auch Hinweise für Windows user enthalten.&lt;br /&gt;
&lt;br /&gt;
** 2) User sollten dort Lese- und Ausführungsrechte haben. Aber keine Schreibrechte.&lt;br /&gt;
** 3) Wenn ein fertiges Packgage auf einem 64 bit System verwendet wurde, könnte es daran liegen, das es für 32 bit compiliert wurde, und nicht für 64 bit. Es gibt zwei Möglichkeiten:&lt;br /&gt;
*** a) Selbst aus den Sourcen für sein eigenes System compilieren.&lt;br /&gt;
*** b) Die Runtime Libs für 32 Bit könnten fehlen. Nachinstallieren mit sudo apt-get install ia32-libs. Siehe [http://www.mikrocontroller.net/topic/307517#3307638 Forumsbeitrag]&lt;br /&gt;
* Ich habe das umgekehrte Problem: 32bit system aber 64bit Binarys.&lt;br /&gt;
** Selbst aus den Sourcen neu compilieren.&lt;br /&gt;
&amp;lt;!-- alt -- *Ich will/muss mir KiCad selber compilieren. Wie gehe ich vor?&lt;br /&gt;
** Aktuell nach: http://www.kicad.org/display/DEV/Build+KiCad&lt;br /&gt;
**&lt;br /&gt;
**Veraltet! siehe: http://www.mikrocontroller.net/topic/310766#3351269 Aber Achtung. Diese Anleitung (Oktober 2013) muss nicht aktuell sein. --&amp;gt;&lt;br /&gt;
* Sicherheitseinstellungen von Java sind für PCBnew unter JAVA -&amp;gt; JAVA konfigurieren zu finden.&lt;br /&gt;
&lt;br /&gt;
* Diskussionen zum Thema Installation und compilieren:&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/338600#new FEDORA] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/339509#new ARCH Linux]&lt;br /&gt;
* Konfigurationsdateien:&lt;br /&gt;
** Ab BZR5114 (ca. 5. September 2014) hat sich der Ordner für die Files mit den Konfigurationsdaten geändert. Unter Linux sind nun die Konfigurations Dateien in $HOME/.config/kicad (entsprechen der FreeDesktop.org Spezifikation). Um Ihre gegenwärtigen Konfigurierungen zu erhalten, können die KiCAd Konfigurationsfiles aus dem Home-Verzeichnis in den aktuellen Ordner kopiert werden. Es muss allerdings der führende &amp;quot;.&amp;quot; (Punkt) der Datei entfernt werden. Ebenso muss die globale &amp;quot;fp-lib-table&amp;quot; aus dem home-Verzeichnis dorthin kopiert werden. Windows User müssen KiCad leider reconfigurieren. Es gab keinen einfachen Weg um die Registry-Keys in die Konfigurationsdateien zu extrahieren. Die Konfigurationsdateien unter Windows werden genau wie die fp-lib-table im %APPDATA%\kicad Ordner gespeichert. Es ist angeraten, sämtliche Reste der KiCad Installation aus der Registry zu entfernen, wenn nicht KiCad Versionen vor der BZR5114 verwendet werden. Diese Lösung beseitigt die $home Ordner &amp;quot;Verschmutzung&amp;quot; und vermeidet die Benutzung der Windows registry, wie es häufig gewünscht wurde. Für OS X User ergeben sich keine Änderungen. [https://groups.yahoo.com/neo/groups/kicad-users/conversations/messages/18889 Link] auf die Originalnachricht (englisch):  (KiCad-User Group, 05. September 2014, Titel: Configuration file location changes (#18889) Autor: Wayne Stambaugh)&lt;br /&gt;
&lt;br /&gt;
=== Schaltplan ===&lt;br /&gt;
* Wie stellt man die Blattgröße beim Schaltplan ein?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/33653#974295 Forumsbeitrag]: In Page Settings die Blattgröße verstellen (z.B. von A4 auf A3) &lt;br /&gt;
* Wie mache ich eine neue Schaltplan Seite auf?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/398489#new Forumsbeitrag]: Nur in Form eines neuen hierarchischen Schaltplans&lt;br /&gt;
* Wie kann man den Schaltplan auf mehreren Seiten verteilen (hierarchical sheets)?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/96060 Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/117873#1060062  Forumsbeitrag]&lt;br /&gt;
*Wie geht man mit &amp;quot;Power Pins&amp;quot; in hi­e­r­ar­chischen Schaltplänen um?&lt;br /&gt;
**[http://www.mikrocontroller.net/topic/207905#new  Forumsbeitrag]&lt;br /&gt;
* Wie kann man die &amp;quot;hierachical sheets&amp;quot; benutzen, um aus vorgefertigten Subschaltplänen mit immer gleichen Bauteilgruppen rationell Schaltpläne zusammenzustellen (Building Blocks)?&lt;br /&gt;
** [http://www.mikrocontroller.net/articles/KiCad#Tipps.26Tricks:_Building_Blocks Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/175597#1687653 Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/178683#1724114 Forumsbeitrag]&lt;br /&gt;
* Ich habe einen hierarchischen Schaltplan angelegt. Wenn ich ihn ausdrucke, werden die Subschaltpläne in der Reihenfolge ausgedruckt, in der sie oben in der Übersicht stehen. Diese Reihenfolge ist aber in meinem Fall ungünstig. Wie kann ich diese nun ändern?&lt;br /&gt;
** Leider im Programm z.Z. noch nicht. Trotzdem ist es machbar. Entweder von Hand oder mit einem Python Skript. Näheres zu beidem findet sich ind diesem [http://www.mikrocontroller.net/topic/288394#3064087 Forumsbeitrag] . Ein Python 3 Skript, das den Umgang mit dem Kicad-Schaltplan erleichtert, findet sich [[Media:PyKicadSchematic-ID_Interchanger_RevC.zip | hier]].&lt;br /&gt;
*Wie geht man mit Bussen um?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/208870#new Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/209156#new Forumsbeitrag], speziell bei hierarchischen Schaltplänen&lt;br /&gt;
* Wie kann man Schaltplanentwurf (KiCad) und Schaltungssimulation (Spice) verbinden?&lt;br /&gt;
** NGspice ist in den Grundzügen mittlerweile in den entwicklungsversionen von KiCad integriert. Aktuell (Nov. 2016) muss man sich aber noch KiCad selber compilieren und dabei auch einen passenden Schalter für den Compiler setzten. Siehe: [https://www.mikrocontroller.net/topic/412350#4803960 Forumsbeitrag]&lt;br /&gt;
** [http://Fuhaweb.hartford.edu/kmhill/suppnotes/KiCadDia/AimSPICE/KiCad_AimSPICE_01.pdf Imformationen zur Zusammenspiel KiCad &amp;lt;&amp;gt; AimSpice] &lt;br /&gt;
* Ein [[Media:SymboleFuerKiCad318082009-RevC-DE.pdf | Tutorial]] zum Symboleditor für KiCad, mit dem die Symbole für das Schaltplanmodul (EEschema) erzeugt bzw. editiert werden.&lt;br /&gt;
* Zur Erstellung von Schaltplansymbolen in aufgelöster Darstellung (Relais: Kontaktsätze einzeln und getrennt von der Spule; IC: Versorgungsspannung getrennt von den einzelnen Gattern)&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/273891#new. Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/294095#3136180 Forumsbeitrag]&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/449373#new Forumsbeitrag]&lt;br /&gt;
* Wie kann man im Schaltplan Symbole zum Verschieben gruppieren?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/170913# Forumsbeitrag]&lt;br /&gt;
* Und wenn es darum geht, eine solche Gruppe in einen anderen Schaltplan oder Subschaltplan zu verschieben?&lt;br /&gt;
** Die Gruppe ins &amp;quot;Clipboard&amp;quot; stecken. Dazu nach dem Markieren der Gruppe rechte Maustaste klicken, und dort &amp;quot;Gruppe speichern&amp;quot; wählen. Nun ist die Gruppe im Clipboard. jetzt in den gewünschten Unterschaltplan gehen und die Gruppe dort mithilfe des Clipboardbuttons (Das Klemmbrett Symbol links neben dem &amp;quot;Undo&amp;quot;-Button) in den Schaltplan einfügen. NICHTS mit der rechten Maustaste versuchen! Siehe [http://www.mikrocontroller.net/topic/244836#2499782 Forumsbeitrag].  Das ganze geht nicht nur mit Subschaltplänen, sondern auch genauso in einen ganz anderen Schaltplan, den man dann halt in Eeschema öffnen muss, hinein. Wenn nach dem Einfügen allerdings nur ein Kästchen mit Fragezeichen erscheint, waren die nötigen Symbolbibliotheken für diese Symbole noch nicht in der Projektdatei eingetragen. Das muss man nun nachholen, indem man unter &amp;quot;Einstellungen&amp;quot; die &amp;quot;Bibliotheken&amp;quot; wählt, und die passenden Bibliotheken einträgt. Wenn man nicht genau weiß, wo diese zu finden sind, kann es sinnvoll sein, die *-cache.lib des Herkunftsschaltplanes einzubinden.&lt;br /&gt;
** Ist es möglich, im Schaltplan gruppierte Bauteile automatisch im Board als Gruppe zu verschieben?&lt;br /&gt;
*** Nein. Siehe [https://www.mikrocontroller.net/topic/398996#new Forumsbeitrag]&lt;br /&gt;
* Wie wird man den merkwürdigen Rahmen los?&lt;br /&gt;
** 1) Bei neueren KiCad Versionen, ab ca. Mitte 2013 (von mir getestet ab BZR 4513 29 November 2013) kann man sich eine Vorlage ohne Rahmen erstellen. Dazu den pl_editor (der ganz rechte Button im KiCad Hauptfenster) starten, und FAST alles entfernen. Dazu in der linken Spalte nacheinander alles aktivieren, und mit rechts anklicken und dann &amp;quot;entfernen&amp;quot; wählen. Aber Vorsicht, wenn alles Entfernt wird, taucht das Original Layout wieder auf. Workaround war bei mir, eine zusätzliche Alibilinie hinzuzufügen, die von X 0,000 Y 0,000 bis  X 0,001 Y 0,000 reicht. Das ist ein &amp;quot;Fliegenschiss&amp;quot; in der linken oberen Ecke. Jetzt kann alles andere gelöscht werden. Den so geleerten Rahmen unter einem beliebigen Namen mit der Endung .kicad_wks wegspeichern. Im geöffneten Schaltplan kann der dann unter Datei &amp;gt; Seite einrichten ganz unten unter &amp;quot;page layout file description&amp;quot; die entsprechende Datei eingebunden werden. Es bleibt aber dem Anwender offen, ob er den Rahmen komplett entfernt, oder noch Felder mit Textbeschreibungen übernimmt. Für gesteigerten Komfort kann diese Datei dann auch in ein Template eingebunden werden. &lt;br /&gt;
** 2) Beim Ausdrucken Frame deaktivieren.&lt;br /&gt;
** 3) Als SVG exportieren. Dort den Frame deaktivieren.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/343509#3791448 Forumsbeitrag]&lt;br /&gt;
* Wie schalte die Footprint-Namen in Eeschema global ab?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/253564#new Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Problem mit dem ERC. Ständig kommt die Fehlermeldung: &amp;quot;Pin ist mit anderen Pins verbunden, wird jedoch von keinem angesteuert&amp;quot;&lt;br /&gt;
** Netze, die nicht angesteuert werden, werden von Kicad misstrauische beäugt. Das &amp;quot;nicht ansteuern&amp;quot; kann aber schnell passieren, weil Kicad u.A. erwartet, das irgendwo ein Spannungsversorgung ist. Wenn diese aber z.B. über eine Sicherung oder einen Pull-up Widerstand gehen, so wird das nicht bemerkt, weil Sicherungen und Widerstände (oder auch Entstördrosseln) &amp;quot;passive&amp;quot; Pins haben. Siehe [http://www.mikrocontroller.net/topic/292988#new Forumsbeitrag] und [http://www.mikrocontroller.net/topic/298401#new Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Problem mit dem ERC. Immer in Verbindung mit GND kommt die Fehlermeldung: &amp;quot;Pin ist mit anderen Pins verbunden, wird jedoch von keinem angesteuert&amp;quot;&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/284089#new Forumsbeitrag]&lt;br /&gt;
* Beim ERC kommt die Fehlermeldung &amp;quot;PIN not connected&amp;quot; an Verbindungen, die per Label angeschlossen sind. Was ist da falsch?&lt;br /&gt;
**Sie sind tatsächlich nicht angeschlossen. [http://www.mikrocontroller.net/topic/346976#new Forumsbeitrag]&lt;br /&gt;
* Wie ist der Zusammenhang zwischen Bauteilen und Netznamen? Wie bekomme ich heraus, an welchem Netz mein Bauteil angeschlossen ist?&lt;br /&gt;
** Eeschema vergibt bzw. aktualisiert erst dann Netznamen, wenn eine Netzliste erzeugt wird. Darauf besteht entweder ein Zugriff über PCBnew, oder aber mit einem Editor. [http://www.mikrocontroller.net/topic/316539#new Forumsbeitrag]&lt;br /&gt;
* Ich habe einen Schaltplan geöffnet, aber alle oder einige der Symbole zeigen nur Kästen mit Fragezeichen.&lt;br /&gt;
** Es fehlen die passenden Symbolbibliotheken für diese Symbole.&lt;br /&gt;
** Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Diese Fehlen nun. Man braucht die Originalbibliotheken oder aber die Cache-Bibliothek dieses Schaltplans.&lt;br /&gt;
*** Diese müssen in der Liste der Bibliotheken nachgetragen werden. Siehe dazu die Handhabung von Bibliotheken: [[KiCad#Handhabung_von_Bibliotheken]]&lt;br /&gt;
** Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Diese Fehlen nun. Man braucht nun die Originalbibliotheken oder aber die Cache-Bibliothek dieses Schaltplans.&lt;br /&gt;
** Ab BZR4646 (Jan./Feb. 2014) behandelt KiCad Symbolnamen &amp;quot;Case Sensitive&amp;quot;. Das führt zu Problemen mit älteren Schaltplänen, wo das anders gehandhabt wurde.&lt;br /&gt;
*Wieviele Textfelder für Symbole kann ich anlegen und wie groß dürfen diese sein?&lt;br /&gt;
** Mindestens 35 Felder, die mindestens 256 Zeichen (tatsächlich deutlich mehr) beinhalten können. Aber Zeilenumbrüche gehen nicht. [http://www.mikrocontroller.net/topic/331201#3658695 Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Symbol im Symboleditor geändert. Aber irgendwie taucht diese Änderung dann in Eeschema trotzdem nicht auf.&lt;br /&gt;
** Die Reihenfolge der Einträge in der Bibliotheksliste ist wichtig. Bei gleichem Namen wird immer das zuerst gefundene Symbol verwendet. Steht die -cache.lib in der Reihenfolge zu oberst, wird immer zuerst das Bauteil aus der -cache.lib verwendet. Beheben: Die -cache.lib aus der Bibliotheksliste von Eeschema austragen und neu eintragen, so dass sie unten angefügt wird, und zuletzt geladen wird. Alternativ: Bei Änderungen einen neuen Namen für das Symbol vergeben. Z.B. durch das Pflegen eines Revisions- oder Datecode im Symbolnamen. Einfach nur die -cache.lib löschen langt möglicherweise nicht, weil diese u.U. mit alten Daten neu geschrieben wird (wenn z.b. Eeschema dabei nicht geschlossen ist). [http://www.mikrocontroller.net/topic/331201 Forumsbeitrag]&lt;br /&gt;
* Wie erstelle ich eine Stückliste (BOM, Bill of Materials)?&lt;br /&gt;
** 1) In PCBnew oben im Pull down Menue Datei &amp;gt; Fertigungsdateien &amp;gt; BOM (Bill of materials) Geht nur, wenn die Netzliste schon importiert wurde.&lt;br /&gt;
** 2) In EEschema unter Werkzeuge &amp;gt; Stückliste erstellen &amp;gt; und dann ein Plugin wählen. Es gibt verschieden Plugins mit verschiedenen Eigenschaften z.B. auch für kumulierende Listen. Die Plugins kann man von [https://github.com/KiCad/kicad-source-mirror/tree/master/eeschema/plugins hier] beziehen: Achtung, ein kleiner &#039;&#039;&#039;BUG&#039;&#039;&#039; In den Voreinstellungen der Kommandozeile muss in den Optionen &amp;quot;%O&amp;quot; in &amp;quot;%O.csv&amp;quot; umgewandelt werden, sonst hat die erzeugte Datei keinen .csv extender. Grundsätzlich: Hier wird zuerst eine behelfsmäßige Netzliste im .xml Format erstellt. Die Kommandozeile startet dann ein Programm, was widerum ein .xsl Skript (Das Plugin) abarbeitet, und als output eine .csv Datei erzeugt, die in Tabellenkalkulationen importiert werden kann. In die Kommandozeile kann natürlich auch etwas anderes eingetragen werden, so dass man dort z.B. auch Python Skripte verwenden kann.&lt;br /&gt;
** 3) Man kann sich selber ein separates Skript erstellen, welches die .kicad_sch Datei parst, und daraus eine .csv oder anders gestaltete BOM-Datei erstellt, so wie man es braucht. Da man auch ohne Plugins bei drücken von &amp;quot;Erstellen&amp;quot; die oben erwähnte behelfsmäßige Netzliste erhält, kann man diese auch mit externen Skripten bearbeiten. Es gibt Mittelwege zwischen 2) und 3). Für ein Python Skript siehe [https://forum.kicad.info/t/kibom-python-bom-generation-tool/3038 hier]&lt;br /&gt;
** Info:&lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/402089#new Forumsbnbeitrag]: &amp;quot;KiCad Stückliste&amp;quot; &lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/376977?goto=new#new Forumsbeitrag]: &amp;quot;Kicad Bauteilliste(BOM) erstellen&amp;quot;&lt;br /&gt;
**  [https://www.mikrocontroller.net/topic/402565#new Forumsbeitrag]: Klaus hat ein Plugin geschrieben, dass in html überträgt&lt;br /&gt;
* Ich möchte eine Stückliste (BOM, Bill of Materials) mit einer Datenbank, z.B. für Bestellnummern verbinden.&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/416192#4856645 Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
=== Netlist ===&lt;br /&gt;
* Was genau muss man beim Übergang vom Schaltplan (SCH) zum Layout (BRD) machen?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/33653#898771&lt;br /&gt;
** http://www.mikrocontroller.net/topic/39243#290309&lt;br /&gt;
** http://www.mikrocontroller.net/topic/39243#891530&lt;br /&gt;
* Kann man fertige Netzlisten für Gruppen von Bauteilen einbinden?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/33653#1462871&lt;br /&gt;
* Wie sieht das allgemein mit der Zuordnung Symbol zu Footprint aus?&lt;br /&gt;
** Symbole und Footprints sind zwar von der Idee her erst einmal getrennt, und Footprints werden über CVpcb und Netzliste den Symbolen zugeordnet.&lt;br /&gt;
** Allerdings besteht auch eine Möglichkeit, Symbolen einen bevorzugten Footprint  fest zuzuweisen, der dann automatisch in die Netzliste zum Einlesen in das Board eingetragen wird. Wenn dann der Zuweisungsschritt mit CVbcb in der Netzliste gemacht wird, ist dort schon etwas eingetragen, was man so lassen oder aber ändern kann.&lt;br /&gt;
*** Dazu in EEschema mit der Maus auf ein Symbol gehst und &amp;quot;E&amp;quot; drücken. Alternativ über rechten Mausklick auf Symbol und dann das Kontextmenuest gehen. Wenn man im Symboleditor arbeitet, aus der oberen buttonleiste den Button mit dem &amp;quot;T&amp;quot;-Symbol wählen. Es poppt ein Fenster auf &amp;quot;component properties&amp;quot;. In der Mitte ist eine Tabelle mit unter anderem einem Eintrag &amp;quot;Footprint&amp;quot;. Wenn dann &amp;quot;Footprint&amp;quot; aktiviert wird. kann rechts der Name eines Footprintes eingebenwerden (kompliziert), oder, wesentlich einfacher, darunter gibt es einen Button &amp;quot;browse Footprints&amp;quot;. Wenn der aktiviert wird, öffent sich ein Fenster, in dem sich in den in die Bibliothekslisten eingetragenen Footprintbiblotheken herumwühlen lässt.&lt;br /&gt;
** Desweiteren kann auch eine Kopie des Symbols unter anderem Namen angelegt werden, und dort ein anderer Footprint eingetragen werden, als Variante. Falls das Pinning nicht passt, müssen halt auch noch die Pinne im Symbol passend zum Footprint gemacht werden.&lt;br /&gt;
** Diskussion dazu: https://www.mikrocontroller.net/topic/432920#5112114&lt;br /&gt;
* Kann man Daten für automatische Bestückung erzeugen?&lt;br /&gt;
** Ja. aber nicht in CVpcb für die Symbol &amp;gt; Footprint Zuordnung, sondern im Layout Modul PCBnew.&lt;br /&gt;
* In meiner Netlist fehlen Bauteile, die im Schaltplan vorhanden und angeschlossen sind. Der ERC läuft problemlos durch. Die Annotation auch, aber nach Erstellung der Netlist sind die Symbole plötzlich mit einem vorangestellten &amp;quot;#&amp;quot; im Schaltplan bezeichnet.&lt;br /&gt;
** Vermutlich sind sie versehentlich als &amp;quot;virtuelles&amp;quot; Bauteil gekennzeichnet. Siehe http://www.mikrocontroller.net/topic/268626#new&lt;br /&gt;
* Wie exportiere ich eine Netlist NUR für einen Subschaltplan?&lt;br /&gt;
** Das geht, nachdem dieser Schaltplan explizit in EEschema geöffnet wurde. Siehe: http://www.mikrocontroller.net/topic/330740#new&lt;br /&gt;
* Ich finde CVpcb nicht mehr am gewohnten Platz zwischen all den anderen Startbuttons!&lt;br /&gt;
** CVpcb ist inzwischen aus diesen entfernt worden, und durch Startbuttons für den Symboleditor und den Footprinteditor ersetzt worden. Dafür kann CVpcb jetzt direkt aus Eeschema heraus gestartet werden. Es findet sich jetzt im oberen Pulldown Menue unter &amp;quot;Werkzeuge&amp;quot; und dann &amp;quot;Bauteilfootprints zuweisen&amp;quot; oder in der oberen Buttonleiste als dritter Button von rechts (BZR5175 vom 11 Oktober 2014).&lt;br /&gt;
** Sollte KiCad abstürzen, wenn man versucht, CVpcb zu starten, so kann man CVpcb auch direkt aus einem Terminal oder aus der Eingabeaufforderung heraus starten.  &lt;br /&gt;
** Versuchsweise mal 10 Minuten warten.....bei Problemen mit der Erkennung von Symbolnamen und Footprintnamen (beim öffnen ganz alter Projekte mit alten Dateiformaten) kann es manchmal extrem lange dauern.&lt;br /&gt;
* Was bedeuten die Maßangaben in der Netlist?&lt;br /&gt;
* Wie überträgt man Kicad Schaltpläne in QUCS Schaltpläne für Simulation?&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
* Wie stellt man die Rastergrösse im Layout ein?&lt;br /&gt;
** Mit der Rechten Maustaste in das Board klicken. Es poppt ein Menue auf. Dort Raster wählen..... Geht im Modul-Editor genauso.&lt;br /&gt;
* Wie verteile ich die übereinander geladenen Bauteile?&lt;br /&gt;
**Oben das IC Symbol mit den zwei Pfeilen (Mode footprint) aktivieren und mit der rechten Maustaste auf der Platine im Menü &amp;quot;Global spread and place&amp;quot; anwählen und die gewünschte Art auswählen.&lt;br /&gt;
* Wie werden Pads und Leiterbahnen verbunden?&lt;br /&gt;
**Siehe: http://www.mikrocontroller.net/topic/119755#1081455&lt;br /&gt;
**Aktueller: http://www.mikrocontroller.net/topic/220733#new&lt;br /&gt;
* Ich kann keine Leiterbahnen ziehen!&lt;br /&gt;
** Vermutlich hast Du den automatischen DRC (Design rule check) aktiviert. Deaktiviere ihn halt. In PCBnew im linken Buttonbar der oberste Button (Insekt mit Verbotszeichen). http://www.mikrocontroller.net/topic/306476#new&lt;br /&gt;
* Aber jetzt habe ich beim Ziehen der Leiterbahnen so merkwürdige Ergebnisse!&lt;br /&gt;
** Option &amp;quot;Remove redundant tracks&amp;quot; wählen! Siehe https://www.mikrocontroller.net/topic/381906#new &lt;br /&gt;
* Mir fehlen Airwires/Luftlinien/Gummibänder!&lt;br /&gt;
** Vieleicht die falschen Pins als Typ &amp;quot;Spannungsausgang&amp;quot; definiert? Siehe: http://www.mikrocontroller.net/topic/330817#3620918&lt;br /&gt;
* Ich bekomme immer eine Fehlermeldung vom DRC, das ein Pad nicht angeschlossen ist, aber ich habe es angeschlossen.&lt;br /&gt;
**Siehe: http://www.mikrocontroller.net/topic/204717#2018724&lt;br /&gt;
* Ich will ein Bauteil für geringeren Leiterwiderstand sowohl auf der Unterseite- als auch der Oberseite anschließen. KiCad löscht aber immer den alten Leiterbahnzug, wenn ich den neuen lege. &lt;br /&gt;
** Deaktiviere unter Einstellungen-&amp;gt;Allgemein das &amp;quot;auto-entfernen-von-Leiterbahnen&amp;quot; (einfachste Lösung). &lt;br /&gt;
** Alternativ: Designe dafür Bauteile mit speziellen Pads. http://www.mikrocontroller.net/topic/187606#1823596 (realistischste u. sauberste Lösung, aber etwas umständlich.)&lt;br /&gt;
* Das Löschen der Leiterbahnen Segment für Segment ist sehr umständlich. Geht es besser?&lt;br /&gt;
** Ja. Siehe: https://www.mikrocontroller.net/topic/385768#new &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Bei neueren (RC4 z.B.) Versionen von PCBnew kann unter &amp;quot;View&amp;quot; verschiedene &amp;quot;Canvas&amp;quot; verwendet werden. Jeder dieser &amp;quot;Canvas&amp;quot; verhält sich etwas anders und hat andere Vorzüge.&lt;br /&gt;
** Aktuell (Jan. 2019) mit Auswahlbox. Achtung: Die Auswahlbox hat anderes Verhalten in KiCad 6, je nachdem ob man sie von rechts oder von links aufgezogen hat! Details siehe: https://www.mikrocontroller.net/topic/467735#new&lt;br /&gt;
* Wie kann man ein Bauteil mit Pads und Leiterbahnen bewegen? &lt;br /&gt;
** http://www.mikrocontroller.net/topic/118539#1067219&lt;br /&gt;
* Wie füllt man eine Fläche aus?&lt;br /&gt;
** Siehe: http://www.mikrocontroller.net/topic/93131#854802&lt;br /&gt;
** Etwas aktueller: http://www.mikrocontroller.net/topic/182271#1772119 Zweiter Teil des Posts.&lt;br /&gt;
** Und wie erzeuge ich konzentrisch ineinanderliegende Flächen?&lt;br /&gt;
*** Siehe: http://www.mikrocontroller.net/topic/327475#new&lt;br /&gt;
** Wie ist das Verhalten von KiCad bei Flächen/Polygonen verglichen mit Eagle?&lt;br /&gt;
*** Siehe: https://www.mikrocontroller.net/topic/473604#new&lt;br /&gt;
** Ja, aber meine Fläche wird nicht gefüllt oder es passiert was ganz merkwürdiges.&lt;br /&gt;
***Siehe: http://www.mikrocontroller.net/topic/298692#new &lt;br /&gt;
***Konkreter: Es sollte darauf geachtet werden, das mindestens ein Endpunkt oder ein Via oder ein Knickpunkt der Leiterbahn, die mit der zu füllenden Fläche verbunden sein soll, innerhalb der als zu füllen definierten Fläche liegen. Siehe http://www.mikrocontroller.net/topic/366199#new&lt;br /&gt;
* Die Flächen habe ich jetzt, aber wie sieht das mit &amp;quot;Stitching&amp;quot; aus? Anmerkung: Als &amp;quot;Stitching&amp;quot; (von Engl. &amp;quot;stitch&amp;quot;: Nähen) bezeichnet man das Verbinden mehrerer Flächen oder Leiterbahnen gleichen Potentials mit Durchkontaktierungen durch die Platine hindurch. Üblich z.B. für Masseflächen. Die gleiche Technik kann auch verwendet werden, wenn man für Hochstromverbindungen mehrere Durchkontaktierungen parallel schalten möchte, wobei KiCad beim ziehen des Tracks nur eine  Durchkontaktierung setzt, und die anderen von Hand dazugesetzt werden müssen. &lt;br /&gt;
** Es gibt verschiedene Methoden. Je nach Geschmack. Siehe: http://www.mikrocontroller.net/topic/380550#new und https://www.youtube.com/watch?v=Hp5ngKtl7S4&amp;amp;list=PLJhdeJOBBRdnPgqcUiONoV4NLCo12f-jT&amp;amp;index=5&lt;br /&gt;
* Ich habe eine Platine, die von oben und unten bestückt ist. Wenn ich jetzt Bauteile zusammengruppiere, um sie gemeinsam zu verschieben, erwische ich immer alle Bauteile auf Vorder- und Rückseite. Wie bekomme ich das jetzt hin, das ich nur Module auf einer Seite bewege?&lt;br /&gt;
** Indem im Lagenmanager die Seite, die nicht bewegt werden soll, abgeschaltet wird. Siehe: http://www.mikrocontroller.net/topic/311586#new&lt;br /&gt;
* Wie bekommt man ein vernünftiges Boardoutline hin?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/96060#1057511 &lt;br /&gt;
* Wie erstellt man ein rundes Loch, z.B. eine Befestigungsbohrung / nichtdurchkontaktierte Bohrung?&lt;br /&gt;
** VERALTET: http://www.mikrocontroller.net/topic/179308#1726990&lt;br /&gt;
** VERALTET:http://www.mikrocontroller.net/topic/120373#1122219 ?????&lt;br /&gt;
** KiCad kann mittlerweile auch direkt nichtdurchkontaktierte Bohrungen erzeugen. Siehe dazu http://www.mikrocontroller.net/topic/263069#2732405 Enthält auch allgemeine Informationen zum Umgang mit durchkontaktierten und nicht durchkontaktierten Bohrungen.&lt;br /&gt;
Da Löcher mit einem Durchmesser ab 2mm gefräst statt gebohrt werden können, und ab 6mm Durchmesser mit hoher Sicherheit gefräst werden, ist es sinnvoll, Löcher ab ca. 4mm Durchmesser in PCBnew mit dem Kreistool in das Layer &amp;quot;edge.cuts&amp;quot; zu zeichnen.&lt;br /&gt;
&lt;br /&gt;
* Ich möchte für Passermarken / Fiducials eine deutlich größere Freistellung in der Lötstoppmaske haben. Wie geht das?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/266730#2779498&lt;br /&gt;
* Wie geht das überhaupt mit den Lötstoppmasken?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/283721#new&lt;br /&gt;
* Ja, aber die Lötstoppmaske wird leider nicht angezeigt.&lt;br /&gt;
** http://www.mikrocontroller.net/topic/298028#new&lt;br /&gt;
* Ich möchte Text und Markierungen/Grafik statt im Bestückungsdruck im Lötstopplack erstellen. Geht das überhaupt und wie ist das zu bewerkstelligen?&lt;br /&gt;
** Das geht, und dazu ist der Text oder die grafischen Linien/Kreise direkt in die Lötstoppmaske zu schreiben. Siehe: http://www.mikrocontroller.net/topic/347702#new Die Lötstoppmasken Lagen heissen F.Mask (Bestückungsseite) und B.Mask (Lötseite).&lt;br /&gt;
* Ich möchte Text invers im Bestückungsdruck haben.&lt;br /&gt;
** Das geht. Siehe: http://www.mikrocontroller.net/topic/417961#4888742&lt;br /&gt;
* Wie kann man Bauteilmaße in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
** Anzeige im Layout: Layer &amp;quot;Zeichnung&amp;quot; anwählen. In der rechten Menueleiste &amp;quot;Bemaßung hinzufügen&amp;quot; wählen. Das ist der fünfte Button von unten mit der &amp;quot;blauen Bemaßung&amp;quot;. Jetzt an einer Stelle links ins Layout klicken. Maus verschieben und noch einmal links klicken und die Maus seitlich verschieben. Es wird ein Maßpfeilsystem zwischen erstem und zweitem Mausklick angelegt, dessen höhe man mit der Maus einstellen kann. Ein weiterer linker Mausklick fixiert das System. Das Anklicken der Beschriftung mit der rechten Maustaste erlaubt das Editieren. Das System wird immer in der Einheit angelegt, die in der linken  Menueleiste vorgewählt wurde. Die Rasterung der aktuellen Einstellung wird auch übernommen. Späteres Ändern von Einheit- und Raster ändern die Beschriftung nicht mehr. In 3D und im Footprint geht diese Möglichkeit nicht.&lt;br /&gt;
** Weitere Möglichkeiten: Einen Maßstab als footprint/Modul anfertigen und zum Messen in das Board einfügen.&lt;br /&gt;
** Wenn man im Layout aber direkt etwas ausmessen möchte, so geht das über den relativen Nullpunkt. Unten im Rahmen rechts sind vier Felder. Die beiden linken zeigen die absoluten Koordinaten, an, die beiden rechten die relativen Koordinaten in Bezug auf einen relativen Nullpunkt. Defaultmäßig stimmen absoluter und relativer Nullpunkt ersteinmal überein. Per &amp;quot;Space bar&amp;quot; drücken setzt Du den relativen Nullpunkt an den Ort des Mauszeigers. Wenn Du nun die Maus verfährst, zeigen die relativen Koordinaten nun den vertikalen und horizontalen Abstand zum Nullpunkt. Die Diagonale muss leider über den Pythagoras selber ausgerechnet werden, oder indem man die Polarkoordinateneinstellung wählt (linke Menueleiste). Durch geschicktes setzten des Nullpunktes kann man nun auf der Platine herummessen. Winkel können auch über die Polarkoordinateneinstellung gemessen werden. Im Moduleditor geht das analog. Das 3D-View kann zur Zeit (Januar 2011) überhaupt keine Bemaßung.     &lt;br /&gt;
* Wie kann man mit der KiCad Version 20100314 &#039;&#039;&#039;einseitige&#039;&#039;&#039; Platinen erstellen?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/172015#1651239&lt;br /&gt;
** aktueller: http://www.mikrocontroller.net/topic/172015#1794699&lt;br /&gt;
*Und wie teile ich KiCad mit, daß der Autorouter nur eine Seite verwenden soll?&lt;br /&gt;
** Auf die doofe Tour: Erst in KiCad zweiseitig wählen, und dann beide Lagen im Autorouter als &amp;quot;Unterseite&amp;quot; wählen.&lt;br /&gt;
&lt;br /&gt;
* Wie gehen runde Bögen in KiCad?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/202512#1994063&lt;br /&gt;
* Ich brauche für einen Platinenumriss eine geschlossene Linie. Das klappt aber irgendwie nicht.&lt;br /&gt;
** Die Endpunkte müssen exakt aufeinander liegen. Dazu&lt;br /&gt;
*** A) Passende Raster verwenden&lt;br /&gt;
*** B) parametrisch die Endpunkte direkt als Koordinaten eingeben.&lt;br /&gt;
*** Siehe Diskussion dazu: https://www.mikrocontroller.net/topic/418296#new&lt;br /&gt;
* Wie benutze ich den interaktiven Router (Push &amp;amp; Shove) in PCBnew?&lt;br /&gt;
** Dazu muss in PCBnew im Pulldown-Menue unter &amp;quot;Ansicht&amp;quot; die Option &amp;quot;Canvas nach OpenGL umschalten&amp;quot; oder &amp;quot;Canvas nach Cairo umschalten&amp;quot;gewählt werden. Wenn man nun, wie gewohnt, aus der rechten Button Leiste das Verlegen von Leiterbahnen wählt, eine Leiterbahn/Luftlinie wählt und rechts anklickt, erhält man den interaktiven Router. Aber Achtung - wegen des geänderten Kontextmenues kann es sinnvoll sein, für andere Tätigkeiten auf die Voreinstellungen zurückzuschalten.&lt;br /&gt;
* Wie stelle ich beim Routen die Leiterbahnbreiten ein?&lt;br /&gt;
** Sie müssen vorher in den Design Rules definiert werden. Siehe: https://www.mikrocontroller.net/topic/452117#new&lt;br /&gt;
* Ich habe mein Board fertig geroutet, stelle aber jetzt fest, das ich noch einige Leiterbahnbreiten ändern muss. Wie geht das am einfachsten?&lt;br /&gt;
** Eine Leiterbahn rechts anklicken und Segment oder Track ändern. Das Verhalten ist im Detail vom gewählten Canvas anhängig. Und die Leiterbahnbreite muss schon in den Design rules existieren. Siehe hier: https://www.mikrocontroller.net/topic/452117#new&lt;br /&gt;
*** Ab KiCad 5.1 bzw. 6 wird es die verschiedenen Modi nicht mehr geben. Siehe https://www.mikrocontroller.net/topic/467735#5718645&lt;br /&gt;
* Wie gestalte ich einen gleitenden, stetigen Übergang bei einer Änderung der Leiterbahnbreite?&lt;br /&gt;
** Mit Workarounds wie dreieckigen/trapezförmigen Pads oder einem sehr fein gestaffelten stufigen Übergang. Siehe: https://www.mikrocontroller.net/topic/438242&lt;br /&gt;
**http://www.mikrocontroller.net/topic/205851#new&lt;br /&gt;
*Ich kann Pads nicht anschließen bzw. ich bekomme vom DRC Fehlermeldungen, daß ich Pads nicht angeschlossen habe, obwohl sie angeschlossen sind.&lt;br /&gt;
**http://www.mikrocontroller.net/topic/204717#new&lt;br /&gt;
*Wie kann ich Daten für automatische Bestückung (Pick&amp;amp;Place) erzeugen?&lt;br /&gt;
** In PCBnew unter Datei &amp;gt; Fertigungsdateien &amp;gt; Bauteile Positionsdatei (.pos). Aber dieses verlangt, das die Footprints auch die richtigen Informationen dazu enthalten. Um diese einzustellen, den Footprint im Moduleditor öffnen und unter dem Button &amp;quot;Bauteileigenschaften&amp;quot; in &amp;quot;Attribute&amp;quot; eine Markierung bei &amp;quot;Normal+Einfügen&amp;quot; machen. Dann wird der Ankerpunkt des Modules für die Positionsdatei verwendet. Damit sinnvolle Daten entstehen, sollte der Ankerpunkt bei SMD-Footprints in die Mitte des Footprintes gesetzt worden sein. &lt;br /&gt;
* Gibt es &amp;quot;Regeln&amp;quot; für das Setzten von Ankerpunkten bei Footprints?&lt;br /&gt;
** Es gibt Konventionen. Bei SMD-Bauteilen der &amp;quot;Mittelpunkt&amp;quot; des Bauteiles. Dieser wird auch für Pick&amp;amp;Place Daten in der automatischen Bestückung verwendet. &lt;br /&gt;
** Bei THT-Bauteilen wird als Konvention die Mitte von Pin 1 als Ankerpunkt verwendet.&lt;br /&gt;
*Und wie erzeuge ich ein Excellon Drillfile?&lt;br /&gt;
** In PCBnew unter Datei &amp;gt; Fertigungsdateien &amp;gt; Bohrdaten. Die Datei enthält auch eine Werkzeugliste. Kicad legt u.U. zwei Drillfiles an, wenn erforderlich. Eines für durchkontaktierte, und eines für nicht durchkontaktierte Bohrungen. Wer eine extra Liste und eine Statistik wünscht, muss auch noch &amp;quot;Bericht über Bohrung&amp;quot; anwählen.&lt;br /&gt;
** Bei mir wird aber nur ein Drillfile erzeugt. Was läuft falsch?&lt;br /&gt;
***Die NPTH Drills müssen im Pad-Editor explizit als solche gekennzeichnet werden. In PCBnew erkennt man sie dann als dicke gelbe Flächen. Siehe: http://www.mikrocontroller.net/topic/322941#3989397 Bei älteren Footprints ist das aber noch nicht komplett umgesetzt. &lt;br /&gt;
* Wenn PCBnew die Netzliste eingelesen hat, liegen alle Bauteile auf einem Haufen. Zum Plazieren eines herausgreifen ist mühsam. Wie geht das am einfachsten?&lt;br /&gt;
** In PCBnew &amp;quot;T&amp;quot; drücken. Es poppt ein Fenster auf, wo man die Bauteilreferenz (den Namen) eingeben kann. Und schon hängt das Bauteil zum Bewegen am Zeiger. Die Bedienung ist letztlich genauso wie das &amp;quot;m&amp;quot; und die Komandozeile in Eagle. Siehe http://www.mikrocontroller.net/topic/293903#3133990&lt;br /&gt;
** &amp;quot;Raef&amp;quot; hat ein Python Script erstellt, das Bauteile automatisch ähnlich der Anordnung im Schaltplan plaziert. Siehe: http://www.mikrocontroller.net/topic/293903#3245990&lt;br /&gt;
** In neueren PCBnew Version gibt es ein gutes parametrisches Plazieren: https://www.mikrocontroller.net/topic/432920#5108442&lt;br /&gt;
* Ich habe ein fertiges Layout. Jetzt möchte ich aber andere Footprints verwenden, und anschließend nicht neu routen müssen. Wie geht das?&lt;br /&gt;
** Über CVpcb und Neueinlesen der Netzliste. Siehe: http://www.mikrocontroller.net/topic/297885#new&lt;br /&gt;
* Ich will links herum routen, aber Kicad meint unbedingt rechts herum (...oder umgekehrt). Wie kann ich die Leiterbahnen &amp;quot;flippen&amp;quot;?&lt;br /&gt;
** Mit &amp;quot;/&amp;quot; (Slasch) http://www.mikrocontroller.net/topic/280028#new&lt;br /&gt;
* Ich hätte gerne die Tastenkürzel in kicad so wie in meinem gewohnten Programm. Wie geht das?&lt;br /&gt;
** Siehe http://www.mikrocontroller.net/topic/283959#3007173 . Vieleicht ist einer ja so nett, und stellt Konfigurationsfiles für Leute die aus EAGLE, ORCAD oder so wechseln, bereit.&lt;br /&gt;
* Ich habe ein kleines Board fertig geroutet. Jetzt möchte ich mehrere davon zu einer größeren Platine zusammenführen (sog. Mehrfachnutzen), um sie rationeller fertigen zu können.&lt;br /&gt;
** Siehe http:http://www.mikrocontroller.net/topic/292334#new . Das geht natürlich genauso, wenn man verschiedene Platinen so zu Nutzen zusammenfügen möchte, oder halt kleinere Teillayouts zu einem Gesamtboard.&lt;br /&gt;
*** Nachtrag: Wenn in PCBnew &amp;quot;append Board&amp;quot; oder &amp;quot;save as&amp;quot; ausgegraut sind, so schliesse KiCad Eeschem und PCBnew komplett und starte PCBnew direkt ohne über KiCad zu gehen. Das ist in neueren KiCad Versionen so vorgesehen. Siehe https://www.mikrocontroller.net/topic/399145#new&lt;br /&gt;
&lt;br /&gt;
* Ich habe einen Schaltplan mit Subschaltplänen, zu denen ich separate Layouts erstellen möchte.&lt;br /&gt;
** Dazu diesen Subschaltplan explizit in EEschema öffnen, und die Netzliste nur für diesen Subschaltplan exportieren.  Weitergehen wie üblich. Siehe: http://www.mikrocontroller.net/topic/330740#new&lt;br /&gt;
* Ich möchte Varianten eines Layouts erstellen. Was ist dazu zu sagen? Siehe: http://www.mikrocontroller.net/topic/330740#3616697&lt;br /&gt;
** Siehe http://www.mikrocontroller.net/topic/292123#new&lt;br /&gt;
* Wie importiere ich DXF-Dateien in PCBnew? z.B. ein Platinenumriss aus einem mechanischen CAD-Programm?&lt;br /&gt;
** Dafür existiert eine Import Funktion in PCBnew: Datei &amp;gt; Importieren &amp;gt; DXF-Datei. Siehe http://www.mikrocontroller.net/topic/327628#new &lt;br /&gt;
aktueller: https://www.mikrocontroller.net/topic/469438#new&lt;br /&gt;
* Wie wird man den merkwürdigen Rahmen los?&lt;br /&gt;
** 1) Genauso wie im Schaltplan. Dazu den pl_editor (der ganz rechte Button im KiCad Hauptfenster) starten, und FAST alles entfernen. Dazu in der linken Spalte nacheinander alles aktivieren, und mit rechts anlicken und dann &amp;quot;entfernen&amp;quot; wählen. Aber vorsicht, wenn alles Entfernt wird, taucht das Original Layout wieder auf. Workaround war bei mir, eine zusätzliche Alibilinie hinzuzufügen, die von X 0,000 Y 0,000 bis  X 0,001 Y 0,000 reicht. Das ist ein &amp;quot;Fliegenschiss&amp;quot; in der linken oberen Ecke. Jetzt kann alles andere gelöscht werden. Den so geleerten Rahmen unter einem beliebigen Namen mit der Endung .kicad_wks wegspeichern. Im geöffneten Schaltplan kann der dann unter Datei &amp;gt; Seite einrichten ganz unten unter &amp;quot;page layout file description&amp;quot; die entsprechende Datei eingebunden werden. Es bleibt aber dem Anwender offen, ob er den Rahmen komplett entfernt, oder noch Felder mit Textbeschreibungen übernimmt. Für gesteigerten Komfort kann diese Datei dann auch in ein Template eingebunden werden. &lt;br /&gt;
** 2) Beim Ausdrucken Frame deaktivieren.&lt;br /&gt;
** 3) Als SVG exportieren. Dort den Frame deaktivieren.&lt;br /&gt;
** 4) Beim Plotten (z.B. in Gerber) Frame deaktivieren. Ist eigentlich defaultmäßig eingestellt. &lt;br /&gt;
** Siehe: http://www.mikrocontroller.net/topic/343509#3791448&lt;br /&gt;
* Ich möchte einen bestimmten Footprint verwenden (von dem ich weiss, dass er existiert), kann ihn aber in der Auswahl der Footprints von PCBnew nicht finden.&lt;br /&gt;
**Die Bibliothek, in der er enthalten ist, muss erst in das Verzeichnis der aktiven Bibliotheken in PCBnew eingetragen werden. &lt;br /&gt;
* Ich möchte Footprint-Bibliotheken in das Verzeichnis der verwendeten Bibliotheken von PCBnew eintragen. Wie geht das?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/372123#new  &lt;br /&gt;
* Ich habe Probleme mit den Umgebungsvariablen KISYSMOD, KISYS3DMOD, KIPRJMOD, KIGITHUB beim Eintragen der Bibliothekstabellen.&lt;br /&gt;
** KISYSMOD ist eine Variable, die den Pfad zu den global verwendeten KICAD-Modulen (Footprints) angibt. KIPRJMOD ist das gleiche, für projektspezifische Module. KISYS3DMOD beschreibt den Pfad zu den 3D-Modellen, und KIGITHUB weisst den Pfad ins Internet zu den Githubbibliotheken.&lt;br /&gt;
** Nähere Informationen dazu findet man hier: http://www.mikrocontroller.net/topic/344139#new und hier : http://www.mikrocontroller.net/topic/344029#new&lt;br /&gt;
** Aktueller: http://www.mikrocontroller.net/topic/368660&lt;br /&gt;
** Falls alles nichts hilft: Nan kann den Pfad auch komplett am Stück in die Bibliothekstabelle eintragen. Copy&amp;amp;Paste funktioniert dort aber nicht per rechtem Mausklick, sondern per &amp;lt;Str-c&amp;gt; (Kopieren) und &amp;lt;Str-v&amp;gt; (einfügen). Einfacher als die Bibliothekstabelle lässt sich darum die fp-lib-table Datei per Editor bearbeiten. Unter Linux findet sich die Tabelle für globale Bibliotheken bis zur BZR5113 direkt im Homeverzeichnis. Ab BZR5114 (ca. 5. September 2014) fiondet sich die globale fp-lib-table in $HOME/.config/kicad. Die fp-lib-table für projektbezogene Bibliotheken finden sich in den korrespondierenden  Projektverzeichnissen.&lt;br /&gt;
* Ich würde gerne die Mikrowellen Tools verwenden, aber irgendwie funktioniert das nicht.&lt;br /&gt;
** In älteren KiCad Versionen funktionieren sie nur im &amp;quot;legacy Canvas&amp;quot;. Den &amp;quot;legacy Canvas&amp;quot; schaltet man mit &amp;quot;F9&amp;quot; ein, bzw. im Pull down Menue unter &amp;quot;View&amp;quot; &amp;gt; &amp;quot;legacy Canfas&amp;quot;. In neueren KiCad Versionen (daily Build ab mindestens 2017-06-16 revision dab73e1) funktionieren die Tools in allen Canvasversionen.&lt;br /&gt;
** Manchmal sieht man nur etwas, wenn man &amp;quot;Refresh&amp;quot; (F3) drückt.&lt;br /&gt;
** Eine kleine Erklärung ist hier: https://www.mikrocontroller.net/topic/434998#new&lt;br /&gt;
* Ich würde gerne aus den Mikrowellen Tools die Funktion &amp;quot;Polynominales Muster&amp;quot; verwenden. Dabei werde ich nach einem KiCad-Shapefile gefragt, aber ich weiss nicht, wie das File aussehen muss.&lt;br /&gt;
** Einen Hinweis zum Aussehen des Files gibt es hier: https://www.mikrocontroller.net/topic/369330#4166392 Allerdings müssen die Werte der Polynomstruktur anderweitig berechnet werden, und mit einem Editor manuell in diese Form gebracht werden.&lt;br /&gt;
* Wie erstelle ich koplanare Leitungen in KiCad?&lt;br /&gt;
** siehe diese Diskussion: https://www.mikrocontroller.net/topic/370700#new&lt;br /&gt;
* Ich möchte Bauteile im Kreis oder in einem Gittermuster/Array anordnen. Gibt es dafür automatische Hilfestellungen?&lt;br /&gt;
** Ja. Objekt Deiner Wahl rechts anklicken, eventuell Auswahl verfeinern, und dann im aufpoppenden Menue &amp;quot;Array erstellen&amp;quot; wählen. Geht nicht nur für Bauteile, sondern auch für Pads, Leiterbahnen ec. Siehe: http://www.mikrocontroller.net/topic/178816#new&lt;br /&gt;
** Aktuell: https://www.mikrocontroller.net/topic/473763#5832574&lt;br /&gt;
* Ich bräuchte Pads mit ungewöhnlicher Form.&lt;br /&gt;
** Aus mehreren Pads mit der gleichen Pad Nummer zusammensetzten. Pads gleicher Nummer am gleichen Footprint werden dem gleichen Netz zugeordnet. Dabei aber beachten, dass sich diese Pads sich weit genug überlappen (z.B. 0,2mm) , so dass sie nicht in einzelne Pads zerfallen, wenn in der Leiterplattenfabrik mal die Kupferflächen &amp;quot;zurückgezogen&amp;quot; werden müssen, um die Mindestabsrände für die Produktion (Galvanik) nicht zu unterschreiten.&lt;br /&gt;
** Das Mikrowellentool benutzen, um mit einem Workaround Pads als Polygon zu erzeugen. Als ein Beispiel z.B:https://www.mikrocontroller.net/attachment/259709/SMP-Test-1.png Das Mikrowellentool kannst Du mit einem Workaround dazu bekommen, Pads als Polygone zu erstellen. Näheres siehe hier: https://www.mikrocontroller.net/topic/414834#new oder hier: https://www.mikrocontroller.net/topic/369330#4166392&lt;br /&gt;
* Meine Grafikkarte unterstützt keine openGL 3D-Beschleunigung.&lt;br /&gt;
** Vieleicht kannst Du mit MESA openGL ersetzten? Siehe: https://www.mikrocontroller.net/topic/389712#4465775 Zu MESA selber siehe: https://de.wikipedia.org/wiki/Mesa_3D&lt;br /&gt;
* Ich würde gerne eine Starrflex Leiterplatte machen. Was muss ich beachten?&lt;br /&gt;
** Siehe https://www.mikrocontroller.net/topic/399330#new&lt;br /&gt;
* Wie Verbinde ich verschiedene Massen, oder allgemein verschiedene Potentiale, die aus Layouttechnischen Gründen getrennt gehalten werden sollten, ohne das der DRC zusehr meckert? Ähnliches Problem: Einzelne Vias vom Anschluss an umgebende Masseflächen ausschliessen.&lt;br /&gt;
** Voraussetzung: Die Leiterbahnen/Vias/Kupferflächen müssen unterschiedliche Potentiale haben, damit KiCad weiss, dass sie getrennt gehalten werden müssen. Wenn das nicht der Fall ist, müssen diese Segmente mit einem &amp;quot;Bauteil&amp;quot; so vom Rest der Schaltung abgedretnnt werden, dass der abgetrennte Bereich einen neuen Netznahmen/Potentialnahmen bekommt. Diese speziellen Bauteile können unterschiedlicher Art sein:&lt;br /&gt;
*** 1) Mit 0 Ohm Brücken. Das sind Bauteile, die aus einer Drahtbrücke bestehen. So sind für den ERC und DRC die Netzte getrennt, aber tatsächlich mit einer Drahtbrücke verbunden. &lt;br /&gt;
**** [http://www.mikrocontroller.net/topic/142930?goto=1321550] &amp;quot;Drahtbrücken in KiCad?&amp;quot;  hier im Forum.&lt;br /&gt;
*** 2) Ein anderer Workaround sind &amp;quot;Net ties&amp;quot; (Netties). Das sind Footprints, die aus zwei oder mehr verschiedenen Pads bestehen(wie jedes andere normale Bauteile auch, die aber direkt mit Kupfer verbunden sind. Also eigentlich ein 0 Ohm Widerstand, wo der &amp;quot;Widerstand&amp;quot; als Kupfer auf der Leiterplatte existiert. Es ist sinnvoll, zu den &amp;quot;Net tie&amp;quot; Footprints auch entsprechende Schaltplansymbole zu definieren. Zu Net ties siehe:&lt;br /&gt;
**** [http://www.grant-trebbin.com/2015/04/pcb-net-ties-and-grounding-in-kicad.html] (in Englisch)&lt;br /&gt;
**** [http://www.mikrocontroller.net/topic/330196] &amp;quot;KiCad zwei verschiedene Netze verbinden in Pcbnew&amp;quot; hier im Forum.&lt;br /&gt;
**** Etwas aktueller (geht auch auf Probleme ein): &lt;br /&gt;
***** [http://www.mikrocontroller.net/topic/389988] &amp;quot;Kicad Leiterbahn im Footprint möglich?&amp;quot; hier im Forum.&lt;br /&gt;
***** [http://www.mikrocontroller.net/topic/360510] &amp;quot;Leiterbahn aus Massepolygon isolieren&amp;quot; hier im Forum.&lt;br /&gt;
***** [https://www.mikrocontroller.net/topic/401430#new] &amp;quot;Via-Anbidung an Polygon ausschließen&amp;quot;&lt;br /&gt;
***** Ein ganz anderer Ansatz wäre, ganz auf unterschiedliche Massepotentiale zu verzichten, wenn diese sowieso verbunden werden, wie hier vorgeschlagen: https://www.mikrocontroller.net/topic/453991#5465447&lt;br /&gt;
* Wie kann man den Nullpunkt eines Layouts verschieben?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/179680#1730452 Aktueller:https://www.mikrocontroller.net/topic/427130#5008806 für den Layout Editor PCBnew. Im Moduleditor bei Erstellung eines Footprints kann man den Ankerpunkt frei Mithilfe des Anker-Tools aus der rechten Menüleiste (das Ankersymbol) setzten. Gleiches gilt für den Symboleditor.&lt;br /&gt;
* Ich habe im Layout einen weissen Kringel mit einem weissen Kreuz, der sich beim Zoomen merkwürdig verhält. Was ist das, und wie kriege ich das weg?&lt;br /&gt;
** Das ist der Ursprung des Rasters. Den sollte man nicht wegbekommen, aber man kann ihn versetzten. Siehe: https://www.mikrocontroller.net/topic/411681#new&lt;br /&gt;
* Wie erzeuge ich Thermals (Wärmefallen/thermal Pads) um Pins die in Kupferflächen sitzen?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/443639#5287943&lt;br /&gt;
* Ich möchte Langlöcher anlegen. Wie geht das am einfachsten?&lt;br /&gt;
** Als Footprint bzw. im Footprint im Footprinteditor anlegen. Dort ein Pad plazieren und als &amp;quot;Drill Shape&amp;quot; die Option &amp;quot;Oval hole&amp;quot; wählen. Den Rest des Footprints mit dem Kupfer nach eigenen Bedürfnissen gestalten, oder das Kupfer ganz weglassen. Für reine Befestigungslöcher ohne Kupfer &amp;quot;Pad type&amp;quot; zu &amp;quot;NPTH, Mechanical&amp;quot; wählen. Langlöcher landen genauso wie runde Löcher im Excellon Drill-File. Es gibt dort spezielle Kennzeichnungen dafür. Um mit dem &amp;quot;Workflow&amp;quot; konform zu bleiben, für Befestigungslöcher z.b. ein Symbol anlegen, dem ein passendes Loch oder auch Langloch als Footprint zuweisen. In einem extra hierachischen Schaltplanblatt solche Sonderfälle ablegen. Für vier löcher z.B. vier mal dieses Symbol. Es lassens sich den Symbolen unterschiedlich definierte Löcher zuweisen. Die Löcher werden dann beim Einlesen der Netzliste in PCBnew gemäß der eingetragenen Footprints auf das Board gestellt und können frei plaziert werden. Siehe: https://www.mikrocontroller.net/topic/449952#5395495&lt;br /&gt;
* Wie ist das mit der Pinnummerierung bei Symbolen und Footprints mit abweichenden Pinbelegungen? Ändere ich die Pin/Pad Nummerierung im Symbol oder im Footprint?&lt;br /&gt;
** Das hängt am Einzelfall. Aber meistens ist das Anlegen einer Symbolvariante unter anderem Namen mit geändertem Pinning am sinnvollsten. Es gibt aber Sonderfälle. Genaueres steht hier: https://www.mikrocontroller.net/topic/452154#new&lt;br /&gt;
&lt;br /&gt;
=== Layout: Python Scripting ===&lt;br /&gt;
&lt;br /&gt;
Das Python2-Scripting ist bisher nur in PCBnew implementiert und noch sehr experimentell. Daher ist leider auch der aktuelle Stand der Dokumentation zum Python-Skripting in PCBnew noch etwas dürftig. Trozdem hier Links dazu:&lt;br /&gt;
* http://confluence.kicad.org/display/KICAD/KiCad+Scripting+Reference+Manual (Allgemein. Achtung! Kicad braucht beim compilieren spezielle Befehle, um Python-Scripting tauglich zu sein.)&lt;br /&gt;
* http://ci.kicad.org/job/kicad-doxygen/ws/build/pcbnew/doxygen-python/html/namespacepcbnew.html (Definitionen von Namespaces, Classes und Files)&lt;br /&gt;
&lt;br /&gt;
Für Linux-Debian:&lt;br /&gt;
Aktuell (07. Februar 2014) mit  Pcbnew Version: (2014-01-27 BZR 4641)-product Release build auf&lt;br /&gt;
Platform: Linux 3.2.0-4-686-pae i686, 32 bit, Little endian, wxGTK (Debian Wheezy) gilt:&lt;br /&gt;
* Geht aktuell nur für PCBnew.&lt;br /&gt;
* Klassenbibliotheken: Zwei Dateien pcbnew.py und _pcbnew.so auf dem Pfad: /usr/lib/python2.7/dist-packages/&lt;br /&gt;
* Die Klassenbibliothek wird mit den üblichen Python2 Methoden importiert: z.B. &amp;quot;import pcbnew&amp;quot; oder &amp;quot;from pcbnew import *&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Beispielprogramm, das alle Footprints aus einer Legacy-Fotprint Datei auflisted und den Referenzbezeichner dazuschreibt::&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env python &lt;br /&gt;
# das war das Shebang.&lt;br /&gt;
&lt;br /&gt;
from pcbnew import * # Import der Bibliothek. &lt;br /&gt;
libpath = &amp;quot;/home/DuUser/KiCad-Daten/Module/ModuleGrosserSampler/KiCadLegacyFottprints.mod&amp;quot; # Übergabe des Pfades.&lt;br /&gt;
lst = FootprintEnumerate(libpath) &lt;br /&gt;
for name in lst:&lt;br /&gt;
    m = FootprintLoad(libpath,name)&lt;br /&gt;
    print name,&amp;quot;-&amp;gt;&amp;quot;, m.GetReference()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Scripting Möglichkeit ist so neu, dass bis jetzt die Scripting Testdateien für das KiCad interne automatische Qualitätssicherungssystem noch nicht komplett sind.&lt;br /&gt;
Unter http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/files/head:/qa/testcases/ finden sich bereits geprüfte Testskripte, und unter http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/files/head:/pcbnew/scripting/examples/ finden sich ungetestete Testskripte.&lt;br /&gt;
&lt;br /&gt;
Sie alle können als Beispiele genommen werden, wie das mit dem Skripting gemeint ist, und als Vorbild für eigene Skripte dienen.&lt;br /&gt;
&lt;br /&gt;
Weitere Skripting Info: &lt;br /&gt;
* [https://kicad.mmccoo.com/kicad-scripting-table-of-contents/ Anleitung für Python Skripting in KiCad] (Englisch)&lt;br /&gt;
&lt;br /&gt;
=== Module Editor ===&lt;br /&gt;
* Wie erstellt man Footprints für Bauteile?&lt;br /&gt;
** Mit dem Footprint Editor. Er ist bei älteren KiCad Versionen nur aus PCBnew heraus zu starten. Bei neueren KiCad Versionen hat er einen eigenen Button im KiCad Start Window.&lt;br /&gt;
** Spezielleres: http://www.mikrocontroller.net/topic/356151#new&lt;br /&gt;
* Wie verbinde kopiere ich etwas aus einem Footprint in einen anderen hinein, bzw. wie verbinde/merge ich zwei Footprints?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/288167#3061997&lt;br /&gt;
* Kann man im Module Editor die Eigenschaften aller Pads gleichzeitig ändern?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/93131#799550 &lt;br /&gt;
* Ich brauche einen Footprint, bei dem mehrere Pads verbunden sind, will aber nicht im Schaltplan zig Pins aufführen und anschliessen müssen.&lt;br /&gt;
**http://www.mikrocontroller.net/topic/208982#new&lt;br /&gt;
**http://www.mikrocontroller.net/topic/204717#new&lt;br /&gt;
* Wie erzeugt man thermal Vias in Kicad?&lt;br /&gt;
** Leider bisher nur experimentell: http://www.mikrocontroller.net/topic/298028#3187259&lt;br /&gt;
* Wie kann man Bauteilmaße in in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
* Wie verwalte ich Footprint Bibliotheken?&lt;br /&gt;
** Indem man sich ein Board erstellt, alle Footprints, die man zusammenfassen möchte, auf das Board stellt, und dann untet Dateien &amp;gt; Footprints archivieren &amp;gt; Footprint Archiv erstellen wählt. Das so erstellte Board kann auch zu Dokumentationszwecken geplottet werden. Eventuell möchte man einige Footprints, die zu Hilfszwecken (z.B. Skalen) auf dem Board sind, anschliessend mit dem Bibliothekseditor daraus löschen.&lt;br /&gt;
** Alternativ, im dem &amp;quot;neuen&amp;quot; *.pretty Format, mit einem Dateiverwaltungsprogramm Deiner Wahl. Siehe http://www.mikrocontroller.net/topic/320301#new&lt;br /&gt;
* Wie werden die Parameter für Lötpaste/Lötstopmaske vergeben?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/356151&lt;br /&gt;
* Ich möchte für einen Footprint Pads in einem Gittermuster/Array oder im Kreis anordnen. Gibt es dafür automatische Hilfestellungen?&lt;br /&gt;
** Ja. Pad rechts anklicken. Eventuell erfolgt noch eine Feinauswahl. Dann im aufpoppenden Menue &amp;quot;Array erstellen&amp;quot; wählen.&lt;br /&gt;
* Wie archiviere ich die in einem KiCad Board enthaltenen Footprints?&lt;br /&gt;
** Nicht im Footprint-editor, sondern in PCBnew. Dort in der oberen Toolleiste unter Datei/File &amp;gt; archive Footprints. Es muss dort eine bereits im Bibliotheksverzeichnis eingetragene existierende Bibliothek angegeben werden. &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Diese Bibliothek sollte &#039;&#039;&#039;speziell für diesen Zweck&#039;&#039;&#039; angelegt sein, weil ihr &#039;&#039;&#039;vorheriger Inhalt komplett entfernt&#039;&#039;&#039; wird. Idealerweise legt man die Bibliothek als &amp;quot;Projektname.pretty&amp;quot; im Projektordner an. Sie sollte spätestens bei Abschluss des Projektestens erstellt werden und &#039;&#039;&#039;MUSS bei Archivierung des Projektes oder Übergabe mit Archiviert bzw. Übergeben werden!&#039;&#039;&#039; Aber &#039;&#039;&#039;VORSICHT&#039;&#039;&#039;, bei der Bibliothekserstellung lauert ein &#039;&#039;&#039;Bug. Siehe:&#039;&#039;&#039; https://www.mikrocontroller.net/articles/KiCad#Problem:_Neue_leere_Footprintbibliothek_kann_nicht_erstellt_werden_.28kicad_Version:_4.0.0.7Erc1a-stable_release_build_.2F_RC4.29&lt;br /&gt;
* Ich brauche in einem Footprint einen Ausschnitt in der Platine. Wie mache ich das?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/404998#4696232&lt;br /&gt;
* Für Masken wie Lötpaste oder Klebstoff hätte ich gerne Pads mit abgerundeten Ecken. Wie geht das?&lt;br /&gt;
** Das geht erst seit ca. Version: 2016-11-22 revision ccdfabc-master. Siehe https://www.mikrocontroller.net/topic/427536#5015335&lt;br /&gt;
&lt;br /&gt;
=== 3D-Ansicht ===&lt;br /&gt;
[[Bild:Kicad xilinx demo.jpg|300px|thumb|right|KiCAD-Demoplatine exportiert und mit Renderer illustriert]]&lt;br /&gt;
KiCAD bietet eine eingebaute einfache 3D-Ansicht der gerouteten Platine. Mittels Export können diese weiterverarbeitet werden. KiCad beruht diesbezüglich auf Wings3D, und die 3D-Modelle der Bauteile sind standardisierte wrl-files, die mit entweder Wings3D oder Blender erstellt werden können. Daher sei hier auf ein Wings3D Handbuch verwiesen: http://www.oortman3d.com/wings3d/TheWings3dHandbook.pdf&lt;br /&gt;
&lt;br /&gt;
Viele Bauteilhersteller (vor allem von eher mechanischen, wie z.B. Stecker, Buchsen, Befestigung...) bieten fertige 3D-Modelle an. Diese sind meistens in den Formaten STEP oder IGES. So kann man diese in das von KiCad benötigte .wrl (VRML 2.0) konvertieren:&lt;br /&gt;
# STEP oder IGES in [http://gcad3d.org/ gCAD3D] öffnen (File &amp;gt; Open Model)&lt;br /&gt;
# als Wavefront .obj speichern (File &amp;gt; Save Model as &amp;gt; OBJ)&lt;br /&gt;
# Das .obj in [http://www.wings3d.com/ Wings 3D] importieren (File &amp;gt; Import &amp;gt; Wavefront .obj)&lt;br /&gt;
# Als VRML 2 exportieren (File &amp;gt; Export &amp;gt; VRML 2.0 .wrl)&lt;br /&gt;
# Im KiCad-Moduleditor die .wrl-Datei als 3D-Modell auswählen&lt;br /&gt;
# Eventuell muss man die Skalierung und Positionierung anpassen, die angezeigten Pads und Löcher helfen dabei. Die am meisten benötigten Faktoren dürften dabei 0,3937 und 2,54 sein - bei den Konvertierungen kommt leicht die Einheit Zoll oder cm durcheinander.&lt;br /&gt;
&lt;br /&gt;
Eine andere Möglichkeit .obj oder .stl-Dateien aus STEP und IGES zu erzeugen ist [http://free-cad.sourceforge.net/ FreeCAD]. Obwohl es auch .wrl direkt erzeugen kann, können diese nicht in KiCad geladen werden. Der Umweg über .obj oder .stl und Wings 3D löst dies aber auch hier.&lt;br /&gt;
&lt;br /&gt;
Wenn man das Board wieder in einem CAD-Programm verwenden will um z.B. ein Gehäuse zu konstruieren, sollte man wieder STEP-Dateien erzeugen. Neuere KiCad-Versionen können zwar VRML exportieren, doch das beschreibt nur Umrisse und keine Körper (Solids). CAD-Programme zum Gehäusedesign brauchen jedoch letzteres. So geht die Konvertierung:&lt;br /&gt;
# VRML aus KiCad exportieren (File &amp;gt; Export &amp;gt; VRML)&lt;br /&gt;
# .wrl-Datei mit Hilfe von [http://www.cs.princeton.edu/~min/meshconv/ meshconv] in eine STL-Datei konvertieren: &amp;lt;code&amp;gt;meshconv boardname.wrl -c stl -o boardname.stl&amp;lt;/code&amp;gt;&lt;br /&gt;
# Die STL-Datei mit [http://www.solveering.com/products/products_stl2step.html stl2step] in eine STEP-Datei konvertieren&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG:&#039;&#039;&#039;&lt;br /&gt;
Man sollte hinterher im CAD nochmal genau die Maße kontrollieren. Denn die Konvertierung von STL nach STEP ist nur eine Approximierung und keine exakte, verlustfreie Konvertierung.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG:&#039;&#039;&#039;&lt;br /&gt;
Bei der Verwendung von Modellen aus fremden Quellen die Rechtslage prüfen. Es kann bei Veröffentlichungen zu Problemen führen, wenn die verwendeten Modelle unter einer problematischen privaten Lizenz stehen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Appropos Einheit: Welche Einheit benutzt WRL (Wings3d)?&lt;br /&gt;
* Das ist leider nicht soooo klar. Tatsache ist aber, das KiCad die Einheit als 1/10 Inch (100mil) interpretiert.&lt;br /&gt;
** Es könnte sein, dass die Einheit von WRL offiziell mal zu einem Meter gedacht war. Siehe: https://www.mikrocontroller.net/topic/405477#4704394&lt;br /&gt;
&lt;br /&gt;
*Und wie bedient man Wings3d?&lt;br /&gt;
** Ein (vorläufiger) Merkzettel/Ultrakurzanleitung zur Bedienung von Wings3D findet sich hier: [[Media:Kicad-Wings3D_Merkzettel_29November2012.pdf]]. Wenn man nur mit Wings3d Modelle für Kicad erstellen will, langt das eventuell schon als Tutorial. There is also an English translation of this leaflet about using wings3d for kicad  at [[Media:Kicad-Wings3D_Leaflet_25April2013.pdf]].&lt;br /&gt;
** Aktueller: [http://roberthall.net/Wings3D_Tutorial_KiCad Tutorial zur Benutzung von Wings3D im KiCad Umfeld (englisch)]&lt;br /&gt;
&lt;br /&gt;
Weitere Diskussionen um KiCAD 3D:&lt;br /&gt;
* Die 3D-Ansicht funktioniert bei mir nicht.&lt;br /&gt;
** http://www.mikrocontroller.net/topic/289075#new&lt;br /&gt;
** https://www.mikrocontroller.net/topic/404658#new&lt;br /&gt;
* Kann man die 3D-Ansicht in ein 3D-CAD Programm exportieren? &lt;br /&gt;
**http://www.mikrocontroller.net/topic/203388#new&lt;br /&gt;
* Wie kann man Bauteilmaße in in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
&lt;br /&gt;
* Irgendwie werden meine 3D-Bibliotheken nicht gefunden.&lt;br /&gt;
** Das kann z.b. passieren, wenn eine KiCad v5 3D-bibliothek mit einer v4 Bauteilebibliothek verwendet wird. Siehe:https://www.mikrocontroller.net/topic/467178#new&lt;br /&gt;
* Ich habe 3D-Modelle/STEP-Modelle von einem Hersteller heruntergeladen. Aber nach Einbindunge liegen sie neben dem Footprint, schweben darüber oder durchdringen die Platine.&lt;br /&gt;
** Der Hersteller hat einen anderen Ursprung für sein Modell gewählt als üblich ist. Weit verbreitet ist, den Bauteil/Footprint Ursprung bei THT Bauteilen auf die &amp;quot;Mitte&amp;quot; von Pin 1 zu setzen. Bei SMD Bauteilen wird der Ursprung auf die Mitte des Bauteiles gesetzt, meint, da wo sich beide Symmetrieachsen des Bauteiles schneiden. Bleibt das Problem, wenn das Bauteil nur eine Symmetrieachse hat. Dann einen Punkt auf der Symmetrieachse wählen, der die Mitte zwischen den extremsten Bauteilgrenzen bildet. Wenn keine Symmetrie überhaupt existiert, halt irgendwo etwas &amp;quot;in der Mitte&amp;quot;. Das ist dann aber immer soweit in der Nähe des Footprints, dass Du es in KiCad selber anpassen kannst. Angepasst wird das entweder im Footprinteditor in der oberen Buttonleiste &amp;quot;footprint Eigenschaften&amp;quot; (Icon IC mit Zahnrad davor). Es poppt ein Fenster auf. Dort den zweiten Reiter von Links wählen: &amp;quot;3D-einstellungen&amp;quot;. Dort können Korrekturwerte für koordinaten, Skalierung und Drehungen angegeben werden. Siehe Diskussion: https://www.mikrocontroller.net/topic/467095#new&lt;br /&gt;
&lt;br /&gt;
=== Drucken/Plotten/Gerber Export/Excellon Drillfiles Export ===&lt;br /&gt;
&lt;br /&gt;
==== Drucken ====&lt;br /&gt;
* Wie exportiert man den Schaltplan oder das Layout als Bild (PNG o.ä.)? &lt;br /&gt;
** Drucken über Postscript-Treiber und Umwandeln mit Ghostscript&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/96060#1061492 Forumsbeitrag] Export als SVG&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/117562#1056566 Forumsbeitrag] Plot to Clipboard &lt;br /&gt;
* Wie kann ich GENAU ausdrucken? Mein Ausdruck auf ABC ist ca. X % zu klein oder Y% zu groß! &lt;br /&gt;
** So genau sind einfache Drucker bzw. Druckertreiber selten. Aber meistens hilft folgendes: Mache einen 1:1 (100%) Probeausdruck. Messe auf dem Ausdruck nach, wie groß er tatsächlich geworden ist. Berechne die Abweichung und gebe sie in den Drucker bzw. Druckertreiber unter Einstellung ein, vorausgesetzt, der Drucker bzw. Druckertreiber kann das. Mit dem Wert machst Du wieder eine Probeausdruck, messe wieder nach, und wenn es mit der Einstellung funktioniert hat, kannst Du Deine Folie bedrucken. Wenn das nicht klappen kann, weil Du stark abweichende Werte für horizontal und vertikal bräuchtest, aber der Drucker nur einen gleichen Wert für beides kennt, hast Du einen (zu) schlechten Drucker. Trozdem nicht verzweifeln, weil KiCad beim Drucken oder Plotten in der X- und Y-Achse getrennt skalieren kann. Aber Vorsicht bei Weitergabe der so erzeugten Dateien: Sie sind individuell auf einen Drucker angepasst, und produzieren auf einem anderen Drucker nur falsch skalierte Ausdrucke. Weil der Wert von Drucker zu Drucker unterschiedlich ist, ist es auch sinnvoll, diese Skalierung direkt am speziellen Drucker/Druckertreiber zu machen. Tipp: Wenn Du den Wert erfolgreich ermittelt hast, so kleb Dir einen Zettel auf den Drucker mit dem Wert. Die Werte sind zwar individuell für jeden Drucker, aber meistens für den speziellen Drucker durchaus fix. Und Du hast ihn sofort wieder parat, wenn der Drucker resettet wurde. Dies ist übrigens ein allgemeiner Tipp für das Ausdrucken, der auch für Eagle, Target, Altium usw. gilt.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/304619#new Thema Skalieren] - Die aktuelle Situation (August 2013):  &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/371079#4191106 Und nochmal Thema Skalieren]&lt;br /&gt;
* Wie kann man das Layout invers ausdrucken, d.h. alle Leiterbahnen und Pads müssen weiß bleiben, der Rest wird schwarz ausgedruckt?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/156202#1474507 Beim Plotten den Haken bei Negativ-Plot setzen ] &lt;br /&gt;
* Ich habe irgendwie Probleme mit dem Ausdrucken.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/207764#new Verzerrt] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/207310#new Sonderzeichen]&lt;br /&gt;
** In der aktuellen Version 2012-01-19 BZR 3256)-stable besteht ein generelles Druckproblem. Aber Plotten geht wunderbar!&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/280958#new Aktualisierter Stand 23. Dezember 2012] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/303043#3249166 Aktualisierter Stand vom 21. Juli 2013]&lt;br /&gt;
&lt;br /&gt;
* Ich würde gerne PDF Dateien aus meinem Layout erstellen, aber irgendwie ist der Ausdruck defekt.&lt;br /&gt;
** Drucken ist aus Kicad manchmal ein Problem, auch in eine Datei hinein. Aber Plotten und Exportieren in SVG funktioniert gut.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/303043#3249166 Von SVG zu PDF] kommt man über Inkscape. &lt;br /&gt;
** [https://www.mikrocontroller.net/topic/430532#new Aktuell] &lt;br /&gt;
** Problem dabei: [https://www.mikrocontroller.net/topic/431522#new Vektorfonts] &lt;br /&gt;
* Wie kann ich mir einen [http://www.mikrocontroller.net/topic/266037#new Bohrplan ausdrucken], um mit der Hand zu bohren?&lt;br /&gt;
&lt;br /&gt;
==== SVG Plotten ====&lt;br /&gt;
&lt;br /&gt;
* Meine erzeugten SVG Plots sind kaputt. Ich erhalte nur Fehlermeldungen, wenn ich sie in Inkscape oder Gimp einlesen will.&lt;br /&gt;
** Es besteht ein Problem mit dem SVG Export, wenn man Schaltpläne oder Boards in SVG exportiert, die ein Ampersand (Kaufmansund, &amp;quot;&amp;amp;&amp;quot;) im Dateinamen haben. Dieser Dateiname tauch dann innerhalb der SVG Datei in einem Titelblock auf, wo das &amp;quot;&amp;amp;&amp;quot; dann ein Problem bedeutet (Es leitet eine Art Escape-Sequenz ein). Sowohl Kicad als auch Inkscape/Gimp akzeptieren &amp;quot;&amp;amp;&amp;quot; im Dateinamen, und sowol unter Windows als auch Linux ist das &amp;quot;&amp;amp;&amp;quot; im Dateinamen legal....darum bringt auch eine Veränderung des Namens der SVG-Datei keine Lösung. Eine Lösung ist, Grundsätzlich in Kicad keine &amp;quot;&amp;amp;&amp;quot; in Dateinamen zu verwenden, wenn man einen SVG-Export macht. Alternativ kann man mit einem Editor das &amp;quot;&amp;amp;&amp;quot; aus dem Titelblock (Das ist NICHT der Dateiname, sondern in der Datei selber alles zwischen &amp;lt;titel&amp;gt; und &amp;lt;/titel&amp;gt;) der SVG-Datei löschen. Angeblich kommt der Bug aus den verwendeten wx-Bibliotheken. Siehe [https://bugs.launchpad.net/kicad/+bug/1171160 den Bugreport]&lt;br /&gt;
* Wie kann ich unter Windows die SVG Dateien überhaupt nutzen? &lt;br /&gt;
** Die SVG Datei kann mit Microsoft Edge auf einen Drucker gedruckt werden, nützlich bei negativ Plot. Das Öffnen mit GIMP ging mit 1000pixel/in. Das Programm, mit dem sich SVG Dateien am besten bearbeiten lassen, ist aber Inkscape. Davon gibt es sogar einen Windows Ableger.&lt;br /&gt;
** Grundsätzliche Infos zum [https://de.wikipedia.org/wiki/Scalable_Vector_Graphics SVG Format] &lt;br /&gt;
** Grundsätzliche Infos zu [https://de.wikipedia.org/wiki/Inkscape Inkscape]&lt;br /&gt;
&lt;br /&gt;
==== Gerber Export ====&lt;br /&gt;
&lt;br /&gt;
* Kann man Gerber-Dateien exportieren?&lt;br /&gt;
** Ja. Es wird extended Gerber 274X exportiert. Einheit ist inch (doppelt sowohl im 274d als auch im 274x Stil definiert). Die Y-Koordinaten sind im allgemeinen negativ. KiCad verwendet für Flächen das in Gerber spezifizierte Polygon Makro und kein &amp;quot;stroke fill&amp;quot;.&lt;br /&gt;
** Um Gerber Dateien zu erstellen, wählt man aus der oberen Menueleiste ganz links Datei &amp;gt; Plotten und dann oben links unter Plotformat &amp;quot;Gerber&amp;quot; &lt;br /&gt;
** KiCad unterstützt auch die kürzlich eingeführten Gerber-Attribute. Die Anwendung derselben muss aber explizit angewählt werden. Dazu setzt man im Gerber-Plottmenue im Feld &amp;quot;Gerber Optionen&amp;quot; bei &amp;quot;include extended attributes&amp;quot; einen Haken.&lt;br /&gt;
** KiCad kann automatisch die Lötstoppmaske von der Siebdruckmaske (Silk screen - Bestückungsaufdruck) abziehen, damit nicht der Bestückungsaufdruck versehentlich über Pads liegt und dort das Löten verhindert. Dazu muss aber im Gerber-Plottmenue im Feld &amp;quot;Gerber Optionen&amp;quot; bei &amp;quot;Subtrahiere Lötstoppmaske von Siebdruckmaske&amp;quot; ein Haken gesetzt werden.&lt;br /&gt;
* Welche Gerber Lagen werden zur Herstellung einer Platine benötigt?&lt;br /&gt;
** Grundsätzlich zu Herstellung der Platine die Gerberfiles: Alle Kupferlagen, Bestückungsdruck Top und Bottom (Falls auf Bottom was steht), Lötstoppmaske Top und Bottom. Eine Umrisslage mit dem Platinenumriss und Ausfräsungen. Drillfiles (Excellon) Für durchkontaktierte und NICHT durchkontaktierte (NPTH) Bohrungen. Dazu: Ein Textfile mit einer Erläuterung, welche Lage welche ist, sowie Angaben, wie dick die Kupferschichten der Kupferlagen und wie dick die Isolierlagen dazwischen sein sollen, und aus welchem Material. Wenn Du eine einfache rechteckige Platine hast, schreibst Du dort auch noch die Kantenlängen hinein. Wenn die Platinenumrisse komplizierter sind (z.B. verwinkelt, mit Ausfräsungen ec.), noch eine Masszeichnung als Gerber File. Siehe [https://www.mikrocontroller.net/topic/399503#new Forumsbeitrag]&lt;br /&gt;
** Zum Bestücken wird mindestens noch eine Stückliste (BOM) benötigt. Eventuell noch ein spezieller Bestückungsplan (Assembly), wenn der Bestückungsaufdruck nicht reicht. Für SMD eventuell noch die Gerberdaten für Klebstoffmaske und Lötpastenmaske, und eventuell die Pick and Place Daten für den Bestückungsautomaten.&lt;br /&gt;
* Wie kann man den Gerber-Plot so ausdrucken, dass in der Mitte von Pads und Vias ein Zentrierloch frei bleibt?&lt;br /&gt;
** [http://article.gmane.org/gmane.comp.cad.kicad.user/3457 KiCAD Forum]&lt;br /&gt;
* Was ist &#039;&#039;&#039;allgemein&#039;&#039;&#039; beim Export von Gerber Daten zu  beachten?&lt;br /&gt;
** Allgemeine Informationen zum Gerber File Format findet hier: [[Gerber-Tools]] &lt;br /&gt;
** Speziell zu Passermarken/Fiducials (add layer alignment target) diese [https://www.mikrocontroller.net/topic/396624#new Diskussion] &lt;br /&gt;
** [https://www.mikrocontroller.net/topic/428569#new Aktuell]&lt;br /&gt;
* Ich würde gerne meine Gerberdaten gespiegelt ausdrucken, aber das &amp;quot;gespiegelt&amp;quot; ist ausgegraut.&lt;br /&gt;
** Gerber Daten werden nur sehr selten vom Layouter gespiegelt benötigt. Wenn aber doch, so öffne die Gerber Daten mit dem Gerberviewer (Gerbview). Wenn Du dort ausdruckst, kannst du auch spiegeln. Trotzdem solltest Du Dir in dieser [https://www.mikrocontroller.net/topic/466448#new Diskussion] durchlesen, warum Du vermutlich keine Gerberdaten gespiegelt ausdrucken musst &lt;br /&gt;
* Mein Layterplattenfertiger bemämgelt, das meine Gerber Daten fehlerhaft sind.&lt;br /&gt;
** Wenn er negative Koordinaten bemängelt, so sind diese nach der aktuellen Gerber Definition zulässig.&lt;br /&gt;
** Wenn Du trotzdem negative Gerber Koordinaten beim Export vermeiden möchtest, musst Du den Ursprung bzw. das Hilfskoordinatensystem passend setzen. Siehe [https://www.mikrocontroller.net/topic/482457#5999588 Forumsbeitrag]. &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Wenn man einen Offset für Gerber verwendet, muss man den gleichen Haken auch bei den Drillfiles setzten. Sonst sind die Bohrdaten gegenüber den Gerberdaten verschoben.&lt;br /&gt;
** Wegen nicht geschlossener Polygone bzw. doppelter Punkte in Polygonen siehe [https://www.mikrocontroller.net/topic/482457#5999669 Forumsbeitrag] und den [https://bugs.launchpad.net/kicad/+bug/1847714 Bugreport]&lt;br /&gt;
** Ucamco als Schöpfer des Gerberformates bietet einen [https://gerber-viewer.ucamco.com/ Online Viewer] für Gerberdateien, um die Qualität von Gerberdaten zu überprüfen&lt;br /&gt;
&lt;br /&gt;
==== Excellon Drillfiles exportieren ====&lt;br /&gt;
&lt;br /&gt;
* Wie erstelle ich mit KiCad Excellon Drillfiles?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/310333#new Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
==== KiCad Board Dateien direkt zum Hersteller ====&lt;br /&gt;
&lt;br /&gt;
* Bei Bestellungen bei PCB-Pool ist deren GC-Prevue NICHT mehr erforderlich, weil PCB-Pool mittlerweile KiCad *.brd Dateien direkt akzeptiert. Siehe http://www.pcb-pool.com/ppde/info_dataformat.html Das gilt auch für viele andere Hersteller. im Zweifel dort einmal nachfragen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Trotzdem&#039;&#039;&#039; sollte man &#039;&#039;&#039;besser Gerber Dateien&#039;&#039;&#039; zum Platinenhersteller senden. Das gilt &#039;&#039;&#039;grundsätzlich&#039;&#039;&#039; so auch für andere Platinen Layout Programme. Der Grund ist hier angegeben: https://www.mikrocontroller.net/wikisoftware/index.php?title=Gerber-Tools&amp;amp;action=edit&amp;amp;section=8&lt;br /&gt;
&lt;br /&gt;
=== Import ===&lt;br /&gt;
* Kann man EAGLE Dateien importieren? (=&amp;gt; Obacht bei Weitergabe der Daten! Die originalen Eagle Dateien könnten mit Urheberrechten belastet sein)&lt;br /&gt;
** Ja. Voraussetzung ist, dass das Eagle Projekt im XML-Format vorliegt. Das ist automatisch der Fall, wenn man Eagle 6 (6.6?) oder aktueller benutzt und darin speichert. Dieses Projekt kann dann in aktuellen KiCad Versionen (5.x oder 6?) geöffnet und als KiCad Projekt gespeichert werden. Dazu das Eagle Projekt für diesen Zweck vorher in einen separaten Ordner kopieren. Dann im KiCad Hauptfenster aus dem Pulldown Menue Datei &amp;gt; Projekt importieren &amp;gt; Eagle CAd wählen.&lt;br /&gt;
** Ganz aktuell: https://www.mikrocontroller.net/topic/474387#new &lt;br /&gt;
** Aktuell: http://www.mikrocontroller.net/articles/KiCad#Konverter&lt;br /&gt;
** Etwas älter: http://www.mikrocontroller.net/topic/70905#797416&lt;br /&gt;
** http://www.mikrocontroller.net/topic/120373#1089933&lt;br /&gt;
** https://www.mikrocontroller.net/topic/417848#new&lt;br /&gt;
* Wie bindet man fremde KiCad Bibliotheken ein?&lt;br /&gt;
** EESchema (Schaltplaneditor) starten, unter Einstellungen &amp;quot;Bibliothek&amp;quot;  auswählen, auf &amp;quot;Hinzufügen&amp;quot; klicken, neue Bibliothek auswählen dann &amp;quot;öffnen&amp;quot; und in der Projektdatei &amp;quot;Speichern&amp;quot;. Gültig für Version 20090216Final, 2011-04-29-BZR2986-WinXP und Version: (2011-11-27 BZR 3249)-stable unter Platform: Linux 2.6.32-5-686 i686, 32 bit, Little endian, wxGTK.&lt;br /&gt;
&lt;br /&gt;
** VERALTET! Das Verfahren zur Einbindung eigener oder fremder Bibliotheken ist under PCBnew genauso.&lt;br /&gt;
** Aktuell: Siehe http://www.mikrocontroller.net/topic/356855#3988114&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&lt;br /&gt;
Es empfielt sich dringenst, eigene Bibliotheken &#039;&#039;&#039;NICHT&#039;&#039;&#039; zu den KiCad Bibliotheken im Ordner kicad/share/library bzw. kicad/share/modules für Footprints zu speichern, weil diese dort bei einem Upgrade von KiCad gelöscht würden. Stattdessen sollte man sich einen KiCad Ordner im eigenen home bzw. Benutzerverzeichnis (oder sonstwo, wo es opportun ist, und man Schreibrechte hat) anlegen, mit einem Ort, um eigene Bibliotheken abzulegen. Dies ist ein eher allgemeiner Hinweis, der so nicht nur für KiCad. sondern auch für die meisten CAD-Programme gelten dürfte.&lt;br /&gt;
&lt;br /&gt;
=== Neues Projekt ===&lt;br /&gt;
Ein neues Projekt legt kicad automatisch nach der in kicad/share/template hinterlegten Projektdatei an. Möchte man, das kicad ein neues Projekt von vorneherein nur mit ausgewählten eigenen Bibliotheken anlegt, so ist eine entsprechende Projektdatei unter kicad/share/template/kicad.pro abzulegen.&lt;br /&gt;
Dies erfordert dort Schreibrechte. Linux roots müssen diese Datei anschliessend mit chmod 755 Dateiname für user lesbar machen.&lt;br /&gt;
Bei einem upgrade würde kicad.pro gelöscht. Daher sollte man sich davon eine Sicherheitskopie in seinem benutzerverzeichnis hinterlegen.&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen sichern / wiederherstellen===&lt;br /&gt;
* Wo speichert KiCad die Einstellungen ab und wie lassen sich die originalen Einstellungen wiederherstellen?&lt;br /&gt;
** [[http://kicad.sourceforge.net/wiki/index.php/DE:KiCadHB#Einstellungen_sichern_.2F_wiederherstellen]]&lt;br /&gt;
**Man erstelle ein neues Projekt beliebigen Namens, nehme alle Einstellungen (Bibliotheken, Pfade usw.) vor und speichere diese in der aktuellen Projektdatei &amp;quot;name.pro&amp;quot;. Im Ordner KiCad Verzeichnis ....../kicad/share/template befindet sich eine Datei &amp;quot;kicad.pro&amp;quot;. Diese Datei &amp;quot;kicad.pro&amp;quot; ist die &amp;quot;Musterprojektdatei&amp;quot;, die für alle neuen Projekte verwendet wird. Man benenne sie um in &amp;quot;kicad-orig.pro, und kopiere die aktuelle Projektdatei &amp;quot;name.pro&amp;quot; nun als &amp;quot;kicad.pro&amp;quot; in diesen Template-Ordner. Leider Funktioniert dieses Verfahren nicht in allen KiCad Versionen. Den originalen Zustand stellt man wieder her, indem man &amp;quot;kicad.pro&amp;quot; umbenennt, und &amp;quot;kicad-org.pro&amp;quot; wieder in &amp;quot;kicad.pro&amp;quot; zurückumbenennt.&lt;br /&gt;
&lt;br /&gt;
=== Bitmaps als Symbol oder Footprint importieren ===&lt;br /&gt;
Der Programmteil Bitmap2component wandelt Bitmaps wahlweise in Symbole oder in Footprints um. Auf diese Weise können also auch Logos oder spezielle Muster für HF-anwendungen in KiCad importiert werden, sobald sie als Bitmap vorliegen. Es gibt allerdings auch andere Möglichkeiten, Grafiken zu importieren. Siehe dazu https://www.mikrocontroller.net/topic/428745#new&lt;br /&gt;
&lt;br /&gt;
== Tipps&amp;amp;Tricks / Eigenheiten / Bugs ==&lt;br /&gt;
&lt;br /&gt;
* Nachbearbeitung mit Skript oder Texteditor (Pin Swapping, Versionskontrolle via SVN, Generierung von Packages aus UCF-Listen) &lt;br /&gt;
** http://www.mikrocontroller.net/topic/120373#1100467&lt;br /&gt;
** http://www.mikrocontroller.net/topic/96860#836967&lt;br /&gt;
** http://stawoo.com/dokuwiki/doku.php?id=ecld:kicad:board&lt;br /&gt;
&lt;br /&gt;
* Veraltet! (2006) Schaltplan: Durchnummerieren von GND und PWR erforderlich http://www.mikrocontroller.net/topic/39243#290309&lt;br /&gt;
&lt;br /&gt;
* Zum Verbinden von Schaltplan und Layout müssen an den Bauteilen die Pinnummern mit den Padnummern der Footprints korrespondieren. Das ist &amp;quot;defaultmäßig&amp;quot; nicht immer zu erreichen, weil es unterschiedliche Nummerierungssysteme gibt. Ausser dem Anlegen eines speziellen Footprints kann diese Anpassung für einzelne Bauteile wärend des Layoutens im Moduleditor vorgenommen werden. http://www.mikrocontroller.net/topic/186121#1805890&lt;br /&gt;
* Ich habe einen hierarchischen Schaltplan angefertigt, indem sich eine Schaltung zig mal wiederholt. Eine dieser Subschaltungen habe ich schon geroutet, und möchte dieses Layout genau wie die hierarchischen Schaltpläne mehrfach auf dem Board verwenden.&lt;br /&gt;
** In PCBnew lassen sich mit &amp;quot;Datei&amp;gt;Platine hinzufügen&amp;quot; auch schon geroutete Gruppen von Bauteilen quasi als Modul einfügen, wenn sie zuvor als Board abgelegt wurden. Ebenso kann eine Bauteilgruppe, die in der Form mehrmals vorkommt, und die die schon einmal geroutet worden ist, gruppiert, kopiert und wiederverwended werden. Die dazu nötige Annotation und das Löschen der überzähligen Bauteile muss aber sorgfältig von Hand gemacht werden. &#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; In neueren Versionen von PCBnew ist diese Funktion ausgegraut, wenn PCBnew &amp;quot;normal&amp;quot; aus dem Menue des KiCad Hauptfensters gestartet wurde. Um diese Funktion zu aktivieren, KiCad schliessen und PCBnew wie ein alleinstehendes Program direkt starten.&lt;br /&gt;
** Wer seinen Subschaltplan separat routen möchte, sollte den Subschaltplan explizit in EEschema öffnen und die Netliste nur dieses Subschaltplanes exportieren. Diese Netlist in ein neues Board in PCBnew einlesen und wie üblich routen.&lt;br /&gt;
* Bibliotheken verwalten, umsortieren bzw. neu strukturieren: http://www.mikrocontroller.net/topic/187107#1817559 &lt;br /&gt;
&lt;br /&gt;
* Layout: Rest-Gummiband an Pins http://www.mikrocontroller.net/topic/120373#1092375&lt;br /&gt;
&lt;br /&gt;
* Produktion: http://www.mikrocontroller.net/topic/98034#848965&lt;br /&gt;
&lt;br /&gt;
* Bug in Version 2010-03-14: Unter Einstellungen lässt sich keine einseitige Platine wählen (wichtig für Autorouter). Lösung: Modifikation des .brd Files mit einem Editor [http://www.mikrocontroller.net/topic/172015#1651239]:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;&lt;br /&gt;
:In der *.brd Datei gleich ganz oben...&lt;br /&gt;
:&lt;br /&gt;
:$GENERAL&lt;br /&gt;
:LayerCount 2                 -&amp;gt; auf 1 setzen&lt;br /&gt;
:&lt;br /&gt;
:$SETUP&lt;br /&gt;
:InternalUnit 0.000100 INCH&lt;br /&gt;
:ZoneGridSize 250&lt;br /&gt;
:Layers 2                     -&amp;gt; auf 1 setzen&lt;br /&gt;
:Layer[0] Rückseite power&lt;br /&gt;
:Layer[15] Vorderseite power  -&amp;gt; hab&#039; ich mal beides so gelassen&lt;br /&gt;
:&amp;lt;/pre&amp;gt;                                                                aktueller: http://www.mikrocontroller.net/topic/172015#1794699&lt;br /&gt;
&lt;br /&gt;
* Das Anlegen von Symbolen/Bauteilen in aufgelöster Darstellung ist etwas stolperig. Siehe: http://www.mikrocontroller.net/topic/294095#3136180&lt;br /&gt;
&lt;br /&gt;
* Es empfielt sich, in Kicad vorläufig KEIN Ampersand (Kaufmansund, &amp;quot;&amp;amp;&amp;quot;) im Namen einer Schaltplan- oder Boarddatei zu Verwenden. Es besteht ein Bug beim Export/Plotten nach SVG. Siehe oben unter &amp;quot;Drucken / Export&amp;quot; und dann &amp;quot;Meine erzeugten SVG Plots sind kaputt.&amp;quot;. Siehe auch: http://tech.groups.yahoo.com/group/kicad-users/message/14952&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kühlkörper&#039;&#039;&#039; können als Symbol und Footprint (Modul) angelegt werden. Die Befestigungslöcher können im  Modul als Pad ausgeführt werden. Die Padnummer aller Pads sollte gleich sein (gleicher Anschluss / über Kühlkörper verbunden), z.B. &amp;quot;1&amp;quot;. Entsprechend ein Symbol mit Pin und korrespondierender Pinnummer anlegen. Wenn der Kühlkörper elektrisch nirgendwo verbunden sein soll, dann die Anschlusspinne im Schaltplan als &amp;quot;unused&amp;quot; markieren. Als Referenz in Symbol und Footprint habe ich &amp;quot;HS&amp;quot; (HeatSink) gewählt. Es ist zu überlegen, ob &amp;quot;HS&amp;quot; nicht auch als Padnummer besser wäre.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kartenumrisse/Outlines&#039;&#039;&#039;: Für immer wiederkehrende Platinengrössen, z.B. die beliebte Eurokarte, kann zur Vereinfachung des Zeichnens einmal ein Eurokartenumriss im Layer &amp;quot;outlines&amp;quot; gezeichnet werden, und als Modul abgelegt werden. Um die Zahl der Kollisionen beim Einlesen der Netzliste zu verringern, wird im Schaltplan ein Dummy-Symbol ohne Pinne angelegt. In CVpcb dann dieses Symbol mit dem passenden Kartenumriss Footprint/Modul verbinden, und es wird automatisch in PCBnew eingefügt. Als Referenz in Symbol und Footprint habe ich &amp;quot;Outl&amp;quot; (OUTLine) gewählt.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sprachanpassung&#039;&#039;&#039;: Ich will mein KiCad auf Deutsch / Englisch / Französisch / Finnisch oder sonst eine Sprache umstellen. Wie geht das?&lt;br /&gt;
** Siehe : http://www.mikrocontroller.net/topic/262039#2719056&lt;br /&gt;
**Die deutsche Übersetzung der Texte und Hilfetexte/Tooltips ist manchmal etwas unelegant. Wem so etwas auffält, bitte Mitteilung am Ende dieses Threads: http://www.mikrocontroller.net/topic/255932#2641638 (deutschsprachig) oder an die KiCad user group unter https://groups.yahoo.com/neo/groups/kicad-users/info (englischsprachig, auch bei Fällen wo es um die deutsche Übersetzung geht). Diese Mitteilungen nach Möglichkeit nicht in Launchpad.&lt;br /&gt;
** Ich habe aber keine Möglichkeit, die Sprache umzustellen!&lt;br /&gt;
*** Wenn Debian eine Fehlermeldung &amp;quot;Cannot set locale to &#039;xy_XY&#039;. kommt, ist die entsprechende Umgebung nicht installiert. Unter Debian als root in der Konsole: &amp;quot;dpkg-reconfigure locales&amp;quot; aufrufen. Es öffnet sich eine ncurses-gui, wo die entsprechenden Einstellungen gemacht werden können. Für &amp;quot;Deutsch&amp;quot; wähle ich &amp;quot;de_DE.utf8&amp;quot;.&lt;br /&gt;
*** Wenn nichts passiert, fehlen möglicherweise die localisierungs Dateien. Sie sind NICHT Teil der Sourcen, und finden sich in http://bazaar.launchpad.net/~kicad-developers/kicad/doc/files/head:/internat/. Auf Debian und verwandten Systemen müssen die einzelnen localisationsordner, z. B. &amp;quot;de&amp;quot; nach /usr/local/share/kicad/internat kopiert werden. Dann als root dort Leserechte erteilen mit &amp;quot;chmode -R 755 /usr/local/share/kicad/internat&amp;quot;.&lt;br /&gt;
*** Wenn ein Mischmasch aus Englisch und der gewählten Sprache existiert, sind entweder nicht alle Begriffe übersetzt (siehe oben) oder wegen Umbenennung von Variablen ist eine Inkonsistenz entstanden. Siehe: http://www.mikrocontroller.net/topic/326622#3565178&lt;br /&gt;
** Für die KiCad Localsisation wird &amp;quot;GNU gettext&amp;quot; verwendet. Eine kleine Hilfestellung zur Anpassung der Localisation findet sich hier: http://docs.kicad.org/en/gui_translation_howto.html. Info zu Gnu gettext findet sich hier: http://de.wikipedia.org/wiki/GNU_gettext&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Projektdateien (.pro) Pfadschreibweise&#039;&#039;&#039;: In einer Windowsumgebung ist es anscheinend nötig, relative Pfade speziell zu kennzeichnen. Siehe: http://www.mikrocontroller.net/topic/326869#new&lt;br /&gt;
&lt;br /&gt;
=== Problem: Der Ursprung für die Pick und Place bzw. Drill-Daten wurde verändert und lässt sich nicht zurücksetzten. === &lt;br /&gt;
Siehe: http://www.mikrocontroller.net/topic/363280#new&lt;br /&gt;
&lt;br /&gt;
=== Problem: Case Senitive Symbols ab BZR4646 (Jan./Feb. 2014) in Schaltplänen. (Migration alter Projekte auf neue) ===&lt;br /&gt;
Ab BZR4646 sind die Symbole in Eeschema &amp;quot;Case Sensitive&amp;quot;. Das bedeutet: In alten Schaltplandateien wurden für die Symbolnamen nur Großbuchstaben verwendet, auch wenn die Originalnamen in der Library Kleinbuchstaben enthielten. Ab BZR4646 werden die Symbolnamen in den Schaltplandateien genauso geschrieben wie die Originalnamen in der Library. Leider werden dadurch bei alten Schaltplandateien die großgeschriebenen Symbolnamen nicht mehr in den Bibliotheksdateien erkannt. Auch nicht in den &amp;quot;-cache.lib&amp;quot; Dateien. Ganz so kritisch, wie es sich anhört, ist es wiederum auch nicht, weil KiCad schon seit geraumer Zeit die Schaltpläne in der neuen Version speichert. Jemand, der mit aktuellen KiCad Versionen an aktuellen Schaltplänen arbeitet, wird darum den Übergang vermutlich nicht bemerken. Allerdings tritt das Problem bei alten Schaltplänen auf, die möglicherweise Jahrelang unberührt auf der Festplatte lagen. Um die Symbolnamen in diesen alten Schaltplandateien anzupassen, existiert das Python3 Skript &amp;quot;PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip&amp;quot;. Es ist ein &amp;quot;Stand alone&amp;quot; Python3 skript, das nicht in das KiCad interne Python skripting eingebunden ist. Die Datei kann hier bezogen werden:[[Media:PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip]].&lt;br /&gt;
Autor: Bernd Wiebus, GNU-GPL.&lt;br /&gt;
&lt;br /&gt;
Be einigen Linux Distributionen (z.B. Archlinux) wird neben Python 3 auch noch das Paket &amp;quot;python3-tk&amp;quot; benötigt. Oder eine irgendwie anders genannte Einbindung von Tkinter in Python3. Anmerkung: &amp;quot;Tkinter&amp;quot; für Python3 wird im allgemeinen kleingeschrieben &amp;quot;tkinter&amp;quot; zur Unterscheidung vom großgeschriebenen &amp;quot;Tkinter&amp;quot; für das alte Python(2). &lt;br /&gt;
Sonst gibt es die Fehlermeldung &amp;quot;ImportError: No module named tkinter&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Manueller Start mit: &amp;quot;python3 PyKiCad-CaseSensitiveLibCure_RevD_13Mar2015.py&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dieses Skript kann benutzt werden, um Schaltpläne, die mit der Eeschema Version (2013-11-29 BZR 4513) von Ende 2013, die in Linux Repositorys (z.B. Debian 7 &amp;quot;Wheezy&amp;quot;) noch sehr verbreitet ist, auf aktuelle KiCad Versionen anzupassen.&lt;br /&gt;
&lt;br /&gt;
In RC4 übernimmt ein &amp;quot;Rescue-Helper&amp;quot; diese (und andere) Funktion. Aber auch dieser kann genau wie das Python Skript nur funktionieren, wenn entweder die Originalsymbole (Cache.lib!) oder entsprechend benannte Nachfolger der Bibliotheken existieren, so dass ein auf den Namen passendes Symbol existiert.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Backporting KiCad-Board Dateien (.kicad_pcb) von Version 4 auf Version 3 2014/2015) ===&lt;br /&gt;
&lt;br /&gt;
Möchte man z.B mit einer KiCad/PCBnew Version BZR 4027 vom 22 Juni 2014, welche in vielen Repositorys noch weit verbreitet ist, eine Board-Datei ( .kicad_pcb), die mit einer neueren PCBnew Version erstellt wurde, z.B. einer BZR 5513 vom 14. März 2015 (die aktuell kompiliert wurde), öffnen, so stösst man auf Probleme. Aktuell die BZR 5513 verwendet für die Board Dateien Version 4, und die alte BZR 4027 verwendet dort die Version 3. Obwohl das Schema der Boarddateien fast gleich ist, enthält die Version 4 Elemente, die es zur Zeit der Version 3 noch nicht gab, und die darum zu Fehlermeldungen und zum Abbruch des Einlesens der Datei führen. Diese Neuerungen beziehen sich auf den Export von Gerberfiles mit Attributen sowie Platinenlagen, die es vorher noch nicht gab. Diese Fehler sind dank der einfachen, klarschriftlesbaren Filestruktur von KiCad sehr leicht mit einem Texteditor zu beheben. Eine Beschreibung, wie dieses manuell zu machen ist, finden Sie hier: [[Media:KiCad-PCBnewBoardDateienMigrierenVonVersion4Auf5.pdf]] Achtung Irrtum: Hier sind Version 4 und 5 genannt, dabei sind aber Version 4 und 3 gemeint.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Portieren von älteren KiCad-Board Dateien auf neuere Versionen.  ===&lt;br /&gt;
&lt;br /&gt;
In einigen Fällen funktioniert das Erkennen von selbstvergebenen Layer Namen aus der älteren Version nicht. Abhilfe schafft das manuelle Umbenennen der betroffenen Layer per Editor in den Board Dateien in KiCad-Standard Bezeichnungen und natürlich das konsequente Einpflegen in den Rest der Datei. Eine Vorstellung, wie das zu bewerkstelligen ist, ist ebenfalls aus [[Media:KiCad-PCBnewBoardDateienMigrierenVonVersion4Auf5.pdf]] zu ersehen. Achtung Irrtum: Hier sind Version 4 und 5 genannt, dabei sind aber Version 4 und 3 gemeint. Einen Überblick, welche Layernamen die jeweils aktuelle KiCad Version verwendet, bekommt man indem man sich ein Testboard anlegt, indem ALLE möglichen Layer verwendet werden, dieses abspeichert und sich die Datei mit einem Texteditor ansieht.&lt;br /&gt;
Die Portierung von alten KiCad-board Dateien (Projektname.brd) funktioniert dagegen im Allgemeinen problemlos.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Neue leere Footprintbibliothek kann nicht erstellt werden (kicad Version: 4.0.0~rc1a-stable release build / RC4) ===&lt;br /&gt;
&lt;br /&gt;
Soll eine neue, leere Footprintbibliothek angelegt werden, so funktioniert das nicht mit den angebotenen Tools (z.B. dem Wizzard) weil die automatisch den Typ der Bibliothek ermitteln wollen, was nicht funktioniert, weil die Bibliothek noch leer ist. Auch das manuelle Eintragen des Pfades funktioniert nicht, weil die leere Bibliothek nicht als solche erkannt wird, und wegen dieses Fehlers der Abschluss des Eintrages nicht übernommen wird. Abhilfe schafft dabei das Anlegen eines Ordners &amp;quot;Bibliotheksname.pretty&amp;quot; (Erinnerung: Neue KiCad Footprintbibliotheken bestehen aus einem Ordener &amp;quot;xyz.pretty&amp;quot;, indem die einzelnen Footprints jeder für sich in einer extra Datei &amp;quot;Footprintname.kicad_mod&amp;quot; existieren). Anschliessend kopiert man eine einzige beliebige Footprintdatei &amp;quot;Nameirgendwie.kicad_mod&amp;quot; in diesen Ordner. Somit ist &amp;quot;Bibliotheksname.pretty&amp;quot; eine &amp;quot;echte&amp;quot; Bibliothek, welche als solche problemlos eingebunden werden kann. Enthält die Bibliothek dann irgendwann die gewünschten richtigen Einträge, so kann der Footprint, der zu Anfangs zum Erstellen der Bibliothek hineinkopiert wurde, auch wieder gelöscht werden.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Fehlende Backannotationsmöglichkeit in KiCad ===&lt;br /&gt;
&lt;br /&gt;
Es gibt Leute, die sich in KiCad eine Backannotationsmöglichkeit wünschen (andere warnen davor, sowas zu benutzen, selbst wenn es existiert). KiCad bietet aktuell selber diese Möglichkeit nicht, doch lässt sich aufgrund der offenen Dateistrukturen ein z.b. Python Skript schreiben, welchess die Backannotation durchführt. Als ein Beispiel siehe hier: &amp;lt;ref&amp;gt;https://hasanyavuz.ozderya.net/?p=256&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Problem: Platinenerstellung durch Isolationsfräsen ===&lt;br /&gt;
&lt;br /&gt;
Einer der möglichen Wege ist hier beschrieben: https://www.daedalus.ei.tum.de/index.php/de/3d-druck-cnc/cnc/layout-und-g-code-erstellung-mit-kicad  Allerdings scheint die dort erwähnte Software mittlerweile aus einer anderen ecke zu kommen: http://carbide3d.com/apps/pcb/community.html Es gibt aber noch andere Wege, zb. über: http://flatcam.org/discussion#!/?HPGL Eine Diskussion dazu findet sich hier: https://www.mikrocontroller.net/topic/447442#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Building Blocks ===&lt;br /&gt;
* Eine unfertige Dokumentation, wie man das hierarchische Schaltplansystem von KiCad verwendet, um daraus schnell und rationell Schaltpläne mit vorgefertigten Schaltplänen (Building Blocks) nach dem Baukastensystem aufzubauen. Enthält auch ein Beispielprojekt. Beachte die Liesmich.txt Datei. [[Media:BuildingBlocksKiCad-EXPERIMENTELL.zip]] Das File  KiCad-HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf, enthält eine vorläufige Beschreibung dazu. KiCad-HierarchischeSchaltplaene+buildingBlocksRevA-EN.pdf is an English description how to use hirarchical schematics as building blocks for a fast and rationel schematic design. Es fehlt noch die Übersetzung und die Bebilderung und ein paar Berichtigungen und Ergänzungen. ;-) . Das echte Hauptbeispielprojekt ist UnderVoltageDetector24V-2Group_Experimental.pro bzw. UnderVoltageDetector24V-2Group_Experimental.sch. Im Ordner Experimentalprojekt23052010 findet sich ein weiterer Ordner BuildingBlocksExperimental. Dieser enthält die Ausgangsbausteine VoltageRegulatorBuildingBlock.sch mit VoltageRegulatorBuildingBlock-cache.lib und  VoltageDetectorBuildingBlock.sch mit VoltageDetectorBuildingBlock-cache.lib. Die Projektdateien der Buildingblocks .pro sind nur der Vollständigkeit und zur leichteren Bearbeitung zugefügt. Aus VoltageDetectorBuildingBlock.sch und VoltageRegulatorBuildingBlock.sch wurde (nach umkopieren, umbenenen und kleiner Änderung) im übergeordneten Ordner das Projekt VoltageRegulatorBuildingBlock.pro unter verwendung des &amp;quot;Zwischenbuildingblocks&amp;quot; UnderVoltageDetectorBuildingBlock.sch zusammengesetzt. NICHT VERGESSEN DIE CACHE.LIB EINZUBINDEN! Sonst gibt es nur Fragezeichen statt Bauteile. Das Beispielprojekt enthält eine 24V Unterspannungsüberwachung für einen Bleiakku, die zwei 12V Gruppen überwacht. Nicht elegant, aber hoffentlich robust. Autor: Bernd Wiebus , GNU-GPL. Der dazubezügliche Beitrag im Forum ist: http://www.mikrocontroller.net/topic/178683#1724114&lt;br /&gt;
*[[Media:HierarchischeSchaltplaeneAlsBausteineInKicad_RevC_23Dec2013.pdf]] VERBESSERTE und AKTUALISIERTE Version von KiCad-HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf aus obiger Zip-Datei. Beschreibt, wie mit Hilfe der hierarchischen Schaltplanstruktur aus einzelnen, vorgefertigten Schaltplänen schnell und rationell neue Schaltpläne modular zusammengesetzt werden können. There is also a English translation of this tutorial about using hierarchical schematics as building blocks. You can get it here: [[Media:HierarchicalSchematicsAsBuildingblocksAtKiCad_RevC-EN_06May2015.pdf]]&lt;br /&gt;
* Eine Sammlung von gängigen Schaltungen mit den Längstreglern LM317 /LM78xx /LM79xx und dem Timer 555, die nach dem in obig erwänten Dokument KiCad_HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf beschriebenen Vorgehen als Building Blocks in KiCad verwendet werden können, findet sich unter: http://www.mikrocontroller.net/articles/KiCad#Building-Blocks&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Shortcuts/Hotkeys ===&lt;br /&gt;
&lt;br /&gt;
KiCad besitzt eine ganze Anzahl von Shortcuts/Hotkeys. Diese lassen sich editieren, abspeichern und importieren.&lt;br /&gt;
Dieses erfolgt in EEschema, dem Symboleditor und in PCBnew in der oberen Menueleiste unter &amp;quot;Einstellungen&amp;quot; &amp;gt; &amp;quot;Tastaturbefehle&amp;quot; (&amp;quot;Preferences&amp;quot; &amp;gt; &amp;quot;Hotkeys&amp;quot;). Dort finden sich weitere Menuepunkte, um eine Liste der verfügbaren Hotkeys anzuzeigen, die Hotkeys zu editieren oder um sie zu exportieren oder importieren.&lt;br /&gt;
&lt;br /&gt;
Eine &#039;&#039;&#039;Liste&#039;&#039;&#039; der aktuell verfügbaren Hotkeys erhält man mit &amp;quot;?&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Es gibt eine Reihe von Hotkeys, die in EEschema, dem Symboleditor und PCBnew gleich sind:&lt;br /&gt;
&lt;br /&gt;
*Help (this window)		?&lt;br /&gt;
*Zoom In			        F1&lt;br /&gt;
*Zoom Out			F2&lt;br /&gt;
*Zoom Redraw			F3&lt;br /&gt;
*Zoom Center			F4&lt;br /&gt;
*Fit on Screen			Home&lt;br /&gt;
*Reset Local Coordinates	Space&lt;br /&gt;
*Edit Item			E&lt;br /&gt;
*Delete Item			Del&lt;br /&gt;
*Rotate Item			R&lt;br /&gt;
*Drag Item			G&lt;br /&gt;
*Undo				Ctrl+Z&lt;br /&gt;
*Redo				Ctrl+Y&lt;br /&gt;
*Mouse Left Click		Return&lt;br /&gt;
*Mouse Left DClick		End&lt;br /&gt;
&lt;br /&gt;
Die anderen variieren je nachdem, in welcher Umgebung man sich befindet.&lt;br /&gt;
&lt;br /&gt;
Ein wichtiger Hotkey in PCBnew ist &amp;quot;T&amp;quot;. Wird &amp;quot;T&amp;quot; gedrückt, poppt ein Fenster auf, in dem nach dem Referenzbezeichner des Bauteils gefragt wird. Den gibt man ein, drückt &amp;lt;Enter&amp;gt; und der Footprint des Bauteiles hängt am Mauszeiger. Das ist eine wichtige Funktion beim &#039;&#039;&#039;Plazieren der Bauteile&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Eine PDF Datei mit Notizen zu den Shortcuts in KiCad und Listen von Shortcuts findet sich hier: [[Media:KiCad-Shortcuts-Hotkeys_Notizen_BZR4803_28Jun2014.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Lochraster/Lötleisten Platinen Entwurf mit KiCad ===&lt;br /&gt;
&#039;&#039;&#039;Dieses hier beschriebene Verfahren ist KiCad unabhängig und geht grundsätzlich mit jedem Layoutprogramm, das ein Raster anzeigen kann.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Wer viel mit Lochraster Platinen arbeitet, hat gelegentlich auch ein Bedürfnis, diese Tätigkeit mit einem Layoutprogramm zu begleiten. Zum einen um den Platzbedarf besser abschätzen zu können, zum anderen, um dadurch auch eine schnelle und einfache Dokumentation auch für Lochrasterprojekte zu schaffen. Auch dazu kann KiCad verwendet werden.&lt;br /&gt;
* Vorgehensweise: Schaltplan in Eeschema erstellen wie üblich, Netzliste erzeugen, und in CVpcp die Bauteile zuordnen. In PCBnew dann das Raster einblenden und auf 2,54mm (100mil) stellen. Nun geben die Rasterpunkte die Position der Löcher der Lochrasterplatine vor. Nach dem Einlesen der Netzliste bei Lochraster mit Streifenleitungen am besten zweiseitig manuell routen. Auf der Unterseite der Richtung der Streifenleitung in Längstrichtung folgen (z.b. wagerecht). Auf der Oberseite die Brücken dazu quer legen (z.B. senkrecht). Zweipolige Bauteile immer senkrecht oder wagerecht positionieren. &lt;br /&gt;
** Wer eine Platine erstellen möchte, die nur teilweise ein Lochraster aufweist, dem sei diese Diskussion empfohlen: https://www.mikrocontroller.net/topic/369534#new&lt;br /&gt;
* Noch ein Vorschlag für Lochraster bzw. Lötleistenentwürfe in KiCad: http://www.mikrocontroller.net/topic/395181#4547206&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: KiCad und Freeroute ===&lt;br /&gt;
Leider ist die Freeroute Seite abgeschaltet. Grund:http://www.mikrocontroller.net/topic/337014#new Allerdings gibt es eine Möglichkeit, Freeroute selber zu installieren und zu nutzen: https://github.com/nikropht/FreeRouting und http://freerouting.net/index_de.php &lt;br /&gt;
*Freerouting einseitig bzw. für Lochraster verwenden: http://www.mikrocontroller.net/topic/363335#new&lt;br /&gt;
*Fehlermeldungen beim Start von Freeroute: Es ist wichtig, dass der Leiterplattenumriss in der Lage edge.cuts geschlossen ist: https://www.mikrocontroller.net/topic/435039#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: KiCad und Specctra Autorouter ===&lt;br /&gt;
Es treten beim Export der Netzlisten/Designs Fehlermeldungen der Art: &amp;quot;IO_ERROR: Multiple components have identical reference IDs&amp;quot; auf, obwohl offensichtlich keine doppelten Referenzbezeichner vergeben wurden.&lt;br /&gt;
* Die &amp;quot;doppelten Referenzbezeichner&amp;quot; sind doch &amp;quot;irgendwie&amp;quot; versteckt vorhanden. Z.B. dadurch, das Bauteile nicht Referenziert oder Annotiert wurden. Im Zweifel die Files mit einem Texteditor danach durchsuchen, oder die Autoannotation über das Board laufen lassen. Siehe: https://www.mikrocontroller.net/topic/365185#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Platinen von ALLPCB ===&lt;br /&gt;
Hinweise, wie die Design Restrictions von ALLPCB in KiCad umgesetzt werden können, als Beispiel auch für andere Platinenhersteller (entsprechend anpassen)&lt;br /&gt;
* https://www.mikrocontroller.net/topic/443533#new&lt;br /&gt;
&lt;br /&gt;
= Bibliotheken =&lt;br /&gt;
&lt;br /&gt;
== Handhabung von Bibliotheken ==&lt;br /&gt;
&lt;br /&gt;
=== Eeschema ===&lt;br /&gt;
&lt;br /&gt;
* Symbolbibliotheken in Eeschema einbinden.&lt;br /&gt;
** Zur Benutzung müssen Bibliotheken mit Symbolen in das Bibliotheksverzeichnis von Eeschema eingetragen werden. Siehe: https://www.mikrocontroller.net/topic/416835 [[Bild:EeschemaBibliotheksliste.png|300px|thumb|right|Bearbeitung einer KiCad 4 Eeschema Bibliotheksliste]]&lt;br /&gt;
* Cache Bibliothek:&lt;br /&gt;
**  Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Aus diesem Grunde existiert zu jeder Schaltplandatei (Dateiname.sch) eine Cache Bibliothek (Dateiname-cache.lib). Diese enthält alle im Schaltplan verwendeten Symbole, und sollte darum mit dem Schaltplan zusammen übergeben werden. Diese Cache-Bibliothek sollte auch in die Bibliothekstabelle übernommen werden.&lt;br /&gt;
* Fehler mit Case-Senitiven Bibliotheken&lt;br /&gt;
** Ab BZR4646 (Jan./Feb. 2014) behandelt KiCad Symbolnamen &amp;quot;Case Sensitive&amp;quot;. Das führt zu Problemen mit älteren Schaltplänen, wo &amp;quot;Mixed Case&amp;quot; Symbolnamen aus den Bibliotheken automatisch in &amp;quot;Upper Case&amp;quot; Symbolnamen konvertiert wurden. Diese werden jetzt nicht mehr erkannt. Näheres siehe: http://www.mikrocontroller.net/articles/KiCad#Problem:_Case_Senitive_Symbols_ab_BZR4646_.28Jan..2FFeb._2014.29&lt;br /&gt;
&lt;br /&gt;
== Bibliothekssammlungen ==&lt;br /&gt;
&lt;br /&gt;
In diesem Abschnitt sollen unsere Arbeiten an Bibliotheken koordiniert werden. Dabei sollen alle Arbeiten unter der Creative Commons Lizenz stattfinden. Das heisst insbesondere, dass keine Arbeiten mit anderem Copyright unseren Bibliothekspool vergiften sollen z.&amp;amp;nbsp;B. durch unerwünschte Konvertierung von EAGLE-Bibliotheken.  &lt;br /&gt;
&lt;br /&gt;
Unsere Designziele sind:&lt;br /&gt;
* Frei benutzbar (Creative Commons Lizenz) &lt;br /&gt;
* Einheitlich (Richtlinien?)&lt;br /&gt;
** Vorschlag von Marko für Bohrungen und Pads siehe [http://www.mikrocontroller.net/topic/124070#1176177]&lt;br /&gt;
** Die Richtlinien, die die KiCad Librarys selber verwenden: [https://github.com/KiCad/kicad-library/blob/master/KiCad_Library_Convention.txt]&lt;br /&gt;
* Fehlerfrei (Nachkontrolle durch andere User)&lt;br /&gt;
&lt;br /&gt;
=== Wünsche ===&lt;br /&gt;
&lt;br /&gt;
Hier soll eine Strichliste geführt werden, welche neuen Bauteile gesucht sind bzw. welche oder besseren, genaueren Versionen benötigt werden. Bitte gebt an, was bei bestehenden Bauteilen problematisch ist.&lt;br /&gt;
&lt;br /&gt;
Bevor wir Bibliotheken erstellen, sollten auf jeden Fall einige Parameter - insbesondere für die Schaltplansymbole - festgelegt werden: Pinlänge, Pinabstand, Größe der Schriften, Konventionen bzw. Nummerierung (z.B. bei gepolten Bauteilen wie Dioden, Elkos usw.). Sonst entsteht Wildwuchs, weil jeder für sich anderes festlegt.&lt;br /&gt;
&lt;br /&gt;
* Stehende Layouts für 7805 und N-FETs: ||||&lt;br /&gt;
** Passt TO220_VERT ? Natürlich! Nur die Anschlussnumerierung muss ev. passend adaptiert werden. Ist unter &amp;quot;TO-220&amp;quot; in [[Media:KiCAD_Module_Footprints_3D_29Aug2014.zip]] enthalten. In allen Perversionen. Stehend, liegend, rumgedreht von der Rückseite usw....&lt;br /&gt;
* LPC21xx / LPC22xx / LPC23xx |&lt;br /&gt;
* EINE AVR ATmega-Bibliothek, wo ALLE Controller drin sind. ||||||||&lt;br /&gt;
* AVR XMegas |&lt;br /&gt;
* AT90CAN128 / allgemein mehr AVRs (MEGA &amp;amp; TINY) ||||||&lt;br /&gt;
* Wegen der AVRs und ATMEGAs: Bitte hier http://www.kicadlib.org/Fichiers/Kerusey_Karyu_Atmel_Library.html mal schauen, und den Wunsch auf den Typ konkretisieren! Der Atmelzoo ist so verwirrend vielfältig.....&lt;br /&gt;
** Leider ist die dazugehörige Bibliothek defekt.&lt;br /&gt;
** Ist aktualisiert worden und in die aktuelle KiCad Symbol Library eingeflossen: [https://github.com/KiCad/kicad-library/blob/master/library/atmel.lib]&lt;br /&gt;
*** Weitere Aktualisierungen und Erweiterungen: [https://github.com/KiCad/kicad-library/blob/master/library/atmel.dcm]&lt;br /&gt;
* Schaltregler (u.A. LM257x, LM267x, MC33063, L5973D) |||| Der MC33063 hat gleiches Pinning und Gehäuse wie MC34063! Darum kann der in http://www.mikrocontroller.net/wikifiles/8/84/Symbols_ICs-Diskrete_RevD9.lib verwendet werden.&lt;br /&gt;
* Spulen (z.&amp;amp;nbsp;B. diverse Wuerth) ||&lt;br /&gt;
* Drosseln (B82790 für CAN, Würth 744207) ||&lt;br /&gt;
* Transformatoren (allgemein) |&lt;br /&gt;
* Ferrite (7427930 - 32, 742792651, 74279263) |&lt;br /&gt;
** ??? Was genau ist nun Footprint und Referenzmaeßig der Unterschied zwischen Drosseln, Spulen und Ferriten, wenn ich jetzt mal davon ausgehe, das die Teile weder Anzapfung noch mehr als eine Wicklung haben (dann wären es Trafos oder Uebertrager), und die elektrischen Werte in ein Feld eingetragen werden?? Schau mal unten in http://www.mikrocontroller.net/wikifiles/d/da/KiCad_Module_Footprints_3D_16Sep2013.zip. Kleinere SMD-Entstörferrit Module lassen sich uebrigens aus Footprints für SMD-Widerstaenden zaubern, in dem man sie umbenahmt und mit der Referenz &amp;quot;L&amp;quot; versieht. ;-)&lt;br /&gt;
* STM32 Mikrocontroller Bibliothek (sofern möglich alle) ||||&lt;br /&gt;
* Arduinos ||&lt;br /&gt;
** Arduino Due ||&lt;br /&gt;
** Arduino Nano |&lt;br /&gt;
* Teensy |&lt;br /&gt;
** Teensy 3.5/3.6 |&lt;br /&gt;
** Teensy 4.0 |&lt;br /&gt;
&lt;br /&gt;
=== Entwürfe ===&lt;br /&gt;
&lt;br /&gt;
Neue Bibliotheken oder Änderungen sollen zunächst in diesem Abschnitt &lt;br /&gt;
vorgestellt werden. &lt;br /&gt;
&lt;br /&gt;
==== Symbolbibliotheken ====&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/96460#832961 ATmega3250/TQFP100] von Fred S. (Gast)&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/96460#844741 ATMega3290 im 100Pin-Gehäuse] von Fred S. (Gast)&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/132811#1205130 RFM12-Funkmodul] von Dominik C.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/133310#1210137 CAN Controller MCP2515 und Transceiver MCP2551] von Dominik C.&lt;br /&gt;
&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/394700#4540445 STLib für KiCad mit STM32F4x] von Markus W.&lt;br /&gt;
&lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevB-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1. Schaltplan Symbolbibliothek fuer KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind. Von Bernd Wiebus&lt;br /&gt;
&lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevC-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind. Aenderung gegenueber Rev.B: Kleinere Symbole hinzugefügt. Mit Vorsicht geniessen! Von Bernd Wiebus.&lt;br /&gt;
 &lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevD3-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind.  Aenderung gegenueber Rev.C: Kleinere Fehler beseitigt. CLD Symbol hinzugefuegt. Kuehlkoerper Symbol und Dummy-Symbol fuer Boardoutlines hinzugefuegt. Thyristor und Triac Symbol zugefuegt. Copyright Symbole GNU-GPL und CC zugefuegt. Mit Vorsicht geniessen! Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
 &lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevE8.lib]] AKTUELLE Version! Ersetzt die Rev. B, C und die Rev. D sowie Vorgängerversionen E1-E7! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind.  Aenderung gegenueber Rev.D: Kleinere Fehler beseitigt. Ankerpunkte in die Nähe der Symetrieachsen verlegt. Verbinder DIN41612 / EN60603-2 &amp;quot;Eurokartenstecker&amp;quot; hinzugefügt. Große &amp;quot;BIG&amp;quot; Symbole entfernt und in der Datei BIG-SymbolsSimilarEN60617+oldDIN617-RevE.lib ausgelagert. Mit Vorsicht geniessen! Von Rene Belau und Bernd Wiebus.  CC-Zero/Public Domain!  Defektes Symbol &amp;quot;RESISTOR_RevE_Date15jun2010&amp;quot; repariert am 02. Maerz 2011. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
   &lt;br /&gt;
* [[Media:BIG-SymbolsSimilarEN60617+oldDIN617-RevE.lib]] Einige EN60617 oder der DIN 617 ÄHNLICHE Symbole in besonders GROSSER Ausführung. Vermutlich werden Sie diese GROSSEN Symbole eher NICHT benutzen wollen. Mit Vorsicht geniessen! Von Rene Belau und Bernd Wiebus. Unter GNU GPL. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/attachment/74203/obi.lib]] KiCad Symbol für einen ATMEGA644. Von obi&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ICs-Diskrete_RevD10.lib]] KiCad Symbole für einige diskrete ICs. Enthält L200 (Pentawatt Gehäuse), LM2587 (Pentawatt Gehäuse), Längstregler LM317, LM78xx, LM79xx, Timer NE555, NF-Verstärker LM1875 und TDA2003 (Pentawatt Gehäuse), Schaltregler UC38xx (DIP8/SO8 und DIP14/SO14), LM2587, MC34036, LM78S40 und MCP1640, Treiber MIC4422 (DIP8/SO8 und Pentawatt Gehäuse). Allegro Halleffekt Stromwandler Typ ACS754/ACS755/ACS756 und LEM Halleffekt Stromwandler der Serie &amp;quot;HX&amp;quot;. Programierbarer Oszillator Si570/Si571 sowie Quarzoszillator Typ KXO-200. Dazu Transistor Arrays BC847S und BC857S (in einfacher und in aufgelöster Darstellung) und Supressordioden Array SR05. Schieberegister 74HC4094 . Spannungs-/Laderegler uA723/LM723 in 14 und 20 poligem Gehäuse. HF/ZF Verstärker/Mischer/Demodulator TCA440 alias exDDR A244D, FM Frontend TA7358. Spannungsmonitor ICL7665. Autor Bernd Wiebus.  CC-Zero/Public Domain!  Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ICs-Opto_RevB_16Sep2013.lib]] KiCad Symbole für Optokoppler CNY17, IL300. IL388, TLP250, SFH617A-1, SFH617A-2, SFH617A-3, SFH617A-4, KPC357, LTV35x, und PC357. LWL Empfänger Toshiba TORX170 TORX173 TORX193  und TORX194 (Toslink). LWL Sender Toshiba TOTX170 TOTX173 TOTX193  und TOTX194 (Toslink). LWL Empfänger Agilent HFBR-252x und Sender Agilent HFBR-152x Serie (Versatile Link). 7 Segment Anzeigen HDSM531, HDSM533, LTS6760, LTS6780, SBC18-11EGWA. Autor Rene Belau und Bernd Wiebus. CC-Zero / Public domain. Mit VORSICHT geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Transformer-Diskrete_RevA.lib]] KiCad Symbole für einige diskrete Transformatoren. Coilcraft Q4434-B = Rhombus T1311 und Myrra-74040 ETD29. Autor: Bernd Wiebus. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_DCDC-ACDC-Converter_RevC_29Aug2014.lib]] KiCad Symbole für einige DCDC/ACDC-Converter. Enthält CINCON EC5BC12, CINCON EC6C11, TRACO TED-1212, TRACO TED-XXXX Dual Output, TRACO TED-XXXX Single Output, TRACO TEN10-1212, TRACO TEN10-XXXX, TRACO TME-XXXX, TRACO TMH-XXXX Single Output, TRACO TMH-XXXX Dual Output, sowie TRACO ACDC-Converter der TMLM Serie. BOTHHAND CF-Serie und DELTA DPS05U09D. Neu seit 29 August 2014: Floeth DCDC-Converter SD14-XXXX und SD18-XXXX. Autor: Bernd Wiebus. GNU-GPL. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_Socket-DIN41612_RevA.lib]] KiCad Symbole für DIN41612 Stecker und Buchsen (Die bekannten Eurokartenstecker). Autor: Bernd Wiebus. GNU-GPL. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_EN60617_13Mar2013.lib]] KiCad Symbole für die EN60617. Strikter als die Symbole aus SymbolsSimilarEN60617+oldDIN617-Rev~~.lib. Autor: Bernd Wiebus. CC-Zero/Public Domain! Mit Vorsicht geniessen! Hierzu gehört der Katalog: [[Media:Symbols_EN60617_13Mar2013.pdf]] Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_EN60617-10_HF-Radio_DRAFT_12Sep2013.lib]] HF-Blockschaltbild Symbole für KiCad. EXPERIMENTELL! Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain.  Hierzu gehört der Katalog: [[Media:EN60617-10_HF-Radio_SymbolCatalog_DRAFT.pdf]] Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_Microcontroller_Philips-NXP_RevA_06Oct2013.lib]] Symbole der NXP Microcontroller LPC2104, LPC2105 und LPC2106 fuer KiCad.  Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ORringController_RevA_03Aug2015.lib]] Symbole verschiedener ORing-Controller fuer KiCad. Enthält IR5001, ISL4166 (QFN20+TSSOP16) und LM5050/LM5051. Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de.&lt;br /&gt;
&lt;br /&gt;
* [https://forum.kicad.info/t/oktizer-octagonal-pads-and-vias-was-elektuur-style-symbol-library/34611 Klassische Elektor-ähnliche Symbole], angepasst an KiCad 5.1 und 6.0. Lizenz: CC0&lt;br /&gt;
&lt;br /&gt;
==== Modulbibliotheken ====&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD_Module_Footprints_3D_29Aug2014.zip]] Eine Sammlung von KiCad Modulen bzw. Footprints diskreter Bauteile. Neben den obligatorischen Rs, Cs und Ls sind Schrack und Omron Kartenrelais (die Footprints passen auch fuer andere Hersteller), diverse Dioden, Klemmen WAGO 236 (RM 5mm) Serie und WAGO 734 Serie, Sicherungshalter (Schurter und Bulgin) für 5x20 und 6x30, SMD Sicherungen 1206 und Sicherungen/Sicherungshalter TE5/TR5,Flachsicherungen Standard und Mini, Kuehlkoerper und Eurokartenoutlines enthalten. Zusaetzlich TO92, TO220, TO220-5 (Pentawatt) und TO247 Gehaeuse. Ebenso die vermissten PISN und PISR SMD Drosseln. Einige Throughhole C&amp;amp;D Bobin Drosseln, Bourns 3296, Spectrol Type 43 / Econtrim und Piher PT15 Trimmer . Potentiometer Alps RK16 und Spectrol Type 148/149. Transformatoren Coilcraft Q4434-B / Rhombus T1311 sowie ETD29 von Epcos und Myrra sind auch dabei. Eurokartenstecker/-buchsen DIN 41612 Typ B1, B2, C1, C2 und C3. Ebenfalls enthalten: GNU-GPL und Creative Commons  Symbole. Dazu Messpunkte. BNC-Buchse, Quarzoszillator, SMD Widerstände und Kondensatoren.  (0805, 1206, 2512) sowie experimentelle Universalfootprints SMD/Throughole. SMD-Dioden: MELF, Mini-MELF, SMA, SMB und SMC. Halleffekt Stromwandler mit Allegro CB-PFF, CB-PSF und CB-FSS Gehäusen.Dazu Stecker Molex Serie KK, Würth SMD Drosseln und Doppeldrosseln. Neosid Filter und Drosseln. TRACO ACDC-Converter der TMLM Seie und SOT23, SOT143, SOT143R, TSOT-6 / MK06A sowie SC70-6 SMD Footprints für Dioden, Transistoren bzw. Dioden und Transistor Arrays und kleinere ICs. Mini Universal Mate-N-Lock Steckersockel (Tyco/AMP). 2-6 Pin, vertikale und horizontale Typen. Verbesserte Fiducials und Logos. Dazu SMD-Tantalkondensatoren und ETAL NF-Transformatoren. TO50-3 und TO50-4 Gehäuse. 7 Segment Anzeigen. LQFP48/TQFP48 Gehäuse. Hallsonden Stromwandler mit Allegro CB-PFF, CB-PSF und CB-FSS Gehäusen. Halleffekt Stromwandler der Serie &amp;quot;HX&amp;quot; von LEM.  Neu in der Version vom 29. August 2014: Floeth DCDC-Converter SD14 und SD18. Fast alles ohne 3D Modelle, aber manchmal mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* Viel Standardkram in 3D: http://smisioto.no-ip.org/elettronica/kicad/kicad-en.htm&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD-Module_Buzzer_Beeper_RevA_25Oct2010.zip]] Einige Footprints von Summern /Buzzern / Beepern für KiCad. Enthaelt Kingstate KCG0601, Pro Signal ABI-009-RC, Pro Signal ABI-010-RC, Pro Signal ABT-410-RC, Star Micronics HMB-06/HMB-12 und Projects Unlimited AI-4228-TWT-R. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD-Module_CommonModeChoke_Wuerth_Type-WE-CMB_RevA_25Oct2010.zip]] Footprints der Gleichtaktdrosseln der Serie Würth WE CMB (through hole) für KiCad. Enthält die Verschieden Bauformen XS, S, M, L, XL und XXL. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:DCDC-ACDC-Converter_RevC_20Jul2012.zip]] Footprints von DCDC/ACDC-Convertern für KiCad. Enthält CINCON EC5BC12, CINCON EC6C11, TRACO TED-1212, TRACO TED-XXXX Dual Output, TRACO TED-XXXX Single Output, TRACO TEN10-1212, TRACO TEN10-XXXX, TRACO TME-XXXX, TRACO TMH-XXXX Single Output, TRACO TMH-XXXX Dual Output, BOTHHAND CF-Serie und DELTA DPS05U09D. Neu seit 20 Juli: TRACO ACDC-Converter der TMLM Serie. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Opto-Devices_RevC_03Oct2012.zip]] Footprints von Optoelectronischen Bauteilen für KiCad. Enthält 6 Polige DIL Footprints für CNY17, auch in &amp;quot;wide&amp;quot;, SMD Optokoppler Footprints (1 Kanalig) und Footprints für Toshiba (Toslink) und Agilent (Versatile Link) LWL Ssender und Empfänger. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Pentawatt_RevB_24Oct2012.zip]] Footprints von Pentawatt Gehäusen für KiCad. Enthält verschiedene Ausführungen der TO220-5 Gehäuse in gerade und verkröpft, sowie stehend und liegend. Mit 3D-Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:Transistor_TO-220_RevB_03Sep2012.zip]] Footprints von TO220-3 Gehäusen für KiCad. Enthält verschiedene Ausführungen der TO220 Transistor Gehäuse in  stehend und liegend. Mit 3D-Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! CC-Zero/Public domain! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:Transistor_TO-247_RevC.zip]] Footprints von TO247 Gehäusen für KiCad. Enthält verschiedene Ausführungen der Transistor Gehäuse in  stehend und liegend. Mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! CC-Zero/Public domain! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/topic/176405#new]] KiCad Modul / Footprint für ein TSSOP38 Gehäuse. Autor Raphael Reu.&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/topic/190088#1856759]] Texas Instruments TPIC8101 Klopfsensor Interface (für Verbrennungsmotoren). Autor Peter Diener.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IR-directFET_Packages_RevB.zip]] Footprints von directFET SMD-Transistor Gehäusen von International Rectifier für KiCad. Enthält die SH, SJ, SQ, ST, S1, MN, MP, MT, MX, MZ und die L8-Outline. Nähere Informationen in den Datenblättern betroffener Transistoren und in der International Rectifier Applikationsnotiz AN-1035. &amp;quot;directFET&amp;quot; ist übrigens eine Handelsmarke von International Rectifier und die Gehäuse sind proprietär. Also vorsichtig sein und an &amp;quot;second source&amp;quot; denken. Mit 3D Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter CC-Zero / Public domain. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Neosid-Devices_Coils_Filters_25Apr2012.zip]] Footprints von NEOSID Bauteilen. Spulen, Luftspulen, Filter ec. für KiCad. Through hole und SMD. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT23_SOT143_SOT143R_TSOT6_MK06A_SC70-6_Housing_14Mar2014.zip]] Footprints von SOT23, SOT143, SOT143R, TSOT-6 /MK06A und SC70-6 SMD Gehäusen, wie sie oft für Dioden und Transistoren, aber auch Dioden und Transistor Arrays verwendet werden. Auch ICs findet man in der Bauform. Es sind Standard Footprints und spezielle für Handlötung vorhanden. KiCad Legacy Format und neues .pretty Format. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:MiniUniversalMate-N-LokSockets_13Aug2012.zip]] Footprints von Mini Universal Mate-N-Lok Steckersockeln (Tyco/AMP). 2-6 Pin, verticale und horizontale Typen. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:NF-Transformer_ETAL_RevA_28Aug2012.zip]] Footprints und 3D-Mesh Modelle von NF-Transformatoren der Firma ETAL (http://www.etalgroup.com). SMD und THT Typen. Mit PDF-Ausdruck zur leichteren Identifikation. In der Bibliothek ist auch der bekannte Übertrager ETAL P1200, der von Box73 (http://www.box73.de) vertrieben wird. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de &lt;br /&gt;
&lt;br /&gt;
* [[Media:TantalCapacitors_SMD_RevA_28Aug2012.zip]] Footprints von Tantal Kondensatoren SMD Größe A bis E (EIA-3216, EIA-3528, EIA-6032, EIA-7343 und EIA-7360). Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Ohne Garantie und unter GNU-GPL. Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT89-3_SOT89-5_Housing_RevA_02Sep2012.zip]] Footprints und 3D-Mesh Modelle von SOT89-3 und SOT89-5 SMD Gehäusen. Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT126_SOT32_Housings_RevA_22Oct2012.zip]] Footprints und 3D-Mesh Modelle von SOT126 / SOT32 Gehäusen. Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Allegro_HallSensors_24Oct2012.zip]] Footprints und 3D Modelle von Allegro Hall-Effect Stromsensoren mit PFF, PSF oder PSS Gehäuse (ACS754, ACS755, ACS756).  Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:VML0806_Housing_Rohm_27Oct2012.zip]] Footprints und 3D Modell eines Transistors im 0806 Format (VML0806 / Rohm).  Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:TO-50_Housings_RevA_21Apr2013.zip]]  Footprints/Module von TO50-3 und TO50-4 Transistor Gehäusen.Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:OldSowjetAera_Transistor_RevA.zip]] Footprints/Module von Kleinleistungstransistoren aus der Sowjetära.Mit 3D-Modell und PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:SIP9_Housing_14Jun2013.zip]] Footprints/Module von SIP9 Gehäusen (z.B. TA7358).Mit 3D-Modell und PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:7Segment_16Sep2013.zip]] Footprints/Module von 7-Segment Anzeigen HDSM531 (SMD), HDSM533 (SMD), LTS6760, LTS6780 undSBC18-11EGWA. Dazu PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:BNC-Sockets_RevA.zip]] Footprints/Module von TYCO BNC-Buchsen für KiCad. Mit 3D Modellen und PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:LQFP_TQFP_RevA_06Oct2013.zip]] Footprints/Module von LQDP48/TQFP48 Gehäuseb für KiCad. Ohne 3D Modelle, aber mit PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:LEM_HallEffectTransducers_RevA_13Oct2012.zip]] Module/Footprints von Halleffekt Stromwandlern der Serien &amp;quot;HX&amp;quot; und &amp;quot;HTFS&amp;quot; von LEM. Mit 3D-Modellen  und PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
==== 3D-Modelle ====&lt;br /&gt;
&lt;br /&gt;
* [[Media:MeshModells_VRML-Wings3D_13Oct2013.zip]]  3D-Modelle diverser elektronischer Bauteile im wrl 2.0 und wings Format. Enthalten: DD-PAK (TO263AB), D-PAK (TO252AA), SMD Dioden MELF, MiniMELF, SMA, SMB und SMC, Transformatoren ETAL P1165, P1200, P2781, P3000, P3181, PP3188 und P3191, SO126 / SOT32 in horizontal und vertikal, SOT223-3, TO263-3, SOT89-3, SOT89-5, TO220 horizontal und vertikal und reverse. TO220-5 horizontal, vertical, inline und verkröpft, VML0806. SIP9. 7 Segment SMD Anzeige HDSM531/HDSM533 in Grün, gelb, rot und orange. directFET SMD-Transistor Gehäusen von International Rectifier für KiCad. Enthält die SH, SJ, SQ, ST, S1, MN, MP, MT, MX, MZ und die L8-Outlines. Flachsicherungen Standard und Mini. Halleffekt Stromwandler LEM &amp;quot;HX&amp;quot; Serie und Allegro ACS754/ACS755/ACS756 mit CB-PFF, CB-PSF und CB-FSS Gehäusen. Ohne Garantie und unter CC-Zero / Public Domain Lizenz. Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
==== Building-Blocks ====&lt;br /&gt;
*[[Media:BuildingBlocks_16Jun2013.zip]] enthält eine Sammlung von gängigen Schaltungen mit den Längstreglern LM317 /LM78xx /LM79xx und dem Timer 555, die nach dem in diesem [[Media:HierarchischeSchaltplaeneAlsBausteineInKicad_RevC_23Dec2013.pdf]] Dokument beschriebenen Vorgehen als Building Blocks in KiCad verwendet werden können. Ein Katalog dazu befindet sich hier: [[Media:KatalogUeberKiCadBuildingBlocks_21Apr2013.pdf]]. Autor: Bernd Wiebus, Lizenz: Creative Commons. Experimentell! Ohne Garantie! Mit Vorsicht geniessen!&lt;br /&gt;
&lt;br /&gt;
Wenn mindestens ein weiterer KiCad User die Bibliothek geprüft hat, kann sie in den folgenden Unterabschnitt verschoben werden.&lt;br /&gt;
&lt;br /&gt;
=== Geprüfte ===&lt;br /&gt;
&lt;br /&gt;
Hier sollen geprüfte Bibliotheken gesammelt werden. Bitte angeben, wer die Prüfung gemacht hat.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/132288#new STM32F103xx (LQFP64) Schaltplansymbol] erstellt/geprüft: Dominik C.; Marko S.&lt;br /&gt;
* Bei der STMF103xx fehlt glaub ich der Portpin PD2 :) Grüße :)&lt;br /&gt;
&lt;br /&gt;
=== Sonstige Bibliotheken im Netz ===&lt;br /&gt;
&lt;br /&gt;
Die Einträge hier sind nach [[KiCad-Bibliotheken#Bibliotheken_im_Netz|KiCad-Bibliotheken im Netz]] verschoben worden. &#039;&#039;&#039;Bitte Überarbeitungen und neue Einträge nur dort vornehmen!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bitte diesen Unterpunkt &#039;&#039;&#039;nicht Löschen&#039;&#039;&#039;, da es Verweise aus dem Forum oder von sonstwo geben mag, die sonst ins Leere laufen, ohne eine Erklärung für den User.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Werkzeuge ==&lt;br /&gt;
&lt;br /&gt;
Da die in KiCad verwendeten Dateien klarschriftlesbar sind, lassen sie sich sehr leicht mit externen Programmen und Skripten bearbeiten, um spezielle Funktionalitäten zu erzeugen. Eine kleine Auswahl an Programmen/Skripten ist hier zusammengestellt:&lt;br /&gt;
&lt;br /&gt;
* Zuallererst: Mittlerweile hat sich rund um KiCad eine ganze Reihe von Hilfsprogrammen etabliert. Einige davon können über die offizielle KiCad Site gefunden werden: [http://kicad.org/external-tools/ KiCad-External Tools]. Zurzeit (04Oct2019) sind dort [https://github.com/easyw/kicadStepUpMod/ KiCad StepUp] als Plugin für FreeCAD, [https://github.com/xesscorp/KiCost KiCost] zur Tabellenkalkulationserstellung und Kostenermittlung aus KiCad-Schaltplänen, [https://github.com/thesourcerer8/altium2kicad Altium2KiCad] um aus Altium PCBs und Schaltplänen solche für kiCad zu erstellen, [http://neo900.org/stuff/eeshow/ EEschow] zur Konvertierung von KiCad-Schaltplänen in verschiedene Grafikformate, sowie [[Schaltplaneditoren#Fped|Fped]], mit dem sehr komfortabel Footprints für KiCad erstellt werden können, gelistet.&lt;br /&gt;
* [http://kicad.rohrbacher.net/quicklib.php Quick KICAD Library Component Builder]&lt;br /&gt;
* Gerber-Tools sind für KiCad weniger nötig, da KiCad mit GerbView seinen eigenen Gerberviewer mitbringt. Dieser ist mächtig genug, die eingelesenen Gerberfiles als Platine in PCBnew zu exportieren, wo sie manipuliert werden können. Dieses geht aber nur mit Gerber-RS274X Daten. Ebensowenig können Gerberfiles zu Nutzen zusammengefügt werden. Hierzu bietet sich &amp;quot;Gerbmerge&amp;quot; http://ruggedcircuits.com/gerbmerge (http://claymore.engineer.gvsu.edu/~steriana/Python/gerbmerge/ Veraltet) an. Wer lediglich aus Sicherheitsgründen die von KiCad erzeugten Gerberdaten mit einem fremden Gerber-Vierer inspizieren möchte, findet hier Hinweise:http://www.mikrocontroller.net/articles/Gerber-Tools&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/204063#2011138 KiCad (Multi-)Symbol Tool] von Joghurt3000 zur Erstellung von Symbolen aus einer Textvorlage&lt;br /&gt;
* [http://cyclerecorder.org/footprintbuilder Footprintbuilder] Java-Programm zu Erstellung von Footprints.&lt;br /&gt;
*Wer seine Platine &amp;quot;panelisieren&amp;quot; (d.h. mehrmals nebeneinander anordnen um in einem &amp;quot;Nutzen&amp;quot; gleich mehrere Platinen fertigen zu können) möchte, kann das mit dem Python 2 Skript &amp;quot;panelize.py&amp;quot; tun. Das Programm arbeitet direkt auf den kicad .brd Files, so das das Mehrfachnutzen Board unter PCBnew nachbearbeitet werden kann, für z.B. einen  DRC. &amp;quot;panelize.py&amp;quot; kann hier bezogen werden: http://blog.borg.ch/?p=12&lt;br /&gt;
* &amp;quot;Raef&amp;quot; hat ein Python Script erstellt, das Bauteile automatisch ähnlich der Anordnung im Schaltplan plaziert. Siehe: http://www.mikrocontroller.net/topic/293903#3245990&lt;br /&gt;
*Wer die Reihenfolge der Subschaltpläne ändern will (Wegen Übersichtlichkeit/Bestimmt auch die Reihenfolge beim Ausdrucken), kann dieses Python 3 Skript verwenden (Liesmich/Readme beachten): http://www.mikrocontroller.net/wikifiles/9/90/PyKicadSchematic-ID_Interchanger_RevC.zip Autor: Bernd Wiebus, GNU-GPL. Dieses Skript ist unabhängig von der PCBnew internen Python 2 Schnittstelle.&lt;br /&gt;
* Um ältere Schaltpläne von vor Jan./Feb. 2014 (BZR4646) mit &amp;quot;upper case&amp;quot; Symbolnamen zu konvertieren, kann dieses Python 3 Skript verwendet werden: [[Media:PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip]]. Autor: Bernd Wiebus, GNU-GPL. Dieses Skript ist unabhängig von der PCBnew internen Python 2 Schnittstelle.&lt;br /&gt;
* Wem das Tricksen mit Dateimanager oder Schematic oder Board als Bibliotheksmanager nicht gefällt, findet vieleicht im &amp;quot;KiCad Libarian&amp;quot; ein passendes Tool: http://www.compuphase.com/electronics/kicadlibrarian_en.htm&lt;br /&gt;
* Diverse Skripte, um KiCad Symbole, Footprints oder sonstigen Bibliothekskram zu bearbeiten. [https://github.com/KiCad/kicad-library-utils]&lt;br /&gt;
* Cirillo Bernardo hat einige Programme geschrieben, um VRML 3D Gitter Modelle für Bauteile parametrisch zu erzeugen. Sie finden sich hier: https://github.com/cbernardo/kicad3Dmodels&lt;br /&gt;
* Peter Hofbauer hat einige Windows Programme geschrieben, die zur KiCad Unterstützung dienen: http://www.hcp-hofbauer.de/software.htm Bei den Programmen handelt es sich um &amp;quot;Aufräumprogramme für Bibliotheken, Stücklistenerzeugung, Extraktionsprogramm um eine Verdrahtungsliste aus einer Netzliste zu erzeugen, Ein Programm um Boherdurchmesser zu vereinheitlichen und ein Programm, um zusammen mit &amp;quot;Linegrinder&amp;quot; G-Code aus KiCad Boarddateien zu erzeugen. &lt;br /&gt;
* [http://escalalibre.com/edwt/kicad_sizeConverter.php KiCad Bitmap2Component Skalierer] Erlaubt es, Logos zu skalieren.&lt;br /&gt;
* [http://escalalibre.com/edwt/kicad_modTextChanger.php KiCad Module Text Changer]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/381605?reply_to=4346454#4346280 KiCad Symbol Generator Tool] KiCad Symbol Generator Tool als Python Skript&lt;br /&gt;
* [https://github.com/tlantela/KiCad_layout_cloner/blob/master/layout_cloner.py KiCad Layout Cloner] Python Skript. Siehe http://www.mikrocontroller.net/topic/382657#4363261&lt;br /&gt;
* [https://forum.kicad.info/t/kicad-stepup-the-sketcher-for-getting-to-blinky/7826] StepUp, eine Workbench für FreeCAD (ein open source 3D CAD Program) um den Import und Export von mecanichen CAD Daten von KiCad zu erleichtern.&lt;br /&gt;
* [https://hasanyavuz.ozderya.net/?p=256 Ein Backannotationstool für KiCad] als Pythonskript&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/450655#new Ein Tool, um per Skripting Messpunkte für einen Nadelbettadapter zu erzeugen.] Geht von Gerberdaten aus, die in KiCad importiert werden&lt;br /&gt;
&lt;br /&gt;
== Konverter ==&lt;br /&gt;
&lt;br /&gt;
Konverter wandeln KiCad-Daten in die Daten anderer Layoutprogramme bzw. die Daten anderer Layoutprogramme in KiCad-Daten um.&lt;br /&gt;
Nativ kann KiCad gEDA Footprints bzw. neuere Eagle Footprints direkt als Bibliothek einbinden. Das ganze ist aber als noch sehr experimentell zu betrachten.&lt;br /&gt;
&lt;br /&gt;
Des Weiteren gibt es einige Programme oder Skripte von dritter Seite, die Daten anderer Layoutprogramme in KiCad Daten umwandeln. Auch diese sind als experimentell einzustufen.&lt;br /&gt;
&lt;br /&gt;
Hier eine Auswahl:&lt;br /&gt;
* https://github.com/thesourcerer8/altium2kicad Wandelt Altium Schaltpläne und Layouts in KiCad Daten um.&lt;br /&gt;
* https://github.com/DanChianucci/Eagle2Kicad Wandelt Eagle 6.0 Layouts in KiCad Layouts.&lt;br /&gt;
* https://github.com/lachlanA/eagle-to-kicad Wandelt Eagle 6.0 Layouts in KiCad Layouts.&lt;br /&gt;
* http://www.cadsoft.de/downloads/file/eagle2kicad-0.9c.ulp Direkt von der Cadsoft Seite, ein ULP das Eagle Daten in KiCad Daten wandelt.&lt;br /&gt;
* http://www.cadsoft.de/downloads/file/eagle2kicad_sch.ulp Ebenfalls direkt von der Cadsoft Seite, ein ULP, das Eagle Schaltpläne in KiCad Schaltpläne wandelt.&lt;br /&gt;
* http://sourceforge.net/projects/pcad2kicad/ Wandelt P-CAD Schaltpläne, Layouts und Bibliotheken in KiCad Daten um.&lt;br /&gt;
* Gerber_Settings    [https://www.mikrocontroller.net/attachment/319118/originpoint.png originpoint]     [https://www.mikrocontroller.net/topic/319266?page=5#4891032 Gerber_Settings] [https://www.mikrocontroller.net/attachment/319192/Bohrdatei.png Drill_Files_Generation]&lt;br /&gt;
* https://github.com/mtl/svg2mod Tool, welches SVG in KiCad Board Layers wandelt. Einleitende Informationen finden sich hier: https://www.mikrocontroller.net/topic/440552#5234307&lt;br /&gt;
* https://github.com/thesourcerer8/altium2kicad Altium2KiCad um Altium Projekte in KiCad Schaltpläne und Boards zu konvertieren.&lt;br /&gt;
&lt;br /&gt;
Erfahrungsberichte willkommen!&lt;br /&gt;
&lt;br /&gt;
= Beispielprojekte =&lt;br /&gt;
&lt;br /&gt;
Projekte, die mit KiCad umgesetzt worden sind, finden sich auf der [[KiCad-Projekte|KiCad-Projektseite]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- alt -- &lt;br /&gt;
= Diskussionen (teilweise seeeehr alt) =&lt;br /&gt;
&lt;br /&gt;
* http://www.mikrocontroller.net/topic/120373#1089075 &lt;br /&gt;
* http://www.mikrocontroller.net/topic/98034#848559&lt;br /&gt;
* http://www.mikrocontroller.net/topic/95864#828660&lt;br /&gt;
* http://www.mikrocontroller.net/topic/77738#647041&lt;br /&gt;
* http://www.mikrocontroller.net/topic/103806#907523&lt;br /&gt;
* http://www.mikrocontroller.net/topic/41999#316195&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Weblinks =&lt;br /&gt;
&lt;br /&gt;
* [http://www.kicad.org kicad.org] Die neue Homepage&lt;br /&gt;
* [http://kicad.org/help/documentation/ Offizielle Dokumentation]&lt;br /&gt;
* [https://bugs.launchpad.net/kicad Bugreports] erstellen und nach vorhandenen Fehlern suchen, wenn einem etwas komisch vorkommt.&lt;br /&gt;
&lt;br /&gt;
* Tutorials: &lt;br /&gt;
&amp;lt;!-- alt -- ** [http://kicad.sourceforge.net/wiki/index.php/DE:Mini_tutorial Mini-Tutorial] --&amp;gt;&lt;br /&gt;
** [http://timogruss.de/kicad-loesung-fuer-die-leiterplatten-entwicklung/ KiCad Tutorial auf timogruss.de] (deutsch) (2013)&lt;br /&gt;
** https://www.youtube.com/watch?v=XD_PaSrLKBk Schematic Pages and Hierarchy In KiCad - Hierarchischer Schaltplan (2014)&lt;br /&gt;
** https://www.youtube.com/watch?v=YCdpXwRKbYc Create a library and put your own component in that library. (2014)&lt;br /&gt;
&amp;lt;!-- alt --&lt;br /&gt;
** http://store.curiousinventor.com/guides/kicad&lt;br /&gt;
** https://contextualelectronics.com/course/kicad-tutorial/ (Video Tutorials auf Englisch)&lt;br /&gt;
** http://xtronics.com/reference/kicad.html --&amp;gt;&lt;br /&gt;
** http://bastler-archiv.de/elektronik/platinenherstellung-platinenlayout-mit-kicad-teil-1/ (deutsch, Teil 1) (2011)&lt;br /&gt;
** http://bastler-archiv.de/elektronik/platinenherstellung-platinenlayout-mit-kicad-teil-2/ (deutsch, Teil 2) (2011)&lt;br /&gt;
** http://www.kramann.info/73_COACH3/06_Layouting/Layouting_art_Guido_Kramann_12122010.pdf (2010)&lt;br /&gt;
** [https://rheingoldheavy.com/category/education/kicad/ KiCad Tutorials zum Workflow, Migration alter KiCad Versionen und zu Stücklisten (RheingoldHEAVY, auf englisch)] (2015)&lt;br /&gt;
&amp;lt;!-- alt -- ** [http://roberthall.net/Wings3D_Tutorial_KiCad Tutorial zur Benutzung von Wings3D im KiCad Umfeld (englisch)] --&amp;gt;&lt;br /&gt;
** https://www.youtube.com/watch?v=i4vLxAoLvPk Video Tutorial auf Deutsch. Relativ aktuell.&lt;br /&gt;
&lt;br /&gt;
* Info&lt;br /&gt;
** [https://kicad.mmccoo.com/kicad-scripting-table-of-contents/ Python Scripting for KiCad] und [http://docs.kicad.org/doxygen-python/namespacepcbnew.html Befehlsliste]&lt;br /&gt;
** [https://wiki.aalto.fi/display/MEX/Introduction+to+KiCad] Ein paar Tips am Rande (2014)&lt;br /&gt;
** [http://www.daedalus.ei.tum.de/index.php/de/3d-druck-cnc/cnc/layout-und-g-code-erstellung-mit-kicad] Info für Leute, die Platinen durch Isolationfräsen statt ätzen erstellen&lt;br /&gt;
** [http://davidetienne.me/blog/2015/10/05/kicad-convert-ti-bxl-cad-files-to-kicad-libraries/] Ein Weg, um Libraries, die im Texas Instruments Format &amp;quot;.bxl&amp;quot; vorliegen, in KiCad Bibliotheken zu konvertieren. (2015)&lt;br /&gt;
&lt;br /&gt;
* Usergroups:&lt;br /&gt;
** [https://groups.yahoo.com/neo/groups/kicad-users/info Yahoo-KiCad-User-Group (Englischsprachig)]&lt;br /&gt;
** [https://forum.kicad.info/ Endlischsprachiges KiCad Forum]&lt;br /&gt;
&amp;lt;!-- alt -- ** [http://1.cad-kicad-user.cadtalk.us/ Englischsprachige Diskussionen über KiCad im &amp;quot;Cadtalk&amp;quot;-Forum] Leider nicht mehr existent. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tools&lt;br /&gt;
** [http://www.freerouting.net/ Freerouting] Autorouter (down: Download siehe [https://www.mikrocontroller.net/articles/KiCad#Tipps.26Tricks:_KiCad_und_Freeroute Tipps und Tricks])&lt;br /&gt;
** [http://www.mikrocontroller.net/articles/KiCad#Tools Liste mit externen Programmen und Skripten im Zusammenhang mit KiCad]&lt;br /&gt;
&lt;br /&gt;
* Verschiedenes im Zusammenhang mit KiCad&lt;br /&gt;
** [https://github.com/KiCad/kicad-library/wiki/Kicad-Library-Convention Kicad Library Convention / Regeln für offizielle KiCad Bibliotheken (Englisch)]&lt;br /&gt;
** [http://www.compuphase.com/electronics/LibraryFileFormats.pdf Aufbau der unterschiedlichen KiCad Bibliotheks Files (englisch)]&lt;br /&gt;
** [http://www.ohwr.org/projects/cern-kicad/wiki/WorkPackages CERN KiCad development roadmap / Was ist in KiCad Entwicklung geplant? (englisch)]&lt;br /&gt;
** [http://home.web.cern.ch/about/updates/2015/02/kicad-software-gets-cern-treatment Warum das CERN KiCad unterstützt (englisch)]&lt;br /&gt;
** [https://www.youtube.com/watch?v=chejn7dqpfQ Video mit der Leiterbahnlängenanpassen Funktion bzw. der &amp;quot;Differential pair&amp;quot; Funktion in KiCad.]&lt;br /&gt;
** [http://www.youtube.com/watch?v=irqlrVUbjuQ Video mit dem interaktiven Router]&lt;br /&gt;
&lt;br /&gt;
* Plattformen&lt;br /&gt;
&amp;lt;!-- alt -- ** Mac: http://brokentoaster.com/kicad/ --&amp;gt;&lt;br /&gt;
**Ubuntu: [http://www.mikrocontroller.net/topic/257321#2658268 KiCad selber compilieren] (2012)&lt;br /&gt;
** http://wiki.xtronics.com/index.php/Kicad Transtronics site (englisch)&lt;br /&gt;
&lt;br /&gt;
* HowTo von Tom Boyd (englisch)&lt;br /&gt;
** http://kicadhowto.wikidot.com/&lt;br /&gt;
** http://kicadhowto.org/&lt;br /&gt;
&lt;br /&gt;
* [https://hasanyavuz.ozderya.net/?p=256 PCB back annotation in KiCAD with Python]&lt;br /&gt;
&lt;br /&gt;
= Literatur =&lt;br /&gt;
* &#039;&#039;&#039;KiCad wie ein Profi&#039;&#039;&#039;, von Dr. Peter Dalmaris, Elektor-Verlag, 1. Auflage 2019, ISBN 978-3-89576-341-0&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=      =&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:KiCad]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=KiCad&amp;diff=107679</id>
		<title>KiCad</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=KiCad&amp;diff=107679"/>
		<updated>2025-08-23T11:11:22Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Gerber Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Wegen eines Umbaus dieser Seite bitte unter Diskussion lesen!&#039;&#039;&#039; [[Diskussion:KiCad#Seitenumbau]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KiCad&#039;&#039;&#039; ist ein Open Source [[Schaltplaneditoren|Schaltplaneditor]] und PCB Layoutprogramm für Windows, Linux, Mac OSX. &lt;br /&gt;
Diese Seite ist zunächst eine Zusammenfassung aus den KiCad Beiträgen im Forum. Und gleich zu Anfang ein grosses DANKE an alle KiCad-User aus dem Forum. Ihr seid zu viele, um jeden einzeln zu nennen. Aber wer sich diese Seite durchliest und den Links folgt, wird euch kennenlernen.  &lt;br /&gt;
&lt;br /&gt;
Hier sollen alte und neue KiCad-Anwender einen Anlaufpunkt finden und neue, insbesondere µC-relevante Aktivitäten stattfinden. &lt;br /&gt;
&lt;br /&gt;
Diese Seite will keine Konkurrenz zum offiziellen KiCad Wiki sein, d.h. was dort steht soll hier nicht wiederholt werden und was hier steht wird hoffentlich zum offiziellen KiCad Wiki wandern.&lt;br /&gt;
&lt;br /&gt;
Die Bedienung von KiCad setzt Hintergrundwissen über die Vorgänge voraus. Die Bedienungsweise entspricht eher einem alten Orcad, Altium oder auch BAE und weniger der von Eagle. Daher ist es Neulingen dringend angeraten, sich vorher die Handbücher und Tutorials gut durch zu sehen. Zur Einarbeitung benötigt man schon etwas Geduld.&lt;br /&gt;
Wer offizielle Releases verwendet, wird oft Bugs feststellen, die aber in den Testing Versionen im allgemeinen beseitigt sind.&lt;br /&gt;
Wenn ihr Kritik oder Fragen zu KiCad habt, dann nutzt das Forum! Sobald KiCad im Betreff steht, wird der Beitrag gelesen und nach Möglichkeit beantwortet. Auch Ideen zu dieser Seite sind sehr willkommen! &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suchen und Finden&#039;&#039;&#039; Da diese Seite hier etwas umfangreich geworden ist, empfehle ich eine Textsuche. Jeder Internetbrowser, der etwas auf sich hält, hat auch eine Suchfunktion, mit der der Text der Seite durchsucht werden kann. Bei Firefox/Iceweasel oben im Pull-down Menue unter &amp;quot;Bearbeiten&amp;quot; &amp;gt; &amp;quot;suchen&amp;quot; oder per Shortcut &amp;lt;Strg-F&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Link defekt -- Siehe auch die offizielle FAQ: http://kicad.sourceforge.net/wiki/index.php/FAQ --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;!-- alt 2007 -- &lt;br /&gt;
* Warum gefällt dir KiCad?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/70905#584639&lt;br /&gt;
** http://www.mikrocontroller.net/topic/81396#680502&lt;br /&gt;
** http://www.mikrocontroller.net/topic/83311#697917&lt;br /&gt;
** http://www.mikrocontroller.net/topic/42614#321502&lt;br /&gt;
* Warum gefällt dir KiCad nicht?&lt;br /&gt;
** Ich verstehe nicht, was du meinst ;-)&lt;br /&gt;
** http://www.mikrocontroller.net/topic/81396#680502&lt;br /&gt;
** http://www.mikrocontroller.net/topic/83311#697969&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wo gibt es weitere Infos zu KiCad?&lt;br /&gt;
** [http://KiCad.org Offizielle Homepage] &lt;br /&gt;
** [http://KiCad.org/help/ Die Offizielle Dokumentation] &lt;br /&gt;
** Einige allgemeine [https://docs.google.com/document/d/1M38ByFyqnhwGo8b_jDDyBceyZtEGeaSAuQaP9REzWrU/edit?usp=sharing Notizen] zur &#039;&#039;&#039;Installation&#039;&#039;&#039; und zur &#039;&#039;&#039;Arbeitsweise&#039;&#039;&#039; von KiCad &lt;br /&gt;
&amp;lt;!-- alt 2008 -- ** http://www.mikrocontroller.net/topic/98034#848661 (Von 2008, also seeeehr überholt) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Welche Leiterplattenfertiger akzeptieren KiCad Layouts?&lt;br /&gt;
** [http://www.pcb-pool.com/ppde/info_dataformat.html PCB-Pool.de]&lt;br /&gt;
** [http://fischer-leiterplatten.de Fischer Leiterplatten]&lt;br /&gt;
** [https://www.oshpark.com/ OSH Park]&lt;br /&gt;
&lt;br /&gt;
* Welche Gerberfiles benötigt der Leiterplattenhersteller?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/399503#new Forumsbeitrag]&lt;br /&gt;
** [[Gerber-Tools]] &lt;br /&gt;
** [[Richtiges_Designen_von_Platinenlayouts#Produktionsgerechter_Entwurf | Hinweise zur Technologie]]&lt;br /&gt;
&lt;br /&gt;
* Wie kriege ich raus, welche Leiterbahn welchen Netznamen hat, bzw. ich habe den Überblick verloren und weiß nicht mehr, was aus dem Layout nun was im Schaltplan ist?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/316539#3427724 Forumsbeitrag], Funktioniert nur gut, wenn ein großes Fadenkreuz gewählt ist.&lt;br /&gt;
** Genauere Informationen, z.B. über die Länge einer Leiterbahn etc. Dazu in PCBnew den gleichen Button rechts wie für das Hinzufügen von Leiterbahnen aktivieren. Oder besser noch rechts den zweiten Button von oben &amp;quot;Netz hervorheben&amp;quot;. Dann mit der rechten Maustaste die fragliche Leiterbahn anklicken. Unten in der Statusleiste werden die Informationen angezeigt.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/267538#new Forumsbeitrag]: KiCad ohne Maus bedienen. &lt;br /&gt;
* [http://www.mikrocontroller.net/topic/302664#3249204 Forumsbeitrag]: Gibt es Sonderzeichen, die ich für Symbole, Module/Footprints oder Files nicht verwenden sollte? Ja, alles was Sonderzeichen außer &amp;quot;- _ .&amp;quot; (Bindestrich, Tiefstrich, Punkt) und keine Zahl ist.&lt;br /&gt;
&lt;br /&gt;
* Wie stelle ich in KiCad das Zeitintervall für &amp;quot;automatisch Speichern&amp;quot; ein?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/459135#5551638 Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
* Woher beziehe ich KiCad?&lt;br /&gt;
** [http://kicad.org/download/ Offizielle Seite], alle Betriebssysteme        &lt;br /&gt;
*** Aktuelle Version: &#039;&#039;&#039;KiCad 9.0.4&#039;&#039;&#039; veröffentlicht im August 2025&lt;br /&gt;
*** Nightly Development Builds auch von der offiziellen Seite&lt;br /&gt;
*** KiCad kann man aus den Sourcen selbst compilieren. Dazu gibt es Skripte zur Unterstützung, die dieses automatisieren, so dass man nicht unbedingt C/C++ Kenntnisse braucht. Die meisten gängigen Linux Distributionen enthalten aber &amp;quot;old stable&amp;quot; KiCad Releases in ihren Repositories.&lt;br /&gt;
&amp;lt;!-- alt -- ** Windows: http://www2.futureware.at/~nickoe/ &lt;br /&gt;
*** Welcher Typ? ...-x86_64.exe oder ...-i686.exe ? Ich brauche x86 32 bit.&lt;br /&gt;
**** Für Windows PC 32 bit die ...-i686.exe, und für Windows PC 64 bit ...-x86_64.exe.&lt;br /&gt;
** Veraltet: http://www71.zippyshare.com/v/28617008/file.html Die Quelle ist hier genannt. https://groups.yahoo.com/neo/groups/kicad-users/conversations/messages/18534 --&amp;gt;&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/298311#3187885 Liste der Versionsänderungen] &lt;br /&gt;
* [http://www.mikrocontroller.net/topic/307517#new Forumsbeitrag]: Ich habe KiCad unter Linux installiert, aber wenn ich KiCad starten will, passiert einfach nichts, oder ich erhalte eine Fehlermeldung wie: &amp;quot;Datei nicht gefunden&amp;quot; &lt;br /&gt;
** 1) KiCad und seine zugeordneten Programme sollten im Suchpfad stehen. Es wird für Debian und Ableger empfohlen, KiCad unter usr/local/bin zu installieren. Anmerkung: Das ist die aktuelle Verfahrensweise. Oktober 2013 wurde aber noch folgende Struktur verwendet:&lt;br /&gt;
*** /usr/bin                            - Binaries (executable files).&lt;br /&gt;
*** /usr/share/doc/kicad/               - Various documentation.&lt;br /&gt;
*** /usr/share/doc/kicad/help           - Interactive help.&lt;br /&gt;
*** /usr/share/kicad/demos              - Sample schematics and printed boards.&lt;br /&gt;
*** /usr/share/kicad/internat           - Dictionaries for interface localization.&lt;br /&gt;
*** /usr/share/kicad/library            - Interface localization files.&lt;br /&gt;
*** /usr/share/kicad/modules            - Module libraries for printed boards.&lt;br /&gt;
*** /usr/share/kicad/modules/packages3d - 3D component models (.wrl and .wings format).&lt;br /&gt;
*** [http://iut-tice.ujf-grenoble.fr/cao/install.txt Quelle], hier sind auch Hinweise für Windows user enthalten.&lt;br /&gt;
&lt;br /&gt;
** 2) User sollten dort Lese- und Ausführungsrechte haben. Aber keine Schreibrechte.&lt;br /&gt;
** 3) Wenn ein fertiges Packgage auf einem 64 bit System verwendet wurde, könnte es daran liegen, das es für 32 bit compiliert wurde, und nicht für 64 bit. Es gibt zwei Möglichkeiten:&lt;br /&gt;
*** a) Selbst aus den Sourcen für sein eigenes System compilieren.&lt;br /&gt;
*** b) Die Runtime Libs für 32 Bit könnten fehlen. Nachinstallieren mit sudo apt-get install ia32-libs. Siehe [http://www.mikrocontroller.net/topic/307517#3307638 Forumsbeitrag]&lt;br /&gt;
* Ich habe das umgekehrte Problem: 32bit system aber 64bit Binarys.&lt;br /&gt;
** Selbst aus den Sourcen neu compilieren.&lt;br /&gt;
&amp;lt;!-- alt -- *Ich will/muss mir KiCad selber compilieren. Wie gehe ich vor?&lt;br /&gt;
** Aktuell nach: http://www.kicad.org/display/DEV/Build+KiCad&lt;br /&gt;
**&lt;br /&gt;
**Veraltet! siehe: http://www.mikrocontroller.net/topic/310766#3351269 Aber Achtung. Diese Anleitung (Oktober 2013) muss nicht aktuell sein. --&amp;gt;&lt;br /&gt;
* Sicherheitseinstellungen von Java sind für PCBnew unter JAVA -&amp;gt; JAVA konfigurieren zu finden.&lt;br /&gt;
&lt;br /&gt;
* Diskussionen zum Thema Installation und compilieren:&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/338600#new FEDORA] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/339509#new ARCH Linux]&lt;br /&gt;
* Konfigurationsdateien:&lt;br /&gt;
** Ab BZR5114 (ca. 5. September 2014) hat sich der Ordner für die Files mit den Konfigurationsdaten geändert. Unter Linux sind nun die Konfigurations Dateien in $HOME/.config/kicad (entsprechen der FreeDesktop.org Spezifikation). Um Ihre gegenwärtigen Konfigurierungen zu erhalten, können die KiCAd Konfigurationsfiles aus dem Home-Verzeichnis in den aktuellen Ordner kopiert werden. Es muss allerdings der führende &amp;quot;.&amp;quot; (Punkt) der Datei entfernt werden. Ebenso muss die globale &amp;quot;fp-lib-table&amp;quot; aus dem home-Verzeichnis dorthin kopiert werden. Windows User müssen KiCad leider reconfigurieren. Es gab keinen einfachen Weg um die Registry-Keys in die Konfigurationsdateien zu extrahieren. Die Konfigurationsdateien unter Windows werden genau wie die fp-lib-table im %APPDATA%\kicad Ordner gespeichert. Es ist angeraten, sämtliche Reste der KiCad Installation aus der Registry zu entfernen, wenn nicht KiCad Versionen vor der BZR5114 verwendet werden. Diese Lösung beseitigt die $home Ordner &amp;quot;Verschmutzung&amp;quot; und vermeidet die Benutzung der Windows registry, wie es häufig gewünscht wurde. Für OS X User ergeben sich keine Änderungen. [https://groups.yahoo.com/neo/groups/kicad-users/conversations/messages/18889 Link] auf die Originalnachricht (englisch):  (KiCad-User Group, 05. September 2014, Titel: Configuration file location changes (#18889) Autor: Wayne Stambaugh)&lt;br /&gt;
&lt;br /&gt;
=== Schaltplan ===&lt;br /&gt;
* Wie stellt man die Blattgröße beim Schaltplan ein?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/33653#974295 Forumsbeitrag]: In Page Settings die Blattgröße verstellen (z.B. von A4 auf A3) &lt;br /&gt;
* Wie mache ich eine neue Schaltplan Seite auf?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/398489#new Forumsbeitrag]: Nur in Form eines neuen hierarchischen Schaltplans&lt;br /&gt;
* Wie kann man den Schaltplan auf mehreren Seiten verteilen (hierarchical sheets)?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/96060 Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/117873#1060062  Forumsbeitrag]&lt;br /&gt;
*Wie geht man mit &amp;quot;Power Pins&amp;quot; in hi­e­r­ar­chischen Schaltplänen um?&lt;br /&gt;
**[http://www.mikrocontroller.net/topic/207905#new  Forumsbeitrag]&lt;br /&gt;
* Wie kann man die &amp;quot;hierachical sheets&amp;quot; benutzen, um aus vorgefertigten Subschaltplänen mit immer gleichen Bauteilgruppen rationell Schaltpläne zusammenzustellen (Building Blocks)?&lt;br /&gt;
** [http://www.mikrocontroller.net/articles/KiCad#Tipps.26Tricks:_Building_Blocks Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/175597#1687653 Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/178683#1724114 Forumsbeitrag]&lt;br /&gt;
* Ich habe einen hierarchischen Schaltplan angelegt. Wenn ich ihn ausdrucke, werden die Subschaltpläne in der Reihenfolge ausgedruckt, in der sie oben in der Übersicht stehen. Diese Reihenfolge ist aber in meinem Fall ungünstig. Wie kann ich diese nun ändern?&lt;br /&gt;
** Leider im Programm z.Z. noch nicht. Trotzdem ist es machbar. Entweder von Hand oder mit einem Python Skript. Näheres zu beidem findet sich ind diesem [http://www.mikrocontroller.net/topic/288394#3064087 Forumsbeitrag] . Ein Python 3 Skript, das den Umgang mit dem Kicad-Schaltplan erleichtert, findet sich [[Media:PyKicadSchematic-ID_Interchanger_RevC.zip | hier]].&lt;br /&gt;
*Wie geht man mit Bussen um?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/208870#new Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/209156#new Forumsbeitrag], speziell bei hierarchischen Schaltplänen&lt;br /&gt;
* Wie kann man Schaltplanentwurf (KiCad) und Schaltungssimulation (Spice) verbinden?&lt;br /&gt;
** NGspice ist in den Grundzügen mittlerweile in den entwicklungsversionen von KiCad integriert. Aktuell (Nov. 2016) muss man sich aber noch KiCad selber compilieren und dabei auch einen passenden Schalter für den Compiler setzten. Siehe: [https://www.mikrocontroller.net/topic/412350#4803960 Forumsbeitrag]&lt;br /&gt;
** [http://Fuhaweb.hartford.edu/kmhill/suppnotes/KiCadDia/AimSPICE/KiCad_AimSPICE_01.pdf Imformationen zur Zusammenspiel KiCad &amp;lt;&amp;gt; AimSpice] &lt;br /&gt;
* Ein [[Media:SymboleFuerKiCad318082009-RevC-DE.pdf | Tutorial]] zum Symboleditor für KiCad, mit dem die Symbole für das Schaltplanmodul (EEschema) erzeugt bzw. editiert werden.&lt;br /&gt;
* Zur Erstellung von Schaltplansymbolen in aufgelöster Darstellung (Relais: Kontaktsätze einzeln und getrennt von der Spule; IC: Versorgungsspannung getrennt von den einzelnen Gattern)&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/273891#new. Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/294095#3136180 Forumsbeitrag]&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/449373#new Forumsbeitrag]&lt;br /&gt;
* Wie kann man im Schaltplan Symbole zum Verschieben gruppieren?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/170913# Forumsbeitrag]&lt;br /&gt;
* Und wenn es darum geht, eine solche Gruppe in einen anderen Schaltplan oder Subschaltplan zu verschieben?&lt;br /&gt;
** Die Gruppe ins &amp;quot;Clipboard&amp;quot; stecken. Dazu nach dem Markieren der Gruppe rechte Maustaste klicken, und dort &amp;quot;Gruppe speichern&amp;quot; wählen. Nun ist die Gruppe im Clipboard. jetzt in den gewünschten Unterschaltplan gehen und die Gruppe dort mithilfe des Clipboardbuttons (Das Klemmbrett Symbol links neben dem &amp;quot;Undo&amp;quot;-Button) in den Schaltplan einfügen. NICHTS mit der rechten Maustaste versuchen! Siehe [http://www.mikrocontroller.net/topic/244836#2499782 Forumsbeitrag].  Das ganze geht nicht nur mit Subschaltplänen, sondern auch genauso in einen ganz anderen Schaltplan, den man dann halt in Eeschema öffnen muss, hinein. Wenn nach dem Einfügen allerdings nur ein Kästchen mit Fragezeichen erscheint, waren die nötigen Symbolbibliotheken für diese Symbole noch nicht in der Projektdatei eingetragen. Das muss man nun nachholen, indem man unter &amp;quot;Einstellungen&amp;quot; die &amp;quot;Bibliotheken&amp;quot; wählt, und die passenden Bibliotheken einträgt. Wenn man nicht genau weiß, wo diese zu finden sind, kann es sinnvoll sein, die *-cache.lib des Herkunftsschaltplanes einzubinden.&lt;br /&gt;
** Ist es möglich, im Schaltplan gruppierte Bauteile automatisch im Board als Gruppe zu verschieben?&lt;br /&gt;
*** Nein. Siehe [https://www.mikrocontroller.net/topic/398996#new Forumsbeitrag]&lt;br /&gt;
* Wie wird man den merkwürdigen Rahmen los?&lt;br /&gt;
** 1) Bei neueren KiCad Versionen, ab ca. Mitte 2013 (von mir getestet ab BZR 4513 29 November 2013) kann man sich eine Vorlage ohne Rahmen erstellen. Dazu den pl_editor (der ganz rechte Button im KiCad Hauptfenster) starten, und FAST alles entfernen. Dazu in der linken Spalte nacheinander alles aktivieren, und mit rechts anklicken und dann &amp;quot;entfernen&amp;quot; wählen. Aber Vorsicht, wenn alles Entfernt wird, taucht das Original Layout wieder auf. Workaround war bei mir, eine zusätzliche Alibilinie hinzuzufügen, die von X 0,000 Y 0,000 bis  X 0,001 Y 0,000 reicht. Das ist ein &amp;quot;Fliegenschiss&amp;quot; in der linken oberen Ecke. Jetzt kann alles andere gelöscht werden. Den so geleerten Rahmen unter einem beliebigen Namen mit der Endung .kicad_wks wegspeichern. Im geöffneten Schaltplan kann der dann unter Datei &amp;gt; Seite einrichten ganz unten unter &amp;quot;page layout file description&amp;quot; die entsprechende Datei eingebunden werden. Es bleibt aber dem Anwender offen, ob er den Rahmen komplett entfernt, oder noch Felder mit Textbeschreibungen übernimmt. Für gesteigerten Komfort kann diese Datei dann auch in ein Template eingebunden werden. &lt;br /&gt;
** 2) Beim Ausdrucken Frame deaktivieren.&lt;br /&gt;
** 3) Als SVG exportieren. Dort den Frame deaktivieren.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/343509#3791448 Forumsbeitrag]&lt;br /&gt;
* Wie schalte die Footprint-Namen in Eeschema global ab?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/253564#new Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Problem mit dem ERC. Ständig kommt die Fehlermeldung: &amp;quot;Pin ist mit anderen Pins verbunden, wird jedoch von keinem angesteuert&amp;quot;&lt;br /&gt;
** Netze, die nicht angesteuert werden, werden von Kicad misstrauische beäugt. Das &amp;quot;nicht ansteuern&amp;quot; kann aber schnell passieren, weil Kicad u.A. erwartet, das irgendwo ein Spannungsversorgung ist. Wenn diese aber z.B. über eine Sicherung oder einen Pull-up Widerstand gehen, so wird das nicht bemerkt, weil Sicherungen und Widerstände (oder auch Entstördrosseln) &amp;quot;passive&amp;quot; Pins haben. Siehe [http://www.mikrocontroller.net/topic/292988#new Forumsbeitrag] und [http://www.mikrocontroller.net/topic/298401#new Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Problem mit dem ERC. Immer in Verbindung mit GND kommt die Fehlermeldung: &amp;quot;Pin ist mit anderen Pins verbunden, wird jedoch von keinem angesteuert&amp;quot;&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/284089#new Forumsbeitrag]&lt;br /&gt;
* Beim ERC kommt die Fehlermeldung &amp;quot;PIN not connected&amp;quot; an Verbindungen, die per Label angeschlossen sind. Was ist da falsch?&lt;br /&gt;
**Sie sind tatsächlich nicht angeschlossen. [http://www.mikrocontroller.net/topic/346976#new Forumsbeitrag]&lt;br /&gt;
* Wie ist der Zusammenhang zwischen Bauteilen und Netznamen? Wie bekomme ich heraus, an welchem Netz mein Bauteil angeschlossen ist?&lt;br /&gt;
** Eeschema vergibt bzw. aktualisiert erst dann Netznamen, wenn eine Netzliste erzeugt wird. Darauf besteht entweder ein Zugriff über PCBnew, oder aber mit einem Editor. [http://www.mikrocontroller.net/topic/316539#new Forumsbeitrag]&lt;br /&gt;
* Ich habe einen Schaltplan geöffnet, aber alle oder einige der Symbole zeigen nur Kästen mit Fragezeichen.&lt;br /&gt;
** Es fehlen die passenden Symbolbibliotheken für diese Symbole.&lt;br /&gt;
** Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Diese Fehlen nun. Man braucht die Originalbibliotheken oder aber die Cache-Bibliothek dieses Schaltplans.&lt;br /&gt;
*** Diese müssen in der Liste der Bibliotheken nachgetragen werden. Siehe dazu die Handhabung von Bibliotheken: [[KiCad#Handhabung_von_Bibliotheken]]&lt;br /&gt;
** Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Diese Fehlen nun. Man braucht nun die Originalbibliotheken oder aber die Cache-Bibliothek dieses Schaltplans.&lt;br /&gt;
** Ab BZR4646 (Jan./Feb. 2014) behandelt KiCad Symbolnamen &amp;quot;Case Sensitive&amp;quot;. Das führt zu Problemen mit älteren Schaltplänen, wo das anders gehandhabt wurde.&lt;br /&gt;
*Wieviele Textfelder für Symbole kann ich anlegen und wie groß dürfen diese sein?&lt;br /&gt;
** Mindestens 35 Felder, die mindestens 256 Zeichen (tatsächlich deutlich mehr) beinhalten können. Aber Zeilenumbrüche gehen nicht. [http://www.mikrocontroller.net/topic/331201#3658695 Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Symbol im Symboleditor geändert. Aber irgendwie taucht diese Änderung dann in Eeschema trotzdem nicht auf.&lt;br /&gt;
** Die Reihenfolge der Einträge in der Bibliotheksliste ist wichtig. Bei gleichem Namen wird immer das zuerst gefundene Symbol verwendet. Steht die -cache.lib in der Reihenfolge zu oberst, wird immer zuerst das Bauteil aus der -cache.lib verwendet. Beheben: Die -cache.lib aus der Bibliotheksliste von Eeschema austragen und neu eintragen, so dass sie unten angefügt wird, und zuletzt geladen wird. Alternativ: Bei Änderungen einen neuen Namen für das Symbol vergeben. Z.B. durch das Pflegen eines Revisions- oder Datecode im Symbolnamen. Einfach nur die -cache.lib löschen langt möglicherweise nicht, weil diese u.U. mit alten Daten neu geschrieben wird (wenn z.b. Eeschema dabei nicht geschlossen ist). [http://www.mikrocontroller.net/topic/331201 Forumsbeitrag]&lt;br /&gt;
* Wie erstelle ich eine Stückliste (BOM, Bill of Materials)?&lt;br /&gt;
** 1) In PCBnew oben im Pull down Menue Datei &amp;gt; Fertigungsdateien &amp;gt; BOM (Bill of materials) Geht nur, wenn die Netzliste schon importiert wurde.&lt;br /&gt;
** 2) In EEschema unter Werkzeuge &amp;gt; Stückliste erstellen &amp;gt; und dann ein Plugin wählen. Es gibt verschieden Plugins mit verschiedenen Eigenschaften z.B. auch für kumulierende Listen. Die Plugins kann man von [https://github.com/KiCad/kicad-source-mirror/tree/master/eeschema/plugins hier] beziehen: Achtung, ein kleiner &#039;&#039;&#039;BUG&#039;&#039;&#039; In den Voreinstellungen der Kommandozeile muss in den Optionen &amp;quot;%O&amp;quot; in &amp;quot;%O.csv&amp;quot; umgewandelt werden, sonst hat die erzeugte Datei keinen .csv extender. Grundsätzlich: Hier wird zuerst eine behelfsmäßige Netzliste im .xml Format erstellt. Die Kommandozeile startet dann ein Programm, was widerum ein .xsl Skript (Das Plugin) abarbeitet, und als output eine .csv Datei erzeugt, die in Tabellenkalkulationen importiert werden kann. In die Kommandozeile kann natürlich auch etwas anderes eingetragen werden, so dass man dort z.B. auch Python Skripte verwenden kann.&lt;br /&gt;
** 3) Man kann sich selber ein separates Skript erstellen, welches die .kicad_sch Datei parst, und daraus eine .csv oder anders gestaltete BOM-Datei erstellt, so wie man es braucht. Da man auch ohne Plugins bei drücken von &amp;quot;Erstellen&amp;quot; die oben erwähnte behelfsmäßige Netzliste erhält, kann man diese auch mit externen Skripten bearbeiten. Es gibt Mittelwege zwischen 2) und 3). Für ein Python Skript siehe [https://forum.kicad.info/t/kibom-python-bom-generation-tool/3038 hier]&lt;br /&gt;
** Info:&lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/402089#new Forumsbnbeitrag]: &amp;quot;KiCad Stückliste&amp;quot; &lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/376977?goto=new#new Forumsbeitrag]: &amp;quot;Kicad Bauteilliste(BOM) erstellen&amp;quot;&lt;br /&gt;
**  [https://www.mikrocontroller.net/topic/402565#new Forumsbeitrag]: Klaus hat ein Plugin geschrieben, dass in html überträgt&lt;br /&gt;
* Ich möchte eine Stückliste (BOM, Bill of Materials) mit einer Datenbank, z.B. für Bestellnummern verbinden.&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/416192#4856645 Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
=== Netlist ===&lt;br /&gt;
* Was genau muss man beim Übergang vom Schaltplan (SCH) zum Layout (BRD) machen?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/33653#898771&lt;br /&gt;
** http://www.mikrocontroller.net/topic/39243#290309&lt;br /&gt;
** http://www.mikrocontroller.net/topic/39243#891530&lt;br /&gt;
* Kann man fertige Netzlisten für Gruppen von Bauteilen einbinden?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/33653#1462871&lt;br /&gt;
* Wie sieht das allgemein mit der Zuordnung Symbol zu Footprint aus?&lt;br /&gt;
** Symbole und Footprints sind zwar von der Idee her erst einmal getrennt, und Footprints werden über CVpcb und Netzliste den Symbolen zugeordnet.&lt;br /&gt;
** Allerdings besteht auch eine Möglichkeit, Symbolen einen bevorzugten Footprint  fest zuzuweisen, der dann automatisch in die Netzliste zum Einlesen in das Board eingetragen wird. Wenn dann der Zuweisungsschritt mit CVbcb in der Netzliste gemacht wird, ist dort schon etwas eingetragen, was man so lassen oder aber ändern kann.&lt;br /&gt;
*** Dazu in EEschema mit der Maus auf ein Symbol gehst und &amp;quot;E&amp;quot; drücken. Alternativ über rechten Mausklick auf Symbol und dann das Kontextmenuest gehen. Wenn man im Symboleditor arbeitet, aus der oberen buttonleiste den Button mit dem &amp;quot;T&amp;quot;-Symbol wählen. Es poppt ein Fenster auf &amp;quot;component properties&amp;quot;. In der Mitte ist eine Tabelle mit unter anderem einem Eintrag &amp;quot;Footprint&amp;quot;. Wenn dann &amp;quot;Footprint&amp;quot; aktiviert wird. kann rechts der Name eines Footprintes eingebenwerden (kompliziert), oder, wesentlich einfacher, darunter gibt es einen Button &amp;quot;browse Footprints&amp;quot;. Wenn der aktiviert wird, öffent sich ein Fenster, in dem sich in den in die Bibliothekslisten eingetragenen Footprintbiblotheken herumwühlen lässt.&lt;br /&gt;
** Desweiteren kann auch eine Kopie des Symbols unter anderem Namen angelegt werden, und dort ein anderer Footprint eingetragen werden, als Variante. Falls das Pinning nicht passt, müssen halt auch noch die Pinne im Symbol passend zum Footprint gemacht werden.&lt;br /&gt;
** Diskussion dazu: https://www.mikrocontroller.net/topic/432920#5112114&lt;br /&gt;
* Kann man Daten für automatische Bestückung erzeugen?&lt;br /&gt;
** Ja. aber nicht in CVpcb für die Symbol &amp;gt; Footprint Zuordnung, sondern im Layout Modul PCBnew.&lt;br /&gt;
* In meiner Netlist fehlen Bauteile, die im Schaltplan vorhanden und angeschlossen sind. Der ERC läuft problemlos durch. Die Annotation auch, aber nach Erstellung der Netlist sind die Symbole plötzlich mit einem vorangestellten &amp;quot;#&amp;quot; im Schaltplan bezeichnet.&lt;br /&gt;
** Vermutlich sind sie versehentlich als &amp;quot;virtuelles&amp;quot; Bauteil gekennzeichnet. Siehe http://www.mikrocontroller.net/topic/268626#new&lt;br /&gt;
* Wie exportiere ich eine Netlist NUR für einen Subschaltplan?&lt;br /&gt;
** Das geht, nachdem dieser Schaltplan explizit in EEschema geöffnet wurde. Siehe: http://www.mikrocontroller.net/topic/330740#new&lt;br /&gt;
* Ich finde CVpcb nicht mehr am gewohnten Platz zwischen all den anderen Startbuttons!&lt;br /&gt;
** CVpcb ist inzwischen aus diesen entfernt worden, und durch Startbuttons für den Symboleditor und den Footprinteditor ersetzt worden. Dafür kann CVpcb jetzt direkt aus Eeschema heraus gestartet werden. Es findet sich jetzt im oberen Pulldown Menue unter &amp;quot;Werkzeuge&amp;quot; und dann &amp;quot;Bauteilfootprints zuweisen&amp;quot; oder in der oberen Buttonleiste als dritter Button von rechts (BZR5175 vom 11 Oktober 2014).&lt;br /&gt;
** Sollte KiCad abstürzen, wenn man versucht, CVpcb zu starten, so kann man CVpcb auch direkt aus einem Terminal oder aus der Eingabeaufforderung heraus starten.  &lt;br /&gt;
** Versuchsweise mal 10 Minuten warten.....bei Problemen mit der Erkennung von Symbolnamen und Footprintnamen (beim öffnen ganz alter Projekte mit alten Dateiformaten) kann es manchmal extrem lange dauern.&lt;br /&gt;
* Was bedeuten die Maßangaben in der Netlist?&lt;br /&gt;
* Wie überträgt man Kicad Schaltpläne in QUCS Schaltpläne für Simulation?&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
* Wie stellt man die Rastergrösse im Layout ein?&lt;br /&gt;
** Mit der Rechten Maustaste in das Board klicken. Es poppt ein Menue auf. Dort Raster wählen..... Geht im Modul-Editor genauso.&lt;br /&gt;
* Wie verteile ich die übereinander geladenen Bauteile?&lt;br /&gt;
**Oben das IC Symbol mit den zwei Pfeilen (Mode footprint) aktivieren und mit der rechten Maustaste auf der Platine im Menü &amp;quot;Global spread and place&amp;quot; anwählen und die gewünschte Art auswählen.&lt;br /&gt;
* Wie werden Pads und Leiterbahnen verbunden?&lt;br /&gt;
**Siehe: http://www.mikrocontroller.net/topic/119755#1081455&lt;br /&gt;
**Aktueller: http://www.mikrocontroller.net/topic/220733#new&lt;br /&gt;
* Ich kann keine Leiterbahnen ziehen!&lt;br /&gt;
** Vermutlich hast Du den automatischen DRC (Design rule check) aktiviert. Deaktiviere ihn halt. In PCBnew im linken Buttonbar der oberste Button (Insekt mit Verbotszeichen). http://www.mikrocontroller.net/topic/306476#new&lt;br /&gt;
* Aber jetzt habe ich beim Ziehen der Leiterbahnen so merkwürdige Ergebnisse!&lt;br /&gt;
** Option &amp;quot;Remove redundant tracks&amp;quot; wählen! Siehe https://www.mikrocontroller.net/topic/381906#new &lt;br /&gt;
* Mir fehlen Airwires/Luftlinien/Gummibänder!&lt;br /&gt;
** Vieleicht die falschen Pins als Typ &amp;quot;Spannungsausgang&amp;quot; definiert? Siehe: http://www.mikrocontroller.net/topic/330817#3620918&lt;br /&gt;
* Ich bekomme immer eine Fehlermeldung vom DRC, das ein Pad nicht angeschlossen ist, aber ich habe es angeschlossen.&lt;br /&gt;
**Siehe: http://www.mikrocontroller.net/topic/204717#2018724&lt;br /&gt;
* Ich will ein Bauteil für geringeren Leiterwiderstand sowohl auf der Unterseite- als auch der Oberseite anschließen. KiCad löscht aber immer den alten Leiterbahnzug, wenn ich den neuen lege. &lt;br /&gt;
** Deaktiviere unter Einstellungen-&amp;gt;Allgemein das &amp;quot;auto-entfernen-von-Leiterbahnen&amp;quot; (einfachste Lösung). &lt;br /&gt;
** Alternativ: Designe dafür Bauteile mit speziellen Pads. http://www.mikrocontroller.net/topic/187606#1823596 (realistischste u. sauberste Lösung, aber etwas umständlich.)&lt;br /&gt;
* Das Löschen der Leiterbahnen Segment für Segment ist sehr umständlich. Geht es besser?&lt;br /&gt;
** Ja. Siehe: https://www.mikrocontroller.net/topic/385768#new &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Bei neueren (RC4 z.B.) Versionen von PCBnew kann unter &amp;quot;View&amp;quot; verschiedene &amp;quot;Canvas&amp;quot; verwendet werden. Jeder dieser &amp;quot;Canvas&amp;quot; verhält sich etwas anders und hat andere Vorzüge.&lt;br /&gt;
** Aktuell (Jan. 2019) mit Auswahlbox. Achtung: Die Auswahlbox hat anderes Verhalten in KiCad 6, je nachdem ob man sie von rechts oder von links aufgezogen hat! Details siehe: https://www.mikrocontroller.net/topic/467735#new&lt;br /&gt;
* Wie kann man ein Bauteil mit Pads und Leiterbahnen bewegen? &lt;br /&gt;
** http://www.mikrocontroller.net/topic/118539#1067219&lt;br /&gt;
* Wie füllt man eine Fläche aus?&lt;br /&gt;
** Siehe: http://www.mikrocontroller.net/topic/93131#854802&lt;br /&gt;
** Etwas aktueller: http://www.mikrocontroller.net/topic/182271#1772119 Zweiter Teil des Posts.&lt;br /&gt;
** Und wie erzeuge ich konzentrisch ineinanderliegende Flächen?&lt;br /&gt;
*** Siehe: http://www.mikrocontroller.net/topic/327475#new&lt;br /&gt;
** Wie ist das Verhalten von KiCad bei Flächen/Polygonen verglichen mit Eagle?&lt;br /&gt;
*** Siehe: https://www.mikrocontroller.net/topic/473604#new&lt;br /&gt;
** Ja, aber meine Fläche wird nicht gefüllt oder es passiert was ganz merkwürdiges.&lt;br /&gt;
***Siehe: http://www.mikrocontroller.net/topic/298692#new &lt;br /&gt;
***Konkreter: Es sollte darauf geachtet werden, das mindestens ein Endpunkt oder ein Via oder ein Knickpunkt der Leiterbahn, die mit der zu füllenden Fläche verbunden sein soll, innerhalb der als zu füllen definierten Fläche liegen. Siehe http://www.mikrocontroller.net/topic/366199#new&lt;br /&gt;
* Die Flächen habe ich jetzt, aber wie sieht das mit &amp;quot;Stitching&amp;quot; aus? Anmerkung: Als &amp;quot;Stitching&amp;quot; (von Engl. &amp;quot;stitch&amp;quot;: Nähen) bezeichnet man das Verbinden mehrerer Flächen oder Leiterbahnen gleichen Potentials mit Durchkontaktierungen durch die Platine hindurch. Üblich z.B. für Masseflächen. Die gleiche Technik kann auch verwendet werden, wenn man für Hochstromverbindungen mehrere Durchkontaktierungen parallel schalten möchte, wobei KiCad beim ziehen des Tracks nur eine  Durchkontaktierung setzt, und die anderen von Hand dazugesetzt werden müssen. &lt;br /&gt;
** Es gibt verschiedene Methoden. Je nach Geschmack. Siehe: http://www.mikrocontroller.net/topic/380550#new und https://www.youtube.com/watch?v=Hp5ngKtl7S4&amp;amp;list=PLJhdeJOBBRdnPgqcUiONoV4NLCo12f-jT&amp;amp;index=5&lt;br /&gt;
* Ich habe eine Platine, die von oben und unten bestückt ist. Wenn ich jetzt Bauteile zusammengruppiere, um sie gemeinsam zu verschieben, erwische ich immer alle Bauteile auf Vorder- und Rückseite. Wie bekomme ich das jetzt hin, das ich nur Module auf einer Seite bewege?&lt;br /&gt;
** Indem im Lagenmanager die Seite, die nicht bewegt werden soll, abgeschaltet wird. Siehe: http://www.mikrocontroller.net/topic/311586#new&lt;br /&gt;
* Wie bekommt man ein vernünftiges Boardoutline hin?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/96060#1057511 &lt;br /&gt;
* Wie erstellt man ein rundes Loch, z.B. eine Befestigungsbohrung / nichtdurchkontaktierte Bohrung?&lt;br /&gt;
** VERALTET: http://www.mikrocontroller.net/topic/179308#1726990&lt;br /&gt;
** VERALTET:http://www.mikrocontroller.net/topic/120373#1122219 ?????&lt;br /&gt;
** KiCad kann mittlerweile auch direkt nichtdurchkontaktierte Bohrungen erzeugen. Siehe dazu http://www.mikrocontroller.net/topic/263069#2732405 Enthält auch allgemeine Informationen zum Umgang mit durchkontaktierten und nicht durchkontaktierten Bohrungen.&lt;br /&gt;
Da Löcher mit einem Durchmesser ab 2mm gefräst statt gebohrt werden können, und ab 6mm Durchmesser mit hoher Sicherheit gefräst werden, ist es sinnvoll, Löcher ab ca. 4mm Durchmesser in PCBnew mit dem Kreistool in das Layer &amp;quot;edge.cuts&amp;quot; zu zeichnen.&lt;br /&gt;
&lt;br /&gt;
* Ich möchte für Passermarken / Fiducials eine deutlich größere Freistellung in der Lötstoppmaske haben. Wie geht das?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/266730#2779498&lt;br /&gt;
* Wie geht das überhaupt mit den Lötstoppmasken?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/283721#new&lt;br /&gt;
* Ja, aber die Lötstoppmaske wird leider nicht angezeigt.&lt;br /&gt;
** http://www.mikrocontroller.net/topic/298028#new&lt;br /&gt;
* Ich möchte Text und Markierungen/Grafik statt im Bestückungsdruck im Lötstopplack erstellen. Geht das überhaupt und wie ist das zu bewerkstelligen?&lt;br /&gt;
** Das geht, und dazu ist der Text oder die grafischen Linien/Kreise direkt in die Lötstoppmaske zu schreiben. Siehe: http://www.mikrocontroller.net/topic/347702#new Die Lötstoppmasken Lagen heissen F.Mask (Bestückungsseite) und B.Mask (Lötseite).&lt;br /&gt;
* Ich möchte Text invers im Bestückungsdruck haben.&lt;br /&gt;
** Das geht. Siehe: http://www.mikrocontroller.net/topic/417961#4888742&lt;br /&gt;
* Wie kann man Bauteilmaße in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
** Anzeige im Layout: Layer &amp;quot;Zeichnung&amp;quot; anwählen. In der rechten Menueleiste &amp;quot;Bemaßung hinzufügen&amp;quot; wählen. Das ist der fünfte Button von unten mit der &amp;quot;blauen Bemaßung&amp;quot;. Jetzt an einer Stelle links ins Layout klicken. Maus verschieben und noch einmal links klicken und die Maus seitlich verschieben. Es wird ein Maßpfeilsystem zwischen erstem und zweitem Mausklick angelegt, dessen höhe man mit der Maus einstellen kann. Ein weiterer linker Mausklick fixiert das System. Das Anklicken der Beschriftung mit der rechten Maustaste erlaubt das Editieren. Das System wird immer in der Einheit angelegt, die in der linken  Menueleiste vorgewählt wurde. Die Rasterung der aktuellen Einstellung wird auch übernommen. Späteres Ändern von Einheit- und Raster ändern die Beschriftung nicht mehr. In 3D und im Footprint geht diese Möglichkeit nicht.&lt;br /&gt;
** Weitere Möglichkeiten: Einen Maßstab als footprint/Modul anfertigen und zum Messen in das Board einfügen.&lt;br /&gt;
** Wenn man im Layout aber direkt etwas ausmessen möchte, so geht das über den relativen Nullpunkt. Unten im Rahmen rechts sind vier Felder. Die beiden linken zeigen die absoluten Koordinaten, an, die beiden rechten die relativen Koordinaten in Bezug auf einen relativen Nullpunkt. Defaultmäßig stimmen absoluter und relativer Nullpunkt ersteinmal überein. Per &amp;quot;Space bar&amp;quot; drücken setzt Du den relativen Nullpunkt an den Ort des Mauszeigers. Wenn Du nun die Maus verfährst, zeigen die relativen Koordinaten nun den vertikalen und horizontalen Abstand zum Nullpunkt. Die Diagonale muss leider über den Pythagoras selber ausgerechnet werden, oder indem man die Polarkoordinateneinstellung wählt (linke Menueleiste). Durch geschicktes setzten des Nullpunktes kann man nun auf der Platine herummessen. Winkel können auch über die Polarkoordinateneinstellung gemessen werden. Im Moduleditor geht das analog. Das 3D-View kann zur Zeit (Januar 2011) überhaupt keine Bemaßung.     &lt;br /&gt;
* Wie kann man mit der KiCad Version 20100314 &#039;&#039;&#039;einseitige&#039;&#039;&#039; Platinen erstellen?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/172015#1651239&lt;br /&gt;
** aktueller: http://www.mikrocontroller.net/topic/172015#1794699&lt;br /&gt;
*Und wie teile ich KiCad mit, daß der Autorouter nur eine Seite verwenden soll?&lt;br /&gt;
** Auf die doofe Tour: Erst in KiCad zweiseitig wählen, und dann beide Lagen im Autorouter als &amp;quot;Unterseite&amp;quot; wählen.&lt;br /&gt;
&lt;br /&gt;
* Wie gehen runde Bögen in KiCad?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/202512#1994063&lt;br /&gt;
* Ich brauche für einen Platinenumriss eine geschlossene Linie. Das klappt aber irgendwie nicht.&lt;br /&gt;
** Die Endpunkte müssen exakt aufeinander liegen. Dazu&lt;br /&gt;
*** A) Passende Raster verwenden&lt;br /&gt;
*** B) parametrisch die Endpunkte direkt als Koordinaten eingeben.&lt;br /&gt;
*** Siehe Diskussion dazu: https://www.mikrocontroller.net/topic/418296#new&lt;br /&gt;
* Wie benutze ich den interaktiven Router (Push &amp;amp; Shove) in PCBnew?&lt;br /&gt;
** Dazu muss in PCBnew im Pulldown-Menue unter &amp;quot;Ansicht&amp;quot; die Option &amp;quot;Canvas nach OpenGL umschalten&amp;quot; oder &amp;quot;Canvas nach Cairo umschalten&amp;quot;gewählt werden. Wenn man nun, wie gewohnt, aus der rechten Button Leiste das Verlegen von Leiterbahnen wählt, eine Leiterbahn/Luftlinie wählt und rechts anklickt, erhält man den interaktiven Router. Aber Achtung - wegen des geänderten Kontextmenues kann es sinnvoll sein, für andere Tätigkeiten auf die Voreinstellungen zurückzuschalten.&lt;br /&gt;
* Wie stelle ich beim Routen die Leiterbahnbreiten ein?&lt;br /&gt;
** Sie müssen vorher in den Design Rules definiert werden. Siehe: https://www.mikrocontroller.net/topic/452117#new&lt;br /&gt;
* Ich habe mein Board fertig geroutet, stelle aber jetzt fest, das ich noch einige Leiterbahnbreiten ändern muss. Wie geht das am einfachsten?&lt;br /&gt;
** Eine Leiterbahn rechts anklicken und Segment oder Track ändern. Das Verhalten ist im Detail vom gewählten Canvas anhängig. Und die Leiterbahnbreite muss schon in den Design rules existieren. Siehe hier: https://www.mikrocontroller.net/topic/452117#new&lt;br /&gt;
*** Ab KiCad 5.1 bzw. 6 wird es die verschiedenen Modi nicht mehr geben. Siehe https://www.mikrocontroller.net/topic/467735#5718645&lt;br /&gt;
* Wie gestalte ich einen gleitenden, stetigen Übergang bei einer Änderung der Leiterbahnbreite?&lt;br /&gt;
** Mit Workarounds wie dreieckigen/trapezförmigen Pads oder einem sehr fein gestaffelten stufigen Übergang. Siehe: https://www.mikrocontroller.net/topic/438242&lt;br /&gt;
**http://www.mikrocontroller.net/topic/205851#new&lt;br /&gt;
*Ich kann Pads nicht anschließen bzw. ich bekomme vom DRC Fehlermeldungen, daß ich Pads nicht angeschlossen habe, obwohl sie angeschlossen sind.&lt;br /&gt;
**http://www.mikrocontroller.net/topic/204717#new&lt;br /&gt;
*Wie kann ich Daten für automatische Bestückung (Pick&amp;amp;Place) erzeugen?&lt;br /&gt;
** In PCBnew unter Datei &amp;gt; Fertigungsdateien &amp;gt; Bauteile Positionsdatei (.pos). Aber dieses verlangt, das die Footprints auch die richtigen Informationen dazu enthalten. Um diese einzustellen, den Footprint im Moduleditor öffnen und unter dem Button &amp;quot;Bauteileigenschaften&amp;quot; in &amp;quot;Attribute&amp;quot; eine Markierung bei &amp;quot;Normal+Einfügen&amp;quot; machen. Dann wird der Ankerpunkt des Modules für die Positionsdatei verwendet. Damit sinnvolle Daten entstehen, sollte der Ankerpunkt bei SMD-Footprints in die Mitte des Footprintes gesetzt worden sein. &lt;br /&gt;
* Gibt es &amp;quot;Regeln&amp;quot; für das Setzten von Ankerpunkten bei Footprints?&lt;br /&gt;
** Es gibt Konventionen. Bei SMD-Bauteilen der &amp;quot;Mittelpunkt&amp;quot; des Bauteiles. Dieser wird auch für Pick&amp;amp;Place Daten in der automatischen Bestückung verwendet. &lt;br /&gt;
** Bei THT-Bauteilen wird als Konvention die Mitte von Pin 1 als Ankerpunkt verwendet.&lt;br /&gt;
*Und wie erzeuge ich ein Excellon Drillfile?&lt;br /&gt;
** In PCBnew unter Datei &amp;gt; Fertigungsdateien &amp;gt; Bohrdaten. Die Datei enthält auch eine Werkzeugliste. Kicad legt u.U. zwei Drillfiles an, wenn erforderlich. Eines für durchkontaktierte, und eines für nicht durchkontaktierte Bohrungen. Wer eine extra Liste und eine Statistik wünscht, muss auch noch &amp;quot;Bericht über Bohrung&amp;quot; anwählen.&lt;br /&gt;
** Bei mir wird aber nur ein Drillfile erzeugt. Was läuft falsch?&lt;br /&gt;
***Die NPTH Drills müssen im Pad-Editor explizit als solche gekennzeichnet werden. In PCBnew erkennt man sie dann als dicke gelbe Flächen. Siehe: http://www.mikrocontroller.net/topic/322941#3989397 Bei älteren Footprints ist das aber noch nicht komplett umgesetzt. &lt;br /&gt;
* Wenn PCBnew die Netzliste eingelesen hat, liegen alle Bauteile auf einem Haufen. Zum Plazieren eines herausgreifen ist mühsam. Wie geht das am einfachsten?&lt;br /&gt;
** In PCBnew &amp;quot;T&amp;quot; drücken. Es poppt ein Fenster auf, wo man die Bauteilreferenz (den Namen) eingeben kann. Und schon hängt das Bauteil zum Bewegen am Zeiger. Die Bedienung ist letztlich genauso wie das &amp;quot;m&amp;quot; und die Komandozeile in Eagle. Siehe http://www.mikrocontroller.net/topic/293903#3133990&lt;br /&gt;
** &amp;quot;Raef&amp;quot; hat ein Python Script erstellt, das Bauteile automatisch ähnlich der Anordnung im Schaltplan plaziert. Siehe: http://www.mikrocontroller.net/topic/293903#3245990&lt;br /&gt;
** In neueren PCBnew Version gibt es ein gutes parametrisches Plazieren: https://www.mikrocontroller.net/topic/432920#5108442&lt;br /&gt;
* Ich habe ein fertiges Layout. Jetzt möchte ich aber andere Footprints verwenden, und anschließend nicht neu routen müssen. Wie geht das?&lt;br /&gt;
** Über CVpcb und Neueinlesen der Netzliste. Siehe: http://www.mikrocontroller.net/topic/297885#new&lt;br /&gt;
* Ich will links herum routen, aber Kicad meint unbedingt rechts herum (...oder umgekehrt). Wie kann ich die Leiterbahnen &amp;quot;flippen&amp;quot;?&lt;br /&gt;
** Mit &amp;quot;/&amp;quot; (Slasch) http://www.mikrocontroller.net/topic/280028#new&lt;br /&gt;
* Ich hätte gerne die Tastenkürzel in kicad so wie in meinem gewohnten Programm. Wie geht das?&lt;br /&gt;
** Siehe http://www.mikrocontroller.net/topic/283959#3007173 . Vieleicht ist einer ja so nett, und stellt Konfigurationsfiles für Leute die aus EAGLE, ORCAD oder so wechseln, bereit.&lt;br /&gt;
* Ich habe ein kleines Board fertig geroutet. Jetzt möchte ich mehrere davon zu einer größeren Platine zusammenführen (sog. Mehrfachnutzen), um sie rationeller fertigen zu können.&lt;br /&gt;
** Siehe http:http://www.mikrocontroller.net/topic/292334#new . Das geht natürlich genauso, wenn man verschiedene Platinen so zu Nutzen zusammenfügen möchte, oder halt kleinere Teillayouts zu einem Gesamtboard.&lt;br /&gt;
*** Nachtrag: Wenn in PCBnew &amp;quot;append Board&amp;quot; oder &amp;quot;save as&amp;quot; ausgegraut sind, so schliesse KiCad Eeschem und PCBnew komplett und starte PCBnew direkt ohne über KiCad zu gehen. Das ist in neueren KiCad Versionen so vorgesehen. Siehe https://www.mikrocontroller.net/topic/399145#new&lt;br /&gt;
&lt;br /&gt;
* Ich habe einen Schaltplan mit Subschaltplänen, zu denen ich separate Layouts erstellen möchte.&lt;br /&gt;
** Dazu diesen Subschaltplan explizit in EEschema öffnen, und die Netzliste nur für diesen Subschaltplan exportieren.  Weitergehen wie üblich. Siehe: http://www.mikrocontroller.net/topic/330740#new&lt;br /&gt;
* Ich möchte Varianten eines Layouts erstellen. Was ist dazu zu sagen? Siehe: http://www.mikrocontroller.net/topic/330740#3616697&lt;br /&gt;
** Siehe http://www.mikrocontroller.net/topic/292123#new&lt;br /&gt;
* Wie importiere ich DXF-Dateien in PCBnew? z.B. ein Platinenumriss aus einem mechanischen CAD-Programm?&lt;br /&gt;
** Dafür existiert eine Import Funktion in PCBnew: Datei &amp;gt; Importieren &amp;gt; DXF-Datei. Siehe http://www.mikrocontroller.net/topic/327628#new &lt;br /&gt;
aktueller: https://www.mikrocontroller.net/topic/469438#new&lt;br /&gt;
* Wie wird man den merkwürdigen Rahmen los?&lt;br /&gt;
** 1) Genauso wie im Schaltplan. Dazu den pl_editor (der ganz rechte Button im KiCad Hauptfenster) starten, und FAST alles entfernen. Dazu in der linken Spalte nacheinander alles aktivieren, und mit rechts anlicken und dann &amp;quot;entfernen&amp;quot; wählen. Aber vorsicht, wenn alles Entfernt wird, taucht das Original Layout wieder auf. Workaround war bei mir, eine zusätzliche Alibilinie hinzuzufügen, die von X 0,000 Y 0,000 bis  X 0,001 Y 0,000 reicht. Das ist ein &amp;quot;Fliegenschiss&amp;quot; in der linken oberen Ecke. Jetzt kann alles andere gelöscht werden. Den so geleerten Rahmen unter einem beliebigen Namen mit der Endung .kicad_wks wegspeichern. Im geöffneten Schaltplan kann der dann unter Datei &amp;gt; Seite einrichten ganz unten unter &amp;quot;page layout file description&amp;quot; die entsprechende Datei eingebunden werden. Es bleibt aber dem Anwender offen, ob er den Rahmen komplett entfernt, oder noch Felder mit Textbeschreibungen übernimmt. Für gesteigerten Komfort kann diese Datei dann auch in ein Template eingebunden werden. &lt;br /&gt;
** 2) Beim Ausdrucken Frame deaktivieren.&lt;br /&gt;
** 3) Als SVG exportieren. Dort den Frame deaktivieren.&lt;br /&gt;
** 4) Beim Plotten (z.B. in Gerber) Frame deaktivieren. Ist eigentlich defaultmäßig eingestellt. &lt;br /&gt;
** Siehe: http://www.mikrocontroller.net/topic/343509#3791448&lt;br /&gt;
* Ich möchte einen bestimmten Footprint verwenden (von dem ich weiss, dass er existiert), kann ihn aber in der Auswahl der Footprints von PCBnew nicht finden.&lt;br /&gt;
**Die Bibliothek, in der er enthalten ist, muss erst in das Verzeichnis der aktiven Bibliotheken in PCBnew eingetragen werden. &lt;br /&gt;
* Ich möchte Footprint-Bibliotheken in das Verzeichnis der verwendeten Bibliotheken von PCBnew eintragen. Wie geht das?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/372123#new  &lt;br /&gt;
* Ich habe Probleme mit den Umgebungsvariablen KISYSMOD, KISYS3DMOD, KIPRJMOD, KIGITHUB beim Eintragen der Bibliothekstabellen.&lt;br /&gt;
** KISYSMOD ist eine Variable, die den Pfad zu den global verwendeten KICAD-Modulen (Footprints) angibt. KIPRJMOD ist das gleiche, für projektspezifische Module. KISYS3DMOD beschreibt den Pfad zu den 3D-Modellen, und KIGITHUB weisst den Pfad ins Internet zu den Githubbibliotheken.&lt;br /&gt;
** Nähere Informationen dazu findet man hier: http://www.mikrocontroller.net/topic/344139#new und hier : http://www.mikrocontroller.net/topic/344029#new&lt;br /&gt;
** Aktueller: http://www.mikrocontroller.net/topic/368660&lt;br /&gt;
** Falls alles nichts hilft: Nan kann den Pfad auch komplett am Stück in die Bibliothekstabelle eintragen. Copy&amp;amp;Paste funktioniert dort aber nicht per rechtem Mausklick, sondern per &amp;lt;Str-c&amp;gt; (Kopieren) und &amp;lt;Str-v&amp;gt; (einfügen). Einfacher als die Bibliothekstabelle lässt sich darum die fp-lib-table Datei per Editor bearbeiten. Unter Linux findet sich die Tabelle für globale Bibliotheken bis zur BZR5113 direkt im Homeverzeichnis. Ab BZR5114 (ca. 5. September 2014) fiondet sich die globale fp-lib-table in $HOME/.config/kicad. Die fp-lib-table für projektbezogene Bibliotheken finden sich in den korrespondierenden  Projektverzeichnissen.&lt;br /&gt;
* Ich würde gerne die Mikrowellen Tools verwenden, aber irgendwie funktioniert das nicht.&lt;br /&gt;
** In älteren KiCad Versionen funktionieren sie nur im &amp;quot;legacy Canvas&amp;quot;. Den &amp;quot;legacy Canvas&amp;quot; schaltet man mit &amp;quot;F9&amp;quot; ein, bzw. im Pull down Menue unter &amp;quot;View&amp;quot; &amp;gt; &amp;quot;legacy Canfas&amp;quot;. In neueren KiCad Versionen (daily Build ab mindestens 2017-06-16 revision dab73e1) funktionieren die Tools in allen Canvasversionen.&lt;br /&gt;
** Manchmal sieht man nur etwas, wenn man &amp;quot;Refresh&amp;quot; (F3) drückt.&lt;br /&gt;
** Eine kleine Erklärung ist hier: https://www.mikrocontroller.net/topic/434998#new&lt;br /&gt;
* Ich würde gerne aus den Mikrowellen Tools die Funktion &amp;quot;Polynominales Muster&amp;quot; verwenden. Dabei werde ich nach einem KiCad-Shapefile gefragt, aber ich weiss nicht, wie das File aussehen muss.&lt;br /&gt;
** Einen Hinweis zum Aussehen des Files gibt es hier: https://www.mikrocontroller.net/topic/369330#4166392 Allerdings müssen die Werte der Polynomstruktur anderweitig berechnet werden, und mit einem Editor manuell in diese Form gebracht werden.&lt;br /&gt;
* Wie erstelle ich koplanare Leitungen in KiCad?&lt;br /&gt;
** siehe diese Diskussion: https://www.mikrocontroller.net/topic/370700#new&lt;br /&gt;
* Ich möchte Bauteile im Kreis oder in einem Gittermuster/Array anordnen. Gibt es dafür automatische Hilfestellungen?&lt;br /&gt;
** Ja. Objekt Deiner Wahl rechts anklicken, eventuell Auswahl verfeinern, und dann im aufpoppenden Menue &amp;quot;Array erstellen&amp;quot; wählen. Geht nicht nur für Bauteile, sondern auch für Pads, Leiterbahnen ec. Siehe: http://www.mikrocontroller.net/topic/178816#new&lt;br /&gt;
** Aktuell: https://www.mikrocontroller.net/topic/473763#5832574&lt;br /&gt;
* Ich bräuchte Pads mit ungewöhnlicher Form.&lt;br /&gt;
** Aus mehreren Pads mit der gleichen Pad Nummer zusammensetzten. Pads gleicher Nummer am gleichen Footprint werden dem gleichen Netz zugeordnet. Dabei aber beachten, dass sich diese Pads sich weit genug überlappen (z.B. 0,2mm) , so dass sie nicht in einzelne Pads zerfallen, wenn in der Leiterplattenfabrik mal die Kupferflächen &amp;quot;zurückgezogen&amp;quot; werden müssen, um die Mindestabsrände für die Produktion (Galvanik) nicht zu unterschreiten.&lt;br /&gt;
** Das Mikrowellentool benutzen, um mit einem Workaround Pads als Polygon zu erzeugen. Als ein Beispiel z.B:https://www.mikrocontroller.net/attachment/259709/SMP-Test-1.png Das Mikrowellentool kannst Du mit einem Workaround dazu bekommen, Pads als Polygone zu erstellen. Näheres siehe hier: https://www.mikrocontroller.net/topic/414834#new oder hier: https://www.mikrocontroller.net/topic/369330#4166392&lt;br /&gt;
* Meine Grafikkarte unterstützt keine openGL 3D-Beschleunigung.&lt;br /&gt;
** Vieleicht kannst Du mit MESA openGL ersetzten? Siehe: https://www.mikrocontroller.net/topic/389712#4465775 Zu MESA selber siehe: https://de.wikipedia.org/wiki/Mesa_3D&lt;br /&gt;
* Ich würde gerne eine Starrflex Leiterplatte machen. Was muss ich beachten?&lt;br /&gt;
** Siehe https://www.mikrocontroller.net/topic/399330#new&lt;br /&gt;
* Wie Verbinde ich verschiedene Massen, oder allgemein verschiedene Potentiale, die aus Layouttechnischen Gründen getrennt gehalten werden sollten, ohne das der DRC zusehr meckert? Ähnliches Problem: Einzelne Vias vom Anschluss an umgebende Masseflächen ausschliessen.&lt;br /&gt;
** Voraussetzung: Die Leiterbahnen/Vias/Kupferflächen müssen unterschiedliche Potentiale haben, damit KiCad weiss, dass sie getrennt gehalten werden müssen. Wenn das nicht der Fall ist, müssen diese Segmente mit einem &amp;quot;Bauteil&amp;quot; so vom Rest der Schaltung abgedretnnt werden, dass der abgetrennte Bereich einen neuen Netznahmen/Potentialnahmen bekommt. Diese speziellen Bauteile können unterschiedlicher Art sein:&lt;br /&gt;
*** 1) Mit 0 Ohm Brücken. Das sind Bauteile, die aus einer Drahtbrücke bestehen. So sind für den ERC und DRC die Netzte getrennt, aber tatsächlich mit einer Drahtbrücke verbunden. &lt;br /&gt;
**** [http://www.mikrocontroller.net/topic/142930?goto=1321550] &amp;quot;Drahtbrücken in KiCad?&amp;quot;  hier im Forum.&lt;br /&gt;
*** 2) Ein anderer Workaround sind &amp;quot;Net ties&amp;quot; (Netties). Das sind Footprints, die aus zwei oder mehr verschiedenen Pads bestehen(wie jedes andere normale Bauteile auch, die aber direkt mit Kupfer verbunden sind. Also eigentlich ein 0 Ohm Widerstand, wo der &amp;quot;Widerstand&amp;quot; als Kupfer auf der Leiterplatte existiert. Es ist sinnvoll, zu den &amp;quot;Net tie&amp;quot; Footprints auch entsprechende Schaltplansymbole zu definieren. Zu Net ties siehe:&lt;br /&gt;
**** [http://www.grant-trebbin.com/2015/04/pcb-net-ties-and-grounding-in-kicad.html] (in Englisch)&lt;br /&gt;
**** [http://www.mikrocontroller.net/topic/330196] &amp;quot;KiCad zwei verschiedene Netze verbinden in Pcbnew&amp;quot; hier im Forum.&lt;br /&gt;
**** Etwas aktueller (geht auch auf Probleme ein): &lt;br /&gt;
***** [http://www.mikrocontroller.net/topic/389988] &amp;quot;Kicad Leiterbahn im Footprint möglich?&amp;quot; hier im Forum.&lt;br /&gt;
***** [http://www.mikrocontroller.net/topic/360510] &amp;quot;Leiterbahn aus Massepolygon isolieren&amp;quot; hier im Forum.&lt;br /&gt;
***** [https://www.mikrocontroller.net/topic/401430#new] &amp;quot;Via-Anbidung an Polygon ausschließen&amp;quot;&lt;br /&gt;
***** Ein ganz anderer Ansatz wäre, ganz auf unterschiedliche Massepotentiale zu verzichten, wenn diese sowieso verbunden werden, wie hier vorgeschlagen: https://www.mikrocontroller.net/topic/453991#5465447&lt;br /&gt;
* Wie kann man den Nullpunkt eines Layouts verschieben?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/179680#1730452 Aktueller:https://www.mikrocontroller.net/topic/427130#5008806 für den Layout Editor PCBnew. Im Moduleditor bei Erstellung eines Footprints kann man den Ankerpunkt frei Mithilfe des Anker-Tools aus der rechten Menüleiste (das Ankersymbol) setzten. Gleiches gilt für den Symboleditor.&lt;br /&gt;
* Ich habe im Layout einen weissen Kringel mit einem weissen Kreuz, der sich beim Zoomen merkwürdig verhält. Was ist das, und wie kriege ich das weg?&lt;br /&gt;
** Das ist der Ursprung des Rasters. Den sollte man nicht wegbekommen, aber man kann ihn versetzten. Siehe: https://www.mikrocontroller.net/topic/411681#new&lt;br /&gt;
* Wie erzeuge ich Thermals (Wärmefallen/thermal Pads) um Pins die in Kupferflächen sitzen?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/443639#5287943&lt;br /&gt;
* Ich möchte Langlöcher anlegen. Wie geht das am einfachsten?&lt;br /&gt;
** Als Footprint bzw. im Footprint im Footprinteditor anlegen. Dort ein Pad plazieren und als &amp;quot;Drill Shape&amp;quot; die Option &amp;quot;Oval hole&amp;quot; wählen. Den Rest des Footprints mit dem Kupfer nach eigenen Bedürfnissen gestalten, oder das Kupfer ganz weglassen. Für reine Befestigungslöcher ohne Kupfer &amp;quot;Pad type&amp;quot; zu &amp;quot;NPTH, Mechanical&amp;quot; wählen. Langlöcher landen genauso wie runde Löcher im Excellon Drill-File. Es gibt dort spezielle Kennzeichnungen dafür. Um mit dem &amp;quot;Workflow&amp;quot; konform zu bleiben, für Befestigungslöcher z.b. ein Symbol anlegen, dem ein passendes Loch oder auch Langloch als Footprint zuweisen. In einem extra hierachischen Schaltplanblatt solche Sonderfälle ablegen. Für vier löcher z.B. vier mal dieses Symbol. Es lassens sich den Symbolen unterschiedlich definierte Löcher zuweisen. Die Löcher werden dann beim Einlesen der Netzliste in PCBnew gemäß der eingetragenen Footprints auf das Board gestellt und können frei plaziert werden. Siehe: https://www.mikrocontroller.net/topic/449952#5395495&lt;br /&gt;
* Wie ist das mit der Pinnummerierung bei Symbolen und Footprints mit abweichenden Pinbelegungen? Ändere ich die Pin/Pad Nummerierung im Symbol oder im Footprint?&lt;br /&gt;
** Das hängt am Einzelfall. Aber meistens ist das Anlegen einer Symbolvariante unter anderem Namen mit geändertem Pinning am sinnvollsten. Es gibt aber Sonderfälle. Genaueres steht hier: https://www.mikrocontroller.net/topic/452154#new&lt;br /&gt;
&lt;br /&gt;
=== Layout: Python Scripting ===&lt;br /&gt;
&lt;br /&gt;
Das Python2-Scripting ist bisher nur in PCBnew implementiert und noch sehr experimentell. Daher ist leider auch der aktuelle Stand der Dokumentation zum Python-Skripting in PCBnew noch etwas dürftig. Trozdem hier Links dazu:&lt;br /&gt;
* http://confluence.kicad.org/display/KICAD/KiCad+Scripting+Reference+Manual (Allgemein. Achtung! Kicad braucht beim compilieren spezielle Befehle, um Python-Scripting tauglich zu sein.)&lt;br /&gt;
* http://ci.kicad.org/job/kicad-doxygen/ws/build/pcbnew/doxygen-python/html/namespacepcbnew.html (Definitionen von Namespaces, Classes und Files)&lt;br /&gt;
&lt;br /&gt;
Für Linux-Debian:&lt;br /&gt;
Aktuell (07. Februar 2014) mit  Pcbnew Version: (2014-01-27 BZR 4641)-product Release build auf&lt;br /&gt;
Platform: Linux 3.2.0-4-686-pae i686, 32 bit, Little endian, wxGTK (Debian Wheezy) gilt:&lt;br /&gt;
* Geht aktuell nur für PCBnew.&lt;br /&gt;
* Klassenbibliotheken: Zwei Dateien pcbnew.py und _pcbnew.so auf dem Pfad: /usr/lib/python2.7/dist-packages/&lt;br /&gt;
* Die Klassenbibliothek wird mit den üblichen Python2 Methoden importiert: z.B. &amp;quot;import pcbnew&amp;quot; oder &amp;quot;from pcbnew import *&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Beispielprogramm, das alle Footprints aus einer Legacy-Fotprint Datei auflisted und den Referenzbezeichner dazuschreibt::&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env python &lt;br /&gt;
# das war das Shebang.&lt;br /&gt;
&lt;br /&gt;
from pcbnew import * # Import der Bibliothek. &lt;br /&gt;
libpath = &amp;quot;/home/DuUser/KiCad-Daten/Module/ModuleGrosserSampler/KiCadLegacyFottprints.mod&amp;quot; # Übergabe des Pfades.&lt;br /&gt;
lst = FootprintEnumerate(libpath) &lt;br /&gt;
for name in lst:&lt;br /&gt;
    m = FootprintLoad(libpath,name)&lt;br /&gt;
    print name,&amp;quot;-&amp;gt;&amp;quot;, m.GetReference()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Scripting Möglichkeit ist so neu, dass bis jetzt die Scripting Testdateien für das KiCad interne automatische Qualitätssicherungssystem noch nicht komplett sind.&lt;br /&gt;
Unter http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/files/head:/qa/testcases/ finden sich bereits geprüfte Testskripte, und unter http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/files/head:/pcbnew/scripting/examples/ finden sich ungetestete Testskripte.&lt;br /&gt;
&lt;br /&gt;
Sie alle können als Beispiele genommen werden, wie das mit dem Skripting gemeint ist, und als Vorbild für eigene Skripte dienen.&lt;br /&gt;
&lt;br /&gt;
Weitere Skripting Info: &lt;br /&gt;
* [https://kicad.mmccoo.com/kicad-scripting-table-of-contents/ Anleitung für Python Skripting in KiCad] (Englisch)&lt;br /&gt;
&lt;br /&gt;
=== Module Editor ===&lt;br /&gt;
* Wie erstellt man Footprints für Bauteile?&lt;br /&gt;
** Mit dem Footprint Editor. Er ist bei älteren KiCad Versionen nur aus PCBnew heraus zu starten. Bei neueren KiCad Versionen hat er einen eigenen Button im KiCad Start Window.&lt;br /&gt;
** Spezielleres: http://www.mikrocontroller.net/topic/356151#new&lt;br /&gt;
* Wie verbinde kopiere ich etwas aus einem Footprint in einen anderen hinein, bzw. wie verbinde/merge ich zwei Footprints?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/288167#3061997&lt;br /&gt;
* Kann man im Module Editor die Eigenschaften aller Pads gleichzeitig ändern?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/93131#799550 &lt;br /&gt;
* Ich brauche einen Footprint, bei dem mehrere Pads verbunden sind, will aber nicht im Schaltplan zig Pins aufführen und anschliessen müssen.&lt;br /&gt;
**http://www.mikrocontroller.net/topic/208982#new&lt;br /&gt;
**http://www.mikrocontroller.net/topic/204717#new&lt;br /&gt;
* Wie erzeugt man thermal Vias in Kicad?&lt;br /&gt;
** Leider bisher nur experimentell: http://www.mikrocontroller.net/topic/298028#3187259&lt;br /&gt;
* Wie kann man Bauteilmaße in in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
* Wie verwalte ich Footprint Bibliotheken?&lt;br /&gt;
** Indem man sich ein Board erstellt, alle Footprints, die man zusammenfassen möchte, auf das Board stellt, und dann untet Dateien &amp;gt; Footprints archivieren &amp;gt; Footprint Archiv erstellen wählt. Das so erstellte Board kann auch zu Dokumentationszwecken geplottet werden. Eventuell möchte man einige Footprints, die zu Hilfszwecken (z.B. Skalen) auf dem Board sind, anschliessend mit dem Bibliothekseditor daraus löschen.&lt;br /&gt;
** Alternativ, im dem &amp;quot;neuen&amp;quot; *.pretty Format, mit einem Dateiverwaltungsprogramm Deiner Wahl. Siehe http://www.mikrocontroller.net/topic/320301#new&lt;br /&gt;
* Wie werden die Parameter für Lötpaste/Lötstopmaske vergeben?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/356151&lt;br /&gt;
* Ich möchte für einen Footprint Pads in einem Gittermuster/Array oder im Kreis anordnen. Gibt es dafür automatische Hilfestellungen?&lt;br /&gt;
** Ja. Pad rechts anklicken. Eventuell erfolgt noch eine Feinauswahl. Dann im aufpoppenden Menue &amp;quot;Array erstellen&amp;quot; wählen.&lt;br /&gt;
* Wie archiviere ich die in einem KiCad Board enthaltenen Footprints?&lt;br /&gt;
** Nicht im Footprint-editor, sondern in PCBnew. Dort in der oberen Toolleiste unter Datei/File &amp;gt; archive Footprints. Es muss dort eine bereits im Bibliotheksverzeichnis eingetragene existierende Bibliothek angegeben werden. &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Diese Bibliothek sollte &#039;&#039;&#039;speziell für diesen Zweck&#039;&#039;&#039; angelegt sein, weil ihr &#039;&#039;&#039;vorheriger Inhalt komplett entfernt&#039;&#039;&#039; wird. Idealerweise legt man die Bibliothek als &amp;quot;Projektname.pretty&amp;quot; im Projektordner an. Sie sollte spätestens bei Abschluss des Projektestens erstellt werden und &#039;&#039;&#039;MUSS bei Archivierung des Projektes oder Übergabe mit Archiviert bzw. Übergeben werden!&#039;&#039;&#039; Aber &#039;&#039;&#039;VORSICHT&#039;&#039;&#039;, bei der Bibliothekserstellung lauert ein &#039;&#039;&#039;Bug. Siehe:&#039;&#039;&#039; https://www.mikrocontroller.net/articles/KiCad#Problem:_Neue_leere_Footprintbibliothek_kann_nicht_erstellt_werden_.28kicad_Version:_4.0.0.7Erc1a-stable_release_build_.2F_RC4.29&lt;br /&gt;
* Ich brauche in einem Footprint einen Ausschnitt in der Platine. Wie mache ich das?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/404998#4696232&lt;br /&gt;
* Für Masken wie Lötpaste oder Klebstoff hätte ich gerne Pads mit abgerundeten Ecken. Wie geht das?&lt;br /&gt;
** Das geht erst seit ca. Version: 2016-11-22 revision ccdfabc-master. Siehe https://www.mikrocontroller.net/topic/427536#5015335&lt;br /&gt;
&lt;br /&gt;
=== 3D-Ansicht ===&lt;br /&gt;
[[Bild:Kicad xilinx demo.jpg|300px|thumb|right|KiCAD-Demoplatine exportiert und mit Renderer illustriert]]&lt;br /&gt;
KiCAD bietet eine eingebaute einfache 3D-Ansicht der gerouteten Platine. Mittels Export können diese weiterverarbeitet werden. KiCad beruht diesbezüglich auf Wings3D, und die 3D-Modelle der Bauteile sind standardisierte wrl-files, die mit entweder Wings3D oder Blender erstellt werden können. Daher sei hier auf ein Wings3D Handbuch verwiesen: http://www.oortman3d.com/wings3d/TheWings3dHandbook.pdf&lt;br /&gt;
&lt;br /&gt;
Viele Bauteilhersteller (vor allem von eher mechanischen, wie z.B. Stecker, Buchsen, Befestigung...) bieten fertige 3D-Modelle an. Diese sind meistens in den Formaten STEP oder IGES. So kann man diese in das von KiCad benötigte .wrl (VRML 2.0) konvertieren:&lt;br /&gt;
# STEP oder IGES in [http://gcad3d.org/ gCAD3D] öffnen (File &amp;gt; Open Model)&lt;br /&gt;
# als Wavefront .obj speichern (File &amp;gt; Save Model as &amp;gt; OBJ)&lt;br /&gt;
# Das .obj in [http://www.wings3d.com/ Wings 3D] importieren (File &amp;gt; Import &amp;gt; Wavefront .obj)&lt;br /&gt;
# Als VRML 2 exportieren (File &amp;gt; Export &amp;gt; VRML 2.0 .wrl)&lt;br /&gt;
# Im KiCad-Moduleditor die .wrl-Datei als 3D-Modell auswählen&lt;br /&gt;
# Eventuell muss man die Skalierung und Positionierung anpassen, die angezeigten Pads und Löcher helfen dabei. Die am meisten benötigten Faktoren dürften dabei 0,3937 und 2,54 sein - bei den Konvertierungen kommt leicht die Einheit Zoll oder cm durcheinander.&lt;br /&gt;
&lt;br /&gt;
Eine andere Möglichkeit .obj oder .stl-Dateien aus STEP und IGES zu erzeugen ist [http://free-cad.sourceforge.net/ FreeCAD]. Obwohl es auch .wrl direkt erzeugen kann, können diese nicht in KiCad geladen werden. Der Umweg über .obj oder .stl und Wings 3D löst dies aber auch hier.&lt;br /&gt;
&lt;br /&gt;
Wenn man das Board wieder in einem CAD-Programm verwenden will um z.B. ein Gehäuse zu konstruieren, sollte man wieder STEP-Dateien erzeugen. Neuere KiCad-Versionen können zwar VRML exportieren, doch das beschreibt nur Umrisse und keine Körper (Solids). CAD-Programme zum Gehäusedesign brauchen jedoch letzteres. So geht die Konvertierung:&lt;br /&gt;
# VRML aus KiCad exportieren (File &amp;gt; Export &amp;gt; VRML)&lt;br /&gt;
# .wrl-Datei mit Hilfe von [http://www.cs.princeton.edu/~min/meshconv/ meshconv] in eine STL-Datei konvertieren: &amp;lt;code&amp;gt;meshconv boardname.wrl -c stl -o boardname.stl&amp;lt;/code&amp;gt;&lt;br /&gt;
# Die STL-Datei mit [http://www.solveering.com/products/products_stl2step.html stl2step] in eine STEP-Datei konvertieren&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG:&#039;&#039;&#039;&lt;br /&gt;
Man sollte hinterher im CAD nochmal genau die Maße kontrollieren. Denn die Konvertierung von STL nach STEP ist nur eine Approximierung und keine exakte, verlustfreie Konvertierung.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG:&#039;&#039;&#039;&lt;br /&gt;
Bei der Verwendung von Modellen aus fremden Quellen die Rechtslage prüfen. Es kann bei Veröffentlichungen zu Problemen führen, wenn die verwendeten Modelle unter einer problematischen privaten Lizenz stehen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Appropos Einheit: Welche Einheit benutzt WRL (Wings3d)?&lt;br /&gt;
* Das ist leider nicht soooo klar. Tatsache ist aber, das KiCad die Einheit als 1/10 Inch (100mil) interpretiert.&lt;br /&gt;
** Es könnte sein, dass die Einheit von WRL offiziell mal zu einem Meter gedacht war. Siehe: https://www.mikrocontroller.net/topic/405477#4704394&lt;br /&gt;
&lt;br /&gt;
*Und wie bedient man Wings3d?&lt;br /&gt;
** Ein (vorläufiger) Merkzettel/Ultrakurzanleitung zur Bedienung von Wings3D findet sich hier: [[Media:Kicad-Wings3D_Merkzettel_29November2012.pdf]]. Wenn man nur mit Wings3d Modelle für Kicad erstellen will, langt das eventuell schon als Tutorial. There is also an English translation of this leaflet about using wings3d for kicad  at [[Media:Kicad-Wings3D_Leaflet_25April2013.pdf]].&lt;br /&gt;
** Aktueller: [http://roberthall.net/Wings3D_Tutorial_KiCad Tutorial zur Benutzung von Wings3D im KiCad Umfeld (englisch)]&lt;br /&gt;
&lt;br /&gt;
Weitere Diskussionen um KiCAD 3D:&lt;br /&gt;
* Die 3D-Ansicht funktioniert bei mir nicht.&lt;br /&gt;
** http://www.mikrocontroller.net/topic/289075#new&lt;br /&gt;
** https://www.mikrocontroller.net/topic/404658#new&lt;br /&gt;
* Kann man die 3D-Ansicht in ein 3D-CAD Programm exportieren? &lt;br /&gt;
**http://www.mikrocontroller.net/topic/203388#new&lt;br /&gt;
* Wie kann man Bauteilmaße in in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
&lt;br /&gt;
* Irgendwie werden meine 3D-Bibliotheken nicht gefunden.&lt;br /&gt;
** Das kann z.b. passieren, wenn eine KiCad v5 3D-bibliothek mit einer v4 Bauteilebibliothek verwendet wird. Siehe:https://www.mikrocontroller.net/topic/467178#new&lt;br /&gt;
* Ich habe 3D-Modelle/STEP-Modelle von einem Hersteller heruntergeladen. Aber nach Einbindunge liegen sie neben dem Footprint, schweben darüber oder durchdringen die Platine.&lt;br /&gt;
** Der Hersteller hat einen anderen Ursprung für sein Modell gewählt als üblich ist. Weit verbreitet ist, den Bauteil/Footprint Ursprung bei THT Bauteilen auf die &amp;quot;Mitte&amp;quot; von Pin 1 zu setzen. Bei SMD Bauteilen wird der Ursprung auf die Mitte des Bauteiles gesetzt, meint, da wo sich beide Symmetrieachsen des Bauteiles schneiden. Bleibt das Problem, wenn das Bauteil nur eine Symmetrieachse hat. Dann einen Punkt auf der Symmetrieachse wählen, der die Mitte zwischen den extremsten Bauteilgrenzen bildet. Wenn keine Symmetrie überhaupt existiert, halt irgendwo etwas &amp;quot;in der Mitte&amp;quot;. Das ist dann aber immer soweit in der Nähe des Footprints, dass Du es in KiCad selber anpassen kannst. Angepasst wird das entweder im Footprinteditor in der oberen Buttonleiste &amp;quot;footprint Eigenschaften&amp;quot; (Icon IC mit Zahnrad davor). Es poppt ein Fenster auf. Dort den zweiten Reiter von Links wählen: &amp;quot;3D-einstellungen&amp;quot;. Dort können Korrekturwerte für koordinaten, Skalierung und Drehungen angegeben werden. Siehe Diskussion: https://www.mikrocontroller.net/topic/467095#new&lt;br /&gt;
&lt;br /&gt;
=== Drucken/Plotten/Gerber Export/Excellon Drillfiles Export ===&lt;br /&gt;
&lt;br /&gt;
==== Drucken ====&lt;br /&gt;
* Wie exportiert man den Schaltplan oder das Layout als Bild (PNG o.ä.)? &lt;br /&gt;
** Drucken über Postscript-Treiber und Umwandeln mit Ghostscript&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/96060#1061492 Forumsbeitrag] Export als SVG&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/117562#1056566 Forumsbeitrag] Plot to Clipboard &lt;br /&gt;
* Wie kann ich GENAU ausdrucken? Mein Ausdruck auf ABC ist ca. X % zu klein oder Y% zu groß! &lt;br /&gt;
** So genau sind einfache Drucker bzw. Druckertreiber selten. Aber meistens hilft folgendes: Mache einen 1:1 (100%) Probeausdruck. Messe auf dem Ausdruck nach, wie groß er tatsächlich geworden ist. Berechne die Abweichung und gebe sie in den Drucker bzw. Druckertreiber unter Einstellung ein, vorausgesetzt, der Drucker bzw. Druckertreiber kann das. Mit dem Wert machst Du wieder eine Probeausdruck, messe wieder nach, und wenn es mit der Einstellung funktioniert hat, kannst Du Deine Folie bedrucken. Wenn das nicht klappen kann, weil Du stark abweichende Werte für horizontal und vertikal bräuchtest, aber der Drucker nur einen gleichen Wert für beides kennt, hast Du einen (zu) schlechten Drucker. Trozdem nicht verzweifeln, weil KiCad beim Drucken oder Plotten in der X- und Y-Achse getrennt skalieren kann. Aber Vorsicht bei Weitergabe der so erzeugten Dateien: Sie sind individuell auf einen Drucker angepasst, und produzieren auf einem anderen Drucker nur falsch skalierte Ausdrucke. Weil der Wert von Drucker zu Drucker unterschiedlich ist, ist es auch sinnvoll, diese Skalierung direkt am speziellen Drucker/Druckertreiber zu machen. Tipp: Wenn Du den Wert erfolgreich ermittelt hast, so kleb Dir einen Zettel auf den Drucker mit dem Wert. Die Werte sind zwar individuell für jeden Drucker, aber meistens für den speziellen Drucker durchaus fix. Und Du hast ihn sofort wieder parat, wenn der Drucker resettet wurde. Dies ist übrigens ein allgemeiner Tipp für das Ausdrucken, der auch für Eagle, Target, Altium usw. gilt.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/304619#new Thema Skalieren] - Die aktuelle Situation (August 2013):  &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/371079#4191106 Und nochmal Thema Skalieren]&lt;br /&gt;
* Wie kann man das Layout invers ausdrucken, d.h. alle Leiterbahnen und Pads müssen weiß bleiben, der Rest wird schwarz ausgedruckt?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/156202#1474507 Beim Plotten den Haken bei Negativ-Plot setzen ] &lt;br /&gt;
* Ich habe irgendwie Probleme mit dem Ausdrucken.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/207764#new Verzerrt] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/207310#new Sonderzeichen]&lt;br /&gt;
** In der aktuellen Version 2012-01-19 BZR 3256)-stable besteht ein generelles Druckproblem. Aber Plotten geht wunderbar!&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/280958#new Aktualisierter Stand 23. Dezember 2012] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/303043#3249166 Aktualisierter Stand vom 21. Juli 2013]&lt;br /&gt;
&lt;br /&gt;
* Ich würde gerne PDF Dateien aus meinem Layout erstellen, aber irgendwie ist der Ausdruck defekt.&lt;br /&gt;
** Drucken ist aus Kicad manchmal ein Problem, auch in eine Datei hinein. Aber Plotten und Exportieren in SVG funktioniert gut.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/303043#3249166 Von SVG zu PDF] kommt man über Inkscape. &lt;br /&gt;
** [https://www.mikrocontroller.net/topic/430532#new Aktuell] &lt;br /&gt;
** Problem dabei: [https://www.mikrocontroller.net/topic/431522#new Vektorfonts] &lt;br /&gt;
* Wie kann ich mir einen [http://www.mikrocontroller.net/topic/266037#new Bohrplan ausdrucken], um mit der Hand zu bohren?&lt;br /&gt;
&lt;br /&gt;
==== SVG Plotten ====&lt;br /&gt;
&lt;br /&gt;
* Meine erzeugten SVG Plots sind kaputt. Ich erhalte nur Fehlermeldungen, wenn ich sie in Inkscape oder Gimp einlesen will.&lt;br /&gt;
** Es besteht ein Problem mit dem SVG Export, wenn man Schaltpläne oder Boards in SVG exportiert, die ein Ampersand (Kaufmansund, &amp;quot;&amp;amp;&amp;quot;) im Dateinamen haben. Dieser Dateiname tauch dann innerhalb der SVG Datei in einem Titelblock auf, wo das &amp;quot;&amp;amp;&amp;quot; dann ein Problem bedeutet (Es leitet eine Art Escape-Sequenz ein). Sowohl Kicad als auch Inkscape/Gimp akzeptieren &amp;quot;&amp;amp;&amp;quot; im Dateinamen, und sowol unter Windows als auch Linux ist das &amp;quot;&amp;amp;&amp;quot; im Dateinamen legal....darum bringt auch eine Veränderung des Namens der SVG-Datei keine Lösung. Eine Lösung ist, Grundsätzlich in Kicad keine &amp;quot;&amp;amp;&amp;quot; in Dateinamen zu verwenden, wenn man einen SVG-Export macht. Alternativ kann man mit einem Editor das &amp;quot;&amp;amp;&amp;quot; aus dem Titelblock (Das ist NICHT der Dateiname, sondern in der Datei selber alles zwischen &amp;lt;titel&amp;gt; und &amp;lt;/titel&amp;gt;) der SVG-Datei löschen. Angeblich kommt der Bug aus den verwendeten wx-Bibliotheken. Siehe [https://bugs.launchpad.net/kicad/+bug/1171160 den Bugreport]&lt;br /&gt;
* Wie kann ich unter Windows die SVG Dateien überhaupt nutzen? &lt;br /&gt;
** Die SVG Datei kann mit Microsoft Edge auf einen Drucker gedruckt werden, nützlich bei negativ Plot. Das Öffnen mit GIMP ging mit 1000pixel/in. Das Programm, mit dem sich SVG Dateien am besten bearbeiten lassen, ist aber Inkscape. Davon gibt es sogar einen Windows Ableger.&lt;br /&gt;
** Grundsätzliche Infos zum [https://de.wikipedia.org/wiki/Scalable_Vector_Graphics SVG Format] &lt;br /&gt;
** Grundsätzliche Infos zu [https://de.wikipedia.org/wiki/Inkscape Inkscape]&lt;br /&gt;
&lt;br /&gt;
==== Gerber Export ====&lt;br /&gt;
&lt;br /&gt;
* Kann man Gerber-Dateien exportieren?&lt;br /&gt;
** Ja. Es wird extended Gerber 274X exportiert. Einheit ist inch (doppelt sowohl im 274d als auch im 274x Stil definiert). Die Y-Koordinaten sind im allgemeinen negativ. KiCad verwendet für Flächen das in Gerber spezifizierte Polygon Makro und kein &amp;quot;stroke fill&amp;quot;.&lt;br /&gt;
** Um Gerber Dateien zu erstellen, wählt man aus der oberen Menueleiste ganz links Datei &amp;gt; Plotten und dann oben links unter Plotformat &amp;quot;Gerber&amp;quot; &lt;br /&gt;
** KiCad unterstützt auch die kürzlich eingeführten Gerber-Attribute. Die Anwendung derselben muss aber explizit angewählt werden. Dazu setzt man im Gerber-Plottmenue im Feld &amp;quot;Gerber Optionen&amp;quot; bei &amp;quot;include extended attributes&amp;quot; einen Haken.&lt;br /&gt;
** KiCad kann automatisch die Lötstoppmaske von der Siebdruckmaske (Silk screen - Bestückungsaufdruck) abziehen, damit nicht der Bestückungsaufdruck versehentlich über Pads liegt und dort das Löten verhindert. Dazu muss aber im Gerber-Plottmenue im Feld &amp;quot;Gerber Optionen&amp;quot; bei &amp;quot;Subtrahiere Lötstoppmaske von Siebdruckmaske&amp;quot; ein Haken gesetzt werden.&lt;br /&gt;
* Welche Gerber Lagen werden zur Herstellung einer Platine benötigt?&lt;br /&gt;
** Grundsätzlich zu Herstellung der Platine die Gerberfiles: Alle Kupferlagen, Bestückungsdruck Top und Bottom (Falls auf Bottom was steht), Lötstoppmaske Top und Bottom. Eine Umrisslage mit dem Platinenumriss und Ausfräsungen. Drillfiles (Excellon) Für durchkontaktierte und NICHT durchkontaktierte (NPTH) Bohrungen. Dazu: Ein Textfile mit einer Erläuterung, welche Lage welche ist, sowie Angaben, wie dick die Kupferschichten der Kupferlagen und wie dick die Isolierlagen dazwischen sein sollen, und aus welchem Material. Wenn Du eine einfache rechteckige Platine hast, schreibst Du dort auch noch die Kantenlängen hinein. Wenn die Platinenumrisse komplizierter sind (z.B. verwinkelt, mit Ausfräsungen ec.), noch eine Masszeichnung als Gerber File. Siehe [https://www.mikrocontroller.net/topic/399503#new Forumsbeitrag]&lt;br /&gt;
** Zum Bestücken wird mindestens noch eine Stückliste (BOM) benötigt. Eventuell noch ein spezieller Bestückungsplan (Assembly), wenn der Bestückungsaufdruck nicht reicht. Für SMD eventuell noch die Gerberdaten für Klebstoffmaske und Lötpastenmaske, und eventuell die Pick and Place Daten für den Bestückungsautomaten.&lt;br /&gt;
* Wie kann man den Gerber-Plot so ausdrucken, dass in der Mitte von Pads und Vias ein Zentrierloch frei bleibt?&lt;br /&gt;
** [http://article.gmane.org/gmane.comp.cad.kicad.user/3457 KiCAD Forum]&lt;br /&gt;
* Was ist &#039;&#039;&#039;allgemein&#039;&#039;&#039; beim Export von Gerber Daten zu  beachten?&lt;br /&gt;
** Allgemeine Informationen zum Gerber File Format findet hier: [[Gerber-Tools]] &lt;br /&gt;
** Speziell zu Passermarken/Fiducials (add layer alignment target) diese [https://www.mikrocontroller.net/topic/396624#new Diskussion] &lt;br /&gt;
** [https://www.mikrocontroller.net/topic/428569#new Aktuell]&lt;br /&gt;
* Ich würde gerne meine Gerberdaten gespiegelt ausdrucken, aber das &amp;quot;gespiegelt&amp;quot; ist ausgegraut.&lt;br /&gt;
** Gerber Daten werden nur sehr selten vom Layouter gespiegelt benötigt. Wenn aber doch, so öffne die Gerber Daten mit dem Gerberviewer (Gerbview). Wenn Du dort ausdruckst, kannst du auch spiegeln. Trotzdem solltest Du Dir in dieser [https://www.mikrocontroller.net/topic/466448#new Diskussion] durchlesen, warum Du vermutlich keine Gerberdaten gespiegelt ausdrucken musst &lt;br /&gt;
* Mein Layterplattenfertiger bemämgelt, das meine Gerber Daten fehlerhaft sind.&lt;br /&gt;
** Wenn er negative Koordinaten bemängelt, so sind diese nach der aktuellen Gerber Definition zulässig.&lt;br /&gt;
** Wenn Du trotzdem negative Gerber Koordinaten beim Export vermeiden möchtest, musst Du den Ursprung bzw. das Hilfskoordinatensystem passend setzen. Siehe [https://www.mikrocontroller.net/topic/482457#5999588 Forumsbeitrag]. &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Wenn man einen Offset für Gerber verwendet, muss man den gleichen Haken auch bei den Drillfiles setzten. Sonst sind die Bohrdaten gegenüber den Gerberdaten verschoben.&lt;br /&gt;
** Wegen nicht geschlossener Polygone bzw. doppelter Punkte in Polygonen siehe [https://www.mikrocontroller.net/topic/482457#5999669 Forumsbeitrag] und den [https://bugs.launchpad.net/kicad/+bug/1847714 Bugreport]&lt;br /&gt;
** Ucamco als Schöpfer des Gerberformates bietet einen [https://gerber-viewer.ucamco.com/ Online Viewer] für Gerberdateien, um die Qualität von Gerberdaten zu überprüfen&lt;br /&gt;
&lt;br /&gt;
==== Excellon Drillfiles exportieren ====&lt;br /&gt;
&lt;br /&gt;
* Wie erstelle ich mit KiCad Excellon Drillfiles?&lt;br /&gt;
**siehe hier: http://www.mikrocontroller.net/topic/310333#new&lt;br /&gt;
&lt;br /&gt;
==== KiCad Board Dateien direkt zum Hersteller ====&lt;br /&gt;
&lt;br /&gt;
* Bei Bestellungen bei PCB-Pool ist deren GC-Prevue NICHT mehr erforderlich, weil PCB-Pool mittlerweile KiCad *.brd Dateien direkt akzeptiert. Siehe http://www.pcb-pool.com/ppde/info_dataformat.html Das gilt auch für viele andere Hersteller. im Zweifel dort einmal nachfragen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Trotzdem&#039;&#039;&#039; sollte man &#039;&#039;&#039;besser Gerber Dateien&#039;&#039;&#039; zum Platinenhersteller senden. Das gilt &#039;&#039;&#039;grundsätzlich&#039;&#039;&#039; so auch für andere Platinen Layout Programme. Der Grund ist hier angegeben: https://www.mikrocontroller.net/wikisoftware/index.php?title=Gerber-Tools&amp;amp;action=edit&amp;amp;section=8&lt;br /&gt;
&lt;br /&gt;
=== Import ===&lt;br /&gt;
* Kann man EAGLE Dateien importieren? (=&amp;gt; Obacht bei Weitergabe der Daten! Die originalen Eagle Dateien könnten mit Urheberrechten belastet sein)&lt;br /&gt;
** Ja. Voraussetzung ist, dass das Eagle Projekt im XML-Format vorliegt. Das ist automatisch der Fall, wenn man Eagle 6 (6.6?) oder aktueller benutzt und darin speichert. Dieses Projekt kann dann in aktuellen KiCad Versionen (5.x oder 6?) geöffnet und als KiCad Projekt gespeichert werden. Dazu das Eagle Projekt für diesen Zweck vorher in einen separaten Ordner kopieren. Dann im KiCad Hauptfenster aus dem Pulldown Menue Datei &amp;gt; Projekt importieren &amp;gt; Eagle CAd wählen.&lt;br /&gt;
** Ganz aktuell: https://www.mikrocontroller.net/topic/474387#new &lt;br /&gt;
** Aktuell: http://www.mikrocontroller.net/articles/KiCad#Konverter&lt;br /&gt;
** Etwas älter: http://www.mikrocontroller.net/topic/70905#797416&lt;br /&gt;
** http://www.mikrocontroller.net/topic/120373#1089933&lt;br /&gt;
** https://www.mikrocontroller.net/topic/417848#new&lt;br /&gt;
* Wie bindet man fremde KiCad Bibliotheken ein?&lt;br /&gt;
** EESchema (Schaltplaneditor) starten, unter Einstellungen &amp;quot;Bibliothek&amp;quot;  auswählen, auf &amp;quot;Hinzufügen&amp;quot; klicken, neue Bibliothek auswählen dann &amp;quot;öffnen&amp;quot; und in der Projektdatei &amp;quot;Speichern&amp;quot;. Gültig für Version 20090216Final, 2011-04-29-BZR2986-WinXP und Version: (2011-11-27 BZR 3249)-stable unter Platform: Linux 2.6.32-5-686 i686, 32 bit, Little endian, wxGTK.&lt;br /&gt;
&lt;br /&gt;
** VERALTET! Das Verfahren zur Einbindung eigener oder fremder Bibliotheken ist under PCBnew genauso.&lt;br /&gt;
** Aktuell: Siehe http://www.mikrocontroller.net/topic/356855#3988114&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&lt;br /&gt;
Es empfielt sich dringenst, eigene Bibliotheken &#039;&#039;&#039;NICHT&#039;&#039;&#039; zu den KiCad Bibliotheken im Ordner kicad/share/library bzw. kicad/share/modules für Footprints zu speichern, weil diese dort bei einem Upgrade von KiCad gelöscht würden. Stattdessen sollte man sich einen KiCad Ordner im eigenen home bzw. Benutzerverzeichnis (oder sonstwo, wo es opportun ist, und man Schreibrechte hat) anlegen, mit einem Ort, um eigene Bibliotheken abzulegen. Dies ist ein eher allgemeiner Hinweis, der so nicht nur für KiCad. sondern auch für die meisten CAD-Programme gelten dürfte.&lt;br /&gt;
&lt;br /&gt;
=== Neues Projekt ===&lt;br /&gt;
Ein neues Projekt legt kicad automatisch nach der in kicad/share/template hinterlegten Projektdatei an. Möchte man, das kicad ein neues Projekt von vorneherein nur mit ausgewählten eigenen Bibliotheken anlegt, so ist eine entsprechende Projektdatei unter kicad/share/template/kicad.pro abzulegen.&lt;br /&gt;
Dies erfordert dort Schreibrechte. Linux roots müssen diese Datei anschliessend mit chmod 755 Dateiname für user lesbar machen.&lt;br /&gt;
Bei einem upgrade würde kicad.pro gelöscht. Daher sollte man sich davon eine Sicherheitskopie in seinem benutzerverzeichnis hinterlegen.&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen sichern / wiederherstellen===&lt;br /&gt;
* Wo speichert KiCad die Einstellungen ab und wie lassen sich die originalen Einstellungen wiederherstellen?&lt;br /&gt;
** [[http://kicad.sourceforge.net/wiki/index.php/DE:KiCadHB#Einstellungen_sichern_.2F_wiederherstellen]]&lt;br /&gt;
**Man erstelle ein neues Projekt beliebigen Namens, nehme alle Einstellungen (Bibliotheken, Pfade usw.) vor und speichere diese in der aktuellen Projektdatei &amp;quot;name.pro&amp;quot;. Im Ordner KiCad Verzeichnis ....../kicad/share/template befindet sich eine Datei &amp;quot;kicad.pro&amp;quot;. Diese Datei &amp;quot;kicad.pro&amp;quot; ist die &amp;quot;Musterprojektdatei&amp;quot;, die für alle neuen Projekte verwendet wird. Man benenne sie um in &amp;quot;kicad-orig.pro, und kopiere die aktuelle Projektdatei &amp;quot;name.pro&amp;quot; nun als &amp;quot;kicad.pro&amp;quot; in diesen Template-Ordner. Leider Funktioniert dieses Verfahren nicht in allen KiCad Versionen. Den originalen Zustand stellt man wieder her, indem man &amp;quot;kicad.pro&amp;quot; umbenennt, und &amp;quot;kicad-org.pro&amp;quot; wieder in &amp;quot;kicad.pro&amp;quot; zurückumbenennt.&lt;br /&gt;
&lt;br /&gt;
=== Bitmaps als Symbol oder Footprint importieren ===&lt;br /&gt;
Der Programmteil Bitmap2component wandelt Bitmaps wahlweise in Symbole oder in Footprints um. Auf diese Weise können also auch Logos oder spezielle Muster für HF-anwendungen in KiCad importiert werden, sobald sie als Bitmap vorliegen. Es gibt allerdings auch andere Möglichkeiten, Grafiken zu importieren. Siehe dazu https://www.mikrocontroller.net/topic/428745#new&lt;br /&gt;
&lt;br /&gt;
== Tipps&amp;amp;Tricks / Eigenheiten / Bugs ==&lt;br /&gt;
&lt;br /&gt;
* Nachbearbeitung mit Skript oder Texteditor (Pin Swapping, Versionskontrolle via SVN, Generierung von Packages aus UCF-Listen) &lt;br /&gt;
** http://www.mikrocontroller.net/topic/120373#1100467&lt;br /&gt;
** http://www.mikrocontroller.net/topic/96860#836967&lt;br /&gt;
** http://stawoo.com/dokuwiki/doku.php?id=ecld:kicad:board&lt;br /&gt;
&lt;br /&gt;
* Veraltet! (2006) Schaltplan: Durchnummerieren von GND und PWR erforderlich http://www.mikrocontroller.net/topic/39243#290309&lt;br /&gt;
&lt;br /&gt;
* Zum Verbinden von Schaltplan und Layout müssen an den Bauteilen die Pinnummern mit den Padnummern der Footprints korrespondieren. Das ist &amp;quot;defaultmäßig&amp;quot; nicht immer zu erreichen, weil es unterschiedliche Nummerierungssysteme gibt. Ausser dem Anlegen eines speziellen Footprints kann diese Anpassung für einzelne Bauteile wärend des Layoutens im Moduleditor vorgenommen werden. http://www.mikrocontroller.net/topic/186121#1805890&lt;br /&gt;
* Ich habe einen hierarchischen Schaltplan angefertigt, indem sich eine Schaltung zig mal wiederholt. Eine dieser Subschaltungen habe ich schon geroutet, und möchte dieses Layout genau wie die hierarchischen Schaltpläne mehrfach auf dem Board verwenden.&lt;br /&gt;
** In PCBnew lassen sich mit &amp;quot;Datei&amp;gt;Platine hinzufügen&amp;quot; auch schon geroutete Gruppen von Bauteilen quasi als Modul einfügen, wenn sie zuvor als Board abgelegt wurden. Ebenso kann eine Bauteilgruppe, die in der Form mehrmals vorkommt, und die die schon einmal geroutet worden ist, gruppiert, kopiert und wiederverwended werden. Die dazu nötige Annotation und das Löschen der überzähligen Bauteile muss aber sorgfältig von Hand gemacht werden. &#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; In neueren Versionen von PCBnew ist diese Funktion ausgegraut, wenn PCBnew &amp;quot;normal&amp;quot; aus dem Menue des KiCad Hauptfensters gestartet wurde. Um diese Funktion zu aktivieren, KiCad schliessen und PCBnew wie ein alleinstehendes Program direkt starten.&lt;br /&gt;
** Wer seinen Subschaltplan separat routen möchte, sollte den Subschaltplan explizit in EEschema öffnen und die Netliste nur dieses Subschaltplanes exportieren. Diese Netlist in ein neues Board in PCBnew einlesen und wie üblich routen.&lt;br /&gt;
* Bibliotheken verwalten, umsortieren bzw. neu strukturieren: http://www.mikrocontroller.net/topic/187107#1817559 &lt;br /&gt;
&lt;br /&gt;
* Layout: Rest-Gummiband an Pins http://www.mikrocontroller.net/topic/120373#1092375&lt;br /&gt;
&lt;br /&gt;
* Produktion: http://www.mikrocontroller.net/topic/98034#848965&lt;br /&gt;
&lt;br /&gt;
* Bug in Version 2010-03-14: Unter Einstellungen lässt sich keine einseitige Platine wählen (wichtig für Autorouter). Lösung: Modifikation des .brd Files mit einem Editor [http://www.mikrocontroller.net/topic/172015#1651239]:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;&lt;br /&gt;
:In der *.brd Datei gleich ganz oben...&lt;br /&gt;
:&lt;br /&gt;
:$GENERAL&lt;br /&gt;
:LayerCount 2                 -&amp;gt; auf 1 setzen&lt;br /&gt;
:&lt;br /&gt;
:$SETUP&lt;br /&gt;
:InternalUnit 0.000100 INCH&lt;br /&gt;
:ZoneGridSize 250&lt;br /&gt;
:Layers 2                     -&amp;gt; auf 1 setzen&lt;br /&gt;
:Layer[0] Rückseite power&lt;br /&gt;
:Layer[15] Vorderseite power  -&amp;gt; hab&#039; ich mal beides so gelassen&lt;br /&gt;
:&amp;lt;/pre&amp;gt;                                                                aktueller: http://www.mikrocontroller.net/topic/172015#1794699&lt;br /&gt;
&lt;br /&gt;
* Das Anlegen von Symbolen/Bauteilen in aufgelöster Darstellung ist etwas stolperig. Siehe: http://www.mikrocontroller.net/topic/294095#3136180&lt;br /&gt;
&lt;br /&gt;
* Es empfielt sich, in Kicad vorläufig KEIN Ampersand (Kaufmansund, &amp;quot;&amp;amp;&amp;quot;) im Namen einer Schaltplan- oder Boarddatei zu Verwenden. Es besteht ein Bug beim Export/Plotten nach SVG. Siehe oben unter &amp;quot;Drucken / Export&amp;quot; und dann &amp;quot;Meine erzeugten SVG Plots sind kaputt.&amp;quot;. Siehe auch: http://tech.groups.yahoo.com/group/kicad-users/message/14952&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kühlkörper&#039;&#039;&#039; können als Symbol und Footprint (Modul) angelegt werden. Die Befestigungslöcher können im  Modul als Pad ausgeführt werden. Die Padnummer aller Pads sollte gleich sein (gleicher Anschluss / über Kühlkörper verbunden), z.B. &amp;quot;1&amp;quot;. Entsprechend ein Symbol mit Pin und korrespondierender Pinnummer anlegen. Wenn der Kühlkörper elektrisch nirgendwo verbunden sein soll, dann die Anschlusspinne im Schaltplan als &amp;quot;unused&amp;quot; markieren. Als Referenz in Symbol und Footprint habe ich &amp;quot;HS&amp;quot; (HeatSink) gewählt. Es ist zu überlegen, ob &amp;quot;HS&amp;quot; nicht auch als Padnummer besser wäre.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kartenumrisse/Outlines&#039;&#039;&#039;: Für immer wiederkehrende Platinengrössen, z.B. die beliebte Eurokarte, kann zur Vereinfachung des Zeichnens einmal ein Eurokartenumriss im Layer &amp;quot;outlines&amp;quot; gezeichnet werden, und als Modul abgelegt werden. Um die Zahl der Kollisionen beim Einlesen der Netzliste zu verringern, wird im Schaltplan ein Dummy-Symbol ohne Pinne angelegt. In CVpcb dann dieses Symbol mit dem passenden Kartenumriss Footprint/Modul verbinden, und es wird automatisch in PCBnew eingefügt. Als Referenz in Symbol und Footprint habe ich &amp;quot;Outl&amp;quot; (OUTLine) gewählt.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sprachanpassung&#039;&#039;&#039;: Ich will mein KiCad auf Deutsch / Englisch / Französisch / Finnisch oder sonst eine Sprache umstellen. Wie geht das?&lt;br /&gt;
** Siehe : http://www.mikrocontroller.net/topic/262039#2719056&lt;br /&gt;
**Die deutsche Übersetzung der Texte und Hilfetexte/Tooltips ist manchmal etwas unelegant. Wem so etwas auffält, bitte Mitteilung am Ende dieses Threads: http://www.mikrocontroller.net/topic/255932#2641638 (deutschsprachig) oder an die KiCad user group unter https://groups.yahoo.com/neo/groups/kicad-users/info (englischsprachig, auch bei Fällen wo es um die deutsche Übersetzung geht). Diese Mitteilungen nach Möglichkeit nicht in Launchpad.&lt;br /&gt;
** Ich habe aber keine Möglichkeit, die Sprache umzustellen!&lt;br /&gt;
*** Wenn Debian eine Fehlermeldung &amp;quot;Cannot set locale to &#039;xy_XY&#039;. kommt, ist die entsprechende Umgebung nicht installiert. Unter Debian als root in der Konsole: &amp;quot;dpkg-reconfigure locales&amp;quot; aufrufen. Es öffnet sich eine ncurses-gui, wo die entsprechenden Einstellungen gemacht werden können. Für &amp;quot;Deutsch&amp;quot; wähle ich &amp;quot;de_DE.utf8&amp;quot;.&lt;br /&gt;
*** Wenn nichts passiert, fehlen möglicherweise die localisierungs Dateien. Sie sind NICHT Teil der Sourcen, und finden sich in http://bazaar.launchpad.net/~kicad-developers/kicad/doc/files/head:/internat/. Auf Debian und verwandten Systemen müssen die einzelnen localisationsordner, z. B. &amp;quot;de&amp;quot; nach /usr/local/share/kicad/internat kopiert werden. Dann als root dort Leserechte erteilen mit &amp;quot;chmode -R 755 /usr/local/share/kicad/internat&amp;quot;.&lt;br /&gt;
*** Wenn ein Mischmasch aus Englisch und der gewählten Sprache existiert, sind entweder nicht alle Begriffe übersetzt (siehe oben) oder wegen Umbenennung von Variablen ist eine Inkonsistenz entstanden. Siehe: http://www.mikrocontroller.net/topic/326622#3565178&lt;br /&gt;
** Für die KiCad Localsisation wird &amp;quot;GNU gettext&amp;quot; verwendet. Eine kleine Hilfestellung zur Anpassung der Localisation findet sich hier: http://docs.kicad.org/en/gui_translation_howto.html. Info zu Gnu gettext findet sich hier: http://de.wikipedia.org/wiki/GNU_gettext&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Projektdateien (.pro) Pfadschreibweise&#039;&#039;&#039;: In einer Windowsumgebung ist es anscheinend nötig, relative Pfade speziell zu kennzeichnen. Siehe: http://www.mikrocontroller.net/topic/326869#new&lt;br /&gt;
&lt;br /&gt;
=== Problem: Der Ursprung für die Pick und Place bzw. Drill-Daten wurde verändert und lässt sich nicht zurücksetzten. === &lt;br /&gt;
Siehe: http://www.mikrocontroller.net/topic/363280#new&lt;br /&gt;
&lt;br /&gt;
=== Problem: Case Senitive Symbols ab BZR4646 (Jan./Feb. 2014) in Schaltplänen. (Migration alter Projekte auf neue) ===&lt;br /&gt;
Ab BZR4646 sind die Symbole in Eeschema &amp;quot;Case Sensitive&amp;quot;. Das bedeutet: In alten Schaltplandateien wurden für die Symbolnamen nur Großbuchstaben verwendet, auch wenn die Originalnamen in der Library Kleinbuchstaben enthielten. Ab BZR4646 werden die Symbolnamen in den Schaltplandateien genauso geschrieben wie die Originalnamen in der Library. Leider werden dadurch bei alten Schaltplandateien die großgeschriebenen Symbolnamen nicht mehr in den Bibliotheksdateien erkannt. Auch nicht in den &amp;quot;-cache.lib&amp;quot; Dateien. Ganz so kritisch, wie es sich anhört, ist es wiederum auch nicht, weil KiCad schon seit geraumer Zeit die Schaltpläne in der neuen Version speichert. Jemand, der mit aktuellen KiCad Versionen an aktuellen Schaltplänen arbeitet, wird darum den Übergang vermutlich nicht bemerken. Allerdings tritt das Problem bei alten Schaltplänen auf, die möglicherweise Jahrelang unberührt auf der Festplatte lagen. Um die Symbolnamen in diesen alten Schaltplandateien anzupassen, existiert das Python3 Skript &amp;quot;PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip&amp;quot;. Es ist ein &amp;quot;Stand alone&amp;quot; Python3 skript, das nicht in das KiCad interne Python skripting eingebunden ist. Die Datei kann hier bezogen werden:[[Media:PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip]].&lt;br /&gt;
Autor: Bernd Wiebus, GNU-GPL.&lt;br /&gt;
&lt;br /&gt;
Be einigen Linux Distributionen (z.B. Archlinux) wird neben Python 3 auch noch das Paket &amp;quot;python3-tk&amp;quot; benötigt. Oder eine irgendwie anders genannte Einbindung von Tkinter in Python3. Anmerkung: &amp;quot;Tkinter&amp;quot; für Python3 wird im allgemeinen kleingeschrieben &amp;quot;tkinter&amp;quot; zur Unterscheidung vom großgeschriebenen &amp;quot;Tkinter&amp;quot; für das alte Python(2). &lt;br /&gt;
Sonst gibt es die Fehlermeldung &amp;quot;ImportError: No module named tkinter&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Manueller Start mit: &amp;quot;python3 PyKiCad-CaseSensitiveLibCure_RevD_13Mar2015.py&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dieses Skript kann benutzt werden, um Schaltpläne, die mit der Eeschema Version (2013-11-29 BZR 4513) von Ende 2013, die in Linux Repositorys (z.B. Debian 7 &amp;quot;Wheezy&amp;quot;) noch sehr verbreitet ist, auf aktuelle KiCad Versionen anzupassen.&lt;br /&gt;
&lt;br /&gt;
In RC4 übernimmt ein &amp;quot;Rescue-Helper&amp;quot; diese (und andere) Funktion. Aber auch dieser kann genau wie das Python Skript nur funktionieren, wenn entweder die Originalsymbole (Cache.lib!) oder entsprechend benannte Nachfolger der Bibliotheken existieren, so dass ein auf den Namen passendes Symbol existiert.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Backporting KiCad-Board Dateien (.kicad_pcb) von Version 4 auf Version 3 2014/2015) ===&lt;br /&gt;
&lt;br /&gt;
Möchte man z.B mit einer KiCad/PCBnew Version BZR 4027 vom 22 Juni 2014, welche in vielen Repositorys noch weit verbreitet ist, eine Board-Datei ( .kicad_pcb), die mit einer neueren PCBnew Version erstellt wurde, z.B. einer BZR 5513 vom 14. März 2015 (die aktuell kompiliert wurde), öffnen, so stösst man auf Probleme. Aktuell die BZR 5513 verwendet für die Board Dateien Version 4, und die alte BZR 4027 verwendet dort die Version 3. Obwohl das Schema der Boarddateien fast gleich ist, enthält die Version 4 Elemente, die es zur Zeit der Version 3 noch nicht gab, und die darum zu Fehlermeldungen und zum Abbruch des Einlesens der Datei führen. Diese Neuerungen beziehen sich auf den Export von Gerberfiles mit Attributen sowie Platinenlagen, die es vorher noch nicht gab. Diese Fehler sind dank der einfachen, klarschriftlesbaren Filestruktur von KiCad sehr leicht mit einem Texteditor zu beheben. Eine Beschreibung, wie dieses manuell zu machen ist, finden Sie hier: [[Media:KiCad-PCBnewBoardDateienMigrierenVonVersion4Auf5.pdf]] Achtung Irrtum: Hier sind Version 4 und 5 genannt, dabei sind aber Version 4 und 3 gemeint.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Portieren von älteren KiCad-Board Dateien auf neuere Versionen.  ===&lt;br /&gt;
&lt;br /&gt;
In einigen Fällen funktioniert das Erkennen von selbstvergebenen Layer Namen aus der älteren Version nicht. Abhilfe schafft das manuelle Umbenennen der betroffenen Layer per Editor in den Board Dateien in KiCad-Standard Bezeichnungen und natürlich das konsequente Einpflegen in den Rest der Datei. Eine Vorstellung, wie das zu bewerkstelligen ist, ist ebenfalls aus [[Media:KiCad-PCBnewBoardDateienMigrierenVonVersion4Auf5.pdf]] zu ersehen. Achtung Irrtum: Hier sind Version 4 und 5 genannt, dabei sind aber Version 4 und 3 gemeint. Einen Überblick, welche Layernamen die jeweils aktuelle KiCad Version verwendet, bekommt man indem man sich ein Testboard anlegt, indem ALLE möglichen Layer verwendet werden, dieses abspeichert und sich die Datei mit einem Texteditor ansieht.&lt;br /&gt;
Die Portierung von alten KiCad-board Dateien (Projektname.brd) funktioniert dagegen im Allgemeinen problemlos.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Neue leere Footprintbibliothek kann nicht erstellt werden (kicad Version: 4.0.0~rc1a-stable release build / RC4) ===&lt;br /&gt;
&lt;br /&gt;
Soll eine neue, leere Footprintbibliothek angelegt werden, so funktioniert das nicht mit den angebotenen Tools (z.B. dem Wizzard) weil die automatisch den Typ der Bibliothek ermitteln wollen, was nicht funktioniert, weil die Bibliothek noch leer ist. Auch das manuelle Eintragen des Pfades funktioniert nicht, weil die leere Bibliothek nicht als solche erkannt wird, und wegen dieses Fehlers der Abschluss des Eintrages nicht übernommen wird. Abhilfe schafft dabei das Anlegen eines Ordners &amp;quot;Bibliotheksname.pretty&amp;quot; (Erinnerung: Neue KiCad Footprintbibliotheken bestehen aus einem Ordener &amp;quot;xyz.pretty&amp;quot;, indem die einzelnen Footprints jeder für sich in einer extra Datei &amp;quot;Footprintname.kicad_mod&amp;quot; existieren). Anschliessend kopiert man eine einzige beliebige Footprintdatei &amp;quot;Nameirgendwie.kicad_mod&amp;quot; in diesen Ordner. Somit ist &amp;quot;Bibliotheksname.pretty&amp;quot; eine &amp;quot;echte&amp;quot; Bibliothek, welche als solche problemlos eingebunden werden kann. Enthält die Bibliothek dann irgendwann die gewünschten richtigen Einträge, so kann der Footprint, der zu Anfangs zum Erstellen der Bibliothek hineinkopiert wurde, auch wieder gelöscht werden.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Fehlende Backannotationsmöglichkeit in KiCad ===&lt;br /&gt;
&lt;br /&gt;
Es gibt Leute, die sich in KiCad eine Backannotationsmöglichkeit wünschen (andere warnen davor, sowas zu benutzen, selbst wenn es existiert). KiCad bietet aktuell selber diese Möglichkeit nicht, doch lässt sich aufgrund der offenen Dateistrukturen ein z.b. Python Skript schreiben, welchess die Backannotation durchführt. Als ein Beispiel siehe hier: &amp;lt;ref&amp;gt;https://hasanyavuz.ozderya.net/?p=256&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Problem: Platinenerstellung durch Isolationsfräsen ===&lt;br /&gt;
&lt;br /&gt;
Einer der möglichen Wege ist hier beschrieben: https://www.daedalus.ei.tum.de/index.php/de/3d-druck-cnc/cnc/layout-und-g-code-erstellung-mit-kicad  Allerdings scheint die dort erwähnte Software mittlerweile aus einer anderen ecke zu kommen: http://carbide3d.com/apps/pcb/community.html Es gibt aber noch andere Wege, zb. über: http://flatcam.org/discussion#!/?HPGL Eine Diskussion dazu findet sich hier: https://www.mikrocontroller.net/topic/447442#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Building Blocks ===&lt;br /&gt;
* Eine unfertige Dokumentation, wie man das hierarchische Schaltplansystem von KiCad verwendet, um daraus schnell und rationell Schaltpläne mit vorgefertigten Schaltplänen (Building Blocks) nach dem Baukastensystem aufzubauen. Enthält auch ein Beispielprojekt. Beachte die Liesmich.txt Datei. [[Media:BuildingBlocksKiCad-EXPERIMENTELL.zip]] Das File  KiCad-HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf, enthält eine vorläufige Beschreibung dazu. KiCad-HierarchischeSchaltplaene+buildingBlocksRevA-EN.pdf is an English description how to use hirarchical schematics as building blocks for a fast and rationel schematic design. Es fehlt noch die Übersetzung und die Bebilderung und ein paar Berichtigungen und Ergänzungen. ;-) . Das echte Hauptbeispielprojekt ist UnderVoltageDetector24V-2Group_Experimental.pro bzw. UnderVoltageDetector24V-2Group_Experimental.sch. Im Ordner Experimentalprojekt23052010 findet sich ein weiterer Ordner BuildingBlocksExperimental. Dieser enthält die Ausgangsbausteine VoltageRegulatorBuildingBlock.sch mit VoltageRegulatorBuildingBlock-cache.lib und  VoltageDetectorBuildingBlock.sch mit VoltageDetectorBuildingBlock-cache.lib. Die Projektdateien der Buildingblocks .pro sind nur der Vollständigkeit und zur leichteren Bearbeitung zugefügt. Aus VoltageDetectorBuildingBlock.sch und VoltageRegulatorBuildingBlock.sch wurde (nach umkopieren, umbenenen und kleiner Änderung) im übergeordneten Ordner das Projekt VoltageRegulatorBuildingBlock.pro unter verwendung des &amp;quot;Zwischenbuildingblocks&amp;quot; UnderVoltageDetectorBuildingBlock.sch zusammengesetzt. NICHT VERGESSEN DIE CACHE.LIB EINZUBINDEN! Sonst gibt es nur Fragezeichen statt Bauteile. Das Beispielprojekt enthält eine 24V Unterspannungsüberwachung für einen Bleiakku, die zwei 12V Gruppen überwacht. Nicht elegant, aber hoffentlich robust. Autor: Bernd Wiebus , GNU-GPL. Der dazubezügliche Beitrag im Forum ist: http://www.mikrocontroller.net/topic/178683#1724114&lt;br /&gt;
*[[Media:HierarchischeSchaltplaeneAlsBausteineInKicad_RevC_23Dec2013.pdf]] VERBESSERTE und AKTUALISIERTE Version von KiCad-HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf aus obiger Zip-Datei. Beschreibt, wie mit Hilfe der hierarchischen Schaltplanstruktur aus einzelnen, vorgefertigten Schaltplänen schnell und rationell neue Schaltpläne modular zusammengesetzt werden können. There is also a English translation of this tutorial about using hierarchical schematics as building blocks. You can get it here: [[Media:HierarchicalSchematicsAsBuildingblocksAtKiCad_RevC-EN_06May2015.pdf]]&lt;br /&gt;
* Eine Sammlung von gängigen Schaltungen mit den Längstreglern LM317 /LM78xx /LM79xx und dem Timer 555, die nach dem in obig erwänten Dokument KiCad_HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf beschriebenen Vorgehen als Building Blocks in KiCad verwendet werden können, findet sich unter: http://www.mikrocontroller.net/articles/KiCad#Building-Blocks&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Shortcuts/Hotkeys ===&lt;br /&gt;
&lt;br /&gt;
KiCad besitzt eine ganze Anzahl von Shortcuts/Hotkeys. Diese lassen sich editieren, abspeichern und importieren.&lt;br /&gt;
Dieses erfolgt in EEschema, dem Symboleditor und in PCBnew in der oberen Menueleiste unter &amp;quot;Einstellungen&amp;quot; &amp;gt; &amp;quot;Tastaturbefehle&amp;quot; (&amp;quot;Preferences&amp;quot; &amp;gt; &amp;quot;Hotkeys&amp;quot;). Dort finden sich weitere Menuepunkte, um eine Liste der verfügbaren Hotkeys anzuzeigen, die Hotkeys zu editieren oder um sie zu exportieren oder importieren.&lt;br /&gt;
&lt;br /&gt;
Eine &#039;&#039;&#039;Liste&#039;&#039;&#039; der aktuell verfügbaren Hotkeys erhält man mit &amp;quot;?&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Es gibt eine Reihe von Hotkeys, die in EEschema, dem Symboleditor und PCBnew gleich sind:&lt;br /&gt;
&lt;br /&gt;
*Help (this window)		?&lt;br /&gt;
*Zoom In			        F1&lt;br /&gt;
*Zoom Out			F2&lt;br /&gt;
*Zoom Redraw			F3&lt;br /&gt;
*Zoom Center			F4&lt;br /&gt;
*Fit on Screen			Home&lt;br /&gt;
*Reset Local Coordinates	Space&lt;br /&gt;
*Edit Item			E&lt;br /&gt;
*Delete Item			Del&lt;br /&gt;
*Rotate Item			R&lt;br /&gt;
*Drag Item			G&lt;br /&gt;
*Undo				Ctrl+Z&lt;br /&gt;
*Redo				Ctrl+Y&lt;br /&gt;
*Mouse Left Click		Return&lt;br /&gt;
*Mouse Left DClick		End&lt;br /&gt;
&lt;br /&gt;
Die anderen variieren je nachdem, in welcher Umgebung man sich befindet.&lt;br /&gt;
&lt;br /&gt;
Ein wichtiger Hotkey in PCBnew ist &amp;quot;T&amp;quot;. Wird &amp;quot;T&amp;quot; gedrückt, poppt ein Fenster auf, in dem nach dem Referenzbezeichner des Bauteils gefragt wird. Den gibt man ein, drückt &amp;lt;Enter&amp;gt; und der Footprint des Bauteiles hängt am Mauszeiger. Das ist eine wichtige Funktion beim &#039;&#039;&#039;Plazieren der Bauteile&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Eine PDF Datei mit Notizen zu den Shortcuts in KiCad und Listen von Shortcuts findet sich hier: [[Media:KiCad-Shortcuts-Hotkeys_Notizen_BZR4803_28Jun2014.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Lochraster/Lötleisten Platinen Entwurf mit KiCad ===&lt;br /&gt;
&#039;&#039;&#039;Dieses hier beschriebene Verfahren ist KiCad unabhängig und geht grundsätzlich mit jedem Layoutprogramm, das ein Raster anzeigen kann.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Wer viel mit Lochraster Platinen arbeitet, hat gelegentlich auch ein Bedürfnis, diese Tätigkeit mit einem Layoutprogramm zu begleiten. Zum einen um den Platzbedarf besser abschätzen zu können, zum anderen, um dadurch auch eine schnelle und einfache Dokumentation auch für Lochrasterprojekte zu schaffen. Auch dazu kann KiCad verwendet werden.&lt;br /&gt;
* Vorgehensweise: Schaltplan in Eeschema erstellen wie üblich, Netzliste erzeugen, und in CVpcp die Bauteile zuordnen. In PCBnew dann das Raster einblenden und auf 2,54mm (100mil) stellen. Nun geben die Rasterpunkte die Position der Löcher der Lochrasterplatine vor. Nach dem Einlesen der Netzliste bei Lochraster mit Streifenleitungen am besten zweiseitig manuell routen. Auf der Unterseite der Richtung der Streifenleitung in Längstrichtung folgen (z.b. wagerecht). Auf der Oberseite die Brücken dazu quer legen (z.B. senkrecht). Zweipolige Bauteile immer senkrecht oder wagerecht positionieren. &lt;br /&gt;
** Wer eine Platine erstellen möchte, die nur teilweise ein Lochraster aufweist, dem sei diese Diskussion empfohlen: https://www.mikrocontroller.net/topic/369534#new&lt;br /&gt;
* Noch ein Vorschlag für Lochraster bzw. Lötleistenentwürfe in KiCad: http://www.mikrocontroller.net/topic/395181#4547206&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: KiCad und Freeroute ===&lt;br /&gt;
Leider ist die Freeroute Seite abgeschaltet. Grund:http://www.mikrocontroller.net/topic/337014#new Allerdings gibt es eine Möglichkeit, Freeroute selber zu installieren und zu nutzen: https://github.com/nikropht/FreeRouting und http://freerouting.net/index_de.php &lt;br /&gt;
*Freerouting einseitig bzw. für Lochraster verwenden: http://www.mikrocontroller.net/topic/363335#new&lt;br /&gt;
*Fehlermeldungen beim Start von Freeroute: Es ist wichtig, dass der Leiterplattenumriss in der Lage edge.cuts geschlossen ist: https://www.mikrocontroller.net/topic/435039#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: KiCad und Specctra Autorouter ===&lt;br /&gt;
Es treten beim Export der Netzlisten/Designs Fehlermeldungen der Art: &amp;quot;IO_ERROR: Multiple components have identical reference IDs&amp;quot; auf, obwohl offensichtlich keine doppelten Referenzbezeichner vergeben wurden.&lt;br /&gt;
* Die &amp;quot;doppelten Referenzbezeichner&amp;quot; sind doch &amp;quot;irgendwie&amp;quot; versteckt vorhanden. Z.B. dadurch, das Bauteile nicht Referenziert oder Annotiert wurden. Im Zweifel die Files mit einem Texteditor danach durchsuchen, oder die Autoannotation über das Board laufen lassen. Siehe: https://www.mikrocontroller.net/topic/365185#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Platinen von ALLPCB ===&lt;br /&gt;
Hinweise, wie die Design Restrictions von ALLPCB in KiCad umgesetzt werden können, als Beispiel auch für andere Platinenhersteller (entsprechend anpassen)&lt;br /&gt;
* https://www.mikrocontroller.net/topic/443533#new&lt;br /&gt;
&lt;br /&gt;
= Bibliotheken =&lt;br /&gt;
&lt;br /&gt;
== Handhabung von Bibliotheken ==&lt;br /&gt;
&lt;br /&gt;
=== Eeschema ===&lt;br /&gt;
&lt;br /&gt;
* Symbolbibliotheken in Eeschema einbinden.&lt;br /&gt;
** Zur Benutzung müssen Bibliotheken mit Symbolen in das Bibliotheksverzeichnis von Eeschema eingetragen werden. Siehe: https://www.mikrocontroller.net/topic/416835 [[Bild:EeschemaBibliotheksliste.png|300px|thumb|right|Bearbeitung einer KiCad 4 Eeschema Bibliotheksliste]]&lt;br /&gt;
* Cache Bibliothek:&lt;br /&gt;
**  Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Aus diesem Grunde existiert zu jeder Schaltplandatei (Dateiname.sch) eine Cache Bibliothek (Dateiname-cache.lib). Diese enthält alle im Schaltplan verwendeten Symbole, und sollte darum mit dem Schaltplan zusammen übergeben werden. Diese Cache-Bibliothek sollte auch in die Bibliothekstabelle übernommen werden.&lt;br /&gt;
* Fehler mit Case-Senitiven Bibliotheken&lt;br /&gt;
** Ab BZR4646 (Jan./Feb. 2014) behandelt KiCad Symbolnamen &amp;quot;Case Sensitive&amp;quot;. Das führt zu Problemen mit älteren Schaltplänen, wo &amp;quot;Mixed Case&amp;quot; Symbolnamen aus den Bibliotheken automatisch in &amp;quot;Upper Case&amp;quot; Symbolnamen konvertiert wurden. Diese werden jetzt nicht mehr erkannt. Näheres siehe: http://www.mikrocontroller.net/articles/KiCad#Problem:_Case_Senitive_Symbols_ab_BZR4646_.28Jan..2FFeb._2014.29&lt;br /&gt;
&lt;br /&gt;
== Bibliothekssammlungen ==&lt;br /&gt;
&lt;br /&gt;
In diesem Abschnitt sollen unsere Arbeiten an Bibliotheken koordiniert werden. Dabei sollen alle Arbeiten unter der Creative Commons Lizenz stattfinden. Das heisst insbesondere, dass keine Arbeiten mit anderem Copyright unseren Bibliothekspool vergiften sollen z.&amp;amp;nbsp;B. durch unerwünschte Konvertierung von EAGLE-Bibliotheken.  &lt;br /&gt;
&lt;br /&gt;
Unsere Designziele sind:&lt;br /&gt;
* Frei benutzbar (Creative Commons Lizenz) &lt;br /&gt;
* Einheitlich (Richtlinien?)&lt;br /&gt;
** Vorschlag von Marko für Bohrungen und Pads siehe [http://www.mikrocontroller.net/topic/124070#1176177]&lt;br /&gt;
** Die Richtlinien, die die KiCad Librarys selber verwenden: [https://github.com/KiCad/kicad-library/blob/master/KiCad_Library_Convention.txt]&lt;br /&gt;
* Fehlerfrei (Nachkontrolle durch andere User)&lt;br /&gt;
&lt;br /&gt;
=== Wünsche ===&lt;br /&gt;
&lt;br /&gt;
Hier soll eine Strichliste geführt werden, welche neuen Bauteile gesucht sind bzw. welche oder besseren, genaueren Versionen benötigt werden. Bitte gebt an, was bei bestehenden Bauteilen problematisch ist.&lt;br /&gt;
&lt;br /&gt;
Bevor wir Bibliotheken erstellen, sollten auf jeden Fall einige Parameter - insbesondere für die Schaltplansymbole - festgelegt werden: Pinlänge, Pinabstand, Größe der Schriften, Konventionen bzw. Nummerierung (z.B. bei gepolten Bauteilen wie Dioden, Elkos usw.). Sonst entsteht Wildwuchs, weil jeder für sich anderes festlegt.&lt;br /&gt;
&lt;br /&gt;
* Stehende Layouts für 7805 und N-FETs: ||||&lt;br /&gt;
** Passt TO220_VERT ? Natürlich! Nur die Anschlussnumerierung muss ev. passend adaptiert werden. Ist unter &amp;quot;TO-220&amp;quot; in [[Media:KiCAD_Module_Footprints_3D_29Aug2014.zip]] enthalten. In allen Perversionen. Stehend, liegend, rumgedreht von der Rückseite usw....&lt;br /&gt;
* LPC21xx / LPC22xx / LPC23xx |&lt;br /&gt;
* EINE AVR ATmega-Bibliothek, wo ALLE Controller drin sind. ||||||||&lt;br /&gt;
* AVR XMegas |&lt;br /&gt;
* AT90CAN128 / allgemein mehr AVRs (MEGA &amp;amp; TINY) ||||||&lt;br /&gt;
* Wegen der AVRs und ATMEGAs: Bitte hier http://www.kicadlib.org/Fichiers/Kerusey_Karyu_Atmel_Library.html mal schauen, und den Wunsch auf den Typ konkretisieren! Der Atmelzoo ist so verwirrend vielfältig.....&lt;br /&gt;
** Leider ist die dazugehörige Bibliothek defekt.&lt;br /&gt;
** Ist aktualisiert worden und in die aktuelle KiCad Symbol Library eingeflossen: [https://github.com/KiCad/kicad-library/blob/master/library/atmel.lib]&lt;br /&gt;
*** Weitere Aktualisierungen und Erweiterungen: [https://github.com/KiCad/kicad-library/blob/master/library/atmel.dcm]&lt;br /&gt;
* Schaltregler (u.A. LM257x, LM267x, MC33063, L5973D) |||| Der MC33063 hat gleiches Pinning und Gehäuse wie MC34063! Darum kann der in http://www.mikrocontroller.net/wikifiles/8/84/Symbols_ICs-Diskrete_RevD9.lib verwendet werden.&lt;br /&gt;
* Spulen (z.&amp;amp;nbsp;B. diverse Wuerth) ||&lt;br /&gt;
* Drosseln (B82790 für CAN, Würth 744207) ||&lt;br /&gt;
* Transformatoren (allgemein) |&lt;br /&gt;
* Ferrite (7427930 - 32, 742792651, 74279263) |&lt;br /&gt;
** ??? Was genau ist nun Footprint und Referenzmaeßig der Unterschied zwischen Drosseln, Spulen und Ferriten, wenn ich jetzt mal davon ausgehe, das die Teile weder Anzapfung noch mehr als eine Wicklung haben (dann wären es Trafos oder Uebertrager), und die elektrischen Werte in ein Feld eingetragen werden?? Schau mal unten in http://www.mikrocontroller.net/wikifiles/d/da/KiCad_Module_Footprints_3D_16Sep2013.zip. Kleinere SMD-Entstörferrit Module lassen sich uebrigens aus Footprints für SMD-Widerstaenden zaubern, in dem man sie umbenahmt und mit der Referenz &amp;quot;L&amp;quot; versieht. ;-)&lt;br /&gt;
* STM32 Mikrocontroller Bibliothek (sofern möglich alle) ||||&lt;br /&gt;
* Arduinos ||&lt;br /&gt;
** Arduino Due ||&lt;br /&gt;
** Arduino Nano |&lt;br /&gt;
* Teensy |&lt;br /&gt;
** Teensy 3.5/3.6 |&lt;br /&gt;
** Teensy 4.0 |&lt;br /&gt;
&lt;br /&gt;
=== Entwürfe ===&lt;br /&gt;
&lt;br /&gt;
Neue Bibliotheken oder Änderungen sollen zunächst in diesem Abschnitt &lt;br /&gt;
vorgestellt werden. &lt;br /&gt;
&lt;br /&gt;
==== Symbolbibliotheken ====&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/96460#832961 ATmega3250/TQFP100] von Fred S. (Gast)&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/96460#844741 ATMega3290 im 100Pin-Gehäuse] von Fred S. (Gast)&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/132811#1205130 RFM12-Funkmodul] von Dominik C.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/133310#1210137 CAN Controller MCP2515 und Transceiver MCP2551] von Dominik C.&lt;br /&gt;
&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/394700#4540445 STLib für KiCad mit STM32F4x] von Markus W.&lt;br /&gt;
&lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevB-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1. Schaltplan Symbolbibliothek fuer KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind. Von Bernd Wiebus&lt;br /&gt;
&lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevC-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind. Aenderung gegenueber Rev.B: Kleinere Symbole hinzugefügt. Mit Vorsicht geniessen! Von Bernd Wiebus.&lt;br /&gt;
 &lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevD3-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind.  Aenderung gegenueber Rev.C: Kleinere Fehler beseitigt. CLD Symbol hinzugefuegt. Kuehlkoerper Symbol und Dummy-Symbol fuer Boardoutlines hinzugefuegt. Thyristor und Triac Symbol zugefuegt. Copyright Symbole GNU-GPL und CC zugefuegt. Mit Vorsicht geniessen! Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
 &lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevE8.lib]] AKTUELLE Version! Ersetzt die Rev. B, C und die Rev. D sowie Vorgängerversionen E1-E7! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind.  Aenderung gegenueber Rev.D: Kleinere Fehler beseitigt. Ankerpunkte in die Nähe der Symetrieachsen verlegt. Verbinder DIN41612 / EN60603-2 &amp;quot;Eurokartenstecker&amp;quot; hinzugefügt. Große &amp;quot;BIG&amp;quot; Symbole entfernt und in der Datei BIG-SymbolsSimilarEN60617+oldDIN617-RevE.lib ausgelagert. Mit Vorsicht geniessen! Von Rene Belau und Bernd Wiebus.  CC-Zero/Public Domain!  Defektes Symbol &amp;quot;RESISTOR_RevE_Date15jun2010&amp;quot; repariert am 02. Maerz 2011. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
   &lt;br /&gt;
* [[Media:BIG-SymbolsSimilarEN60617+oldDIN617-RevE.lib]] Einige EN60617 oder der DIN 617 ÄHNLICHE Symbole in besonders GROSSER Ausführung. Vermutlich werden Sie diese GROSSEN Symbole eher NICHT benutzen wollen. Mit Vorsicht geniessen! Von Rene Belau und Bernd Wiebus. Unter GNU GPL. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/attachment/74203/obi.lib]] KiCad Symbol für einen ATMEGA644. Von obi&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ICs-Diskrete_RevD10.lib]] KiCad Symbole für einige diskrete ICs. Enthält L200 (Pentawatt Gehäuse), LM2587 (Pentawatt Gehäuse), Längstregler LM317, LM78xx, LM79xx, Timer NE555, NF-Verstärker LM1875 und TDA2003 (Pentawatt Gehäuse), Schaltregler UC38xx (DIP8/SO8 und DIP14/SO14), LM2587, MC34036, LM78S40 und MCP1640, Treiber MIC4422 (DIP8/SO8 und Pentawatt Gehäuse). Allegro Halleffekt Stromwandler Typ ACS754/ACS755/ACS756 und LEM Halleffekt Stromwandler der Serie &amp;quot;HX&amp;quot;. Programierbarer Oszillator Si570/Si571 sowie Quarzoszillator Typ KXO-200. Dazu Transistor Arrays BC847S und BC857S (in einfacher und in aufgelöster Darstellung) und Supressordioden Array SR05. Schieberegister 74HC4094 . Spannungs-/Laderegler uA723/LM723 in 14 und 20 poligem Gehäuse. HF/ZF Verstärker/Mischer/Demodulator TCA440 alias exDDR A244D, FM Frontend TA7358. Spannungsmonitor ICL7665. Autor Bernd Wiebus.  CC-Zero/Public Domain!  Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ICs-Opto_RevB_16Sep2013.lib]] KiCad Symbole für Optokoppler CNY17, IL300. IL388, TLP250, SFH617A-1, SFH617A-2, SFH617A-3, SFH617A-4, KPC357, LTV35x, und PC357. LWL Empfänger Toshiba TORX170 TORX173 TORX193  und TORX194 (Toslink). LWL Sender Toshiba TOTX170 TOTX173 TOTX193  und TOTX194 (Toslink). LWL Empfänger Agilent HFBR-252x und Sender Agilent HFBR-152x Serie (Versatile Link). 7 Segment Anzeigen HDSM531, HDSM533, LTS6760, LTS6780, SBC18-11EGWA. Autor Rene Belau und Bernd Wiebus. CC-Zero / Public domain. Mit VORSICHT geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Transformer-Diskrete_RevA.lib]] KiCad Symbole für einige diskrete Transformatoren. Coilcraft Q4434-B = Rhombus T1311 und Myrra-74040 ETD29. Autor: Bernd Wiebus. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_DCDC-ACDC-Converter_RevC_29Aug2014.lib]] KiCad Symbole für einige DCDC/ACDC-Converter. Enthält CINCON EC5BC12, CINCON EC6C11, TRACO TED-1212, TRACO TED-XXXX Dual Output, TRACO TED-XXXX Single Output, TRACO TEN10-1212, TRACO TEN10-XXXX, TRACO TME-XXXX, TRACO TMH-XXXX Single Output, TRACO TMH-XXXX Dual Output, sowie TRACO ACDC-Converter der TMLM Serie. BOTHHAND CF-Serie und DELTA DPS05U09D. Neu seit 29 August 2014: Floeth DCDC-Converter SD14-XXXX und SD18-XXXX. Autor: Bernd Wiebus. GNU-GPL. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_Socket-DIN41612_RevA.lib]] KiCad Symbole für DIN41612 Stecker und Buchsen (Die bekannten Eurokartenstecker). Autor: Bernd Wiebus. GNU-GPL. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_EN60617_13Mar2013.lib]] KiCad Symbole für die EN60617. Strikter als die Symbole aus SymbolsSimilarEN60617+oldDIN617-Rev~~.lib. Autor: Bernd Wiebus. CC-Zero/Public Domain! Mit Vorsicht geniessen! Hierzu gehört der Katalog: [[Media:Symbols_EN60617_13Mar2013.pdf]] Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_EN60617-10_HF-Radio_DRAFT_12Sep2013.lib]] HF-Blockschaltbild Symbole für KiCad. EXPERIMENTELL! Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain.  Hierzu gehört der Katalog: [[Media:EN60617-10_HF-Radio_SymbolCatalog_DRAFT.pdf]] Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_Microcontroller_Philips-NXP_RevA_06Oct2013.lib]] Symbole der NXP Microcontroller LPC2104, LPC2105 und LPC2106 fuer KiCad.  Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ORringController_RevA_03Aug2015.lib]] Symbole verschiedener ORing-Controller fuer KiCad. Enthält IR5001, ISL4166 (QFN20+TSSOP16) und LM5050/LM5051. Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de.&lt;br /&gt;
&lt;br /&gt;
* [https://forum.kicad.info/t/oktizer-octagonal-pads-and-vias-was-elektuur-style-symbol-library/34611 Klassische Elektor-ähnliche Symbole], angepasst an KiCad 5.1 und 6.0. Lizenz: CC0&lt;br /&gt;
&lt;br /&gt;
==== Modulbibliotheken ====&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD_Module_Footprints_3D_29Aug2014.zip]] Eine Sammlung von KiCad Modulen bzw. Footprints diskreter Bauteile. Neben den obligatorischen Rs, Cs und Ls sind Schrack und Omron Kartenrelais (die Footprints passen auch fuer andere Hersteller), diverse Dioden, Klemmen WAGO 236 (RM 5mm) Serie und WAGO 734 Serie, Sicherungshalter (Schurter und Bulgin) für 5x20 und 6x30, SMD Sicherungen 1206 und Sicherungen/Sicherungshalter TE5/TR5,Flachsicherungen Standard und Mini, Kuehlkoerper und Eurokartenoutlines enthalten. Zusaetzlich TO92, TO220, TO220-5 (Pentawatt) und TO247 Gehaeuse. Ebenso die vermissten PISN und PISR SMD Drosseln. Einige Throughhole C&amp;amp;D Bobin Drosseln, Bourns 3296, Spectrol Type 43 / Econtrim und Piher PT15 Trimmer . Potentiometer Alps RK16 und Spectrol Type 148/149. Transformatoren Coilcraft Q4434-B / Rhombus T1311 sowie ETD29 von Epcos und Myrra sind auch dabei. Eurokartenstecker/-buchsen DIN 41612 Typ B1, B2, C1, C2 und C3. Ebenfalls enthalten: GNU-GPL und Creative Commons  Symbole. Dazu Messpunkte. BNC-Buchse, Quarzoszillator, SMD Widerstände und Kondensatoren.  (0805, 1206, 2512) sowie experimentelle Universalfootprints SMD/Throughole. SMD-Dioden: MELF, Mini-MELF, SMA, SMB und SMC. Halleffekt Stromwandler mit Allegro CB-PFF, CB-PSF und CB-FSS Gehäusen.Dazu Stecker Molex Serie KK, Würth SMD Drosseln und Doppeldrosseln. Neosid Filter und Drosseln. TRACO ACDC-Converter der TMLM Seie und SOT23, SOT143, SOT143R, TSOT-6 / MK06A sowie SC70-6 SMD Footprints für Dioden, Transistoren bzw. Dioden und Transistor Arrays und kleinere ICs. Mini Universal Mate-N-Lock Steckersockel (Tyco/AMP). 2-6 Pin, vertikale und horizontale Typen. Verbesserte Fiducials und Logos. Dazu SMD-Tantalkondensatoren und ETAL NF-Transformatoren. TO50-3 und TO50-4 Gehäuse. 7 Segment Anzeigen. LQFP48/TQFP48 Gehäuse. Hallsonden Stromwandler mit Allegro CB-PFF, CB-PSF und CB-FSS Gehäusen. Halleffekt Stromwandler der Serie &amp;quot;HX&amp;quot; von LEM.  Neu in der Version vom 29. August 2014: Floeth DCDC-Converter SD14 und SD18. Fast alles ohne 3D Modelle, aber manchmal mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* Viel Standardkram in 3D: http://smisioto.no-ip.org/elettronica/kicad/kicad-en.htm&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD-Module_Buzzer_Beeper_RevA_25Oct2010.zip]] Einige Footprints von Summern /Buzzern / Beepern für KiCad. Enthaelt Kingstate KCG0601, Pro Signal ABI-009-RC, Pro Signal ABI-010-RC, Pro Signal ABT-410-RC, Star Micronics HMB-06/HMB-12 und Projects Unlimited AI-4228-TWT-R. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD-Module_CommonModeChoke_Wuerth_Type-WE-CMB_RevA_25Oct2010.zip]] Footprints der Gleichtaktdrosseln der Serie Würth WE CMB (through hole) für KiCad. Enthält die Verschieden Bauformen XS, S, M, L, XL und XXL. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:DCDC-ACDC-Converter_RevC_20Jul2012.zip]] Footprints von DCDC/ACDC-Convertern für KiCad. Enthält CINCON EC5BC12, CINCON EC6C11, TRACO TED-1212, TRACO TED-XXXX Dual Output, TRACO TED-XXXX Single Output, TRACO TEN10-1212, TRACO TEN10-XXXX, TRACO TME-XXXX, TRACO TMH-XXXX Single Output, TRACO TMH-XXXX Dual Output, BOTHHAND CF-Serie und DELTA DPS05U09D. Neu seit 20 Juli: TRACO ACDC-Converter der TMLM Serie. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Opto-Devices_RevC_03Oct2012.zip]] Footprints von Optoelectronischen Bauteilen für KiCad. Enthält 6 Polige DIL Footprints für CNY17, auch in &amp;quot;wide&amp;quot;, SMD Optokoppler Footprints (1 Kanalig) und Footprints für Toshiba (Toslink) und Agilent (Versatile Link) LWL Ssender und Empfänger. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Pentawatt_RevB_24Oct2012.zip]] Footprints von Pentawatt Gehäusen für KiCad. Enthält verschiedene Ausführungen der TO220-5 Gehäuse in gerade und verkröpft, sowie stehend und liegend. Mit 3D-Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:Transistor_TO-220_RevB_03Sep2012.zip]] Footprints von TO220-3 Gehäusen für KiCad. Enthält verschiedene Ausführungen der TO220 Transistor Gehäuse in  stehend und liegend. Mit 3D-Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! CC-Zero/Public domain! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:Transistor_TO-247_RevC.zip]] Footprints von TO247 Gehäusen für KiCad. Enthält verschiedene Ausführungen der Transistor Gehäuse in  stehend und liegend. Mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! CC-Zero/Public domain! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/topic/176405#new]] KiCad Modul / Footprint für ein TSSOP38 Gehäuse. Autor Raphael Reu.&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/topic/190088#1856759]] Texas Instruments TPIC8101 Klopfsensor Interface (für Verbrennungsmotoren). Autor Peter Diener.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IR-directFET_Packages_RevB.zip]] Footprints von directFET SMD-Transistor Gehäusen von International Rectifier für KiCad. Enthält die SH, SJ, SQ, ST, S1, MN, MP, MT, MX, MZ und die L8-Outline. Nähere Informationen in den Datenblättern betroffener Transistoren und in der International Rectifier Applikationsnotiz AN-1035. &amp;quot;directFET&amp;quot; ist übrigens eine Handelsmarke von International Rectifier und die Gehäuse sind proprietär. Also vorsichtig sein und an &amp;quot;second source&amp;quot; denken. Mit 3D Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter CC-Zero / Public domain. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Neosid-Devices_Coils_Filters_25Apr2012.zip]] Footprints von NEOSID Bauteilen. Spulen, Luftspulen, Filter ec. für KiCad. Through hole und SMD. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT23_SOT143_SOT143R_TSOT6_MK06A_SC70-6_Housing_14Mar2014.zip]] Footprints von SOT23, SOT143, SOT143R, TSOT-6 /MK06A und SC70-6 SMD Gehäusen, wie sie oft für Dioden und Transistoren, aber auch Dioden und Transistor Arrays verwendet werden. Auch ICs findet man in der Bauform. Es sind Standard Footprints und spezielle für Handlötung vorhanden. KiCad Legacy Format und neues .pretty Format. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:MiniUniversalMate-N-LokSockets_13Aug2012.zip]] Footprints von Mini Universal Mate-N-Lok Steckersockeln (Tyco/AMP). 2-6 Pin, verticale und horizontale Typen. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:NF-Transformer_ETAL_RevA_28Aug2012.zip]] Footprints und 3D-Mesh Modelle von NF-Transformatoren der Firma ETAL (http://www.etalgroup.com). SMD und THT Typen. Mit PDF-Ausdruck zur leichteren Identifikation. In der Bibliothek ist auch der bekannte Übertrager ETAL P1200, der von Box73 (http://www.box73.de) vertrieben wird. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de &lt;br /&gt;
&lt;br /&gt;
* [[Media:TantalCapacitors_SMD_RevA_28Aug2012.zip]] Footprints von Tantal Kondensatoren SMD Größe A bis E (EIA-3216, EIA-3528, EIA-6032, EIA-7343 und EIA-7360). Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Ohne Garantie und unter GNU-GPL. Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT89-3_SOT89-5_Housing_RevA_02Sep2012.zip]] Footprints und 3D-Mesh Modelle von SOT89-3 und SOT89-5 SMD Gehäusen. Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT126_SOT32_Housings_RevA_22Oct2012.zip]] Footprints und 3D-Mesh Modelle von SOT126 / SOT32 Gehäusen. Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Allegro_HallSensors_24Oct2012.zip]] Footprints und 3D Modelle von Allegro Hall-Effect Stromsensoren mit PFF, PSF oder PSS Gehäuse (ACS754, ACS755, ACS756).  Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:VML0806_Housing_Rohm_27Oct2012.zip]] Footprints und 3D Modell eines Transistors im 0806 Format (VML0806 / Rohm).  Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:TO-50_Housings_RevA_21Apr2013.zip]]  Footprints/Module von TO50-3 und TO50-4 Transistor Gehäusen.Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:OldSowjetAera_Transistor_RevA.zip]] Footprints/Module von Kleinleistungstransistoren aus der Sowjetära.Mit 3D-Modell und PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:SIP9_Housing_14Jun2013.zip]] Footprints/Module von SIP9 Gehäusen (z.B. TA7358).Mit 3D-Modell und PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:7Segment_16Sep2013.zip]] Footprints/Module von 7-Segment Anzeigen HDSM531 (SMD), HDSM533 (SMD), LTS6760, LTS6780 undSBC18-11EGWA. Dazu PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:BNC-Sockets_RevA.zip]] Footprints/Module von TYCO BNC-Buchsen für KiCad. Mit 3D Modellen und PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:LQFP_TQFP_RevA_06Oct2013.zip]] Footprints/Module von LQDP48/TQFP48 Gehäuseb für KiCad. Ohne 3D Modelle, aber mit PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:LEM_HallEffectTransducers_RevA_13Oct2012.zip]] Module/Footprints von Halleffekt Stromwandlern der Serien &amp;quot;HX&amp;quot; und &amp;quot;HTFS&amp;quot; von LEM. Mit 3D-Modellen  und PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
==== 3D-Modelle ====&lt;br /&gt;
&lt;br /&gt;
* [[Media:MeshModells_VRML-Wings3D_13Oct2013.zip]]  3D-Modelle diverser elektronischer Bauteile im wrl 2.0 und wings Format. Enthalten: DD-PAK (TO263AB), D-PAK (TO252AA), SMD Dioden MELF, MiniMELF, SMA, SMB und SMC, Transformatoren ETAL P1165, P1200, P2781, P3000, P3181, PP3188 und P3191, SO126 / SOT32 in horizontal und vertikal, SOT223-3, TO263-3, SOT89-3, SOT89-5, TO220 horizontal und vertikal und reverse. TO220-5 horizontal, vertical, inline und verkröpft, VML0806. SIP9. 7 Segment SMD Anzeige HDSM531/HDSM533 in Grün, gelb, rot und orange. directFET SMD-Transistor Gehäusen von International Rectifier für KiCad. Enthält die SH, SJ, SQ, ST, S1, MN, MP, MT, MX, MZ und die L8-Outlines. Flachsicherungen Standard und Mini. Halleffekt Stromwandler LEM &amp;quot;HX&amp;quot; Serie und Allegro ACS754/ACS755/ACS756 mit CB-PFF, CB-PSF und CB-FSS Gehäusen. Ohne Garantie und unter CC-Zero / Public Domain Lizenz. Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
==== Building-Blocks ====&lt;br /&gt;
*[[Media:BuildingBlocks_16Jun2013.zip]] enthält eine Sammlung von gängigen Schaltungen mit den Längstreglern LM317 /LM78xx /LM79xx und dem Timer 555, die nach dem in diesem [[Media:HierarchischeSchaltplaeneAlsBausteineInKicad_RevC_23Dec2013.pdf]] Dokument beschriebenen Vorgehen als Building Blocks in KiCad verwendet werden können. Ein Katalog dazu befindet sich hier: [[Media:KatalogUeberKiCadBuildingBlocks_21Apr2013.pdf]]. Autor: Bernd Wiebus, Lizenz: Creative Commons. Experimentell! Ohne Garantie! Mit Vorsicht geniessen!&lt;br /&gt;
&lt;br /&gt;
Wenn mindestens ein weiterer KiCad User die Bibliothek geprüft hat, kann sie in den folgenden Unterabschnitt verschoben werden.&lt;br /&gt;
&lt;br /&gt;
=== Geprüfte ===&lt;br /&gt;
&lt;br /&gt;
Hier sollen geprüfte Bibliotheken gesammelt werden. Bitte angeben, wer die Prüfung gemacht hat.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/132288#new STM32F103xx (LQFP64) Schaltplansymbol] erstellt/geprüft: Dominik C.; Marko S.&lt;br /&gt;
* Bei der STMF103xx fehlt glaub ich der Portpin PD2 :) Grüße :)&lt;br /&gt;
&lt;br /&gt;
=== Sonstige Bibliotheken im Netz ===&lt;br /&gt;
&lt;br /&gt;
Die Einträge hier sind nach [[KiCad-Bibliotheken#Bibliotheken_im_Netz|KiCad-Bibliotheken im Netz]] verschoben worden. &#039;&#039;&#039;Bitte Überarbeitungen und neue Einträge nur dort vornehmen!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bitte diesen Unterpunkt &#039;&#039;&#039;nicht Löschen&#039;&#039;&#039;, da es Verweise aus dem Forum oder von sonstwo geben mag, die sonst ins Leere laufen, ohne eine Erklärung für den User.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Werkzeuge ==&lt;br /&gt;
&lt;br /&gt;
Da die in KiCad verwendeten Dateien klarschriftlesbar sind, lassen sie sich sehr leicht mit externen Programmen und Skripten bearbeiten, um spezielle Funktionalitäten zu erzeugen. Eine kleine Auswahl an Programmen/Skripten ist hier zusammengestellt:&lt;br /&gt;
&lt;br /&gt;
* Zuallererst: Mittlerweile hat sich rund um KiCad eine ganze Reihe von Hilfsprogrammen etabliert. Einige davon können über die offizielle KiCad Site gefunden werden: [http://kicad.org/external-tools/ KiCad-External Tools]. Zurzeit (04Oct2019) sind dort [https://github.com/easyw/kicadStepUpMod/ KiCad StepUp] als Plugin für FreeCAD, [https://github.com/xesscorp/KiCost KiCost] zur Tabellenkalkulationserstellung und Kostenermittlung aus KiCad-Schaltplänen, [https://github.com/thesourcerer8/altium2kicad Altium2KiCad] um aus Altium PCBs und Schaltplänen solche für kiCad zu erstellen, [http://neo900.org/stuff/eeshow/ EEschow] zur Konvertierung von KiCad-Schaltplänen in verschiedene Grafikformate, sowie [[Schaltplaneditoren#Fped|Fped]], mit dem sehr komfortabel Footprints für KiCad erstellt werden können, gelistet.&lt;br /&gt;
* [http://kicad.rohrbacher.net/quicklib.php Quick KICAD Library Component Builder]&lt;br /&gt;
* Gerber-Tools sind für KiCad weniger nötig, da KiCad mit GerbView seinen eigenen Gerberviewer mitbringt. Dieser ist mächtig genug, die eingelesenen Gerberfiles als Platine in PCBnew zu exportieren, wo sie manipuliert werden können. Dieses geht aber nur mit Gerber-RS274X Daten. Ebensowenig können Gerberfiles zu Nutzen zusammengefügt werden. Hierzu bietet sich &amp;quot;Gerbmerge&amp;quot; http://ruggedcircuits.com/gerbmerge (http://claymore.engineer.gvsu.edu/~steriana/Python/gerbmerge/ Veraltet) an. Wer lediglich aus Sicherheitsgründen die von KiCad erzeugten Gerberdaten mit einem fremden Gerber-Vierer inspizieren möchte, findet hier Hinweise:http://www.mikrocontroller.net/articles/Gerber-Tools&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/204063#2011138 KiCad (Multi-)Symbol Tool] von Joghurt3000 zur Erstellung von Symbolen aus einer Textvorlage&lt;br /&gt;
* [http://cyclerecorder.org/footprintbuilder Footprintbuilder] Java-Programm zu Erstellung von Footprints.&lt;br /&gt;
*Wer seine Platine &amp;quot;panelisieren&amp;quot; (d.h. mehrmals nebeneinander anordnen um in einem &amp;quot;Nutzen&amp;quot; gleich mehrere Platinen fertigen zu können) möchte, kann das mit dem Python 2 Skript &amp;quot;panelize.py&amp;quot; tun. Das Programm arbeitet direkt auf den kicad .brd Files, so das das Mehrfachnutzen Board unter PCBnew nachbearbeitet werden kann, für z.B. einen  DRC. &amp;quot;panelize.py&amp;quot; kann hier bezogen werden: http://blog.borg.ch/?p=12&lt;br /&gt;
* &amp;quot;Raef&amp;quot; hat ein Python Script erstellt, das Bauteile automatisch ähnlich der Anordnung im Schaltplan plaziert. Siehe: http://www.mikrocontroller.net/topic/293903#3245990&lt;br /&gt;
*Wer die Reihenfolge der Subschaltpläne ändern will (Wegen Übersichtlichkeit/Bestimmt auch die Reihenfolge beim Ausdrucken), kann dieses Python 3 Skript verwenden (Liesmich/Readme beachten): http://www.mikrocontroller.net/wikifiles/9/90/PyKicadSchematic-ID_Interchanger_RevC.zip Autor: Bernd Wiebus, GNU-GPL. Dieses Skript ist unabhängig von der PCBnew internen Python 2 Schnittstelle.&lt;br /&gt;
* Um ältere Schaltpläne von vor Jan./Feb. 2014 (BZR4646) mit &amp;quot;upper case&amp;quot; Symbolnamen zu konvertieren, kann dieses Python 3 Skript verwendet werden: [[Media:PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip]]. Autor: Bernd Wiebus, GNU-GPL. Dieses Skript ist unabhängig von der PCBnew internen Python 2 Schnittstelle.&lt;br /&gt;
* Wem das Tricksen mit Dateimanager oder Schematic oder Board als Bibliotheksmanager nicht gefällt, findet vieleicht im &amp;quot;KiCad Libarian&amp;quot; ein passendes Tool: http://www.compuphase.com/electronics/kicadlibrarian_en.htm&lt;br /&gt;
* Diverse Skripte, um KiCad Symbole, Footprints oder sonstigen Bibliothekskram zu bearbeiten. [https://github.com/KiCad/kicad-library-utils]&lt;br /&gt;
* Cirillo Bernardo hat einige Programme geschrieben, um VRML 3D Gitter Modelle für Bauteile parametrisch zu erzeugen. Sie finden sich hier: https://github.com/cbernardo/kicad3Dmodels&lt;br /&gt;
* Peter Hofbauer hat einige Windows Programme geschrieben, die zur KiCad Unterstützung dienen: http://www.hcp-hofbauer.de/software.htm Bei den Programmen handelt es sich um &amp;quot;Aufräumprogramme für Bibliotheken, Stücklistenerzeugung, Extraktionsprogramm um eine Verdrahtungsliste aus einer Netzliste zu erzeugen, Ein Programm um Boherdurchmesser zu vereinheitlichen und ein Programm, um zusammen mit &amp;quot;Linegrinder&amp;quot; G-Code aus KiCad Boarddateien zu erzeugen. &lt;br /&gt;
* [http://escalalibre.com/edwt/kicad_sizeConverter.php KiCad Bitmap2Component Skalierer] Erlaubt es, Logos zu skalieren.&lt;br /&gt;
* [http://escalalibre.com/edwt/kicad_modTextChanger.php KiCad Module Text Changer]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/381605?reply_to=4346454#4346280 KiCad Symbol Generator Tool] KiCad Symbol Generator Tool als Python Skript&lt;br /&gt;
* [https://github.com/tlantela/KiCad_layout_cloner/blob/master/layout_cloner.py KiCad Layout Cloner] Python Skript. Siehe http://www.mikrocontroller.net/topic/382657#4363261&lt;br /&gt;
* [https://forum.kicad.info/t/kicad-stepup-the-sketcher-for-getting-to-blinky/7826] StepUp, eine Workbench für FreeCAD (ein open source 3D CAD Program) um den Import und Export von mecanichen CAD Daten von KiCad zu erleichtern.&lt;br /&gt;
* [https://hasanyavuz.ozderya.net/?p=256 Ein Backannotationstool für KiCad] als Pythonskript&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/450655#new Ein Tool, um per Skripting Messpunkte für einen Nadelbettadapter zu erzeugen.] Geht von Gerberdaten aus, die in KiCad importiert werden&lt;br /&gt;
&lt;br /&gt;
== Konverter ==&lt;br /&gt;
&lt;br /&gt;
Konverter wandeln KiCad-Daten in die Daten anderer Layoutprogramme bzw. die Daten anderer Layoutprogramme in KiCad-Daten um.&lt;br /&gt;
Nativ kann KiCad gEDA Footprints bzw. neuere Eagle Footprints direkt als Bibliothek einbinden. Das ganze ist aber als noch sehr experimentell zu betrachten.&lt;br /&gt;
&lt;br /&gt;
Des Weiteren gibt es einige Programme oder Skripte von dritter Seite, die Daten anderer Layoutprogramme in KiCad Daten umwandeln. Auch diese sind als experimentell einzustufen.&lt;br /&gt;
&lt;br /&gt;
Hier eine Auswahl:&lt;br /&gt;
* https://github.com/thesourcerer8/altium2kicad Wandelt Altium Schaltpläne und Layouts in KiCad Daten um.&lt;br /&gt;
* https://github.com/DanChianucci/Eagle2Kicad Wandelt Eagle 6.0 Layouts in KiCad Layouts.&lt;br /&gt;
* https://github.com/lachlanA/eagle-to-kicad Wandelt Eagle 6.0 Layouts in KiCad Layouts.&lt;br /&gt;
* http://www.cadsoft.de/downloads/file/eagle2kicad-0.9c.ulp Direkt von der Cadsoft Seite, ein ULP das Eagle Daten in KiCad Daten wandelt.&lt;br /&gt;
* http://www.cadsoft.de/downloads/file/eagle2kicad_sch.ulp Ebenfalls direkt von der Cadsoft Seite, ein ULP, das Eagle Schaltpläne in KiCad Schaltpläne wandelt.&lt;br /&gt;
* http://sourceforge.net/projects/pcad2kicad/ Wandelt P-CAD Schaltpläne, Layouts und Bibliotheken in KiCad Daten um.&lt;br /&gt;
* Gerber_Settings    [https://www.mikrocontroller.net/attachment/319118/originpoint.png originpoint]     [https://www.mikrocontroller.net/topic/319266?page=5#4891032 Gerber_Settings] [https://www.mikrocontroller.net/attachment/319192/Bohrdatei.png Drill_Files_Generation]&lt;br /&gt;
* https://github.com/mtl/svg2mod Tool, welches SVG in KiCad Board Layers wandelt. Einleitende Informationen finden sich hier: https://www.mikrocontroller.net/topic/440552#5234307&lt;br /&gt;
* https://github.com/thesourcerer8/altium2kicad Altium2KiCad um Altium Projekte in KiCad Schaltpläne und Boards zu konvertieren.&lt;br /&gt;
&lt;br /&gt;
Erfahrungsberichte willkommen!&lt;br /&gt;
&lt;br /&gt;
= Beispielprojekte =&lt;br /&gt;
&lt;br /&gt;
Projekte, die mit KiCad umgesetzt worden sind, finden sich auf der [[KiCad-Projekte|KiCad-Projektseite]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- alt -- &lt;br /&gt;
= Diskussionen (teilweise seeeehr alt) =&lt;br /&gt;
&lt;br /&gt;
* http://www.mikrocontroller.net/topic/120373#1089075 &lt;br /&gt;
* http://www.mikrocontroller.net/topic/98034#848559&lt;br /&gt;
* http://www.mikrocontroller.net/topic/95864#828660&lt;br /&gt;
* http://www.mikrocontroller.net/topic/77738#647041&lt;br /&gt;
* http://www.mikrocontroller.net/topic/103806#907523&lt;br /&gt;
* http://www.mikrocontroller.net/topic/41999#316195&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Weblinks =&lt;br /&gt;
&lt;br /&gt;
* [http://www.kicad.org kicad.org] Die neue Homepage&lt;br /&gt;
* [http://kicad.org/help/documentation/ Offizielle Dokumentation]&lt;br /&gt;
* [https://bugs.launchpad.net/kicad Bugreports] erstellen und nach vorhandenen Fehlern suchen, wenn einem etwas komisch vorkommt.&lt;br /&gt;
&lt;br /&gt;
* Tutorials: &lt;br /&gt;
&amp;lt;!-- alt -- ** [http://kicad.sourceforge.net/wiki/index.php/DE:Mini_tutorial Mini-Tutorial] --&amp;gt;&lt;br /&gt;
** [http://timogruss.de/kicad-loesung-fuer-die-leiterplatten-entwicklung/ KiCad Tutorial auf timogruss.de] (deutsch) (2013)&lt;br /&gt;
** https://www.youtube.com/watch?v=XD_PaSrLKBk Schematic Pages and Hierarchy In KiCad - Hierarchischer Schaltplan (2014)&lt;br /&gt;
** https://www.youtube.com/watch?v=YCdpXwRKbYc Create a library and put your own component in that library. (2014)&lt;br /&gt;
&amp;lt;!-- alt --&lt;br /&gt;
** http://store.curiousinventor.com/guides/kicad&lt;br /&gt;
** https://contextualelectronics.com/course/kicad-tutorial/ (Video Tutorials auf Englisch)&lt;br /&gt;
** http://xtronics.com/reference/kicad.html --&amp;gt;&lt;br /&gt;
** http://bastler-archiv.de/elektronik/platinenherstellung-platinenlayout-mit-kicad-teil-1/ (deutsch, Teil 1) (2011)&lt;br /&gt;
** http://bastler-archiv.de/elektronik/platinenherstellung-platinenlayout-mit-kicad-teil-2/ (deutsch, Teil 2) (2011)&lt;br /&gt;
** http://www.kramann.info/73_COACH3/06_Layouting/Layouting_art_Guido_Kramann_12122010.pdf (2010)&lt;br /&gt;
** [https://rheingoldheavy.com/category/education/kicad/ KiCad Tutorials zum Workflow, Migration alter KiCad Versionen und zu Stücklisten (RheingoldHEAVY, auf englisch)] (2015)&lt;br /&gt;
&amp;lt;!-- alt -- ** [http://roberthall.net/Wings3D_Tutorial_KiCad Tutorial zur Benutzung von Wings3D im KiCad Umfeld (englisch)] --&amp;gt;&lt;br /&gt;
** https://www.youtube.com/watch?v=i4vLxAoLvPk Video Tutorial auf Deutsch. Relativ aktuell.&lt;br /&gt;
&lt;br /&gt;
* Info&lt;br /&gt;
** [https://kicad.mmccoo.com/kicad-scripting-table-of-contents/ Python Scripting for KiCad] und [http://docs.kicad.org/doxygen-python/namespacepcbnew.html Befehlsliste]&lt;br /&gt;
** [https://wiki.aalto.fi/display/MEX/Introduction+to+KiCad] Ein paar Tips am Rande (2014)&lt;br /&gt;
** [http://www.daedalus.ei.tum.de/index.php/de/3d-druck-cnc/cnc/layout-und-g-code-erstellung-mit-kicad] Info für Leute, die Platinen durch Isolationfräsen statt ätzen erstellen&lt;br /&gt;
** [http://davidetienne.me/blog/2015/10/05/kicad-convert-ti-bxl-cad-files-to-kicad-libraries/] Ein Weg, um Libraries, die im Texas Instruments Format &amp;quot;.bxl&amp;quot; vorliegen, in KiCad Bibliotheken zu konvertieren. (2015)&lt;br /&gt;
&lt;br /&gt;
* Usergroups:&lt;br /&gt;
** [https://groups.yahoo.com/neo/groups/kicad-users/info Yahoo-KiCad-User-Group (Englischsprachig)]&lt;br /&gt;
** [https://forum.kicad.info/ Endlischsprachiges KiCad Forum]&lt;br /&gt;
&amp;lt;!-- alt -- ** [http://1.cad-kicad-user.cadtalk.us/ Englischsprachige Diskussionen über KiCad im &amp;quot;Cadtalk&amp;quot;-Forum] Leider nicht mehr existent. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tools&lt;br /&gt;
** [http://www.freerouting.net/ Freerouting] Autorouter (down: Download siehe [https://www.mikrocontroller.net/articles/KiCad#Tipps.26Tricks:_KiCad_und_Freeroute Tipps und Tricks])&lt;br /&gt;
** [http://www.mikrocontroller.net/articles/KiCad#Tools Liste mit externen Programmen und Skripten im Zusammenhang mit KiCad]&lt;br /&gt;
&lt;br /&gt;
* Verschiedenes im Zusammenhang mit KiCad&lt;br /&gt;
** [https://github.com/KiCad/kicad-library/wiki/Kicad-Library-Convention Kicad Library Convention / Regeln für offizielle KiCad Bibliotheken (Englisch)]&lt;br /&gt;
** [http://www.compuphase.com/electronics/LibraryFileFormats.pdf Aufbau der unterschiedlichen KiCad Bibliotheks Files (englisch)]&lt;br /&gt;
** [http://www.ohwr.org/projects/cern-kicad/wiki/WorkPackages CERN KiCad development roadmap / Was ist in KiCad Entwicklung geplant? (englisch)]&lt;br /&gt;
** [http://home.web.cern.ch/about/updates/2015/02/kicad-software-gets-cern-treatment Warum das CERN KiCad unterstützt (englisch)]&lt;br /&gt;
** [https://www.youtube.com/watch?v=chejn7dqpfQ Video mit der Leiterbahnlängenanpassen Funktion bzw. der &amp;quot;Differential pair&amp;quot; Funktion in KiCad.]&lt;br /&gt;
** [http://www.youtube.com/watch?v=irqlrVUbjuQ Video mit dem interaktiven Router]&lt;br /&gt;
&lt;br /&gt;
* Plattformen&lt;br /&gt;
&amp;lt;!-- alt -- ** Mac: http://brokentoaster.com/kicad/ --&amp;gt;&lt;br /&gt;
**Ubuntu: [http://www.mikrocontroller.net/topic/257321#2658268 KiCad selber compilieren] (2012)&lt;br /&gt;
** http://wiki.xtronics.com/index.php/Kicad Transtronics site (englisch)&lt;br /&gt;
&lt;br /&gt;
* HowTo von Tom Boyd (englisch)&lt;br /&gt;
** http://kicadhowto.wikidot.com/&lt;br /&gt;
** http://kicadhowto.org/&lt;br /&gt;
&lt;br /&gt;
* [https://hasanyavuz.ozderya.net/?p=256 PCB back annotation in KiCAD with Python]&lt;br /&gt;
&lt;br /&gt;
= Literatur =&lt;br /&gt;
* &#039;&#039;&#039;KiCad wie ein Profi&#039;&#039;&#039;, von Dr. Peter Dalmaris, Elektor-Verlag, 1. Auflage 2019, ISBN 978-3-89576-341-0&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=      =&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:KiCad]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=KiCad&amp;diff=107678</id>
		<title>KiCad</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=KiCad&amp;diff=107678"/>
		<updated>2025-08-23T11:07:18Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* SVG Plotten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Wegen eines Umbaus dieser Seite bitte unter Diskussion lesen!&#039;&#039;&#039; [[Diskussion:KiCad#Seitenumbau]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KiCad&#039;&#039;&#039; ist ein Open Source [[Schaltplaneditoren|Schaltplaneditor]] und PCB Layoutprogramm für Windows, Linux, Mac OSX. &lt;br /&gt;
Diese Seite ist zunächst eine Zusammenfassung aus den KiCad Beiträgen im Forum. Und gleich zu Anfang ein grosses DANKE an alle KiCad-User aus dem Forum. Ihr seid zu viele, um jeden einzeln zu nennen. Aber wer sich diese Seite durchliest und den Links folgt, wird euch kennenlernen.  &lt;br /&gt;
&lt;br /&gt;
Hier sollen alte und neue KiCad-Anwender einen Anlaufpunkt finden und neue, insbesondere µC-relevante Aktivitäten stattfinden. &lt;br /&gt;
&lt;br /&gt;
Diese Seite will keine Konkurrenz zum offiziellen KiCad Wiki sein, d.h. was dort steht soll hier nicht wiederholt werden und was hier steht wird hoffentlich zum offiziellen KiCad Wiki wandern.&lt;br /&gt;
&lt;br /&gt;
Die Bedienung von KiCad setzt Hintergrundwissen über die Vorgänge voraus. Die Bedienungsweise entspricht eher einem alten Orcad, Altium oder auch BAE und weniger der von Eagle. Daher ist es Neulingen dringend angeraten, sich vorher die Handbücher und Tutorials gut durch zu sehen. Zur Einarbeitung benötigt man schon etwas Geduld.&lt;br /&gt;
Wer offizielle Releases verwendet, wird oft Bugs feststellen, die aber in den Testing Versionen im allgemeinen beseitigt sind.&lt;br /&gt;
Wenn ihr Kritik oder Fragen zu KiCad habt, dann nutzt das Forum! Sobald KiCad im Betreff steht, wird der Beitrag gelesen und nach Möglichkeit beantwortet. Auch Ideen zu dieser Seite sind sehr willkommen! &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suchen und Finden&#039;&#039;&#039; Da diese Seite hier etwas umfangreich geworden ist, empfehle ich eine Textsuche. Jeder Internetbrowser, der etwas auf sich hält, hat auch eine Suchfunktion, mit der der Text der Seite durchsucht werden kann. Bei Firefox/Iceweasel oben im Pull-down Menue unter &amp;quot;Bearbeiten&amp;quot; &amp;gt; &amp;quot;suchen&amp;quot; oder per Shortcut &amp;lt;Strg-F&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Link defekt -- Siehe auch die offizielle FAQ: http://kicad.sourceforge.net/wiki/index.php/FAQ --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;!-- alt 2007 -- &lt;br /&gt;
* Warum gefällt dir KiCad?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/70905#584639&lt;br /&gt;
** http://www.mikrocontroller.net/topic/81396#680502&lt;br /&gt;
** http://www.mikrocontroller.net/topic/83311#697917&lt;br /&gt;
** http://www.mikrocontroller.net/topic/42614#321502&lt;br /&gt;
* Warum gefällt dir KiCad nicht?&lt;br /&gt;
** Ich verstehe nicht, was du meinst ;-)&lt;br /&gt;
** http://www.mikrocontroller.net/topic/81396#680502&lt;br /&gt;
** http://www.mikrocontroller.net/topic/83311#697969&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wo gibt es weitere Infos zu KiCad?&lt;br /&gt;
** [http://KiCad.org Offizielle Homepage] &lt;br /&gt;
** [http://KiCad.org/help/ Die Offizielle Dokumentation] &lt;br /&gt;
** Einige allgemeine [https://docs.google.com/document/d/1M38ByFyqnhwGo8b_jDDyBceyZtEGeaSAuQaP9REzWrU/edit?usp=sharing Notizen] zur &#039;&#039;&#039;Installation&#039;&#039;&#039; und zur &#039;&#039;&#039;Arbeitsweise&#039;&#039;&#039; von KiCad &lt;br /&gt;
&amp;lt;!-- alt 2008 -- ** http://www.mikrocontroller.net/topic/98034#848661 (Von 2008, also seeeehr überholt) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Welche Leiterplattenfertiger akzeptieren KiCad Layouts?&lt;br /&gt;
** [http://www.pcb-pool.com/ppde/info_dataformat.html PCB-Pool.de]&lt;br /&gt;
** [http://fischer-leiterplatten.de Fischer Leiterplatten]&lt;br /&gt;
** [https://www.oshpark.com/ OSH Park]&lt;br /&gt;
&lt;br /&gt;
* Welche Gerberfiles benötigt der Leiterplattenhersteller?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/399503#new Forumsbeitrag]&lt;br /&gt;
** [[Gerber-Tools]] &lt;br /&gt;
** [[Richtiges_Designen_von_Platinenlayouts#Produktionsgerechter_Entwurf | Hinweise zur Technologie]]&lt;br /&gt;
&lt;br /&gt;
* Wie kriege ich raus, welche Leiterbahn welchen Netznamen hat, bzw. ich habe den Überblick verloren und weiß nicht mehr, was aus dem Layout nun was im Schaltplan ist?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/316539#3427724 Forumsbeitrag], Funktioniert nur gut, wenn ein großes Fadenkreuz gewählt ist.&lt;br /&gt;
** Genauere Informationen, z.B. über die Länge einer Leiterbahn etc. Dazu in PCBnew den gleichen Button rechts wie für das Hinzufügen von Leiterbahnen aktivieren. Oder besser noch rechts den zweiten Button von oben &amp;quot;Netz hervorheben&amp;quot;. Dann mit der rechten Maustaste die fragliche Leiterbahn anklicken. Unten in der Statusleiste werden die Informationen angezeigt.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/267538#new Forumsbeitrag]: KiCad ohne Maus bedienen. &lt;br /&gt;
* [http://www.mikrocontroller.net/topic/302664#3249204 Forumsbeitrag]: Gibt es Sonderzeichen, die ich für Symbole, Module/Footprints oder Files nicht verwenden sollte? Ja, alles was Sonderzeichen außer &amp;quot;- _ .&amp;quot; (Bindestrich, Tiefstrich, Punkt) und keine Zahl ist.&lt;br /&gt;
&lt;br /&gt;
* Wie stelle ich in KiCad das Zeitintervall für &amp;quot;automatisch Speichern&amp;quot; ein?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/459135#5551638 Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
* Woher beziehe ich KiCad?&lt;br /&gt;
** [http://kicad.org/download/ Offizielle Seite], alle Betriebssysteme        &lt;br /&gt;
*** Aktuelle Version: &#039;&#039;&#039;KiCad 9.0.4&#039;&#039;&#039; veröffentlicht im August 2025&lt;br /&gt;
*** Nightly Development Builds auch von der offiziellen Seite&lt;br /&gt;
*** KiCad kann man aus den Sourcen selbst compilieren. Dazu gibt es Skripte zur Unterstützung, die dieses automatisieren, so dass man nicht unbedingt C/C++ Kenntnisse braucht. Die meisten gängigen Linux Distributionen enthalten aber &amp;quot;old stable&amp;quot; KiCad Releases in ihren Repositories.&lt;br /&gt;
&amp;lt;!-- alt -- ** Windows: http://www2.futureware.at/~nickoe/ &lt;br /&gt;
*** Welcher Typ? ...-x86_64.exe oder ...-i686.exe ? Ich brauche x86 32 bit.&lt;br /&gt;
**** Für Windows PC 32 bit die ...-i686.exe, und für Windows PC 64 bit ...-x86_64.exe.&lt;br /&gt;
** Veraltet: http://www71.zippyshare.com/v/28617008/file.html Die Quelle ist hier genannt. https://groups.yahoo.com/neo/groups/kicad-users/conversations/messages/18534 --&amp;gt;&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/298311#3187885 Liste der Versionsänderungen] &lt;br /&gt;
* [http://www.mikrocontroller.net/topic/307517#new Forumsbeitrag]: Ich habe KiCad unter Linux installiert, aber wenn ich KiCad starten will, passiert einfach nichts, oder ich erhalte eine Fehlermeldung wie: &amp;quot;Datei nicht gefunden&amp;quot; &lt;br /&gt;
** 1) KiCad und seine zugeordneten Programme sollten im Suchpfad stehen. Es wird für Debian und Ableger empfohlen, KiCad unter usr/local/bin zu installieren. Anmerkung: Das ist die aktuelle Verfahrensweise. Oktober 2013 wurde aber noch folgende Struktur verwendet:&lt;br /&gt;
*** /usr/bin                            - Binaries (executable files).&lt;br /&gt;
*** /usr/share/doc/kicad/               - Various documentation.&lt;br /&gt;
*** /usr/share/doc/kicad/help           - Interactive help.&lt;br /&gt;
*** /usr/share/kicad/demos              - Sample schematics and printed boards.&lt;br /&gt;
*** /usr/share/kicad/internat           - Dictionaries for interface localization.&lt;br /&gt;
*** /usr/share/kicad/library            - Interface localization files.&lt;br /&gt;
*** /usr/share/kicad/modules            - Module libraries for printed boards.&lt;br /&gt;
*** /usr/share/kicad/modules/packages3d - 3D component models (.wrl and .wings format).&lt;br /&gt;
*** [http://iut-tice.ujf-grenoble.fr/cao/install.txt Quelle], hier sind auch Hinweise für Windows user enthalten.&lt;br /&gt;
&lt;br /&gt;
** 2) User sollten dort Lese- und Ausführungsrechte haben. Aber keine Schreibrechte.&lt;br /&gt;
** 3) Wenn ein fertiges Packgage auf einem 64 bit System verwendet wurde, könnte es daran liegen, das es für 32 bit compiliert wurde, und nicht für 64 bit. Es gibt zwei Möglichkeiten:&lt;br /&gt;
*** a) Selbst aus den Sourcen für sein eigenes System compilieren.&lt;br /&gt;
*** b) Die Runtime Libs für 32 Bit könnten fehlen. Nachinstallieren mit sudo apt-get install ia32-libs. Siehe [http://www.mikrocontroller.net/topic/307517#3307638 Forumsbeitrag]&lt;br /&gt;
* Ich habe das umgekehrte Problem: 32bit system aber 64bit Binarys.&lt;br /&gt;
** Selbst aus den Sourcen neu compilieren.&lt;br /&gt;
&amp;lt;!-- alt -- *Ich will/muss mir KiCad selber compilieren. Wie gehe ich vor?&lt;br /&gt;
** Aktuell nach: http://www.kicad.org/display/DEV/Build+KiCad&lt;br /&gt;
**&lt;br /&gt;
**Veraltet! siehe: http://www.mikrocontroller.net/topic/310766#3351269 Aber Achtung. Diese Anleitung (Oktober 2013) muss nicht aktuell sein. --&amp;gt;&lt;br /&gt;
* Sicherheitseinstellungen von Java sind für PCBnew unter JAVA -&amp;gt; JAVA konfigurieren zu finden.&lt;br /&gt;
&lt;br /&gt;
* Diskussionen zum Thema Installation und compilieren:&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/338600#new FEDORA] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/339509#new ARCH Linux]&lt;br /&gt;
* Konfigurationsdateien:&lt;br /&gt;
** Ab BZR5114 (ca. 5. September 2014) hat sich der Ordner für die Files mit den Konfigurationsdaten geändert. Unter Linux sind nun die Konfigurations Dateien in $HOME/.config/kicad (entsprechen der FreeDesktop.org Spezifikation). Um Ihre gegenwärtigen Konfigurierungen zu erhalten, können die KiCAd Konfigurationsfiles aus dem Home-Verzeichnis in den aktuellen Ordner kopiert werden. Es muss allerdings der führende &amp;quot;.&amp;quot; (Punkt) der Datei entfernt werden. Ebenso muss die globale &amp;quot;fp-lib-table&amp;quot; aus dem home-Verzeichnis dorthin kopiert werden. Windows User müssen KiCad leider reconfigurieren. Es gab keinen einfachen Weg um die Registry-Keys in die Konfigurationsdateien zu extrahieren. Die Konfigurationsdateien unter Windows werden genau wie die fp-lib-table im %APPDATA%\kicad Ordner gespeichert. Es ist angeraten, sämtliche Reste der KiCad Installation aus der Registry zu entfernen, wenn nicht KiCad Versionen vor der BZR5114 verwendet werden. Diese Lösung beseitigt die $home Ordner &amp;quot;Verschmutzung&amp;quot; und vermeidet die Benutzung der Windows registry, wie es häufig gewünscht wurde. Für OS X User ergeben sich keine Änderungen. [https://groups.yahoo.com/neo/groups/kicad-users/conversations/messages/18889 Link] auf die Originalnachricht (englisch):  (KiCad-User Group, 05. September 2014, Titel: Configuration file location changes (#18889) Autor: Wayne Stambaugh)&lt;br /&gt;
&lt;br /&gt;
=== Schaltplan ===&lt;br /&gt;
* Wie stellt man die Blattgröße beim Schaltplan ein?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/33653#974295 Forumsbeitrag]: In Page Settings die Blattgröße verstellen (z.B. von A4 auf A3) &lt;br /&gt;
* Wie mache ich eine neue Schaltplan Seite auf?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/398489#new Forumsbeitrag]: Nur in Form eines neuen hierarchischen Schaltplans&lt;br /&gt;
* Wie kann man den Schaltplan auf mehreren Seiten verteilen (hierarchical sheets)?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/96060 Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/117873#1060062  Forumsbeitrag]&lt;br /&gt;
*Wie geht man mit &amp;quot;Power Pins&amp;quot; in hi­e­r­ar­chischen Schaltplänen um?&lt;br /&gt;
**[http://www.mikrocontroller.net/topic/207905#new  Forumsbeitrag]&lt;br /&gt;
* Wie kann man die &amp;quot;hierachical sheets&amp;quot; benutzen, um aus vorgefertigten Subschaltplänen mit immer gleichen Bauteilgruppen rationell Schaltpläne zusammenzustellen (Building Blocks)?&lt;br /&gt;
** [http://www.mikrocontroller.net/articles/KiCad#Tipps.26Tricks:_Building_Blocks Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/175597#1687653 Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/178683#1724114 Forumsbeitrag]&lt;br /&gt;
* Ich habe einen hierarchischen Schaltplan angelegt. Wenn ich ihn ausdrucke, werden die Subschaltpläne in der Reihenfolge ausgedruckt, in der sie oben in der Übersicht stehen. Diese Reihenfolge ist aber in meinem Fall ungünstig. Wie kann ich diese nun ändern?&lt;br /&gt;
** Leider im Programm z.Z. noch nicht. Trotzdem ist es machbar. Entweder von Hand oder mit einem Python Skript. Näheres zu beidem findet sich ind diesem [http://www.mikrocontroller.net/topic/288394#3064087 Forumsbeitrag] . Ein Python 3 Skript, das den Umgang mit dem Kicad-Schaltplan erleichtert, findet sich [[Media:PyKicadSchematic-ID_Interchanger_RevC.zip | hier]].&lt;br /&gt;
*Wie geht man mit Bussen um?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/208870#new Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/209156#new Forumsbeitrag], speziell bei hierarchischen Schaltplänen&lt;br /&gt;
* Wie kann man Schaltplanentwurf (KiCad) und Schaltungssimulation (Spice) verbinden?&lt;br /&gt;
** NGspice ist in den Grundzügen mittlerweile in den entwicklungsversionen von KiCad integriert. Aktuell (Nov. 2016) muss man sich aber noch KiCad selber compilieren und dabei auch einen passenden Schalter für den Compiler setzten. Siehe: [https://www.mikrocontroller.net/topic/412350#4803960 Forumsbeitrag]&lt;br /&gt;
** [http://Fuhaweb.hartford.edu/kmhill/suppnotes/KiCadDia/AimSPICE/KiCad_AimSPICE_01.pdf Imformationen zur Zusammenspiel KiCad &amp;lt;&amp;gt; AimSpice] &lt;br /&gt;
* Ein [[Media:SymboleFuerKiCad318082009-RevC-DE.pdf | Tutorial]] zum Symboleditor für KiCad, mit dem die Symbole für das Schaltplanmodul (EEschema) erzeugt bzw. editiert werden.&lt;br /&gt;
* Zur Erstellung von Schaltplansymbolen in aufgelöster Darstellung (Relais: Kontaktsätze einzeln und getrennt von der Spule; IC: Versorgungsspannung getrennt von den einzelnen Gattern)&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/273891#new. Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/294095#3136180 Forumsbeitrag]&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/449373#new Forumsbeitrag]&lt;br /&gt;
* Wie kann man im Schaltplan Symbole zum Verschieben gruppieren?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/170913# Forumsbeitrag]&lt;br /&gt;
* Und wenn es darum geht, eine solche Gruppe in einen anderen Schaltplan oder Subschaltplan zu verschieben?&lt;br /&gt;
** Die Gruppe ins &amp;quot;Clipboard&amp;quot; stecken. Dazu nach dem Markieren der Gruppe rechte Maustaste klicken, und dort &amp;quot;Gruppe speichern&amp;quot; wählen. Nun ist die Gruppe im Clipboard. jetzt in den gewünschten Unterschaltplan gehen und die Gruppe dort mithilfe des Clipboardbuttons (Das Klemmbrett Symbol links neben dem &amp;quot;Undo&amp;quot;-Button) in den Schaltplan einfügen. NICHTS mit der rechten Maustaste versuchen! Siehe [http://www.mikrocontroller.net/topic/244836#2499782 Forumsbeitrag].  Das ganze geht nicht nur mit Subschaltplänen, sondern auch genauso in einen ganz anderen Schaltplan, den man dann halt in Eeschema öffnen muss, hinein. Wenn nach dem Einfügen allerdings nur ein Kästchen mit Fragezeichen erscheint, waren die nötigen Symbolbibliotheken für diese Symbole noch nicht in der Projektdatei eingetragen. Das muss man nun nachholen, indem man unter &amp;quot;Einstellungen&amp;quot; die &amp;quot;Bibliotheken&amp;quot; wählt, und die passenden Bibliotheken einträgt. Wenn man nicht genau weiß, wo diese zu finden sind, kann es sinnvoll sein, die *-cache.lib des Herkunftsschaltplanes einzubinden.&lt;br /&gt;
** Ist es möglich, im Schaltplan gruppierte Bauteile automatisch im Board als Gruppe zu verschieben?&lt;br /&gt;
*** Nein. Siehe [https://www.mikrocontroller.net/topic/398996#new Forumsbeitrag]&lt;br /&gt;
* Wie wird man den merkwürdigen Rahmen los?&lt;br /&gt;
** 1) Bei neueren KiCad Versionen, ab ca. Mitte 2013 (von mir getestet ab BZR 4513 29 November 2013) kann man sich eine Vorlage ohne Rahmen erstellen. Dazu den pl_editor (der ganz rechte Button im KiCad Hauptfenster) starten, und FAST alles entfernen. Dazu in der linken Spalte nacheinander alles aktivieren, und mit rechts anklicken und dann &amp;quot;entfernen&amp;quot; wählen. Aber Vorsicht, wenn alles Entfernt wird, taucht das Original Layout wieder auf. Workaround war bei mir, eine zusätzliche Alibilinie hinzuzufügen, die von X 0,000 Y 0,000 bis  X 0,001 Y 0,000 reicht. Das ist ein &amp;quot;Fliegenschiss&amp;quot; in der linken oberen Ecke. Jetzt kann alles andere gelöscht werden. Den so geleerten Rahmen unter einem beliebigen Namen mit der Endung .kicad_wks wegspeichern. Im geöffneten Schaltplan kann der dann unter Datei &amp;gt; Seite einrichten ganz unten unter &amp;quot;page layout file description&amp;quot; die entsprechende Datei eingebunden werden. Es bleibt aber dem Anwender offen, ob er den Rahmen komplett entfernt, oder noch Felder mit Textbeschreibungen übernimmt. Für gesteigerten Komfort kann diese Datei dann auch in ein Template eingebunden werden. &lt;br /&gt;
** 2) Beim Ausdrucken Frame deaktivieren.&lt;br /&gt;
** 3) Als SVG exportieren. Dort den Frame deaktivieren.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/343509#3791448 Forumsbeitrag]&lt;br /&gt;
* Wie schalte die Footprint-Namen in Eeschema global ab?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/253564#new Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Problem mit dem ERC. Ständig kommt die Fehlermeldung: &amp;quot;Pin ist mit anderen Pins verbunden, wird jedoch von keinem angesteuert&amp;quot;&lt;br /&gt;
** Netze, die nicht angesteuert werden, werden von Kicad misstrauische beäugt. Das &amp;quot;nicht ansteuern&amp;quot; kann aber schnell passieren, weil Kicad u.A. erwartet, das irgendwo ein Spannungsversorgung ist. Wenn diese aber z.B. über eine Sicherung oder einen Pull-up Widerstand gehen, so wird das nicht bemerkt, weil Sicherungen und Widerstände (oder auch Entstördrosseln) &amp;quot;passive&amp;quot; Pins haben. Siehe [http://www.mikrocontroller.net/topic/292988#new Forumsbeitrag] und [http://www.mikrocontroller.net/topic/298401#new Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Problem mit dem ERC. Immer in Verbindung mit GND kommt die Fehlermeldung: &amp;quot;Pin ist mit anderen Pins verbunden, wird jedoch von keinem angesteuert&amp;quot;&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/284089#new Forumsbeitrag]&lt;br /&gt;
* Beim ERC kommt die Fehlermeldung &amp;quot;PIN not connected&amp;quot; an Verbindungen, die per Label angeschlossen sind. Was ist da falsch?&lt;br /&gt;
**Sie sind tatsächlich nicht angeschlossen. [http://www.mikrocontroller.net/topic/346976#new Forumsbeitrag]&lt;br /&gt;
* Wie ist der Zusammenhang zwischen Bauteilen und Netznamen? Wie bekomme ich heraus, an welchem Netz mein Bauteil angeschlossen ist?&lt;br /&gt;
** Eeschema vergibt bzw. aktualisiert erst dann Netznamen, wenn eine Netzliste erzeugt wird. Darauf besteht entweder ein Zugriff über PCBnew, oder aber mit einem Editor. [http://www.mikrocontroller.net/topic/316539#new Forumsbeitrag]&lt;br /&gt;
* Ich habe einen Schaltplan geöffnet, aber alle oder einige der Symbole zeigen nur Kästen mit Fragezeichen.&lt;br /&gt;
** Es fehlen die passenden Symbolbibliotheken für diese Symbole.&lt;br /&gt;
** Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Diese Fehlen nun. Man braucht die Originalbibliotheken oder aber die Cache-Bibliothek dieses Schaltplans.&lt;br /&gt;
*** Diese müssen in der Liste der Bibliotheken nachgetragen werden. Siehe dazu die Handhabung von Bibliotheken: [[KiCad#Handhabung_von_Bibliotheken]]&lt;br /&gt;
** Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Diese Fehlen nun. Man braucht nun die Originalbibliotheken oder aber die Cache-Bibliothek dieses Schaltplans.&lt;br /&gt;
** Ab BZR4646 (Jan./Feb. 2014) behandelt KiCad Symbolnamen &amp;quot;Case Sensitive&amp;quot;. Das führt zu Problemen mit älteren Schaltplänen, wo das anders gehandhabt wurde.&lt;br /&gt;
*Wieviele Textfelder für Symbole kann ich anlegen und wie groß dürfen diese sein?&lt;br /&gt;
** Mindestens 35 Felder, die mindestens 256 Zeichen (tatsächlich deutlich mehr) beinhalten können. Aber Zeilenumbrüche gehen nicht. [http://www.mikrocontroller.net/topic/331201#3658695 Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Symbol im Symboleditor geändert. Aber irgendwie taucht diese Änderung dann in Eeschema trotzdem nicht auf.&lt;br /&gt;
** Die Reihenfolge der Einträge in der Bibliotheksliste ist wichtig. Bei gleichem Namen wird immer das zuerst gefundene Symbol verwendet. Steht die -cache.lib in der Reihenfolge zu oberst, wird immer zuerst das Bauteil aus der -cache.lib verwendet. Beheben: Die -cache.lib aus der Bibliotheksliste von Eeschema austragen und neu eintragen, so dass sie unten angefügt wird, und zuletzt geladen wird. Alternativ: Bei Änderungen einen neuen Namen für das Symbol vergeben. Z.B. durch das Pflegen eines Revisions- oder Datecode im Symbolnamen. Einfach nur die -cache.lib löschen langt möglicherweise nicht, weil diese u.U. mit alten Daten neu geschrieben wird (wenn z.b. Eeschema dabei nicht geschlossen ist). [http://www.mikrocontroller.net/topic/331201 Forumsbeitrag]&lt;br /&gt;
* Wie erstelle ich eine Stückliste (BOM, Bill of Materials)?&lt;br /&gt;
** 1) In PCBnew oben im Pull down Menue Datei &amp;gt; Fertigungsdateien &amp;gt; BOM (Bill of materials) Geht nur, wenn die Netzliste schon importiert wurde.&lt;br /&gt;
** 2) In EEschema unter Werkzeuge &amp;gt; Stückliste erstellen &amp;gt; und dann ein Plugin wählen. Es gibt verschieden Plugins mit verschiedenen Eigenschaften z.B. auch für kumulierende Listen. Die Plugins kann man von [https://github.com/KiCad/kicad-source-mirror/tree/master/eeschema/plugins hier] beziehen: Achtung, ein kleiner &#039;&#039;&#039;BUG&#039;&#039;&#039; In den Voreinstellungen der Kommandozeile muss in den Optionen &amp;quot;%O&amp;quot; in &amp;quot;%O.csv&amp;quot; umgewandelt werden, sonst hat die erzeugte Datei keinen .csv extender. Grundsätzlich: Hier wird zuerst eine behelfsmäßige Netzliste im .xml Format erstellt. Die Kommandozeile startet dann ein Programm, was widerum ein .xsl Skript (Das Plugin) abarbeitet, und als output eine .csv Datei erzeugt, die in Tabellenkalkulationen importiert werden kann. In die Kommandozeile kann natürlich auch etwas anderes eingetragen werden, so dass man dort z.B. auch Python Skripte verwenden kann.&lt;br /&gt;
** 3) Man kann sich selber ein separates Skript erstellen, welches die .kicad_sch Datei parst, und daraus eine .csv oder anders gestaltete BOM-Datei erstellt, so wie man es braucht. Da man auch ohne Plugins bei drücken von &amp;quot;Erstellen&amp;quot; die oben erwähnte behelfsmäßige Netzliste erhält, kann man diese auch mit externen Skripten bearbeiten. Es gibt Mittelwege zwischen 2) und 3). Für ein Python Skript siehe [https://forum.kicad.info/t/kibom-python-bom-generation-tool/3038 hier]&lt;br /&gt;
** Info:&lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/402089#new Forumsbnbeitrag]: &amp;quot;KiCad Stückliste&amp;quot; &lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/376977?goto=new#new Forumsbeitrag]: &amp;quot;Kicad Bauteilliste(BOM) erstellen&amp;quot;&lt;br /&gt;
**  [https://www.mikrocontroller.net/topic/402565#new Forumsbeitrag]: Klaus hat ein Plugin geschrieben, dass in html überträgt&lt;br /&gt;
* Ich möchte eine Stückliste (BOM, Bill of Materials) mit einer Datenbank, z.B. für Bestellnummern verbinden.&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/416192#4856645 Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
=== Netlist ===&lt;br /&gt;
* Was genau muss man beim Übergang vom Schaltplan (SCH) zum Layout (BRD) machen?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/33653#898771&lt;br /&gt;
** http://www.mikrocontroller.net/topic/39243#290309&lt;br /&gt;
** http://www.mikrocontroller.net/topic/39243#891530&lt;br /&gt;
* Kann man fertige Netzlisten für Gruppen von Bauteilen einbinden?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/33653#1462871&lt;br /&gt;
* Wie sieht das allgemein mit der Zuordnung Symbol zu Footprint aus?&lt;br /&gt;
** Symbole und Footprints sind zwar von der Idee her erst einmal getrennt, und Footprints werden über CVpcb und Netzliste den Symbolen zugeordnet.&lt;br /&gt;
** Allerdings besteht auch eine Möglichkeit, Symbolen einen bevorzugten Footprint  fest zuzuweisen, der dann automatisch in die Netzliste zum Einlesen in das Board eingetragen wird. Wenn dann der Zuweisungsschritt mit CVbcb in der Netzliste gemacht wird, ist dort schon etwas eingetragen, was man so lassen oder aber ändern kann.&lt;br /&gt;
*** Dazu in EEschema mit der Maus auf ein Symbol gehst und &amp;quot;E&amp;quot; drücken. Alternativ über rechten Mausklick auf Symbol und dann das Kontextmenuest gehen. Wenn man im Symboleditor arbeitet, aus der oberen buttonleiste den Button mit dem &amp;quot;T&amp;quot;-Symbol wählen. Es poppt ein Fenster auf &amp;quot;component properties&amp;quot;. In der Mitte ist eine Tabelle mit unter anderem einem Eintrag &amp;quot;Footprint&amp;quot;. Wenn dann &amp;quot;Footprint&amp;quot; aktiviert wird. kann rechts der Name eines Footprintes eingebenwerden (kompliziert), oder, wesentlich einfacher, darunter gibt es einen Button &amp;quot;browse Footprints&amp;quot;. Wenn der aktiviert wird, öffent sich ein Fenster, in dem sich in den in die Bibliothekslisten eingetragenen Footprintbiblotheken herumwühlen lässt.&lt;br /&gt;
** Desweiteren kann auch eine Kopie des Symbols unter anderem Namen angelegt werden, und dort ein anderer Footprint eingetragen werden, als Variante. Falls das Pinning nicht passt, müssen halt auch noch die Pinne im Symbol passend zum Footprint gemacht werden.&lt;br /&gt;
** Diskussion dazu: https://www.mikrocontroller.net/topic/432920#5112114&lt;br /&gt;
* Kann man Daten für automatische Bestückung erzeugen?&lt;br /&gt;
** Ja. aber nicht in CVpcb für die Symbol &amp;gt; Footprint Zuordnung, sondern im Layout Modul PCBnew.&lt;br /&gt;
* In meiner Netlist fehlen Bauteile, die im Schaltplan vorhanden und angeschlossen sind. Der ERC läuft problemlos durch. Die Annotation auch, aber nach Erstellung der Netlist sind die Symbole plötzlich mit einem vorangestellten &amp;quot;#&amp;quot; im Schaltplan bezeichnet.&lt;br /&gt;
** Vermutlich sind sie versehentlich als &amp;quot;virtuelles&amp;quot; Bauteil gekennzeichnet. Siehe http://www.mikrocontroller.net/topic/268626#new&lt;br /&gt;
* Wie exportiere ich eine Netlist NUR für einen Subschaltplan?&lt;br /&gt;
** Das geht, nachdem dieser Schaltplan explizit in EEschema geöffnet wurde. Siehe: http://www.mikrocontroller.net/topic/330740#new&lt;br /&gt;
* Ich finde CVpcb nicht mehr am gewohnten Platz zwischen all den anderen Startbuttons!&lt;br /&gt;
** CVpcb ist inzwischen aus diesen entfernt worden, und durch Startbuttons für den Symboleditor und den Footprinteditor ersetzt worden. Dafür kann CVpcb jetzt direkt aus Eeschema heraus gestartet werden. Es findet sich jetzt im oberen Pulldown Menue unter &amp;quot;Werkzeuge&amp;quot; und dann &amp;quot;Bauteilfootprints zuweisen&amp;quot; oder in der oberen Buttonleiste als dritter Button von rechts (BZR5175 vom 11 Oktober 2014).&lt;br /&gt;
** Sollte KiCad abstürzen, wenn man versucht, CVpcb zu starten, so kann man CVpcb auch direkt aus einem Terminal oder aus der Eingabeaufforderung heraus starten.  &lt;br /&gt;
** Versuchsweise mal 10 Minuten warten.....bei Problemen mit der Erkennung von Symbolnamen und Footprintnamen (beim öffnen ganz alter Projekte mit alten Dateiformaten) kann es manchmal extrem lange dauern.&lt;br /&gt;
* Was bedeuten die Maßangaben in der Netlist?&lt;br /&gt;
* Wie überträgt man Kicad Schaltpläne in QUCS Schaltpläne für Simulation?&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
* Wie stellt man die Rastergrösse im Layout ein?&lt;br /&gt;
** Mit der Rechten Maustaste in das Board klicken. Es poppt ein Menue auf. Dort Raster wählen..... Geht im Modul-Editor genauso.&lt;br /&gt;
* Wie verteile ich die übereinander geladenen Bauteile?&lt;br /&gt;
**Oben das IC Symbol mit den zwei Pfeilen (Mode footprint) aktivieren und mit der rechten Maustaste auf der Platine im Menü &amp;quot;Global spread and place&amp;quot; anwählen und die gewünschte Art auswählen.&lt;br /&gt;
* Wie werden Pads und Leiterbahnen verbunden?&lt;br /&gt;
**Siehe: http://www.mikrocontroller.net/topic/119755#1081455&lt;br /&gt;
**Aktueller: http://www.mikrocontroller.net/topic/220733#new&lt;br /&gt;
* Ich kann keine Leiterbahnen ziehen!&lt;br /&gt;
** Vermutlich hast Du den automatischen DRC (Design rule check) aktiviert. Deaktiviere ihn halt. In PCBnew im linken Buttonbar der oberste Button (Insekt mit Verbotszeichen). http://www.mikrocontroller.net/topic/306476#new&lt;br /&gt;
* Aber jetzt habe ich beim Ziehen der Leiterbahnen so merkwürdige Ergebnisse!&lt;br /&gt;
** Option &amp;quot;Remove redundant tracks&amp;quot; wählen! Siehe https://www.mikrocontroller.net/topic/381906#new &lt;br /&gt;
* Mir fehlen Airwires/Luftlinien/Gummibänder!&lt;br /&gt;
** Vieleicht die falschen Pins als Typ &amp;quot;Spannungsausgang&amp;quot; definiert? Siehe: http://www.mikrocontroller.net/topic/330817#3620918&lt;br /&gt;
* Ich bekomme immer eine Fehlermeldung vom DRC, das ein Pad nicht angeschlossen ist, aber ich habe es angeschlossen.&lt;br /&gt;
**Siehe: http://www.mikrocontroller.net/topic/204717#2018724&lt;br /&gt;
* Ich will ein Bauteil für geringeren Leiterwiderstand sowohl auf der Unterseite- als auch der Oberseite anschließen. KiCad löscht aber immer den alten Leiterbahnzug, wenn ich den neuen lege. &lt;br /&gt;
** Deaktiviere unter Einstellungen-&amp;gt;Allgemein das &amp;quot;auto-entfernen-von-Leiterbahnen&amp;quot; (einfachste Lösung). &lt;br /&gt;
** Alternativ: Designe dafür Bauteile mit speziellen Pads. http://www.mikrocontroller.net/topic/187606#1823596 (realistischste u. sauberste Lösung, aber etwas umständlich.)&lt;br /&gt;
* Das Löschen der Leiterbahnen Segment für Segment ist sehr umständlich. Geht es besser?&lt;br /&gt;
** Ja. Siehe: https://www.mikrocontroller.net/topic/385768#new &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Bei neueren (RC4 z.B.) Versionen von PCBnew kann unter &amp;quot;View&amp;quot; verschiedene &amp;quot;Canvas&amp;quot; verwendet werden. Jeder dieser &amp;quot;Canvas&amp;quot; verhält sich etwas anders und hat andere Vorzüge.&lt;br /&gt;
** Aktuell (Jan. 2019) mit Auswahlbox. Achtung: Die Auswahlbox hat anderes Verhalten in KiCad 6, je nachdem ob man sie von rechts oder von links aufgezogen hat! Details siehe: https://www.mikrocontroller.net/topic/467735#new&lt;br /&gt;
* Wie kann man ein Bauteil mit Pads und Leiterbahnen bewegen? &lt;br /&gt;
** http://www.mikrocontroller.net/topic/118539#1067219&lt;br /&gt;
* Wie füllt man eine Fläche aus?&lt;br /&gt;
** Siehe: http://www.mikrocontroller.net/topic/93131#854802&lt;br /&gt;
** Etwas aktueller: http://www.mikrocontroller.net/topic/182271#1772119 Zweiter Teil des Posts.&lt;br /&gt;
** Und wie erzeuge ich konzentrisch ineinanderliegende Flächen?&lt;br /&gt;
*** Siehe: http://www.mikrocontroller.net/topic/327475#new&lt;br /&gt;
** Wie ist das Verhalten von KiCad bei Flächen/Polygonen verglichen mit Eagle?&lt;br /&gt;
*** Siehe: https://www.mikrocontroller.net/topic/473604#new&lt;br /&gt;
** Ja, aber meine Fläche wird nicht gefüllt oder es passiert was ganz merkwürdiges.&lt;br /&gt;
***Siehe: http://www.mikrocontroller.net/topic/298692#new &lt;br /&gt;
***Konkreter: Es sollte darauf geachtet werden, das mindestens ein Endpunkt oder ein Via oder ein Knickpunkt der Leiterbahn, die mit der zu füllenden Fläche verbunden sein soll, innerhalb der als zu füllen definierten Fläche liegen. Siehe http://www.mikrocontroller.net/topic/366199#new&lt;br /&gt;
* Die Flächen habe ich jetzt, aber wie sieht das mit &amp;quot;Stitching&amp;quot; aus? Anmerkung: Als &amp;quot;Stitching&amp;quot; (von Engl. &amp;quot;stitch&amp;quot;: Nähen) bezeichnet man das Verbinden mehrerer Flächen oder Leiterbahnen gleichen Potentials mit Durchkontaktierungen durch die Platine hindurch. Üblich z.B. für Masseflächen. Die gleiche Technik kann auch verwendet werden, wenn man für Hochstromverbindungen mehrere Durchkontaktierungen parallel schalten möchte, wobei KiCad beim ziehen des Tracks nur eine  Durchkontaktierung setzt, und die anderen von Hand dazugesetzt werden müssen. &lt;br /&gt;
** Es gibt verschiedene Methoden. Je nach Geschmack. Siehe: http://www.mikrocontroller.net/topic/380550#new und https://www.youtube.com/watch?v=Hp5ngKtl7S4&amp;amp;list=PLJhdeJOBBRdnPgqcUiONoV4NLCo12f-jT&amp;amp;index=5&lt;br /&gt;
* Ich habe eine Platine, die von oben und unten bestückt ist. Wenn ich jetzt Bauteile zusammengruppiere, um sie gemeinsam zu verschieben, erwische ich immer alle Bauteile auf Vorder- und Rückseite. Wie bekomme ich das jetzt hin, das ich nur Module auf einer Seite bewege?&lt;br /&gt;
** Indem im Lagenmanager die Seite, die nicht bewegt werden soll, abgeschaltet wird. Siehe: http://www.mikrocontroller.net/topic/311586#new&lt;br /&gt;
* Wie bekommt man ein vernünftiges Boardoutline hin?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/96060#1057511 &lt;br /&gt;
* Wie erstellt man ein rundes Loch, z.B. eine Befestigungsbohrung / nichtdurchkontaktierte Bohrung?&lt;br /&gt;
** VERALTET: http://www.mikrocontroller.net/topic/179308#1726990&lt;br /&gt;
** VERALTET:http://www.mikrocontroller.net/topic/120373#1122219 ?????&lt;br /&gt;
** KiCad kann mittlerweile auch direkt nichtdurchkontaktierte Bohrungen erzeugen. Siehe dazu http://www.mikrocontroller.net/topic/263069#2732405 Enthält auch allgemeine Informationen zum Umgang mit durchkontaktierten und nicht durchkontaktierten Bohrungen.&lt;br /&gt;
Da Löcher mit einem Durchmesser ab 2mm gefräst statt gebohrt werden können, und ab 6mm Durchmesser mit hoher Sicherheit gefräst werden, ist es sinnvoll, Löcher ab ca. 4mm Durchmesser in PCBnew mit dem Kreistool in das Layer &amp;quot;edge.cuts&amp;quot; zu zeichnen.&lt;br /&gt;
&lt;br /&gt;
* Ich möchte für Passermarken / Fiducials eine deutlich größere Freistellung in der Lötstoppmaske haben. Wie geht das?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/266730#2779498&lt;br /&gt;
* Wie geht das überhaupt mit den Lötstoppmasken?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/283721#new&lt;br /&gt;
* Ja, aber die Lötstoppmaske wird leider nicht angezeigt.&lt;br /&gt;
** http://www.mikrocontroller.net/topic/298028#new&lt;br /&gt;
* Ich möchte Text und Markierungen/Grafik statt im Bestückungsdruck im Lötstopplack erstellen. Geht das überhaupt und wie ist das zu bewerkstelligen?&lt;br /&gt;
** Das geht, und dazu ist der Text oder die grafischen Linien/Kreise direkt in die Lötstoppmaske zu schreiben. Siehe: http://www.mikrocontroller.net/topic/347702#new Die Lötstoppmasken Lagen heissen F.Mask (Bestückungsseite) und B.Mask (Lötseite).&lt;br /&gt;
* Ich möchte Text invers im Bestückungsdruck haben.&lt;br /&gt;
** Das geht. Siehe: http://www.mikrocontroller.net/topic/417961#4888742&lt;br /&gt;
* Wie kann man Bauteilmaße in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
** Anzeige im Layout: Layer &amp;quot;Zeichnung&amp;quot; anwählen. In der rechten Menueleiste &amp;quot;Bemaßung hinzufügen&amp;quot; wählen. Das ist der fünfte Button von unten mit der &amp;quot;blauen Bemaßung&amp;quot;. Jetzt an einer Stelle links ins Layout klicken. Maus verschieben und noch einmal links klicken und die Maus seitlich verschieben. Es wird ein Maßpfeilsystem zwischen erstem und zweitem Mausklick angelegt, dessen höhe man mit der Maus einstellen kann. Ein weiterer linker Mausklick fixiert das System. Das Anklicken der Beschriftung mit der rechten Maustaste erlaubt das Editieren. Das System wird immer in der Einheit angelegt, die in der linken  Menueleiste vorgewählt wurde. Die Rasterung der aktuellen Einstellung wird auch übernommen. Späteres Ändern von Einheit- und Raster ändern die Beschriftung nicht mehr. In 3D und im Footprint geht diese Möglichkeit nicht.&lt;br /&gt;
** Weitere Möglichkeiten: Einen Maßstab als footprint/Modul anfertigen und zum Messen in das Board einfügen.&lt;br /&gt;
** Wenn man im Layout aber direkt etwas ausmessen möchte, so geht das über den relativen Nullpunkt. Unten im Rahmen rechts sind vier Felder. Die beiden linken zeigen die absoluten Koordinaten, an, die beiden rechten die relativen Koordinaten in Bezug auf einen relativen Nullpunkt. Defaultmäßig stimmen absoluter und relativer Nullpunkt ersteinmal überein. Per &amp;quot;Space bar&amp;quot; drücken setzt Du den relativen Nullpunkt an den Ort des Mauszeigers. Wenn Du nun die Maus verfährst, zeigen die relativen Koordinaten nun den vertikalen und horizontalen Abstand zum Nullpunkt. Die Diagonale muss leider über den Pythagoras selber ausgerechnet werden, oder indem man die Polarkoordinateneinstellung wählt (linke Menueleiste). Durch geschicktes setzten des Nullpunktes kann man nun auf der Platine herummessen. Winkel können auch über die Polarkoordinateneinstellung gemessen werden. Im Moduleditor geht das analog. Das 3D-View kann zur Zeit (Januar 2011) überhaupt keine Bemaßung.     &lt;br /&gt;
* Wie kann man mit der KiCad Version 20100314 &#039;&#039;&#039;einseitige&#039;&#039;&#039; Platinen erstellen?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/172015#1651239&lt;br /&gt;
** aktueller: http://www.mikrocontroller.net/topic/172015#1794699&lt;br /&gt;
*Und wie teile ich KiCad mit, daß der Autorouter nur eine Seite verwenden soll?&lt;br /&gt;
** Auf die doofe Tour: Erst in KiCad zweiseitig wählen, und dann beide Lagen im Autorouter als &amp;quot;Unterseite&amp;quot; wählen.&lt;br /&gt;
&lt;br /&gt;
* Wie gehen runde Bögen in KiCad?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/202512#1994063&lt;br /&gt;
* Ich brauche für einen Platinenumriss eine geschlossene Linie. Das klappt aber irgendwie nicht.&lt;br /&gt;
** Die Endpunkte müssen exakt aufeinander liegen. Dazu&lt;br /&gt;
*** A) Passende Raster verwenden&lt;br /&gt;
*** B) parametrisch die Endpunkte direkt als Koordinaten eingeben.&lt;br /&gt;
*** Siehe Diskussion dazu: https://www.mikrocontroller.net/topic/418296#new&lt;br /&gt;
* Wie benutze ich den interaktiven Router (Push &amp;amp; Shove) in PCBnew?&lt;br /&gt;
** Dazu muss in PCBnew im Pulldown-Menue unter &amp;quot;Ansicht&amp;quot; die Option &amp;quot;Canvas nach OpenGL umschalten&amp;quot; oder &amp;quot;Canvas nach Cairo umschalten&amp;quot;gewählt werden. Wenn man nun, wie gewohnt, aus der rechten Button Leiste das Verlegen von Leiterbahnen wählt, eine Leiterbahn/Luftlinie wählt und rechts anklickt, erhält man den interaktiven Router. Aber Achtung - wegen des geänderten Kontextmenues kann es sinnvoll sein, für andere Tätigkeiten auf die Voreinstellungen zurückzuschalten.&lt;br /&gt;
* Wie stelle ich beim Routen die Leiterbahnbreiten ein?&lt;br /&gt;
** Sie müssen vorher in den Design Rules definiert werden. Siehe: https://www.mikrocontroller.net/topic/452117#new&lt;br /&gt;
* Ich habe mein Board fertig geroutet, stelle aber jetzt fest, das ich noch einige Leiterbahnbreiten ändern muss. Wie geht das am einfachsten?&lt;br /&gt;
** Eine Leiterbahn rechts anklicken und Segment oder Track ändern. Das Verhalten ist im Detail vom gewählten Canvas anhängig. Und die Leiterbahnbreite muss schon in den Design rules existieren. Siehe hier: https://www.mikrocontroller.net/topic/452117#new&lt;br /&gt;
*** Ab KiCad 5.1 bzw. 6 wird es die verschiedenen Modi nicht mehr geben. Siehe https://www.mikrocontroller.net/topic/467735#5718645&lt;br /&gt;
* Wie gestalte ich einen gleitenden, stetigen Übergang bei einer Änderung der Leiterbahnbreite?&lt;br /&gt;
** Mit Workarounds wie dreieckigen/trapezförmigen Pads oder einem sehr fein gestaffelten stufigen Übergang. Siehe: https://www.mikrocontroller.net/topic/438242&lt;br /&gt;
**http://www.mikrocontroller.net/topic/205851#new&lt;br /&gt;
*Ich kann Pads nicht anschließen bzw. ich bekomme vom DRC Fehlermeldungen, daß ich Pads nicht angeschlossen habe, obwohl sie angeschlossen sind.&lt;br /&gt;
**http://www.mikrocontroller.net/topic/204717#new&lt;br /&gt;
*Wie kann ich Daten für automatische Bestückung (Pick&amp;amp;Place) erzeugen?&lt;br /&gt;
** In PCBnew unter Datei &amp;gt; Fertigungsdateien &amp;gt; Bauteile Positionsdatei (.pos). Aber dieses verlangt, das die Footprints auch die richtigen Informationen dazu enthalten. Um diese einzustellen, den Footprint im Moduleditor öffnen und unter dem Button &amp;quot;Bauteileigenschaften&amp;quot; in &amp;quot;Attribute&amp;quot; eine Markierung bei &amp;quot;Normal+Einfügen&amp;quot; machen. Dann wird der Ankerpunkt des Modules für die Positionsdatei verwendet. Damit sinnvolle Daten entstehen, sollte der Ankerpunkt bei SMD-Footprints in die Mitte des Footprintes gesetzt worden sein. &lt;br /&gt;
* Gibt es &amp;quot;Regeln&amp;quot; für das Setzten von Ankerpunkten bei Footprints?&lt;br /&gt;
** Es gibt Konventionen. Bei SMD-Bauteilen der &amp;quot;Mittelpunkt&amp;quot; des Bauteiles. Dieser wird auch für Pick&amp;amp;Place Daten in der automatischen Bestückung verwendet. &lt;br /&gt;
** Bei THT-Bauteilen wird als Konvention die Mitte von Pin 1 als Ankerpunkt verwendet.&lt;br /&gt;
*Und wie erzeuge ich ein Excellon Drillfile?&lt;br /&gt;
** In PCBnew unter Datei &amp;gt; Fertigungsdateien &amp;gt; Bohrdaten. Die Datei enthält auch eine Werkzeugliste. Kicad legt u.U. zwei Drillfiles an, wenn erforderlich. Eines für durchkontaktierte, und eines für nicht durchkontaktierte Bohrungen. Wer eine extra Liste und eine Statistik wünscht, muss auch noch &amp;quot;Bericht über Bohrung&amp;quot; anwählen.&lt;br /&gt;
** Bei mir wird aber nur ein Drillfile erzeugt. Was läuft falsch?&lt;br /&gt;
***Die NPTH Drills müssen im Pad-Editor explizit als solche gekennzeichnet werden. In PCBnew erkennt man sie dann als dicke gelbe Flächen. Siehe: http://www.mikrocontroller.net/topic/322941#3989397 Bei älteren Footprints ist das aber noch nicht komplett umgesetzt. &lt;br /&gt;
* Wenn PCBnew die Netzliste eingelesen hat, liegen alle Bauteile auf einem Haufen. Zum Plazieren eines herausgreifen ist mühsam. Wie geht das am einfachsten?&lt;br /&gt;
** In PCBnew &amp;quot;T&amp;quot; drücken. Es poppt ein Fenster auf, wo man die Bauteilreferenz (den Namen) eingeben kann. Und schon hängt das Bauteil zum Bewegen am Zeiger. Die Bedienung ist letztlich genauso wie das &amp;quot;m&amp;quot; und die Komandozeile in Eagle. Siehe http://www.mikrocontroller.net/topic/293903#3133990&lt;br /&gt;
** &amp;quot;Raef&amp;quot; hat ein Python Script erstellt, das Bauteile automatisch ähnlich der Anordnung im Schaltplan plaziert. Siehe: http://www.mikrocontroller.net/topic/293903#3245990&lt;br /&gt;
** In neueren PCBnew Version gibt es ein gutes parametrisches Plazieren: https://www.mikrocontroller.net/topic/432920#5108442&lt;br /&gt;
* Ich habe ein fertiges Layout. Jetzt möchte ich aber andere Footprints verwenden, und anschließend nicht neu routen müssen. Wie geht das?&lt;br /&gt;
** Über CVpcb und Neueinlesen der Netzliste. Siehe: http://www.mikrocontroller.net/topic/297885#new&lt;br /&gt;
* Ich will links herum routen, aber Kicad meint unbedingt rechts herum (...oder umgekehrt). Wie kann ich die Leiterbahnen &amp;quot;flippen&amp;quot;?&lt;br /&gt;
** Mit &amp;quot;/&amp;quot; (Slasch) http://www.mikrocontroller.net/topic/280028#new&lt;br /&gt;
* Ich hätte gerne die Tastenkürzel in kicad so wie in meinem gewohnten Programm. Wie geht das?&lt;br /&gt;
** Siehe http://www.mikrocontroller.net/topic/283959#3007173 . Vieleicht ist einer ja so nett, und stellt Konfigurationsfiles für Leute die aus EAGLE, ORCAD oder so wechseln, bereit.&lt;br /&gt;
* Ich habe ein kleines Board fertig geroutet. Jetzt möchte ich mehrere davon zu einer größeren Platine zusammenführen (sog. Mehrfachnutzen), um sie rationeller fertigen zu können.&lt;br /&gt;
** Siehe http:http://www.mikrocontroller.net/topic/292334#new . Das geht natürlich genauso, wenn man verschiedene Platinen so zu Nutzen zusammenfügen möchte, oder halt kleinere Teillayouts zu einem Gesamtboard.&lt;br /&gt;
*** Nachtrag: Wenn in PCBnew &amp;quot;append Board&amp;quot; oder &amp;quot;save as&amp;quot; ausgegraut sind, so schliesse KiCad Eeschem und PCBnew komplett und starte PCBnew direkt ohne über KiCad zu gehen. Das ist in neueren KiCad Versionen so vorgesehen. Siehe https://www.mikrocontroller.net/topic/399145#new&lt;br /&gt;
&lt;br /&gt;
* Ich habe einen Schaltplan mit Subschaltplänen, zu denen ich separate Layouts erstellen möchte.&lt;br /&gt;
** Dazu diesen Subschaltplan explizit in EEschema öffnen, und die Netzliste nur für diesen Subschaltplan exportieren.  Weitergehen wie üblich. Siehe: http://www.mikrocontroller.net/topic/330740#new&lt;br /&gt;
* Ich möchte Varianten eines Layouts erstellen. Was ist dazu zu sagen? Siehe: http://www.mikrocontroller.net/topic/330740#3616697&lt;br /&gt;
** Siehe http://www.mikrocontroller.net/topic/292123#new&lt;br /&gt;
* Wie importiere ich DXF-Dateien in PCBnew? z.B. ein Platinenumriss aus einem mechanischen CAD-Programm?&lt;br /&gt;
** Dafür existiert eine Import Funktion in PCBnew: Datei &amp;gt; Importieren &amp;gt; DXF-Datei. Siehe http://www.mikrocontroller.net/topic/327628#new &lt;br /&gt;
aktueller: https://www.mikrocontroller.net/topic/469438#new&lt;br /&gt;
* Wie wird man den merkwürdigen Rahmen los?&lt;br /&gt;
** 1) Genauso wie im Schaltplan. Dazu den pl_editor (der ganz rechte Button im KiCad Hauptfenster) starten, und FAST alles entfernen. Dazu in der linken Spalte nacheinander alles aktivieren, und mit rechts anlicken und dann &amp;quot;entfernen&amp;quot; wählen. Aber vorsicht, wenn alles Entfernt wird, taucht das Original Layout wieder auf. Workaround war bei mir, eine zusätzliche Alibilinie hinzuzufügen, die von X 0,000 Y 0,000 bis  X 0,001 Y 0,000 reicht. Das ist ein &amp;quot;Fliegenschiss&amp;quot; in der linken oberen Ecke. Jetzt kann alles andere gelöscht werden. Den so geleerten Rahmen unter einem beliebigen Namen mit der Endung .kicad_wks wegspeichern. Im geöffneten Schaltplan kann der dann unter Datei &amp;gt; Seite einrichten ganz unten unter &amp;quot;page layout file description&amp;quot; die entsprechende Datei eingebunden werden. Es bleibt aber dem Anwender offen, ob er den Rahmen komplett entfernt, oder noch Felder mit Textbeschreibungen übernimmt. Für gesteigerten Komfort kann diese Datei dann auch in ein Template eingebunden werden. &lt;br /&gt;
** 2) Beim Ausdrucken Frame deaktivieren.&lt;br /&gt;
** 3) Als SVG exportieren. Dort den Frame deaktivieren.&lt;br /&gt;
** 4) Beim Plotten (z.B. in Gerber) Frame deaktivieren. Ist eigentlich defaultmäßig eingestellt. &lt;br /&gt;
** Siehe: http://www.mikrocontroller.net/topic/343509#3791448&lt;br /&gt;
* Ich möchte einen bestimmten Footprint verwenden (von dem ich weiss, dass er existiert), kann ihn aber in der Auswahl der Footprints von PCBnew nicht finden.&lt;br /&gt;
**Die Bibliothek, in der er enthalten ist, muss erst in das Verzeichnis der aktiven Bibliotheken in PCBnew eingetragen werden. &lt;br /&gt;
* Ich möchte Footprint-Bibliotheken in das Verzeichnis der verwendeten Bibliotheken von PCBnew eintragen. Wie geht das?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/372123#new  &lt;br /&gt;
* Ich habe Probleme mit den Umgebungsvariablen KISYSMOD, KISYS3DMOD, KIPRJMOD, KIGITHUB beim Eintragen der Bibliothekstabellen.&lt;br /&gt;
** KISYSMOD ist eine Variable, die den Pfad zu den global verwendeten KICAD-Modulen (Footprints) angibt. KIPRJMOD ist das gleiche, für projektspezifische Module. KISYS3DMOD beschreibt den Pfad zu den 3D-Modellen, und KIGITHUB weisst den Pfad ins Internet zu den Githubbibliotheken.&lt;br /&gt;
** Nähere Informationen dazu findet man hier: http://www.mikrocontroller.net/topic/344139#new und hier : http://www.mikrocontroller.net/topic/344029#new&lt;br /&gt;
** Aktueller: http://www.mikrocontroller.net/topic/368660&lt;br /&gt;
** Falls alles nichts hilft: Nan kann den Pfad auch komplett am Stück in die Bibliothekstabelle eintragen. Copy&amp;amp;Paste funktioniert dort aber nicht per rechtem Mausklick, sondern per &amp;lt;Str-c&amp;gt; (Kopieren) und &amp;lt;Str-v&amp;gt; (einfügen). Einfacher als die Bibliothekstabelle lässt sich darum die fp-lib-table Datei per Editor bearbeiten. Unter Linux findet sich die Tabelle für globale Bibliotheken bis zur BZR5113 direkt im Homeverzeichnis. Ab BZR5114 (ca. 5. September 2014) fiondet sich die globale fp-lib-table in $HOME/.config/kicad. Die fp-lib-table für projektbezogene Bibliotheken finden sich in den korrespondierenden  Projektverzeichnissen.&lt;br /&gt;
* Ich würde gerne die Mikrowellen Tools verwenden, aber irgendwie funktioniert das nicht.&lt;br /&gt;
** In älteren KiCad Versionen funktionieren sie nur im &amp;quot;legacy Canvas&amp;quot;. Den &amp;quot;legacy Canvas&amp;quot; schaltet man mit &amp;quot;F9&amp;quot; ein, bzw. im Pull down Menue unter &amp;quot;View&amp;quot; &amp;gt; &amp;quot;legacy Canfas&amp;quot;. In neueren KiCad Versionen (daily Build ab mindestens 2017-06-16 revision dab73e1) funktionieren die Tools in allen Canvasversionen.&lt;br /&gt;
** Manchmal sieht man nur etwas, wenn man &amp;quot;Refresh&amp;quot; (F3) drückt.&lt;br /&gt;
** Eine kleine Erklärung ist hier: https://www.mikrocontroller.net/topic/434998#new&lt;br /&gt;
* Ich würde gerne aus den Mikrowellen Tools die Funktion &amp;quot;Polynominales Muster&amp;quot; verwenden. Dabei werde ich nach einem KiCad-Shapefile gefragt, aber ich weiss nicht, wie das File aussehen muss.&lt;br /&gt;
** Einen Hinweis zum Aussehen des Files gibt es hier: https://www.mikrocontroller.net/topic/369330#4166392 Allerdings müssen die Werte der Polynomstruktur anderweitig berechnet werden, und mit einem Editor manuell in diese Form gebracht werden.&lt;br /&gt;
* Wie erstelle ich koplanare Leitungen in KiCad?&lt;br /&gt;
** siehe diese Diskussion: https://www.mikrocontroller.net/topic/370700#new&lt;br /&gt;
* Ich möchte Bauteile im Kreis oder in einem Gittermuster/Array anordnen. Gibt es dafür automatische Hilfestellungen?&lt;br /&gt;
** Ja. Objekt Deiner Wahl rechts anklicken, eventuell Auswahl verfeinern, und dann im aufpoppenden Menue &amp;quot;Array erstellen&amp;quot; wählen. Geht nicht nur für Bauteile, sondern auch für Pads, Leiterbahnen ec. Siehe: http://www.mikrocontroller.net/topic/178816#new&lt;br /&gt;
** Aktuell: https://www.mikrocontroller.net/topic/473763#5832574&lt;br /&gt;
* Ich bräuchte Pads mit ungewöhnlicher Form.&lt;br /&gt;
** Aus mehreren Pads mit der gleichen Pad Nummer zusammensetzten. Pads gleicher Nummer am gleichen Footprint werden dem gleichen Netz zugeordnet. Dabei aber beachten, dass sich diese Pads sich weit genug überlappen (z.B. 0,2mm) , so dass sie nicht in einzelne Pads zerfallen, wenn in der Leiterplattenfabrik mal die Kupferflächen &amp;quot;zurückgezogen&amp;quot; werden müssen, um die Mindestabsrände für die Produktion (Galvanik) nicht zu unterschreiten.&lt;br /&gt;
** Das Mikrowellentool benutzen, um mit einem Workaround Pads als Polygon zu erzeugen. Als ein Beispiel z.B:https://www.mikrocontroller.net/attachment/259709/SMP-Test-1.png Das Mikrowellentool kannst Du mit einem Workaround dazu bekommen, Pads als Polygone zu erstellen. Näheres siehe hier: https://www.mikrocontroller.net/topic/414834#new oder hier: https://www.mikrocontroller.net/topic/369330#4166392&lt;br /&gt;
* Meine Grafikkarte unterstützt keine openGL 3D-Beschleunigung.&lt;br /&gt;
** Vieleicht kannst Du mit MESA openGL ersetzten? Siehe: https://www.mikrocontroller.net/topic/389712#4465775 Zu MESA selber siehe: https://de.wikipedia.org/wiki/Mesa_3D&lt;br /&gt;
* Ich würde gerne eine Starrflex Leiterplatte machen. Was muss ich beachten?&lt;br /&gt;
** Siehe https://www.mikrocontroller.net/topic/399330#new&lt;br /&gt;
* Wie Verbinde ich verschiedene Massen, oder allgemein verschiedene Potentiale, die aus Layouttechnischen Gründen getrennt gehalten werden sollten, ohne das der DRC zusehr meckert? Ähnliches Problem: Einzelne Vias vom Anschluss an umgebende Masseflächen ausschliessen.&lt;br /&gt;
** Voraussetzung: Die Leiterbahnen/Vias/Kupferflächen müssen unterschiedliche Potentiale haben, damit KiCad weiss, dass sie getrennt gehalten werden müssen. Wenn das nicht der Fall ist, müssen diese Segmente mit einem &amp;quot;Bauteil&amp;quot; so vom Rest der Schaltung abgedretnnt werden, dass der abgetrennte Bereich einen neuen Netznahmen/Potentialnahmen bekommt. Diese speziellen Bauteile können unterschiedlicher Art sein:&lt;br /&gt;
*** 1) Mit 0 Ohm Brücken. Das sind Bauteile, die aus einer Drahtbrücke bestehen. So sind für den ERC und DRC die Netzte getrennt, aber tatsächlich mit einer Drahtbrücke verbunden. &lt;br /&gt;
**** [http://www.mikrocontroller.net/topic/142930?goto=1321550] &amp;quot;Drahtbrücken in KiCad?&amp;quot;  hier im Forum.&lt;br /&gt;
*** 2) Ein anderer Workaround sind &amp;quot;Net ties&amp;quot; (Netties). Das sind Footprints, die aus zwei oder mehr verschiedenen Pads bestehen(wie jedes andere normale Bauteile auch, die aber direkt mit Kupfer verbunden sind. Also eigentlich ein 0 Ohm Widerstand, wo der &amp;quot;Widerstand&amp;quot; als Kupfer auf der Leiterplatte existiert. Es ist sinnvoll, zu den &amp;quot;Net tie&amp;quot; Footprints auch entsprechende Schaltplansymbole zu definieren. Zu Net ties siehe:&lt;br /&gt;
**** [http://www.grant-trebbin.com/2015/04/pcb-net-ties-and-grounding-in-kicad.html] (in Englisch)&lt;br /&gt;
**** [http://www.mikrocontroller.net/topic/330196] &amp;quot;KiCad zwei verschiedene Netze verbinden in Pcbnew&amp;quot; hier im Forum.&lt;br /&gt;
**** Etwas aktueller (geht auch auf Probleme ein): &lt;br /&gt;
***** [http://www.mikrocontroller.net/topic/389988] &amp;quot;Kicad Leiterbahn im Footprint möglich?&amp;quot; hier im Forum.&lt;br /&gt;
***** [http://www.mikrocontroller.net/topic/360510] &amp;quot;Leiterbahn aus Massepolygon isolieren&amp;quot; hier im Forum.&lt;br /&gt;
***** [https://www.mikrocontroller.net/topic/401430#new] &amp;quot;Via-Anbidung an Polygon ausschließen&amp;quot;&lt;br /&gt;
***** Ein ganz anderer Ansatz wäre, ganz auf unterschiedliche Massepotentiale zu verzichten, wenn diese sowieso verbunden werden, wie hier vorgeschlagen: https://www.mikrocontroller.net/topic/453991#5465447&lt;br /&gt;
* Wie kann man den Nullpunkt eines Layouts verschieben?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/179680#1730452 Aktueller:https://www.mikrocontroller.net/topic/427130#5008806 für den Layout Editor PCBnew. Im Moduleditor bei Erstellung eines Footprints kann man den Ankerpunkt frei Mithilfe des Anker-Tools aus der rechten Menüleiste (das Ankersymbol) setzten. Gleiches gilt für den Symboleditor.&lt;br /&gt;
* Ich habe im Layout einen weissen Kringel mit einem weissen Kreuz, der sich beim Zoomen merkwürdig verhält. Was ist das, und wie kriege ich das weg?&lt;br /&gt;
** Das ist der Ursprung des Rasters. Den sollte man nicht wegbekommen, aber man kann ihn versetzten. Siehe: https://www.mikrocontroller.net/topic/411681#new&lt;br /&gt;
* Wie erzeuge ich Thermals (Wärmefallen/thermal Pads) um Pins die in Kupferflächen sitzen?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/443639#5287943&lt;br /&gt;
* Ich möchte Langlöcher anlegen. Wie geht das am einfachsten?&lt;br /&gt;
** Als Footprint bzw. im Footprint im Footprinteditor anlegen. Dort ein Pad plazieren und als &amp;quot;Drill Shape&amp;quot; die Option &amp;quot;Oval hole&amp;quot; wählen. Den Rest des Footprints mit dem Kupfer nach eigenen Bedürfnissen gestalten, oder das Kupfer ganz weglassen. Für reine Befestigungslöcher ohne Kupfer &amp;quot;Pad type&amp;quot; zu &amp;quot;NPTH, Mechanical&amp;quot; wählen. Langlöcher landen genauso wie runde Löcher im Excellon Drill-File. Es gibt dort spezielle Kennzeichnungen dafür. Um mit dem &amp;quot;Workflow&amp;quot; konform zu bleiben, für Befestigungslöcher z.b. ein Symbol anlegen, dem ein passendes Loch oder auch Langloch als Footprint zuweisen. In einem extra hierachischen Schaltplanblatt solche Sonderfälle ablegen. Für vier löcher z.B. vier mal dieses Symbol. Es lassens sich den Symbolen unterschiedlich definierte Löcher zuweisen. Die Löcher werden dann beim Einlesen der Netzliste in PCBnew gemäß der eingetragenen Footprints auf das Board gestellt und können frei plaziert werden. Siehe: https://www.mikrocontroller.net/topic/449952#5395495&lt;br /&gt;
* Wie ist das mit der Pinnummerierung bei Symbolen und Footprints mit abweichenden Pinbelegungen? Ändere ich die Pin/Pad Nummerierung im Symbol oder im Footprint?&lt;br /&gt;
** Das hängt am Einzelfall. Aber meistens ist das Anlegen einer Symbolvariante unter anderem Namen mit geändertem Pinning am sinnvollsten. Es gibt aber Sonderfälle. Genaueres steht hier: https://www.mikrocontroller.net/topic/452154#new&lt;br /&gt;
&lt;br /&gt;
=== Layout: Python Scripting ===&lt;br /&gt;
&lt;br /&gt;
Das Python2-Scripting ist bisher nur in PCBnew implementiert und noch sehr experimentell. Daher ist leider auch der aktuelle Stand der Dokumentation zum Python-Skripting in PCBnew noch etwas dürftig. Trozdem hier Links dazu:&lt;br /&gt;
* http://confluence.kicad.org/display/KICAD/KiCad+Scripting+Reference+Manual (Allgemein. Achtung! Kicad braucht beim compilieren spezielle Befehle, um Python-Scripting tauglich zu sein.)&lt;br /&gt;
* http://ci.kicad.org/job/kicad-doxygen/ws/build/pcbnew/doxygen-python/html/namespacepcbnew.html (Definitionen von Namespaces, Classes und Files)&lt;br /&gt;
&lt;br /&gt;
Für Linux-Debian:&lt;br /&gt;
Aktuell (07. Februar 2014) mit  Pcbnew Version: (2014-01-27 BZR 4641)-product Release build auf&lt;br /&gt;
Platform: Linux 3.2.0-4-686-pae i686, 32 bit, Little endian, wxGTK (Debian Wheezy) gilt:&lt;br /&gt;
* Geht aktuell nur für PCBnew.&lt;br /&gt;
* Klassenbibliotheken: Zwei Dateien pcbnew.py und _pcbnew.so auf dem Pfad: /usr/lib/python2.7/dist-packages/&lt;br /&gt;
* Die Klassenbibliothek wird mit den üblichen Python2 Methoden importiert: z.B. &amp;quot;import pcbnew&amp;quot; oder &amp;quot;from pcbnew import *&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Beispielprogramm, das alle Footprints aus einer Legacy-Fotprint Datei auflisted und den Referenzbezeichner dazuschreibt::&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env python &lt;br /&gt;
# das war das Shebang.&lt;br /&gt;
&lt;br /&gt;
from pcbnew import * # Import der Bibliothek. &lt;br /&gt;
libpath = &amp;quot;/home/DuUser/KiCad-Daten/Module/ModuleGrosserSampler/KiCadLegacyFottprints.mod&amp;quot; # Übergabe des Pfades.&lt;br /&gt;
lst = FootprintEnumerate(libpath) &lt;br /&gt;
for name in lst:&lt;br /&gt;
    m = FootprintLoad(libpath,name)&lt;br /&gt;
    print name,&amp;quot;-&amp;gt;&amp;quot;, m.GetReference()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Scripting Möglichkeit ist so neu, dass bis jetzt die Scripting Testdateien für das KiCad interne automatische Qualitätssicherungssystem noch nicht komplett sind.&lt;br /&gt;
Unter http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/files/head:/qa/testcases/ finden sich bereits geprüfte Testskripte, und unter http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/files/head:/pcbnew/scripting/examples/ finden sich ungetestete Testskripte.&lt;br /&gt;
&lt;br /&gt;
Sie alle können als Beispiele genommen werden, wie das mit dem Skripting gemeint ist, und als Vorbild für eigene Skripte dienen.&lt;br /&gt;
&lt;br /&gt;
Weitere Skripting Info: &lt;br /&gt;
* [https://kicad.mmccoo.com/kicad-scripting-table-of-contents/ Anleitung für Python Skripting in KiCad] (Englisch)&lt;br /&gt;
&lt;br /&gt;
=== Module Editor ===&lt;br /&gt;
* Wie erstellt man Footprints für Bauteile?&lt;br /&gt;
** Mit dem Footprint Editor. Er ist bei älteren KiCad Versionen nur aus PCBnew heraus zu starten. Bei neueren KiCad Versionen hat er einen eigenen Button im KiCad Start Window.&lt;br /&gt;
** Spezielleres: http://www.mikrocontroller.net/topic/356151#new&lt;br /&gt;
* Wie verbinde kopiere ich etwas aus einem Footprint in einen anderen hinein, bzw. wie verbinde/merge ich zwei Footprints?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/288167#3061997&lt;br /&gt;
* Kann man im Module Editor die Eigenschaften aller Pads gleichzeitig ändern?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/93131#799550 &lt;br /&gt;
* Ich brauche einen Footprint, bei dem mehrere Pads verbunden sind, will aber nicht im Schaltplan zig Pins aufführen und anschliessen müssen.&lt;br /&gt;
**http://www.mikrocontroller.net/topic/208982#new&lt;br /&gt;
**http://www.mikrocontroller.net/topic/204717#new&lt;br /&gt;
* Wie erzeugt man thermal Vias in Kicad?&lt;br /&gt;
** Leider bisher nur experimentell: http://www.mikrocontroller.net/topic/298028#3187259&lt;br /&gt;
* Wie kann man Bauteilmaße in in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
* Wie verwalte ich Footprint Bibliotheken?&lt;br /&gt;
** Indem man sich ein Board erstellt, alle Footprints, die man zusammenfassen möchte, auf das Board stellt, und dann untet Dateien &amp;gt; Footprints archivieren &amp;gt; Footprint Archiv erstellen wählt. Das so erstellte Board kann auch zu Dokumentationszwecken geplottet werden. Eventuell möchte man einige Footprints, die zu Hilfszwecken (z.B. Skalen) auf dem Board sind, anschliessend mit dem Bibliothekseditor daraus löschen.&lt;br /&gt;
** Alternativ, im dem &amp;quot;neuen&amp;quot; *.pretty Format, mit einem Dateiverwaltungsprogramm Deiner Wahl. Siehe http://www.mikrocontroller.net/topic/320301#new&lt;br /&gt;
* Wie werden die Parameter für Lötpaste/Lötstopmaske vergeben?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/356151&lt;br /&gt;
* Ich möchte für einen Footprint Pads in einem Gittermuster/Array oder im Kreis anordnen. Gibt es dafür automatische Hilfestellungen?&lt;br /&gt;
** Ja. Pad rechts anklicken. Eventuell erfolgt noch eine Feinauswahl. Dann im aufpoppenden Menue &amp;quot;Array erstellen&amp;quot; wählen.&lt;br /&gt;
* Wie archiviere ich die in einem KiCad Board enthaltenen Footprints?&lt;br /&gt;
** Nicht im Footprint-editor, sondern in PCBnew. Dort in der oberen Toolleiste unter Datei/File &amp;gt; archive Footprints. Es muss dort eine bereits im Bibliotheksverzeichnis eingetragene existierende Bibliothek angegeben werden. &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Diese Bibliothek sollte &#039;&#039;&#039;speziell für diesen Zweck&#039;&#039;&#039; angelegt sein, weil ihr &#039;&#039;&#039;vorheriger Inhalt komplett entfernt&#039;&#039;&#039; wird. Idealerweise legt man die Bibliothek als &amp;quot;Projektname.pretty&amp;quot; im Projektordner an. Sie sollte spätestens bei Abschluss des Projektestens erstellt werden und &#039;&#039;&#039;MUSS bei Archivierung des Projektes oder Übergabe mit Archiviert bzw. Übergeben werden!&#039;&#039;&#039; Aber &#039;&#039;&#039;VORSICHT&#039;&#039;&#039;, bei der Bibliothekserstellung lauert ein &#039;&#039;&#039;Bug. Siehe:&#039;&#039;&#039; https://www.mikrocontroller.net/articles/KiCad#Problem:_Neue_leere_Footprintbibliothek_kann_nicht_erstellt_werden_.28kicad_Version:_4.0.0.7Erc1a-stable_release_build_.2F_RC4.29&lt;br /&gt;
* Ich brauche in einem Footprint einen Ausschnitt in der Platine. Wie mache ich das?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/404998#4696232&lt;br /&gt;
* Für Masken wie Lötpaste oder Klebstoff hätte ich gerne Pads mit abgerundeten Ecken. Wie geht das?&lt;br /&gt;
** Das geht erst seit ca. Version: 2016-11-22 revision ccdfabc-master. Siehe https://www.mikrocontroller.net/topic/427536#5015335&lt;br /&gt;
&lt;br /&gt;
=== 3D-Ansicht ===&lt;br /&gt;
[[Bild:Kicad xilinx demo.jpg|300px|thumb|right|KiCAD-Demoplatine exportiert und mit Renderer illustriert]]&lt;br /&gt;
KiCAD bietet eine eingebaute einfache 3D-Ansicht der gerouteten Platine. Mittels Export können diese weiterverarbeitet werden. KiCad beruht diesbezüglich auf Wings3D, und die 3D-Modelle der Bauteile sind standardisierte wrl-files, die mit entweder Wings3D oder Blender erstellt werden können. Daher sei hier auf ein Wings3D Handbuch verwiesen: http://www.oortman3d.com/wings3d/TheWings3dHandbook.pdf&lt;br /&gt;
&lt;br /&gt;
Viele Bauteilhersteller (vor allem von eher mechanischen, wie z.B. Stecker, Buchsen, Befestigung...) bieten fertige 3D-Modelle an. Diese sind meistens in den Formaten STEP oder IGES. So kann man diese in das von KiCad benötigte .wrl (VRML 2.0) konvertieren:&lt;br /&gt;
# STEP oder IGES in [http://gcad3d.org/ gCAD3D] öffnen (File &amp;gt; Open Model)&lt;br /&gt;
# als Wavefront .obj speichern (File &amp;gt; Save Model as &amp;gt; OBJ)&lt;br /&gt;
# Das .obj in [http://www.wings3d.com/ Wings 3D] importieren (File &amp;gt; Import &amp;gt; Wavefront .obj)&lt;br /&gt;
# Als VRML 2 exportieren (File &amp;gt; Export &amp;gt; VRML 2.0 .wrl)&lt;br /&gt;
# Im KiCad-Moduleditor die .wrl-Datei als 3D-Modell auswählen&lt;br /&gt;
# Eventuell muss man die Skalierung und Positionierung anpassen, die angezeigten Pads und Löcher helfen dabei. Die am meisten benötigten Faktoren dürften dabei 0,3937 und 2,54 sein - bei den Konvertierungen kommt leicht die Einheit Zoll oder cm durcheinander.&lt;br /&gt;
&lt;br /&gt;
Eine andere Möglichkeit .obj oder .stl-Dateien aus STEP und IGES zu erzeugen ist [http://free-cad.sourceforge.net/ FreeCAD]. Obwohl es auch .wrl direkt erzeugen kann, können diese nicht in KiCad geladen werden. Der Umweg über .obj oder .stl und Wings 3D löst dies aber auch hier.&lt;br /&gt;
&lt;br /&gt;
Wenn man das Board wieder in einem CAD-Programm verwenden will um z.B. ein Gehäuse zu konstruieren, sollte man wieder STEP-Dateien erzeugen. Neuere KiCad-Versionen können zwar VRML exportieren, doch das beschreibt nur Umrisse und keine Körper (Solids). CAD-Programme zum Gehäusedesign brauchen jedoch letzteres. So geht die Konvertierung:&lt;br /&gt;
# VRML aus KiCad exportieren (File &amp;gt; Export &amp;gt; VRML)&lt;br /&gt;
# .wrl-Datei mit Hilfe von [http://www.cs.princeton.edu/~min/meshconv/ meshconv] in eine STL-Datei konvertieren: &amp;lt;code&amp;gt;meshconv boardname.wrl -c stl -o boardname.stl&amp;lt;/code&amp;gt;&lt;br /&gt;
# Die STL-Datei mit [http://www.solveering.com/products/products_stl2step.html stl2step] in eine STEP-Datei konvertieren&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG:&#039;&#039;&#039;&lt;br /&gt;
Man sollte hinterher im CAD nochmal genau die Maße kontrollieren. Denn die Konvertierung von STL nach STEP ist nur eine Approximierung und keine exakte, verlustfreie Konvertierung.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG:&#039;&#039;&#039;&lt;br /&gt;
Bei der Verwendung von Modellen aus fremden Quellen die Rechtslage prüfen. Es kann bei Veröffentlichungen zu Problemen führen, wenn die verwendeten Modelle unter einer problematischen privaten Lizenz stehen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Appropos Einheit: Welche Einheit benutzt WRL (Wings3d)?&lt;br /&gt;
* Das ist leider nicht soooo klar. Tatsache ist aber, das KiCad die Einheit als 1/10 Inch (100mil) interpretiert.&lt;br /&gt;
** Es könnte sein, dass die Einheit von WRL offiziell mal zu einem Meter gedacht war. Siehe: https://www.mikrocontroller.net/topic/405477#4704394&lt;br /&gt;
&lt;br /&gt;
*Und wie bedient man Wings3d?&lt;br /&gt;
** Ein (vorläufiger) Merkzettel/Ultrakurzanleitung zur Bedienung von Wings3D findet sich hier: [[Media:Kicad-Wings3D_Merkzettel_29November2012.pdf]]. Wenn man nur mit Wings3d Modelle für Kicad erstellen will, langt das eventuell schon als Tutorial. There is also an English translation of this leaflet about using wings3d for kicad  at [[Media:Kicad-Wings3D_Leaflet_25April2013.pdf]].&lt;br /&gt;
** Aktueller: [http://roberthall.net/Wings3D_Tutorial_KiCad Tutorial zur Benutzung von Wings3D im KiCad Umfeld (englisch)]&lt;br /&gt;
&lt;br /&gt;
Weitere Diskussionen um KiCAD 3D:&lt;br /&gt;
* Die 3D-Ansicht funktioniert bei mir nicht.&lt;br /&gt;
** http://www.mikrocontroller.net/topic/289075#new&lt;br /&gt;
** https://www.mikrocontroller.net/topic/404658#new&lt;br /&gt;
* Kann man die 3D-Ansicht in ein 3D-CAD Programm exportieren? &lt;br /&gt;
**http://www.mikrocontroller.net/topic/203388#new&lt;br /&gt;
* Wie kann man Bauteilmaße in in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
&lt;br /&gt;
* Irgendwie werden meine 3D-Bibliotheken nicht gefunden.&lt;br /&gt;
** Das kann z.b. passieren, wenn eine KiCad v5 3D-bibliothek mit einer v4 Bauteilebibliothek verwendet wird. Siehe:https://www.mikrocontroller.net/topic/467178#new&lt;br /&gt;
* Ich habe 3D-Modelle/STEP-Modelle von einem Hersteller heruntergeladen. Aber nach Einbindunge liegen sie neben dem Footprint, schweben darüber oder durchdringen die Platine.&lt;br /&gt;
** Der Hersteller hat einen anderen Ursprung für sein Modell gewählt als üblich ist. Weit verbreitet ist, den Bauteil/Footprint Ursprung bei THT Bauteilen auf die &amp;quot;Mitte&amp;quot; von Pin 1 zu setzen. Bei SMD Bauteilen wird der Ursprung auf die Mitte des Bauteiles gesetzt, meint, da wo sich beide Symmetrieachsen des Bauteiles schneiden. Bleibt das Problem, wenn das Bauteil nur eine Symmetrieachse hat. Dann einen Punkt auf der Symmetrieachse wählen, der die Mitte zwischen den extremsten Bauteilgrenzen bildet. Wenn keine Symmetrie überhaupt existiert, halt irgendwo etwas &amp;quot;in der Mitte&amp;quot;. Das ist dann aber immer soweit in der Nähe des Footprints, dass Du es in KiCad selber anpassen kannst. Angepasst wird das entweder im Footprinteditor in der oberen Buttonleiste &amp;quot;footprint Eigenschaften&amp;quot; (Icon IC mit Zahnrad davor). Es poppt ein Fenster auf. Dort den zweiten Reiter von Links wählen: &amp;quot;3D-einstellungen&amp;quot;. Dort können Korrekturwerte für koordinaten, Skalierung und Drehungen angegeben werden. Siehe Diskussion: https://www.mikrocontroller.net/topic/467095#new&lt;br /&gt;
&lt;br /&gt;
=== Drucken/Plotten/Gerber Export/Excellon Drillfiles Export ===&lt;br /&gt;
&lt;br /&gt;
==== Drucken ====&lt;br /&gt;
* Wie exportiert man den Schaltplan oder das Layout als Bild (PNG o.ä.)? &lt;br /&gt;
** Drucken über Postscript-Treiber und Umwandeln mit Ghostscript&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/96060#1061492 Forumsbeitrag] Export als SVG&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/117562#1056566 Forumsbeitrag] Plot to Clipboard &lt;br /&gt;
* Wie kann ich GENAU ausdrucken? Mein Ausdruck auf ABC ist ca. X % zu klein oder Y% zu groß! &lt;br /&gt;
** So genau sind einfache Drucker bzw. Druckertreiber selten. Aber meistens hilft folgendes: Mache einen 1:1 (100%) Probeausdruck. Messe auf dem Ausdruck nach, wie groß er tatsächlich geworden ist. Berechne die Abweichung und gebe sie in den Drucker bzw. Druckertreiber unter Einstellung ein, vorausgesetzt, der Drucker bzw. Druckertreiber kann das. Mit dem Wert machst Du wieder eine Probeausdruck, messe wieder nach, und wenn es mit der Einstellung funktioniert hat, kannst Du Deine Folie bedrucken. Wenn das nicht klappen kann, weil Du stark abweichende Werte für horizontal und vertikal bräuchtest, aber der Drucker nur einen gleichen Wert für beides kennt, hast Du einen (zu) schlechten Drucker. Trozdem nicht verzweifeln, weil KiCad beim Drucken oder Plotten in der X- und Y-Achse getrennt skalieren kann. Aber Vorsicht bei Weitergabe der so erzeugten Dateien: Sie sind individuell auf einen Drucker angepasst, und produzieren auf einem anderen Drucker nur falsch skalierte Ausdrucke. Weil der Wert von Drucker zu Drucker unterschiedlich ist, ist es auch sinnvoll, diese Skalierung direkt am speziellen Drucker/Druckertreiber zu machen. Tipp: Wenn Du den Wert erfolgreich ermittelt hast, so kleb Dir einen Zettel auf den Drucker mit dem Wert. Die Werte sind zwar individuell für jeden Drucker, aber meistens für den speziellen Drucker durchaus fix. Und Du hast ihn sofort wieder parat, wenn der Drucker resettet wurde. Dies ist übrigens ein allgemeiner Tipp für das Ausdrucken, der auch für Eagle, Target, Altium usw. gilt.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/304619#new Thema Skalieren] - Die aktuelle Situation (August 2013):  &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/371079#4191106 Und nochmal Thema Skalieren]&lt;br /&gt;
* Wie kann man das Layout invers ausdrucken, d.h. alle Leiterbahnen und Pads müssen weiß bleiben, der Rest wird schwarz ausgedruckt?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/156202#1474507 Beim Plotten den Haken bei Negativ-Plot setzen ] &lt;br /&gt;
* Ich habe irgendwie Probleme mit dem Ausdrucken.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/207764#new Verzerrt] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/207310#new Sonderzeichen]&lt;br /&gt;
** In der aktuellen Version 2012-01-19 BZR 3256)-stable besteht ein generelles Druckproblem. Aber Plotten geht wunderbar!&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/280958#new Aktualisierter Stand 23. Dezember 2012] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/303043#3249166 Aktualisierter Stand vom 21. Juli 2013]&lt;br /&gt;
&lt;br /&gt;
* Ich würde gerne PDF Dateien aus meinem Layout erstellen, aber irgendwie ist der Ausdruck defekt.&lt;br /&gt;
** Drucken ist aus Kicad manchmal ein Problem, auch in eine Datei hinein. Aber Plotten und Exportieren in SVG funktioniert gut.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/303043#3249166 Von SVG zu PDF] kommt man über Inkscape. &lt;br /&gt;
** [https://www.mikrocontroller.net/topic/430532#new Aktuell] &lt;br /&gt;
** Problem dabei: [https://www.mikrocontroller.net/topic/431522#new Vektorfonts] &lt;br /&gt;
* Wie kann ich mir einen [http://www.mikrocontroller.net/topic/266037#new Bohrplan ausdrucken], um mit der Hand zu bohren?&lt;br /&gt;
&lt;br /&gt;
==== SVG Plotten ====&lt;br /&gt;
&lt;br /&gt;
* Meine erzeugten SVG Plots sind kaputt. Ich erhalte nur Fehlermeldungen, wenn ich sie in Inkscape oder Gimp einlesen will.&lt;br /&gt;
** Es besteht ein Problem mit dem SVG Export, wenn man Schaltpläne oder Boards in SVG exportiert, die ein Ampersand (Kaufmansund, &amp;quot;&amp;amp;&amp;quot;) im Dateinamen haben. Dieser Dateiname tauch dann innerhalb der SVG Datei in einem Titelblock auf, wo das &amp;quot;&amp;amp;&amp;quot; dann ein Problem bedeutet (Es leitet eine Art Escape-Sequenz ein). Sowohl Kicad als auch Inkscape/Gimp akzeptieren &amp;quot;&amp;amp;&amp;quot; im Dateinamen, und sowol unter Windows als auch Linux ist das &amp;quot;&amp;amp;&amp;quot; im Dateinamen legal....darum bringt auch eine Veränderung des Namens der SVG-Datei keine Lösung. Eine Lösung ist, Grundsätzlich in Kicad keine &amp;quot;&amp;amp;&amp;quot; in Dateinamen zu verwenden, wenn man einen SVG-Export macht. Alternativ kann man mit einem Editor das &amp;quot;&amp;amp;&amp;quot; aus dem Titelblock (Das ist NICHT der Dateiname, sondern in der Datei selber alles zwischen &amp;lt;titel&amp;gt; und &amp;lt;/titel&amp;gt;) der SVG-Datei löschen. Angeblich kommt der Bug aus den verwendeten wx-Bibliotheken. Siehe [https://bugs.launchpad.net/kicad/+bug/1171160 den Bugreport]&lt;br /&gt;
* Wie kann ich unter Windows die SVG Dateien überhaupt nutzen? &lt;br /&gt;
** Die SVG Datei kann mit Microsoft Edge auf einen Drucker gedruckt werden, nützlich bei negativ Plot. Das Öffnen mit GIMP ging mit 1000pixel/in. Das Programm, mit dem sich SVG Dateien am besten bearbeiten lassen, ist aber Inkscape. Davon gibt es sogar einen Windows Ableger.&lt;br /&gt;
** Grundsätzliche Infos zum [https://de.wikipedia.org/wiki/Scalable_Vector_Graphics SVG Format] &lt;br /&gt;
** Grundsätzliche Infos zu [https://de.wikipedia.org/wiki/Inkscape Inkscape]&lt;br /&gt;
&lt;br /&gt;
==== Gerber Export ====&lt;br /&gt;
&lt;br /&gt;
* Kann man Gerber-Dateien exportieren?&lt;br /&gt;
** Ja. Es wird extended Gerber 274X exportiert. Einheit ist inch (doppelt sowohl im 274d als auch im 274x Stil definiert). Die Y-Koordinaten sind im allgemeinen negativ. KiCad verwendet für Flächen das in Gerber spezifizierte Polygon Makro und kein &amp;quot;stroke fill&amp;quot;.&lt;br /&gt;
** Um Gerber Dateien zu erstellen, wählt man aus der oberen Menueleiste ganz links Datei &amp;gt; Plotten und dann oben links unter Plotformat &amp;quot;Gerber&amp;quot; &lt;br /&gt;
** KiCad unterstützt auch die kürzlich eingeführten Gerber-Attribute. Die Anwendung derselben muss aber explizit angewählt werden. Dazu setzt man im Gerber-Plottmenue im Feld &amp;quot;Gerber Optionen&amp;quot; bei &amp;quot;include extended attributes&amp;quot; einen Haken.&lt;br /&gt;
** KiCad kann automatisch die Lötstoppmaske von der Siebdruckmaske (Silk screen - Bestückungsaufdruck) abziehen, damit nicht der Bestückungsaufdruck versehentlich über Pads liegt und dort das Löten verhindert. Dazu muss aber im Gerber-Plottmenue im Feld &amp;quot;Gerber Optionen&amp;quot; bei &amp;quot;Subtrahiere Lötstoppmaske von Siebdruckmaske&amp;quot; ein Haken gesetzt werden.&lt;br /&gt;
* Welche Gerber Lagen werden zur Herstellung einer Platine benötigt?&lt;br /&gt;
** Grundsätzlich zu Herstellung der Platine die Gerberfiles: Alle Kupferlagen, Bestückungsdruck Top und Bottom (Falls auf Bottom was steht), Lötstoppmaske Top und Bottom. Eine Umrisslage mit dem Platinenumriss und Ausfräsungen. Drillfiles (Excellon) Für durchkontaktierte und NICHT durchkontaktierte (NPTH) Bohrungen. Dazu: Ein Textfile mit einer Erläuterung, welche Lage welche ist, sowie Angaben, wie dick die Kupferschichten der Kupferlagen und wie dick die Isolierlagen dazwischen sein sollen, und aus welchem Material. Wenn Du eine einfache rechteckige Platine hast, schreibst Du dort auch noch die Kantenlängen hinein. Wenn die Platinenumrisse komplizierter sind (z.B. verwinkelt, mit Ausfräsungen ec.), noch eine Masszeichnung als Gerber File. Siehe dazu: https://www.mikrocontroller.net/topic/399503#new&lt;br /&gt;
** Zum Bestücken wird mindestens noch eine Stückliste (BOM) benötigt. Eventuell noch ein spezieller Bestückungsplan (Assembly), wenn der Bestückungsaufdruck nicht reicht. Für SMD eventuell noch die Gerberdaten für Klebstoffmaske und Lötpastenmaske, und eventuell die Pick and Place Daten für den Bestückungsautomaten.&lt;br /&gt;
* Wie kann man den Gerber-Plot so ausdrucken, dass in der Mitte von Pads und Vias ein Zentrierloch frei bleibt?&lt;br /&gt;
** http://article.gmane.org/gmane.comp.cad.kicad.user/3457&lt;br /&gt;
* Was ist &#039;&#039;&#039;allgemein&#039;&#039;&#039; beim Export von Gerber Daten zu  beachten?&lt;br /&gt;
** Allgemeine Informationen zum Gerber File Format findet sich hier: https://www.mikrocontroller.net/articles/Gerber-Tools&lt;br /&gt;
** Speziell zu Passermarken/Fiducials (add layer alignment target) diese Diskussion: https://www.mikrocontroller.net/topic/396624#new&lt;br /&gt;
** Aktuell: https://www.mikrocontroller.net/topic/428569#new&lt;br /&gt;
* Ich würde gerne meine Gerberdaten gespiegelt ausdrucken, aber das &amp;quot;gespiegelt&amp;quot; ist ausgegraut.&lt;br /&gt;
** Gerber Daten werden nur sehr selten vom Layouter gespiegelt benötigt. Wenn aber doch, so öffne die Gerber Daten mit dem Gerberviewer (Gerbview). Wenn Du dort ausdruckst, kannst du auch spiegeln. Trotzdem solltest Du Dir in dieser Diskussion durchlesen, warum Du vermutlich keine Gerberdaten gespiegelt ausdrucken musst: https://www.mikrocontroller.net/topic/466448#new&lt;br /&gt;
* Mein Layterplattenfertiger bemämgelt, das meine Gerber Daten fehlerhaft sind.&lt;br /&gt;
** Wenn er negative Koordinaten bemängelt, so sind diese nach der aktuellen Gerber Definition zulässig.&lt;br /&gt;
** Wenn Du trotzdem negative Gerber Koordinaten beim Export vermeiden möchtest, musst Du den Ursprung bzw. das Hilfskoordinatensystem passend setzen. Siehe hier: https://www.mikrocontroller.net/topic/482457#5999588 &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Wenn man einen Offset für Gerber verwendet, muss man den gleichen Haken auch bei den Drillfiles setzten. Sonst sind die Bohrdaten gegenüber den Gerberdaten verschoben.&lt;br /&gt;
** Wegen nicht geschlossener Polygone bzw. doppelter Punkte in Polygonen siehe hier: https://www.mikrocontroller.net/topic/482457#5999669 und den Bugreport https://bugs.launchpad.net/kicad/+bug/1847714&lt;br /&gt;
** Ucamco als Schöpfer des Gerberformates bietet einen Online-Referenzviewer für Gerberdateien, um die Qualität von Gerberdaten zu überprüfen. Siehe hier: https://gerber-viewer.ucamco.com/&lt;br /&gt;
&lt;br /&gt;
==== Excellon Drillfiles exportieren ====&lt;br /&gt;
&lt;br /&gt;
* Wie erstelle ich mit KiCad Excellon Drillfiles?&lt;br /&gt;
**siehe hier: http://www.mikrocontroller.net/topic/310333#new&lt;br /&gt;
&lt;br /&gt;
==== KiCad Board Dateien direkt zum Hersteller ====&lt;br /&gt;
&lt;br /&gt;
* Bei Bestellungen bei PCB-Pool ist deren GC-Prevue NICHT mehr erforderlich, weil PCB-Pool mittlerweile KiCad *.brd Dateien direkt akzeptiert. Siehe http://www.pcb-pool.com/ppde/info_dataformat.html Das gilt auch für viele andere Hersteller. im Zweifel dort einmal nachfragen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Trotzdem&#039;&#039;&#039; sollte man &#039;&#039;&#039;besser Gerber Dateien&#039;&#039;&#039; zum Platinenhersteller senden. Das gilt &#039;&#039;&#039;grundsätzlich&#039;&#039;&#039; so auch für andere Platinen Layout Programme. Der Grund ist hier angegeben: https://www.mikrocontroller.net/wikisoftware/index.php?title=Gerber-Tools&amp;amp;action=edit&amp;amp;section=8&lt;br /&gt;
&lt;br /&gt;
=== Import ===&lt;br /&gt;
* Kann man EAGLE Dateien importieren? (=&amp;gt; Obacht bei Weitergabe der Daten! Die originalen Eagle Dateien könnten mit Urheberrechten belastet sein)&lt;br /&gt;
** Ja. Voraussetzung ist, dass das Eagle Projekt im XML-Format vorliegt. Das ist automatisch der Fall, wenn man Eagle 6 (6.6?) oder aktueller benutzt und darin speichert. Dieses Projekt kann dann in aktuellen KiCad Versionen (5.x oder 6?) geöffnet und als KiCad Projekt gespeichert werden. Dazu das Eagle Projekt für diesen Zweck vorher in einen separaten Ordner kopieren. Dann im KiCad Hauptfenster aus dem Pulldown Menue Datei &amp;gt; Projekt importieren &amp;gt; Eagle CAd wählen.&lt;br /&gt;
** Ganz aktuell: https://www.mikrocontroller.net/topic/474387#new &lt;br /&gt;
** Aktuell: http://www.mikrocontroller.net/articles/KiCad#Konverter&lt;br /&gt;
** Etwas älter: http://www.mikrocontroller.net/topic/70905#797416&lt;br /&gt;
** http://www.mikrocontroller.net/topic/120373#1089933&lt;br /&gt;
** https://www.mikrocontroller.net/topic/417848#new&lt;br /&gt;
* Wie bindet man fremde KiCad Bibliotheken ein?&lt;br /&gt;
** EESchema (Schaltplaneditor) starten, unter Einstellungen &amp;quot;Bibliothek&amp;quot;  auswählen, auf &amp;quot;Hinzufügen&amp;quot; klicken, neue Bibliothek auswählen dann &amp;quot;öffnen&amp;quot; und in der Projektdatei &amp;quot;Speichern&amp;quot;. Gültig für Version 20090216Final, 2011-04-29-BZR2986-WinXP und Version: (2011-11-27 BZR 3249)-stable unter Platform: Linux 2.6.32-5-686 i686, 32 bit, Little endian, wxGTK.&lt;br /&gt;
&lt;br /&gt;
** VERALTET! Das Verfahren zur Einbindung eigener oder fremder Bibliotheken ist under PCBnew genauso.&lt;br /&gt;
** Aktuell: Siehe http://www.mikrocontroller.net/topic/356855#3988114&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&lt;br /&gt;
Es empfielt sich dringenst, eigene Bibliotheken &#039;&#039;&#039;NICHT&#039;&#039;&#039; zu den KiCad Bibliotheken im Ordner kicad/share/library bzw. kicad/share/modules für Footprints zu speichern, weil diese dort bei einem Upgrade von KiCad gelöscht würden. Stattdessen sollte man sich einen KiCad Ordner im eigenen home bzw. Benutzerverzeichnis (oder sonstwo, wo es opportun ist, und man Schreibrechte hat) anlegen, mit einem Ort, um eigene Bibliotheken abzulegen. Dies ist ein eher allgemeiner Hinweis, der so nicht nur für KiCad. sondern auch für die meisten CAD-Programme gelten dürfte.&lt;br /&gt;
&lt;br /&gt;
=== Neues Projekt ===&lt;br /&gt;
Ein neues Projekt legt kicad automatisch nach der in kicad/share/template hinterlegten Projektdatei an. Möchte man, das kicad ein neues Projekt von vorneherein nur mit ausgewählten eigenen Bibliotheken anlegt, so ist eine entsprechende Projektdatei unter kicad/share/template/kicad.pro abzulegen.&lt;br /&gt;
Dies erfordert dort Schreibrechte. Linux roots müssen diese Datei anschliessend mit chmod 755 Dateiname für user lesbar machen.&lt;br /&gt;
Bei einem upgrade würde kicad.pro gelöscht. Daher sollte man sich davon eine Sicherheitskopie in seinem benutzerverzeichnis hinterlegen.&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen sichern / wiederherstellen===&lt;br /&gt;
* Wo speichert KiCad die Einstellungen ab und wie lassen sich die originalen Einstellungen wiederherstellen?&lt;br /&gt;
** [[http://kicad.sourceforge.net/wiki/index.php/DE:KiCadHB#Einstellungen_sichern_.2F_wiederherstellen]]&lt;br /&gt;
**Man erstelle ein neues Projekt beliebigen Namens, nehme alle Einstellungen (Bibliotheken, Pfade usw.) vor und speichere diese in der aktuellen Projektdatei &amp;quot;name.pro&amp;quot;. Im Ordner KiCad Verzeichnis ....../kicad/share/template befindet sich eine Datei &amp;quot;kicad.pro&amp;quot;. Diese Datei &amp;quot;kicad.pro&amp;quot; ist die &amp;quot;Musterprojektdatei&amp;quot;, die für alle neuen Projekte verwendet wird. Man benenne sie um in &amp;quot;kicad-orig.pro, und kopiere die aktuelle Projektdatei &amp;quot;name.pro&amp;quot; nun als &amp;quot;kicad.pro&amp;quot; in diesen Template-Ordner. Leider Funktioniert dieses Verfahren nicht in allen KiCad Versionen. Den originalen Zustand stellt man wieder her, indem man &amp;quot;kicad.pro&amp;quot; umbenennt, und &amp;quot;kicad-org.pro&amp;quot; wieder in &amp;quot;kicad.pro&amp;quot; zurückumbenennt.&lt;br /&gt;
&lt;br /&gt;
=== Bitmaps als Symbol oder Footprint importieren ===&lt;br /&gt;
Der Programmteil Bitmap2component wandelt Bitmaps wahlweise in Symbole oder in Footprints um. Auf diese Weise können also auch Logos oder spezielle Muster für HF-anwendungen in KiCad importiert werden, sobald sie als Bitmap vorliegen. Es gibt allerdings auch andere Möglichkeiten, Grafiken zu importieren. Siehe dazu https://www.mikrocontroller.net/topic/428745#new&lt;br /&gt;
&lt;br /&gt;
== Tipps&amp;amp;Tricks / Eigenheiten / Bugs ==&lt;br /&gt;
&lt;br /&gt;
* Nachbearbeitung mit Skript oder Texteditor (Pin Swapping, Versionskontrolle via SVN, Generierung von Packages aus UCF-Listen) &lt;br /&gt;
** http://www.mikrocontroller.net/topic/120373#1100467&lt;br /&gt;
** http://www.mikrocontroller.net/topic/96860#836967&lt;br /&gt;
** http://stawoo.com/dokuwiki/doku.php?id=ecld:kicad:board&lt;br /&gt;
&lt;br /&gt;
* Veraltet! (2006) Schaltplan: Durchnummerieren von GND und PWR erforderlich http://www.mikrocontroller.net/topic/39243#290309&lt;br /&gt;
&lt;br /&gt;
* Zum Verbinden von Schaltplan und Layout müssen an den Bauteilen die Pinnummern mit den Padnummern der Footprints korrespondieren. Das ist &amp;quot;defaultmäßig&amp;quot; nicht immer zu erreichen, weil es unterschiedliche Nummerierungssysteme gibt. Ausser dem Anlegen eines speziellen Footprints kann diese Anpassung für einzelne Bauteile wärend des Layoutens im Moduleditor vorgenommen werden. http://www.mikrocontroller.net/topic/186121#1805890&lt;br /&gt;
* Ich habe einen hierarchischen Schaltplan angefertigt, indem sich eine Schaltung zig mal wiederholt. Eine dieser Subschaltungen habe ich schon geroutet, und möchte dieses Layout genau wie die hierarchischen Schaltpläne mehrfach auf dem Board verwenden.&lt;br /&gt;
** In PCBnew lassen sich mit &amp;quot;Datei&amp;gt;Platine hinzufügen&amp;quot; auch schon geroutete Gruppen von Bauteilen quasi als Modul einfügen, wenn sie zuvor als Board abgelegt wurden. Ebenso kann eine Bauteilgruppe, die in der Form mehrmals vorkommt, und die die schon einmal geroutet worden ist, gruppiert, kopiert und wiederverwended werden. Die dazu nötige Annotation und das Löschen der überzähligen Bauteile muss aber sorgfältig von Hand gemacht werden. &#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; In neueren Versionen von PCBnew ist diese Funktion ausgegraut, wenn PCBnew &amp;quot;normal&amp;quot; aus dem Menue des KiCad Hauptfensters gestartet wurde. Um diese Funktion zu aktivieren, KiCad schliessen und PCBnew wie ein alleinstehendes Program direkt starten.&lt;br /&gt;
** Wer seinen Subschaltplan separat routen möchte, sollte den Subschaltplan explizit in EEschema öffnen und die Netliste nur dieses Subschaltplanes exportieren. Diese Netlist in ein neues Board in PCBnew einlesen und wie üblich routen.&lt;br /&gt;
* Bibliotheken verwalten, umsortieren bzw. neu strukturieren: http://www.mikrocontroller.net/topic/187107#1817559 &lt;br /&gt;
&lt;br /&gt;
* Layout: Rest-Gummiband an Pins http://www.mikrocontroller.net/topic/120373#1092375&lt;br /&gt;
&lt;br /&gt;
* Produktion: http://www.mikrocontroller.net/topic/98034#848965&lt;br /&gt;
&lt;br /&gt;
* Bug in Version 2010-03-14: Unter Einstellungen lässt sich keine einseitige Platine wählen (wichtig für Autorouter). Lösung: Modifikation des .brd Files mit einem Editor [http://www.mikrocontroller.net/topic/172015#1651239]:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;&lt;br /&gt;
:In der *.brd Datei gleich ganz oben...&lt;br /&gt;
:&lt;br /&gt;
:$GENERAL&lt;br /&gt;
:LayerCount 2                 -&amp;gt; auf 1 setzen&lt;br /&gt;
:&lt;br /&gt;
:$SETUP&lt;br /&gt;
:InternalUnit 0.000100 INCH&lt;br /&gt;
:ZoneGridSize 250&lt;br /&gt;
:Layers 2                     -&amp;gt; auf 1 setzen&lt;br /&gt;
:Layer[0] Rückseite power&lt;br /&gt;
:Layer[15] Vorderseite power  -&amp;gt; hab&#039; ich mal beides so gelassen&lt;br /&gt;
:&amp;lt;/pre&amp;gt;                                                                aktueller: http://www.mikrocontroller.net/topic/172015#1794699&lt;br /&gt;
&lt;br /&gt;
* Das Anlegen von Symbolen/Bauteilen in aufgelöster Darstellung ist etwas stolperig. Siehe: http://www.mikrocontroller.net/topic/294095#3136180&lt;br /&gt;
&lt;br /&gt;
* Es empfielt sich, in Kicad vorläufig KEIN Ampersand (Kaufmansund, &amp;quot;&amp;amp;&amp;quot;) im Namen einer Schaltplan- oder Boarddatei zu Verwenden. Es besteht ein Bug beim Export/Plotten nach SVG. Siehe oben unter &amp;quot;Drucken / Export&amp;quot; und dann &amp;quot;Meine erzeugten SVG Plots sind kaputt.&amp;quot;. Siehe auch: http://tech.groups.yahoo.com/group/kicad-users/message/14952&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kühlkörper&#039;&#039;&#039; können als Symbol und Footprint (Modul) angelegt werden. Die Befestigungslöcher können im  Modul als Pad ausgeführt werden. Die Padnummer aller Pads sollte gleich sein (gleicher Anschluss / über Kühlkörper verbunden), z.B. &amp;quot;1&amp;quot;. Entsprechend ein Symbol mit Pin und korrespondierender Pinnummer anlegen. Wenn der Kühlkörper elektrisch nirgendwo verbunden sein soll, dann die Anschlusspinne im Schaltplan als &amp;quot;unused&amp;quot; markieren. Als Referenz in Symbol und Footprint habe ich &amp;quot;HS&amp;quot; (HeatSink) gewählt. Es ist zu überlegen, ob &amp;quot;HS&amp;quot; nicht auch als Padnummer besser wäre.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kartenumrisse/Outlines&#039;&#039;&#039;: Für immer wiederkehrende Platinengrössen, z.B. die beliebte Eurokarte, kann zur Vereinfachung des Zeichnens einmal ein Eurokartenumriss im Layer &amp;quot;outlines&amp;quot; gezeichnet werden, und als Modul abgelegt werden. Um die Zahl der Kollisionen beim Einlesen der Netzliste zu verringern, wird im Schaltplan ein Dummy-Symbol ohne Pinne angelegt. In CVpcb dann dieses Symbol mit dem passenden Kartenumriss Footprint/Modul verbinden, und es wird automatisch in PCBnew eingefügt. Als Referenz in Symbol und Footprint habe ich &amp;quot;Outl&amp;quot; (OUTLine) gewählt.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sprachanpassung&#039;&#039;&#039;: Ich will mein KiCad auf Deutsch / Englisch / Französisch / Finnisch oder sonst eine Sprache umstellen. Wie geht das?&lt;br /&gt;
** Siehe : http://www.mikrocontroller.net/topic/262039#2719056&lt;br /&gt;
**Die deutsche Übersetzung der Texte und Hilfetexte/Tooltips ist manchmal etwas unelegant. Wem so etwas auffält, bitte Mitteilung am Ende dieses Threads: http://www.mikrocontroller.net/topic/255932#2641638 (deutschsprachig) oder an die KiCad user group unter https://groups.yahoo.com/neo/groups/kicad-users/info (englischsprachig, auch bei Fällen wo es um die deutsche Übersetzung geht). Diese Mitteilungen nach Möglichkeit nicht in Launchpad.&lt;br /&gt;
** Ich habe aber keine Möglichkeit, die Sprache umzustellen!&lt;br /&gt;
*** Wenn Debian eine Fehlermeldung &amp;quot;Cannot set locale to &#039;xy_XY&#039;. kommt, ist die entsprechende Umgebung nicht installiert. Unter Debian als root in der Konsole: &amp;quot;dpkg-reconfigure locales&amp;quot; aufrufen. Es öffnet sich eine ncurses-gui, wo die entsprechenden Einstellungen gemacht werden können. Für &amp;quot;Deutsch&amp;quot; wähle ich &amp;quot;de_DE.utf8&amp;quot;.&lt;br /&gt;
*** Wenn nichts passiert, fehlen möglicherweise die localisierungs Dateien. Sie sind NICHT Teil der Sourcen, und finden sich in http://bazaar.launchpad.net/~kicad-developers/kicad/doc/files/head:/internat/. Auf Debian und verwandten Systemen müssen die einzelnen localisationsordner, z. B. &amp;quot;de&amp;quot; nach /usr/local/share/kicad/internat kopiert werden. Dann als root dort Leserechte erteilen mit &amp;quot;chmode -R 755 /usr/local/share/kicad/internat&amp;quot;.&lt;br /&gt;
*** Wenn ein Mischmasch aus Englisch und der gewählten Sprache existiert, sind entweder nicht alle Begriffe übersetzt (siehe oben) oder wegen Umbenennung von Variablen ist eine Inkonsistenz entstanden. Siehe: http://www.mikrocontroller.net/topic/326622#3565178&lt;br /&gt;
** Für die KiCad Localsisation wird &amp;quot;GNU gettext&amp;quot; verwendet. Eine kleine Hilfestellung zur Anpassung der Localisation findet sich hier: http://docs.kicad.org/en/gui_translation_howto.html. Info zu Gnu gettext findet sich hier: http://de.wikipedia.org/wiki/GNU_gettext&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Projektdateien (.pro) Pfadschreibweise&#039;&#039;&#039;: In einer Windowsumgebung ist es anscheinend nötig, relative Pfade speziell zu kennzeichnen. Siehe: http://www.mikrocontroller.net/topic/326869#new&lt;br /&gt;
&lt;br /&gt;
=== Problem: Der Ursprung für die Pick und Place bzw. Drill-Daten wurde verändert und lässt sich nicht zurücksetzten. === &lt;br /&gt;
Siehe: http://www.mikrocontroller.net/topic/363280#new&lt;br /&gt;
&lt;br /&gt;
=== Problem: Case Senitive Symbols ab BZR4646 (Jan./Feb. 2014) in Schaltplänen. (Migration alter Projekte auf neue) ===&lt;br /&gt;
Ab BZR4646 sind die Symbole in Eeschema &amp;quot;Case Sensitive&amp;quot;. Das bedeutet: In alten Schaltplandateien wurden für die Symbolnamen nur Großbuchstaben verwendet, auch wenn die Originalnamen in der Library Kleinbuchstaben enthielten. Ab BZR4646 werden die Symbolnamen in den Schaltplandateien genauso geschrieben wie die Originalnamen in der Library. Leider werden dadurch bei alten Schaltplandateien die großgeschriebenen Symbolnamen nicht mehr in den Bibliotheksdateien erkannt. Auch nicht in den &amp;quot;-cache.lib&amp;quot; Dateien. Ganz so kritisch, wie es sich anhört, ist es wiederum auch nicht, weil KiCad schon seit geraumer Zeit die Schaltpläne in der neuen Version speichert. Jemand, der mit aktuellen KiCad Versionen an aktuellen Schaltplänen arbeitet, wird darum den Übergang vermutlich nicht bemerken. Allerdings tritt das Problem bei alten Schaltplänen auf, die möglicherweise Jahrelang unberührt auf der Festplatte lagen. Um die Symbolnamen in diesen alten Schaltplandateien anzupassen, existiert das Python3 Skript &amp;quot;PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip&amp;quot;. Es ist ein &amp;quot;Stand alone&amp;quot; Python3 skript, das nicht in das KiCad interne Python skripting eingebunden ist. Die Datei kann hier bezogen werden:[[Media:PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip]].&lt;br /&gt;
Autor: Bernd Wiebus, GNU-GPL.&lt;br /&gt;
&lt;br /&gt;
Be einigen Linux Distributionen (z.B. Archlinux) wird neben Python 3 auch noch das Paket &amp;quot;python3-tk&amp;quot; benötigt. Oder eine irgendwie anders genannte Einbindung von Tkinter in Python3. Anmerkung: &amp;quot;Tkinter&amp;quot; für Python3 wird im allgemeinen kleingeschrieben &amp;quot;tkinter&amp;quot; zur Unterscheidung vom großgeschriebenen &amp;quot;Tkinter&amp;quot; für das alte Python(2). &lt;br /&gt;
Sonst gibt es die Fehlermeldung &amp;quot;ImportError: No module named tkinter&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Manueller Start mit: &amp;quot;python3 PyKiCad-CaseSensitiveLibCure_RevD_13Mar2015.py&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dieses Skript kann benutzt werden, um Schaltpläne, die mit der Eeschema Version (2013-11-29 BZR 4513) von Ende 2013, die in Linux Repositorys (z.B. Debian 7 &amp;quot;Wheezy&amp;quot;) noch sehr verbreitet ist, auf aktuelle KiCad Versionen anzupassen.&lt;br /&gt;
&lt;br /&gt;
In RC4 übernimmt ein &amp;quot;Rescue-Helper&amp;quot; diese (und andere) Funktion. Aber auch dieser kann genau wie das Python Skript nur funktionieren, wenn entweder die Originalsymbole (Cache.lib!) oder entsprechend benannte Nachfolger der Bibliotheken existieren, so dass ein auf den Namen passendes Symbol existiert.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Backporting KiCad-Board Dateien (.kicad_pcb) von Version 4 auf Version 3 2014/2015) ===&lt;br /&gt;
&lt;br /&gt;
Möchte man z.B mit einer KiCad/PCBnew Version BZR 4027 vom 22 Juni 2014, welche in vielen Repositorys noch weit verbreitet ist, eine Board-Datei ( .kicad_pcb), die mit einer neueren PCBnew Version erstellt wurde, z.B. einer BZR 5513 vom 14. März 2015 (die aktuell kompiliert wurde), öffnen, so stösst man auf Probleme. Aktuell die BZR 5513 verwendet für die Board Dateien Version 4, und die alte BZR 4027 verwendet dort die Version 3. Obwohl das Schema der Boarddateien fast gleich ist, enthält die Version 4 Elemente, die es zur Zeit der Version 3 noch nicht gab, und die darum zu Fehlermeldungen und zum Abbruch des Einlesens der Datei führen. Diese Neuerungen beziehen sich auf den Export von Gerberfiles mit Attributen sowie Platinenlagen, die es vorher noch nicht gab. Diese Fehler sind dank der einfachen, klarschriftlesbaren Filestruktur von KiCad sehr leicht mit einem Texteditor zu beheben. Eine Beschreibung, wie dieses manuell zu machen ist, finden Sie hier: [[Media:KiCad-PCBnewBoardDateienMigrierenVonVersion4Auf5.pdf]] Achtung Irrtum: Hier sind Version 4 und 5 genannt, dabei sind aber Version 4 und 3 gemeint.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Portieren von älteren KiCad-Board Dateien auf neuere Versionen.  ===&lt;br /&gt;
&lt;br /&gt;
In einigen Fällen funktioniert das Erkennen von selbstvergebenen Layer Namen aus der älteren Version nicht. Abhilfe schafft das manuelle Umbenennen der betroffenen Layer per Editor in den Board Dateien in KiCad-Standard Bezeichnungen und natürlich das konsequente Einpflegen in den Rest der Datei. Eine Vorstellung, wie das zu bewerkstelligen ist, ist ebenfalls aus [[Media:KiCad-PCBnewBoardDateienMigrierenVonVersion4Auf5.pdf]] zu ersehen. Achtung Irrtum: Hier sind Version 4 und 5 genannt, dabei sind aber Version 4 und 3 gemeint. Einen Überblick, welche Layernamen die jeweils aktuelle KiCad Version verwendet, bekommt man indem man sich ein Testboard anlegt, indem ALLE möglichen Layer verwendet werden, dieses abspeichert und sich die Datei mit einem Texteditor ansieht.&lt;br /&gt;
Die Portierung von alten KiCad-board Dateien (Projektname.brd) funktioniert dagegen im Allgemeinen problemlos.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Neue leere Footprintbibliothek kann nicht erstellt werden (kicad Version: 4.0.0~rc1a-stable release build / RC4) ===&lt;br /&gt;
&lt;br /&gt;
Soll eine neue, leere Footprintbibliothek angelegt werden, so funktioniert das nicht mit den angebotenen Tools (z.B. dem Wizzard) weil die automatisch den Typ der Bibliothek ermitteln wollen, was nicht funktioniert, weil die Bibliothek noch leer ist. Auch das manuelle Eintragen des Pfades funktioniert nicht, weil die leere Bibliothek nicht als solche erkannt wird, und wegen dieses Fehlers der Abschluss des Eintrages nicht übernommen wird. Abhilfe schafft dabei das Anlegen eines Ordners &amp;quot;Bibliotheksname.pretty&amp;quot; (Erinnerung: Neue KiCad Footprintbibliotheken bestehen aus einem Ordener &amp;quot;xyz.pretty&amp;quot;, indem die einzelnen Footprints jeder für sich in einer extra Datei &amp;quot;Footprintname.kicad_mod&amp;quot; existieren). Anschliessend kopiert man eine einzige beliebige Footprintdatei &amp;quot;Nameirgendwie.kicad_mod&amp;quot; in diesen Ordner. Somit ist &amp;quot;Bibliotheksname.pretty&amp;quot; eine &amp;quot;echte&amp;quot; Bibliothek, welche als solche problemlos eingebunden werden kann. Enthält die Bibliothek dann irgendwann die gewünschten richtigen Einträge, so kann der Footprint, der zu Anfangs zum Erstellen der Bibliothek hineinkopiert wurde, auch wieder gelöscht werden.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Fehlende Backannotationsmöglichkeit in KiCad ===&lt;br /&gt;
&lt;br /&gt;
Es gibt Leute, die sich in KiCad eine Backannotationsmöglichkeit wünschen (andere warnen davor, sowas zu benutzen, selbst wenn es existiert). KiCad bietet aktuell selber diese Möglichkeit nicht, doch lässt sich aufgrund der offenen Dateistrukturen ein z.b. Python Skript schreiben, welchess die Backannotation durchführt. Als ein Beispiel siehe hier: &amp;lt;ref&amp;gt;https://hasanyavuz.ozderya.net/?p=256&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Problem: Platinenerstellung durch Isolationsfräsen ===&lt;br /&gt;
&lt;br /&gt;
Einer der möglichen Wege ist hier beschrieben: https://www.daedalus.ei.tum.de/index.php/de/3d-druck-cnc/cnc/layout-und-g-code-erstellung-mit-kicad  Allerdings scheint die dort erwähnte Software mittlerweile aus einer anderen ecke zu kommen: http://carbide3d.com/apps/pcb/community.html Es gibt aber noch andere Wege, zb. über: http://flatcam.org/discussion#!/?HPGL Eine Diskussion dazu findet sich hier: https://www.mikrocontroller.net/topic/447442#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Building Blocks ===&lt;br /&gt;
* Eine unfertige Dokumentation, wie man das hierarchische Schaltplansystem von KiCad verwendet, um daraus schnell und rationell Schaltpläne mit vorgefertigten Schaltplänen (Building Blocks) nach dem Baukastensystem aufzubauen. Enthält auch ein Beispielprojekt. Beachte die Liesmich.txt Datei. [[Media:BuildingBlocksKiCad-EXPERIMENTELL.zip]] Das File  KiCad-HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf, enthält eine vorläufige Beschreibung dazu. KiCad-HierarchischeSchaltplaene+buildingBlocksRevA-EN.pdf is an English description how to use hirarchical schematics as building blocks for a fast and rationel schematic design. Es fehlt noch die Übersetzung und die Bebilderung und ein paar Berichtigungen und Ergänzungen. ;-) . Das echte Hauptbeispielprojekt ist UnderVoltageDetector24V-2Group_Experimental.pro bzw. UnderVoltageDetector24V-2Group_Experimental.sch. Im Ordner Experimentalprojekt23052010 findet sich ein weiterer Ordner BuildingBlocksExperimental. Dieser enthält die Ausgangsbausteine VoltageRegulatorBuildingBlock.sch mit VoltageRegulatorBuildingBlock-cache.lib und  VoltageDetectorBuildingBlock.sch mit VoltageDetectorBuildingBlock-cache.lib. Die Projektdateien der Buildingblocks .pro sind nur der Vollständigkeit und zur leichteren Bearbeitung zugefügt. Aus VoltageDetectorBuildingBlock.sch und VoltageRegulatorBuildingBlock.sch wurde (nach umkopieren, umbenenen und kleiner Änderung) im übergeordneten Ordner das Projekt VoltageRegulatorBuildingBlock.pro unter verwendung des &amp;quot;Zwischenbuildingblocks&amp;quot; UnderVoltageDetectorBuildingBlock.sch zusammengesetzt. NICHT VERGESSEN DIE CACHE.LIB EINZUBINDEN! Sonst gibt es nur Fragezeichen statt Bauteile. Das Beispielprojekt enthält eine 24V Unterspannungsüberwachung für einen Bleiakku, die zwei 12V Gruppen überwacht. Nicht elegant, aber hoffentlich robust. Autor: Bernd Wiebus , GNU-GPL. Der dazubezügliche Beitrag im Forum ist: http://www.mikrocontroller.net/topic/178683#1724114&lt;br /&gt;
*[[Media:HierarchischeSchaltplaeneAlsBausteineInKicad_RevC_23Dec2013.pdf]] VERBESSERTE und AKTUALISIERTE Version von KiCad-HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf aus obiger Zip-Datei. Beschreibt, wie mit Hilfe der hierarchischen Schaltplanstruktur aus einzelnen, vorgefertigten Schaltplänen schnell und rationell neue Schaltpläne modular zusammengesetzt werden können. There is also a English translation of this tutorial about using hierarchical schematics as building blocks. You can get it here: [[Media:HierarchicalSchematicsAsBuildingblocksAtKiCad_RevC-EN_06May2015.pdf]]&lt;br /&gt;
* Eine Sammlung von gängigen Schaltungen mit den Längstreglern LM317 /LM78xx /LM79xx und dem Timer 555, die nach dem in obig erwänten Dokument KiCad_HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf beschriebenen Vorgehen als Building Blocks in KiCad verwendet werden können, findet sich unter: http://www.mikrocontroller.net/articles/KiCad#Building-Blocks&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Shortcuts/Hotkeys ===&lt;br /&gt;
&lt;br /&gt;
KiCad besitzt eine ganze Anzahl von Shortcuts/Hotkeys. Diese lassen sich editieren, abspeichern und importieren.&lt;br /&gt;
Dieses erfolgt in EEschema, dem Symboleditor und in PCBnew in der oberen Menueleiste unter &amp;quot;Einstellungen&amp;quot; &amp;gt; &amp;quot;Tastaturbefehle&amp;quot; (&amp;quot;Preferences&amp;quot; &amp;gt; &amp;quot;Hotkeys&amp;quot;). Dort finden sich weitere Menuepunkte, um eine Liste der verfügbaren Hotkeys anzuzeigen, die Hotkeys zu editieren oder um sie zu exportieren oder importieren.&lt;br /&gt;
&lt;br /&gt;
Eine &#039;&#039;&#039;Liste&#039;&#039;&#039; der aktuell verfügbaren Hotkeys erhält man mit &amp;quot;?&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Es gibt eine Reihe von Hotkeys, die in EEschema, dem Symboleditor und PCBnew gleich sind:&lt;br /&gt;
&lt;br /&gt;
*Help (this window)		?&lt;br /&gt;
*Zoom In			        F1&lt;br /&gt;
*Zoom Out			F2&lt;br /&gt;
*Zoom Redraw			F3&lt;br /&gt;
*Zoom Center			F4&lt;br /&gt;
*Fit on Screen			Home&lt;br /&gt;
*Reset Local Coordinates	Space&lt;br /&gt;
*Edit Item			E&lt;br /&gt;
*Delete Item			Del&lt;br /&gt;
*Rotate Item			R&lt;br /&gt;
*Drag Item			G&lt;br /&gt;
*Undo				Ctrl+Z&lt;br /&gt;
*Redo				Ctrl+Y&lt;br /&gt;
*Mouse Left Click		Return&lt;br /&gt;
*Mouse Left DClick		End&lt;br /&gt;
&lt;br /&gt;
Die anderen variieren je nachdem, in welcher Umgebung man sich befindet.&lt;br /&gt;
&lt;br /&gt;
Ein wichtiger Hotkey in PCBnew ist &amp;quot;T&amp;quot;. Wird &amp;quot;T&amp;quot; gedrückt, poppt ein Fenster auf, in dem nach dem Referenzbezeichner des Bauteils gefragt wird. Den gibt man ein, drückt &amp;lt;Enter&amp;gt; und der Footprint des Bauteiles hängt am Mauszeiger. Das ist eine wichtige Funktion beim &#039;&#039;&#039;Plazieren der Bauteile&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Eine PDF Datei mit Notizen zu den Shortcuts in KiCad und Listen von Shortcuts findet sich hier: [[Media:KiCad-Shortcuts-Hotkeys_Notizen_BZR4803_28Jun2014.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Lochraster/Lötleisten Platinen Entwurf mit KiCad ===&lt;br /&gt;
&#039;&#039;&#039;Dieses hier beschriebene Verfahren ist KiCad unabhängig und geht grundsätzlich mit jedem Layoutprogramm, das ein Raster anzeigen kann.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Wer viel mit Lochraster Platinen arbeitet, hat gelegentlich auch ein Bedürfnis, diese Tätigkeit mit einem Layoutprogramm zu begleiten. Zum einen um den Platzbedarf besser abschätzen zu können, zum anderen, um dadurch auch eine schnelle und einfache Dokumentation auch für Lochrasterprojekte zu schaffen. Auch dazu kann KiCad verwendet werden.&lt;br /&gt;
* Vorgehensweise: Schaltplan in Eeschema erstellen wie üblich, Netzliste erzeugen, und in CVpcp die Bauteile zuordnen. In PCBnew dann das Raster einblenden und auf 2,54mm (100mil) stellen. Nun geben die Rasterpunkte die Position der Löcher der Lochrasterplatine vor. Nach dem Einlesen der Netzliste bei Lochraster mit Streifenleitungen am besten zweiseitig manuell routen. Auf der Unterseite der Richtung der Streifenleitung in Längstrichtung folgen (z.b. wagerecht). Auf der Oberseite die Brücken dazu quer legen (z.B. senkrecht). Zweipolige Bauteile immer senkrecht oder wagerecht positionieren. &lt;br /&gt;
** Wer eine Platine erstellen möchte, die nur teilweise ein Lochraster aufweist, dem sei diese Diskussion empfohlen: https://www.mikrocontroller.net/topic/369534#new&lt;br /&gt;
* Noch ein Vorschlag für Lochraster bzw. Lötleistenentwürfe in KiCad: http://www.mikrocontroller.net/topic/395181#4547206&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: KiCad und Freeroute ===&lt;br /&gt;
Leider ist die Freeroute Seite abgeschaltet. Grund:http://www.mikrocontroller.net/topic/337014#new Allerdings gibt es eine Möglichkeit, Freeroute selber zu installieren und zu nutzen: https://github.com/nikropht/FreeRouting und http://freerouting.net/index_de.php &lt;br /&gt;
*Freerouting einseitig bzw. für Lochraster verwenden: http://www.mikrocontroller.net/topic/363335#new&lt;br /&gt;
*Fehlermeldungen beim Start von Freeroute: Es ist wichtig, dass der Leiterplattenumriss in der Lage edge.cuts geschlossen ist: https://www.mikrocontroller.net/topic/435039#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: KiCad und Specctra Autorouter ===&lt;br /&gt;
Es treten beim Export der Netzlisten/Designs Fehlermeldungen der Art: &amp;quot;IO_ERROR: Multiple components have identical reference IDs&amp;quot; auf, obwohl offensichtlich keine doppelten Referenzbezeichner vergeben wurden.&lt;br /&gt;
* Die &amp;quot;doppelten Referenzbezeichner&amp;quot; sind doch &amp;quot;irgendwie&amp;quot; versteckt vorhanden. Z.B. dadurch, das Bauteile nicht Referenziert oder Annotiert wurden. Im Zweifel die Files mit einem Texteditor danach durchsuchen, oder die Autoannotation über das Board laufen lassen. Siehe: https://www.mikrocontroller.net/topic/365185#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Platinen von ALLPCB ===&lt;br /&gt;
Hinweise, wie die Design Restrictions von ALLPCB in KiCad umgesetzt werden können, als Beispiel auch für andere Platinenhersteller (entsprechend anpassen)&lt;br /&gt;
* https://www.mikrocontroller.net/topic/443533#new&lt;br /&gt;
&lt;br /&gt;
= Bibliotheken =&lt;br /&gt;
&lt;br /&gt;
== Handhabung von Bibliotheken ==&lt;br /&gt;
&lt;br /&gt;
=== Eeschema ===&lt;br /&gt;
&lt;br /&gt;
* Symbolbibliotheken in Eeschema einbinden.&lt;br /&gt;
** Zur Benutzung müssen Bibliotheken mit Symbolen in das Bibliotheksverzeichnis von Eeschema eingetragen werden. Siehe: https://www.mikrocontroller.net/topic/416835 [[Bild:EeschemaBibliotheksliste.png|300px|thumb|right|Bearbeitung einer KiCad 4 Eeschema Bibliotheksliste]]&lt;br /&gt;
* Cache Bibliothek:&lt;br /&gt;
**  Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Aus diesem Grunde existiert zu jeder Schaltplandatei (Dateiname.sch) eine Cache Bibliothek (Dateiname-cache.lib). Diese enthält alle im Schaltplan verwendeten Symbole, und sollte darum mit dem Schaltplan zusammen übergeben werden. Diese Cache-Bibliothek sollte auch in die Bibliothekstabelle übernommen werden.&lt;br /&gt;
* Fehler mit Case-Senitiven Bibliotheken&lt;br /&gt;
** Ab BZR4646 (Jan./Feb. 2014) behandelt KiCad Symbolnamen &amp;quot;Case Sensitive&amp;quot;. Das führt zu Problemen mit älteren Schaltplänen, wo &amp;quot;Mixed Case&amp;quot; Symbolnamen aus den Bibliotheken automatisch in &amp;quot;Upper Case&amp;quot; Symbolnamen konvertiert wurden. Diese werden jetzt nicht mehr erkannt. Näheres siehe: http://www.mikrocontroller.net/articles/KiCad#Problem:_Case_Senitive_Symbols_ab_BZR4646_.28Jan..2FFeb._2014.29&lt;br /&gt;
&lt;br /&gt;
== Bibliothekssammlungen ==&lt;br /&gt;
&lt;br /&gt;
In diesem Abschnitt sollen unsere Arbeiten an Bibliotheken koordiniert werden. Dabei sollen alle Arbeiten unter der Creative Commons Lizenz stattfinden. Das heisst insbesondere, dass keine Arbeiten mit anderem Copyright unseren Bibliothekspool vergiften sollen z.&amp;amp;nbsp;B. durch unerwünschte Konvertierung von EAGLE-Bibliotheken.  &lt;br /&gt;
&lt;br /&gt;
Unsere Designziele sind:&lt;br /&gt;
* Frei benutzbar (Creative Commons Lizenz) &lt;br /&gt;
* Einheitlich (Richtlinien?)&lt;br /&gt;
** Vorschlag von Marko für Bohrungen und Pads siehe [http://www.mikrocontroller.net/topic/124070#1176177]&lt;br /&gt;
** Die Richtlinien, die die KiCad Librarys selber verwenden: [https://github.com/KiCad/kicad-library/blob/master/KiCad_Library_Convention.txt]&lt;br /&gt;
* Fehlerfrei (Nachkontrolle durch andere User)&lt;br /&gt;
&lt;br /&gt;
=== Wünsche ===&lt;br /&gt;
&lt;br /&gt;
Hier soll eine Strichliste geführt werden, welche neuen Bauteile gesucht sind bzw. welche oder besseren, genaueren Versionen benötigt werden. Bitte gebt an, was bei bestehenden Bauteilen problematisch ist.&lt;br /&gt;
&lt;br /&gt;
Bevor wir Bibliotheken erstellen, sollten auf jeden Fall einige Parameter - insbesondere für die Schaltplansymbole - festgelegt werden: Pinlänge, Pinabstand, Größe der Schriften, Konventionen bzw. Nummerierung (z.B. bei gepolten Bauteilen wie Dioden, Elkos usw.). Sonst entsteht Wildwuchs, weil jeder für sich anderes festlegt.&lt;br /&gt;
&lt;br /&gt;
* Stehende Layouts für 7805 und N-FETs: ||||&lt;br /&gt;
** Passt TO220_VERT ? Natürlich! Nur die Anschlussnumerierung muss ev. passend adaptiert werden. Ist unter &amp;quot;TO-220&amp;quot; in [[Media:KiCAD_Module_Footprints_3D_29Aug2014.zip]] enthalten. In allen Perversionen. Stehend, liegend, rumgedreht von der Rückseite usw....&lt;br /&gt;
* LPC21xx / LPC22xx / LPC23xx |&lt;br /&gt;
* EINE AVR ATmega-Bibliothek, wo ALLE Controller drin sind. ||||||||&lt;br /&gt;
* AVR XMegas |&lt;br /&gt;
* AT90CAN128 / allgemein mehr AVRs (MEGA &amp;amp; TINY) ||||||&lt;br /&gt;
* Wegen der AVRs und ATMEGAs: Bitte hier http://www.kicadlib.org/Fichiers/Kerusey_Karyu_Atmel_Library.html mal schauen, und den Wunsch auf den Typ konkretisieren! Der Atmelzoo ist so verwirrend vielfältig.....&lt;br /&gt;
** Leider ist die dazugehörige Bibliothek defekt.&lt;br /&gt;
** Ist aktualisiert worden und in die aktuelle KiCad Symbol Library eingeflossen: [https://github.com/KiCad/kicad-library/blob/master/library/atmel.lib]&lt;br /&gt;
*** Weitere Aktualisierungen und Erweiterungen: [https://github.com/KiCad/kicad-library/blob/master/library/atmel.dcm]&lt;br /&gt;
* Schaltregler (u.A. LM257x, LM267x, MC33063, L5973D) |||| Der MC33063 hat gleiches Pinning und Gehäuse wie MC34063! Darum kann der in http://www.mikrocontroller.net/wikifiles/8/84/Symbols_ICs-Diskrete_RevD9.lib verwendet werden.&lt;br /&gt;
* Spulen (z.&amp;amp;nbsp;B. diverse Wuerth) ||&lt;br /&gt;
* Drosseln (B82790 für CAN, Würth 744207) ||&lt;br /&gt;
* Transformatoren (allgemein) |&lt;br /&gt;
* Ferrite (7427930 - 32, 742792651, 74279263) |&lt;br /&gt;
** ??? Was genau ist nun Footprint und Referenzmaeßig der Unterschied zwischen Drosseln, Spulen und Ferriten, wenn ich jetzt mal davon ausgehe, das die Teile weder Anzapfung noch mehr als eine Wicklung haben (dann wären es Trafos oder Uebertrager), und die elektrischen Werte in ein Feld eingetragen werden?? Schau mal unten in http://www.mikrocontroller.net/wikifiles/d/da/KiCad_Module_Footprints_3D_16Sep2013.zip. Kleinere SMD-Entstörferrit Module lassen sich uebrigens aus Footprints für SMD-Widerstaenden zaubern, in dem man sie umbenahmt und mit der Referenz &amp;quot;L&amp;quot; versieht. ;-)&lt;br /&gt;
* STM32 Mikrocontroller Bibliothek (sofern möglich alle) ||||&lt;br /&gt;
* Arduinos ||&lt;br /&gt;
** Arduino Due ||&lt;br /&gt;
** Arduino Nano |&lt;br /&gt;
* Teensy |&lt;br /&gt;
** Teensy 3.5/3.6 |&lt;br /&gt;
** Teensy 4.0 |&lt;br /&gt;
&lt;br /&gt;
=== Entwürfe ===&lt;br /&gt;
&lt;br /&gt;
Neue Bibliotheken oder Änderungen sollen zunächst in diesem Abschnitt &lt;br /&gt;
vorgestellt werden. &lt;br /&gt;
&lt;br /&gt;
==== Symbolbibliotheken ====&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/96460#832961 ATmega3250/TQFP100] von Fred S. (Gast)&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/96460#844741 ATMega3290 im 100Pin-Gehäuse] von Fred S. (Gast)&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/132811#1205130 RFM12-Funkmodul] von Dominik C.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/133310#1210137 CAN Controller MCP2515 und Transceiver MCP2551] von Dominik C.&lt;br /&gt;
&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/394700#4540445 STLib für KiCad mit STM32F4x] von Markus W.&lt;br /&gt;
&lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevB-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1. Schaltplan Symbolbibliothek fuer KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind. Von Bernd Wiebus&lt;br /&gt;
&lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevC-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind. Aenderung gegenueber Rev.B: Kleinere Symbole hinzugefügt. Mit Vorsicht geniessen! Von Bernd Wiebus.&lt;br /&gt;
 &lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevD3-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind.  Aenderung gegenueber Rev.C: Kleinere Fehler beseitigt. CLD Symbol hinzugefuegt. Kuehlkoerper Symbol und Dummy-Symbol fuer Boardoutlines hinzugefuegt. Thyristor und Triac Symbol zugefuegt. Copyright Symbole GNU-GPL und CC zugefuegt. Mit Vorsicht geniessen! Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
 &lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevE8.lib]] AKTUELLE Version! Ersetzt die Rev. B, C und die Rev. D sowie Vorgängerversionen E1-E7! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind.  Aenderung gegenueber Rev.D: Kleinere Fehler beseitigt. Ankerpunkte in die Nähe der Symetrieachsen verlegt. Verbinder DIN41612 / EN60603-2 &amp;quot;Eurokartenstecker&amp;quot; hinzugefügt. Große &amp;quot;BIG&amp;quot; Symbole entfernt und in der Datei BIG-SymbolsSimilarEN60617+oldDIN617-RevE.lib ausgelagert. Mit Vorsicht geniessen! Von Rene Belau und Bernd Wiebus.  CC-Zero/Public Domain!  Defektes Symbol &amp;quot;RESISTOR_RevE_Date15jun2010&amp;quot; repariert am 02. Maerz 2011. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
   &lt;br /&gt;
* [[Media:BIG-SymbolsSimilarEN60617+oldDIN617-RevE.lib]] Einige EN60617 oder der DIN 617 ÄHNLICHE Symbole in besonders GROSSER Ausführung. Vermutlich werden Sie diese GROSSEN Symbole eher NICHT benutzen wollen. Mit Vorsicht geniessen! Von Rene Belau und Bernd Wiebus. Unter GNU GPL. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/attachment/74203/obi.lib]] KiCad Symbol für einen ATMEGA644. Von obi&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ICs-Diskrete_RevD10.lib]] KiCad Symbole für einige diskrete ICs. Enthält L200 (Pentawatt Gehäuse), LM2587 (Pentawatt Gehäuse), Längstregler LM317, LM78xx, LM79xx, Timer NE555, NF-Verstärker LM1875 und TDA2003 (Pentawatt Gehäuse), Schaltregler UC38xx (DIP8/SO8 und DIP14/SO14), LM2587, MC34036, LM78S40 und MCP1640, Treiber MIC4422 (DIP8/SO8 und Pentawatt Gehäuse). Allegro Halleffekt Stromwandler Typ ACS754/ACS755/ACS756 und LEM Halleffekt Stromwandler der Serie &amp;quot;HX&amp;quot;. Programierbarer Oszillator Si570/Si571 sowie Quarzoszillator Typ KXO-200. Dazu Transistor Arrays BC847S und BC857S (in einfacher und in aufgelöster Darstellung) und Supressordioden Array SR05. Schieberegister 74HC4094 . Spannungs-/Laderegler uA723/LM723 in 14 und 20 poligem Gehäuse. HF/ZF Verstärker/Mischer/Demodulator TCA440 alias exDDR A244D, FM Frontend TA7358. Spannungsmonitor ICL7665. Autor Bernd Wiebus.  CC-Zero/Public Domain!  Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ICs-Opto_RevB_16Sep2013.lib]] KiCad Symbole für Optokoppler CNY17, IL300. IL388, TLP250, SFH617A-1, SFH617A-2, SFH617A-3, SFH617A-4, KPC357, LTV35x, und PC357. LWL Empfänger Toshiba TORX170 TORX173 TORX193  und TORX194 (Toslink). LWL Sender Toshiba TOTX170 TOTX173 TOTX193  und TOTX194 (Toslink). LWL Empfänger Agilent HFBR-252x und Sender Agilent HFBR-152x Serie (Versatile Link). 7 Segment Anzeigen HDSM531, HDSM533, LTS6760, LTS6780, SBC18-11EGWA. Autor Rene Belau und Bernd Wiebus. CC-Zero / Public domain. Mit VORSICHT geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Transformer-Diskrete_RevA.lib]] KiCad Symbole für einige diskrete Transformatoren. Coilcraft Q4434-B = Rhombus T1311 und Myrra-74040 ETD29. Autor: Bernd Wiebus. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_DCDC-ACDC-Converter_RevC_29Aug2014.lib]] KiCad Symbole für einige DCDC/ACDC-Converter. Enthält CINCON EC5BC12, CINCON EC6C11, TRACO TED-1212, TRACO TED-XXXX Dual Output, TRACO TED-XXXX Single Output, TRACO TEN10-1212, TRACO TEN10-XXXX, TRACO TME-XXXX, TRACO TMH-XXXX Single Output, TRACO TMH-XXXX Dual Output, sowie TRACO ACDC-Converter der TMLM Serie. BOTHHAND CF-Serie und DELTA DPS05U09D. Neu seit 29 August 2014: Floeth DCDC-Converter SD14-XXXX und SD18-XXXX. Autor: Bernd Wiebus. GNU-GPL. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_Socket-DIN41612_RevA.lib]] KiCad Symbole für DIN41612 Stecker und Buchsen (Die bekannten Eurokartenstecker). Autor: Bernd Wiebus. GNU-GPL. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_EN60617_13Mar2013.lib]] KiCad Symbole für die EN60617. Strikter als die Symbole aus SymbolsSimilarEN60617+oldDIN617-Rev~~.lib. Autor: Bernd Wiebus. CC-Zero/Public Domain! Mit Vorsicht geniessen! Hierzu gehört der Katalog: [[Media:Symbols_EN60617_13Mar2013.pdf]] Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_EN60617-10_HF-Radio_DRAFT_12Sep2013.lib]] HF-Blockschaltbild Symbole für KiCad. EXPERIMENTELL! Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain.  Hierzu gehört der Katalog: [[Media:EN60617-10_HF-Radio_SymbolCatalog_DRAFT.pdf]] Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_Microcontroller_Philips-NXP_RevA_06Oct2013.lib]] Symbole der NXP Microcontroller LPC2104, LPC2105 und LPC2106 fuer KiCad.  Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ORringController_RevA_03Aug2015.lib]] Symbole verschiedener ORing-Controller fuer KiCad. Enthält IR5001, ISL4166 (QFN20+TSSOP16) und LM5050/LM5051. Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de.&lt;br /&gt;
&lt;br /&gt;
* [https://forum.kicad.info/t/oktizer-octagonal-pads-and-vias-was-elektuur-style-symbol-library/34611 Klassische Elektor-ähnliche Symbole], angepasst an KiCad 5.1 und 6.0. Lizenz: CC0&lt;br /&gt;
&lt;br /&gt;
==== Modulbibliotheken ====&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD_Module_Footprints_3D_29Aug2014.zip]] Eine Sammlung von KiCad Modulen bzw. Footprints diskreter Bauteile. Neben den obligatorischen Rs, Cs und Ls sind Schrack und Omron Kartenrelais (die Footprints passen auch fuer andere Hersteller), diverse Dioden, Klemmen WAGO 236 (RM 5mm) Serie und WAGO 734 Serie, Sicherungshalter (Schurter und Bulgin) für 5x20 und 6x30, SMD Sicherungen 1206 und Sicherungen/Sicherungshalter TE5/TR5,Flachsicherungen Standard und Mini, Kuehlkoerper und Eurokartenoutlines enthalten. Zusaetzlich TO92, TO220, TO220-5 (Pentawatt) und TO247 Gehaeuse. Ebenso die vermissten PISN und PISR SMD Drosseln. Einige Throughhole C&amp;amp;D Bobin Drosseln, Bourns 3296, Spectrol Type 43 / Econtrim und Piher PT15 Trimmer . Potentiometer Alps RK16 und Spectrol Type 148/149. Transformatoren Coilcraft Q4434-B / Rhombus T1311 sowie ETD29 von Epcos und Myrra sind auch dabei. Eurokartenstecker/-buchsen DIN 41612 Typ B1, B2, C1, C2 und C3. Ebenfalls enthalten: GNU-GPL und Creative Commons  Symbole. Dazu Messpunkte. BNC-Buchse, Quarzoszillator, SMD Widerstände und Kondensatoren.  (0805, 1206, 2512) sowie experimentelle Universalfootprints SMD/Throughole. SMD-Dioden: MELF, Mini-MELF, SMA, SMB und SMC. Halleffekt Stromwandler mit Allegro CB-PFF, CB-PSF und CB-FSS Gehäusen.Dazu Stecker Molex Serie KK, Würth SMD Drosseln und Doppeldrosseln. Neosid Filter und Drosseln. TRACO ACDC-Converter der TMLM Seie und SOT23, SOT143, SOT143R, TSOT-6 / MK06A sowie SC70-6 SMD Footprints für Dioden, Transistoren bzw. Dioden und Transistor Arrays und kleinere ICs. Mini Universal Mate-N-Lock Steckersockel (Tyco/AMP). 2-6 Pin, vertikale und horizontale Typen. Verbesserte Fiducials und Logos. Dazu SMD-Tantalkondensatoren und ETAL NF-Transformatoren. TO50-3 und TO50-4 Gehäuse. 7 Segment Anzeigen. LQFP48/TQFP48 Gehäuse. Hallsonden Stromwandler mit Allegro CB-PFF, CB-PSF und CB-FSS Gehäusen. Halleffekt Stromwandler der Serie &amp;quot;HX&amp;quot; von LEM.  Neu in der Version vom 29. August 2014: Floeth DCDC-Converter SD14 und SD18. Fast alles ohne 3D Modelle, aber manchmal mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* Viel Standardkram in 3D: http://smisioto.no-ip.org/elettronica/kicad/kicad-en.htm&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD-Module_Buzzer_Beeper_RevA_25Oct2010.zip]] Einige Footprints von Summern /Buzzern / Beepern für KiCad. Enthaelt Kingstate KCG0601, Pro Signal ABI-009-RC, Pro Signal ABI-010-RC, Pro Signal ABT-410-RC, Star Micronics HMB-06/HMB-12 und Projects Unlimited AI-4228-TWT-R. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD-Module_CommonModeChoke_Wuerth_Type-WE-CMB_RevA_25Oct2010.zip]] Footprints der Gleichtaktdrosseln der Serie Würth WE CMB (through hole) für KiCad. Enthält die Verschieden Bauformen XS, S, M, L, XL und XXL. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:DCDC-ACDC-Converter_RevC_20Jul2012.zip]] Footprints von DCDC/ACDC-Convertern für KiCad. Enthält CINCON EC5BC12, CINCON EC6C11, TRACO TED-1212, TRACO TED-XXXX Dual Output, TRACO TED-XXXX Single Output, TRACO TEN10-1212, TRACO TEN10-XXXX, TRACO TME-XXXX, TRACO TMH-XXXX Single Output, TRACO TMH-XXXX Dual Output, BOTHHAND CF-Serie und DELTA DPS05U09D. Neu seit 20 Juli: TRACO ACDC-Converter der TMLM Serie. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Opto-Devices_RevC_03Oct2012.zip]] Footprints von Optoelectronischen Bauteilen für KiCad. Enthält 6 Polige DIL Footprints für CNY17, auch in &amp;quot;wide&amp;quot;, SMD Optokoppler Footprints (1 Kanalig) und Footprints für Toshiba (Toslink) und Agilent (Versatile Link) LWL Ssender und Empfänger. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Pentawatt_RevB_24Oct2012.zip]] Footprints von Pentawatt Gehäusen für KiCad. Enthält verschiedene Ausführungen der TO220-5 Gehäuse in gerade und verkröpft, sowie stehend und liegend. Mit 3D-Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:Transistor_TO-220_RevB_03Sep2012.zip]] Footprints von TO220-3 Gehäusen für KiCad. Enthält verschiedene Ausführungen der TO220 Transistor Gehäuse in  stehend und liegend. Mit 3D-Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! CC-Zero/Public domain! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:Transistor_TO-247_RevC.zip]] Footprints von TO247 Gehäusen für KiCad. Enthält verschiedene Ausführungen der Transistor Gehäuse in  stehend und liegend. Mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! CC-Zero/Public domain! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/topic/176405#new]] KiCad Modul / Footprint für ein TSSOP38 Gehäuse. Autor Raphael Reu.&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/topic/190088#1856759]] Texas Instruments TPIC8101 Klopfsensor Interface (für Verbrennungsmotoren). Autor Peter Diener.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IR-directFET_Packages_RevB.zip]] Footprints von directFET SMD-Transistor Gehäusen von International Rectifier für KiCad. Enthält die SH, SJ, SQ, ST, S1, MN, MP, MT, MX, MZ und die L8-Outline. Nähere Informationen in den Datenblättern betroffener Transistoren und in der International Rectifier Applikationsnotiz AN-1035. &amp;quot;directFET&amp;quot; ist übrigens eine Handelsmarke von International Rectifier und die Gehäuse sind proprietär. Also vorsichtig sein und an &amp;quot;second source&amp;quot; denken. Mit 3D Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter CC-Zero / Public domain. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Neosid-Devices_Coils_Filters_25Apr2012.zip]] Footprints von NEOSID Bauteilen. Spulen, Luftspulen, Filter ec. für KiCad. Through hole und SMD. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT23_SOT143_SOT143R_TSOT6_MK06A_SC70-6_Housing_14Mar2014.zip]] Footprints von SOT23, SOT143, SOT143R, TSOT-6 /MK06A und SC70-6 SMD Gehäusen, wie sie oft für Dioden und Transistoren, aber auch Dioden und Transistor Arrays verwendet werden. Auch ICs findet man in der Bauform. Es sind Standard Footprints und spezielle für Handlötung vorhanden. KiCad Legacy Format und neues .pretty Format. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:MiniUniversalMate-N-LokSockets_13Aug2012.zip]] Footprints von Mini Universal Mate-N-Lok Steckersockeln (Tyco/AMP). 2-6 Pin, verticale und horizontale Typen. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:NF-Transformer_ETAL_RevA_28Aug2012.zip]] Footprints und 3D-Mesh Modelle von NF-Transformatoren der Firma ETAL (http://www.etalgroup.com). SMD und THT Typen. Mit PDF-Ausdruck zur leichteren Identifikation. In der Bibliothek ist auch der bekannte Übertrager ETAL P1200, der von Box73 (http://www.box73.de) vertrieben wird. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de &lt;br /&gt;
&lt;br /&gt;
* [[Media:TantalCapacitors_SMD_RevA_28Aug2012.zip]] Footprints von Tantal Kondensatoren SMD Größe A bis E (EIA-3216, EIA-3528, EIA-6032, EIA-7343 und EIA-7360). Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Ohne Garantie und unter GNU-GPL. Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT89-3_SOT89-5_Housing_RevA_02Sep2012.zip]] Footprints und 3D-Mesh Modelle von SOT89-3 und SOT89-5 SMD Gehäusen. Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT126_SOT32_Housings_RevA_22Oct2012.zip]] Footprints und 3D-Mesh Modelle von SOT126 / SOT32 Gehäusen. Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Allegro_HallSensors_24Oct2012.zip]] Footprints und 3D Modelle von Allegro Hall-Effect Stromsensoren mit PFF, PSF oder PSS Gehäuse (ACS754, ACS755, ACS756).  Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:VML0806_Housing_Rohm_27Oct2012.zip]] Footprints und 3D Modell eines Transistors im 0806 Format (VML0806 / Rohm).  Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:TO-50_Housings_RevA_21Apr2013.zip]]  Footprints/Module von TO50-3 und TO50-4 Transistor Gehäusen.Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:OldSowjetAera_Transistor_RevA.zip]] Footprints/Module von Kleinleistungstransistoren aus der Sowjetära.Mit 3D-Modell und PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:SIP9_Housing_14Jun2013.zip]] Footprints/Module von SIP9 Gehäusen (z.B. TA7358).Mit 3D-Modell und PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:7Segment_16Sep2013.zip]] Footprints/Module von 7-Segment Anzeigen HDSM531 (SMD), HDSM533 (SMD), LTS6760, LTS6780 undSBC18-11EGWA. Dazu PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:BNC-Sockets_RevA.zip]] Footprints/Module von TYCO BNC-Buchsen für KiCad. Mit 3D Modellen und PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:LQFP_TQFP_RevA_06Oct2013.zip]] Footprints/Module von LQDP48/TQFP48 Gehäuseb für KiCad. Ohne 3D Modelle, aber mit PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:LEM_HallEffectTransducers_RevA_13Oct2012.zip]] Module/Footprints von Halleffekt Stromwandlern der Serien &amp;quot;HX&amp;quot; und &amp;quot;HTFS&amp;quot; von LEM. Mit 3D-Modellen  und PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
==== 3D-Modelle ====&lt;br /&gt;
&lt;br /&gt;
* [[Media:MeshModells_VRML-Wings3D_13Oct2013.zip]]  3D-Modelle diverser elektronischer Bauteile im wrl 2.0 und wings Format. Enthalten: DD-PAK (TO263AB), D-PAK (TO252AA), SMD Dioden MELF, MiniMELF, SMA, SMB und SMC, Transformatoren ETAL P1165, P1200, P2781, P3000, P3181, PP3188 und P3191, SO126 / SOT32 in horizontal und vertikal, SOT223-3, TO263-3, SOT89-3, SOT89-5, TO220 horizontal und vertikal und reverse. TO220-5 horizontal, vertical, inline und verkröpft, VML0806. SIP9. 7 Segment SMD Anzeige HDSM531/HDSM533 in Grün, gelb, rot und orange. directFET SMD-Transistor Gehäusen von International Rectifier für KiCad. Enthält die SH, SJ, SQ, ST, S1, MN, MP, MT, MX, MZ und die L8-Outlines. Flachsicherungen Standard und Mini. Halleffekt Stromwandler LEM &amp;quot;HX&amp;quot; Serie und Allegro ACS754/ACS755/ACS756 mit CB-PFF, CB-PSF und CB-FSS Gehäusen. Ohne Garantie und unter CC-Zero / Public Domain Lizenz. Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
==== Building-Blocks ====&lt;br /&gt;
*[[Media:BuildingBlocks_16Jun2013.zip]] enthält eine Sammlung von gängigen Schaltungen mit den Längstreglern LM317 /LM78xx /LM79xx und dem Timer 555, die nach dem in diesem [[Media:HierarchischeSchaltplaeneAlsBausteineInKicad_RevC_23Dec2013.pdf]] Dokument beschriebenen Vorgehen als Building Blocks in KiCad verwendet werden können. Ein Katalog dazu befindet sich hier: [[Media:KatalogUeberKiCadBuildingBlocks_21Apr2013.pdf]]. Autor: Bernd Wiebus, Lizenz: Creative Commons. Experimentell! Ohne Garantie! Mit Vorsicht geniessen!&lt;br /&gt;
&lt;br /&gt;
Wenn mindestens ein weiterer KiCad User die Bibliothek geprüft hat, kann sie in den folgenden Unterabschnitt verschoben werden.&lt;br /&gt;
&lt;br /&gt;
=== Geprüfte ===&lt;br /&gt;
&lt;br /&gt;
Hier sollen geprüfte Bibliotheken gesammelt werden. Bitte angeben, wer die Prüfung gemacht hat.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/132288#new STM32F103xx (LQFP64) Schaltplansymbol] erstellt/geprüft: Dominik C.; Marko S.&lt;br /&gt;
* Bei der STMF103xx fehlt glaub ich der Portpin PD2 :) Grüße :)&lt;br /&gt;
&lt;br /&gt;
=== Sonstige Bibliotheken im Netz ===&lt;br /&gt;
&lt;br /&gt;
Die Einträge hier sind nach [[KiCad-Bibliotheken#Bibliotheken_im_Netz|KiCad-Bibliotheken im Netz]] verschoben worden. &#039;&#039;&#039;Bitte Überarbeitungen und neue Einträge nur dort vornehmen!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bitte diesen Unterpunkt &#039;&#039;&#039;nicht Löschen&#039;&#039;&#039;, da es Verweise aus dem Forum oder von sonstwo geben mag, die sonst ins Leere laufen, ohne eine Erklärung für den User.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Werkzeuge ==&lt;br /&gt;
&lt;br /&gt;
Da die in KiCad verwendeten Dateien klarschriftlesbar sind, lassen sie sich sehr leicht mit externen Programmen und Skripten bearbeiten, um spezielle Funktionalitäten zu erzeugen. Eine kleine Auswahl an Programmen/Skripten ist hier zusammengestellt:&lt;br /&gt;
&lt;br /&gt;
* Zuallererst: Mittlerweile hat sich rund um KiCad eine ganze Reihe von Hilfsprogrammen etabliert. Einige davon können über die offizielle KiCad Site gefunden werden: [http://kicad.org/external-tools/ KiCad-External Tools]. Zurzeit (04Oct2019) sind dort [https://github.com/easyw/kicadStepUpMod/ KiCad StepUp] als Plugin für FreeCAD, [https://github.com/xesscorp/KiCost KiCost] zur Tabellenkalkulationserstellung und Kostenermittlung aus KiCad-Schaltplänen, [https://github.com/thesourcerer8/altium2kicad Altium2KiCad] um aus Altium PCBs und Schaltplänen solche für kiCad zu erstellen, [http://neo900.org/stuff/eeshow/ EEschow] zur Konvertierung von KiCad-Schaltplänen in verschiedene Grafikformate, sowie [[Schaltplaneditoren#Fped|Fped]], mit dem sehr komfortabel Footprints für KiCad erstellt werden können, gelistet.&lt;br /&gt;
* [http://kicad.rohrbacher.net/quicklib.php Quick KICAD Library Component Builder]&lt;br /&gt;
* Gerber-Tools sind für KiCad weniger nötig, da KiCad mit GerbView seinen eigenen Gerberviewer mitbringt. Dieser ist mächtig genug, die eingelesenen Gerberfiles als Platine in PCBnew zu exportieren, wo sie manipuliert werden können. Dieses geht aber nur mit Gerber-RS274X Daten. Ebensowenig können Gerberfiles zu Nutzen zusammengefügt werden. Hierzu bietet sich &amp;quot;Gerbmerge&amp;quot; http://ruggedcircuits.com/gerbmerge (http://claymore.engineer.gvsu.edu/~steriana/Python/gerbmerge/ Veraltet) an. Wer lediglich aus Sicherheitsgründen die von KiCad erzeugten Gerberdaten mit einem fremden Gerber-Vierer inspizieren möchte, findet hier Hinweise:http://www.mikrocontroller.net/articles/Gerber-Tools&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/204063#2011138 KiCad (Multi-)Symbol Tool] von Joghurt3000 zur Erstellung von Symbolen aus einer Textvorlage&lt;br /&gt;
* [http://cyclerecorder.org/footprintbuilder Footprintbuilder] Java-Programm zu Erstellung von Footprints.&lt;br /&gt;
*Wer seine Platine &amp;quot;panelisieren&amp;quot; (d.h. mehrmals nebeneinander anordnen um in einem &amp;quot;Nutzen&amp;quot; gleich mehrere Platinen fertigen zu können) möchte, kann das mit dem Python 2 Skript &amp;quot;panelize.py&amp;quot; tun. Das Programm arbeitet direkt auf den kicad .brd Files, so das das Mehrfachnutzen Board unter PCBnew nachbearbeitet werden kann, für z.B. einen  DRC. &amp;quot;panelize.py&amp;quot; kann hier bezogen werden: http://blog.borg.ch/?p=12&lt;br /&gt;
* &amp;quot;Raef&amp;quot; hat ein Python Script erstellt, das Bauteile automatisch ähnlich der Anordnung im Schaltplan plaziert. Siehe: http://www.mikrocontroller.net/topic/293903#3245990&lt;br /&gt;
*Wer die Reihenfolge der Subschaltpläne ändern will (Wegen Übersichtlichkeit/Bestimmt auch die Reihenfolge beim Ausdrucken), kann dieses Python 3 Skript verwenden (Liesmich/Readme beachten): http://www.mikrocontroller.net/wikifiles/9/90/PyKicadSchematic-ID_Interchanger_RevC.zip Autor: Bernd Wiebus, GNU-GPL. Dieses Skript ist unabhängig von der PCBnew internen Python 2 Schnittstelle.&lt;br /&gt;
* Um ältere Schaltpläne von vor Jan./Feb. 2014 (BZR4646) mit &amp;quot;upper case&amp;quot; Symbolnamen zu konvertieren, kann dieses Python 3 Skript verwendet werden: [[Media:PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip]]. Autor: Bernd Wiebus, GNU-GPL. Dieses Skript ist unabhängig von der PCBnew internen Python 2 Schnittstelle.&lt;br /&gt;
* Wem das Tricksen mit Dateimanager oder Schematic oder Board als Bibliotheksmanager nicht gefällt, findet vieleicht im &amp;quot;KiCad Libarian&amp;quot; ein passendes Tool: http://www.compuphase.com/electronics/kicadlibrarian_en.htm&lt;br /&gt;
* Diverse Skripte, um KiCad Symbole, Footprints oder sonstigen Bibliothekskram zu bearbeiten. [https://github.com/KiCad/kicad-library-utils]&lt;br /&gt;
* Cirillo Bernardo hat einige Programme geschrieben, um VRML 3D Gitter Modelle für Bauteile parametrisch zu erzeugen. Sie finden sich hier: https://github.com/cbernardo/kicad3Dmodels&lt;br /&gt;
* Peter Hofbauer hat einige Windows Programme geschrieben, die zur KiCad Unterstützung dienen: http://www.hcp-hofbauer.de/software.htm Bei den Programmen handelt es sich um &amp;quot;Aufräumprogramme für Bibliotheken, Stücklistenerzeugung, Extraktionsprogramm um eine Verdrahtungsliste aus einer Netzliste zu erzeugen, Ein Programm um Boherdurchmesser zu vereinheitlichen und ein Programm, um zusammen mit &amp;quot;Linegrinder&amp;quot; G-Code aus KiCad Boarddateien zu erzeugen. &lt;br /&gt;
* [http://escalalibre.com/edwt/kicad_sizeConverter.php KiCad Bitmap2Component Skalierer] Erlaubt es, Logos zu skalieren.&lt;br /&gt;
* [http://escalalibre.com/edwt/kicad_modTextChanger.php KiCad Module Text Changer]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/381605?reply_to=4346454#4346280 KiCad Symbol Generator Tool] KiCad Symbol Generator Tool als Python Skript&lt;br /&gt;
* [https://github.com/tlantela/KiCad_layout_cloner/blob/master/layout_cloner.py KiCad Layout Cloner] Python Skript. Siehe http://www.mikrocontroller.net/topic/382657#4363261&lt;br /&gt;
* [https://forum.kicad.info/t/kicad-stepup-the-sketcher-for-getting-to-blinky/7826] StepUp, eine Workbench für FreeCAD (ein open source 3D CAD Program) um den Import und Export von mecanichen CAD Daten von KiCad zu erleichtern.&lt;br /&gt;
* [https://hasanyavuz.ozderya.net/?p=256 Ein Backannotationstool für KiCad] als Pythonskript&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/450655#new Ein Tool, um per Skripting Messpunkte für einen Nadelbettadapter zu erzeugen.] Geht von Gerberdaten aus, die in KiCad importiert werden&lt;br /&gt;
&lt;br /&gt;
== Konverter ==&lt;br /&gt;
&lt;br /&gt;
Konverter wandeln KiCad-Daten in die Daten anderer Layoutprogramme bzw. die Daten anderer Layoutprogramme in KiCad-Daten um.&lt;br /&gt;
Nativ kann KiCad gEDA Footprints bzw. neuere Eagle Footprints direkt als Bibliothek einbinden. Das ganze ist aber als noch sehr experimentell zu betrachten.&lt;br /&gt;
&lt;br /&gt;
Des Weiteren gibt es einige Programme oder Skripte von dritter Seite, die Daten anderer Layoutprogramme in KiCad Daten umwandeln. Auch diese sind als experimentell einzustufen.&lt;br /&gt;
&lt;br /&gt;
Hier eine Auswahl:&lt;br /&gt;
* https://github.com/thesourcerer8/altium2kicad Wandelt Altium Schaltpläne und Layouts in KiCad Daten um.&lt;br /&gt;
* https://github.com/DanChianucci/Eagle2Kicad Wandelt Eagle 6.0 Layouts in KiCad Layouts.&lt;br /&gt;
* https://github.com/lachlanA/eagle-to-kicad Wandelt Eagle 6.0 Layouts in KiCad Layouts.&lt;br /&gt;
* http://www.cadsoft.de/downloads/file/eagle2kicad-0.9c.ulp Direkt von der Cadsoft Seite, ein ULP das Eagle Daten in KiCad Daten wandelt.&lt;br /&gt;
* http://www.cadsoft.de/downloads/file/eagle2kicad_sch.ulp Ebenfalls direkt von der Cadsoft Seite, ein ULP, das Eagle Schaltpläne in KiCad Schaltpläne wandelt.&lt;br /&gt;
* http://sourceforge.net/projects/pcad2kicad/ Wandelt P-CAD Schaltpläne, Layouts und Bibliotheken in KiCad Daten um.&lt;br /&gt;
* Gerber_Settings    [https://www.mikrocontroller.net/attachment/319118/originpoint.png originpoint]     [https://www.mikrocontroller.net/topic/319266?page=5#4891032 Gerber_Settings] [https://www.mikrocontroller.net/attachment/319192/Bohrdatei.png Drill_Files_Generation]&lt;br /&gt;
* https://github.com/mtl/svg2mod Tool, welches SVG in KiCad Board Layers wandelt. Einleitende Informationen finden sich hier: https://www.mikrocontroller.net/topic/440552#5234307&lt;br /&gt;
* https://github.com/thesourcerer8/altium2kicad Altium2KiCad um Altium Projekte in KiCad Schaltpläne und Boards zu konvertieren.&lt;br /&gt;
&lt;br /&gt;
Erfahrungsberichte willkommen!&lt;br /&gt;
&lt;br /&gt;
= Beispielprojekte =&lt;br /&gt;
&lt;br /&gt;
Projekte, die mit KiCad umgesetzt worden sind, finden sich auf der [[KiCad-Projekte|KiCad-Projektseite]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- alt -- &lt;br /&gt;
= Diskussionen (teilweise seeeehr alt) =&lt;br /&gt;
&lt;br /&gt;
* http://www.mikrocontroller.net/topic/120373#1089075 &lt;br /&gt;
* http://www.mikrocontroller.net/topic/98034#848559&lt;br /&gt;
* http://www.mikrocontroller.net/topic/95864#828660&lt;br /&gt;
* http://www.mikrocontroller.net/topic/77738#647041&lt;br /&gt;
* http://www.mikrocontroller.net/topic/103806#907523&lt;br /&gt;
* http://www.mikrocontroller.net/topic/41999#316195&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Weblinks =&lt;br /&gt;
&lt;br /&gt;
* [http://www.kicad.org kicad.org] Die neue Homepage&lt;br /&gt;
* [http://kicad.org/help/documentation/ Offizielle Dokumentation]&lt;br /&gt;
* [https://bugs.launchpad.net/kicad Bugreports] erstellen und nach vorhandenen Fehlern suchen, wenn einem etwas komisch vorkommt.&lt;br /&gt;
&lt;br /&gt;
* Tutorials: &lt;br /&gt;
&amp;lt;!-- alt -- ** [http://kicad.sourceforge.net/wiki/index.php/DE:Mini_tutorial Mini-Tutorial] --&amp;gt;&lt;br /&gt;
** [http://timogruss.de/kicad-loesung-fuer-die-leiterplatten-entwicklung/ KiCad Tutorial auf timogruss.de] (deutsch) (2013)&lt;br /&gt;
** https://www.youtube.com/watch?v=XD_PaSrLKBk Schematic Pages and Hierarchy In KiCad - Hierarchischer Schaltplan (2014)&lt;br /&gt;
** https://www.youtube.com/watch?v=YCdpXwRKbYc Create a library and put your own component in that library. (2014)&lt;br /&gt;
&amp;lt;!-- alt --&lt;br /&gt;
** http://store.curiousinventor.com/guides/kicad&lt;br /&gt;
** https://contextualelectronics.com/course/kicad-tutorial/ (Video Tutorials auf Englisch)&lt;br /&gt;
** http://xtronics.com/reference/kicad.html --&amp;gt;&lt;br /&gt;
** http://bastler-archiv.de/elektronik/platinenherstellung-platinenlayout-mit-kicad-teil-1/ (deutsch, Teil 1) (2011)&lt;br /&gt;
** http://bastler-archiv.de/elektronik/platinenherstellung-platinenlayout-mit-kicad-teil-2/ (deutsch, Teil 2) (2011)&lt;br /&gt;
** http://www.kramann.info/73_COACH3/06_Layouting/Layouting_art_Guido_Kramann_12122010.pdf (2010)&lt;br /&gt;
** [https://rheingoldheavy.com/category/education/kicad/ KiCad Tutorials zum Workflow, Migration alter KiCad Versionen und zu Stücklisten (RheingoldHEAVY, auf englisch)] (2015)&lt;br /&gt;
&amp;lt;!-- alt -- ** [http://roberthall.net/Wings3D_Tutorial_KiCad Tutorial zur Benutzung von Wings3D im KiCad Umfeld (englisch)] --&amp;gt;&lt;br /&gt;
** https://www.youtube.com/watch?v=i4vLxAoLvPk Video Tutorial auf Deutsch. Relativ aktuell.&lt;br /&gt;
&lt;br /&gt;
* Info&lt;br /&gt;
** [https://kicad.mmccoo.com/kicad-scripting-table-of-contents/ Python Scripting for KiCad] und [http://docs.kicad.org/doxygen-python/namespacepcbnew.html Befehlsliste]&lt;br /&gt;
** [https://wiki.aalto.fi/display/MEX/Introduction+to+KiCad] Ein paar Tips am Rande (2014)&lt;br /&gt;
** [http://www.daedalus.ei.tum.de/index.php/de/3d-druck-cnc/cnc/layout-und-g-code-erstellung-mit-kicad] Info für Leute, die Platinen durch Isolationfräsen statt ätzen erstellen&lt;br /&gt;
** [http://davidetienne.me/blog/2015/10/05/kicad-convert-ti-bxl-cad-files-to-kicad-libraries/] Ein Weg, um Libraries, die im Texas Instruments Format &amp;quot;.bxl&amp;quot; vorliegen, in KiCad Bibliotheken zu konvertieren. (2015)&lt;br /&gt;
&lt;br /&gt;
* Usergroups:&lt;br /&gt;
** [https://groups.yahoo.com/neo/groups/kicad-users/info Yahoo-KiCad-User-Group (Englischsprachig)]&lt;br /&gt;
** [https://forum.kicad.info/ Endlischsprachiges KiCad Forum]&lt;br /&gt;
&amp;lt;!-- alt -- ** [http://1.cad-kicad-user.cadtalk.us/ Englischsprachige Diskussionen über KiCad im &amp;quot;Cadtalk&amp;quot;-Forum] Leider nicht mehr existent. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tools&lt;br /&gt;
** [http://www.freerouting.net/ Freerouting] Autorouter (down: Download siehe [https://www.mikrocontroller.net/articles/KiCad#Tipps.26Tricks:_KiCad_und_Freeroute Tipps und Tricks])&lt;br /&gt;
** [http://www.mikrocontroller.net/articles/KiCad#Tools Liste mit externen Programmen und Skripten im Zusammenhang mit KiCad]&lt;br /&gt;
&lt;br /&gt;
* Verschiedenes im Zusammenhang mit KiCad&lt;br /&gt;
** [https://github.com/KiCad/kicad-library/wiki/Kicad-Library-Convention Kicad Library Convention / Regeln für offizielle KiCad Bibliotheken (Englisch)]&lt;br /&gt;
** [http://www.compuphase.com/electronics/LibraryFileFormats.pdf Aufbau der unterschiedlichen KiCad Bibliotheks Files (englisch)]&lt;br /&gt;
** [http://www.ohwr.org/projects/cern-kicad/wiki/WorkPackages CERN KiCad development roadmap / Was ist in KiCad Entwicklung geplant? (englisch)]&lt;br /&gt;
** [http://home.web.cern.ch/about/updates/2015/02/kicad-software-gets-cern-treatment Warum das CERN KiCad unterstützt (englisch)]&lt;br /&gt;
** [https://www.youtube.com/watch?v=chejn7dqpfQ Video mit der Leiterbahnlängenanpassen Funktion bzw. der &amp;quot;Differential pair&amp;quot; Funktion in KiCad.]&lt;br /&gt;
** [http://www.youtube.com/watch?v=irqlrVUbjuQ Video mit dem interaktiven Router]&lt;br /&gt;
&lt;br /&gt;
* Plattformen&lt;br /&gt;
&amp;lt;!-- alt -- ** Mac: http://brokentoaster.com/kicad/ --&amp;gt;&lt;br /&gt;
**Ubuntu: [http://www.mikrocontroller.net/topic/257321#2658268 KiCad selber compilieren] (2012)&lt;br /&gt;
** http://wiki.xtronics.com/index.php/Kicad Transtronics site (englisch)&lt;br /&gt;
&lt;br /&gt;
* HowTo von Tom Boyd (englisch)&lt;br /&gt;
** http://kicadhowto.wikidot.com/&lt;br /&gt;
** http://kicadhowto.org/&lt;br /&gt;
&lt;br /&gt;
* [https://hasanyavuz.ozderya.net/?p=256 PCB back annotation in KiCAD with Python]&lt;br /&gt;
&lt;br /&gt;
= Literatur =&lt;br /&gt;
* &#039;&#039;&#039;KiCad wie ein Profi&#039;&#039;&#039;, von Dr. Peter Dalmaris, Elektor-Verlag, 1. Auflage 2019, ISBN 978-3-89576-341-0&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=      =&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:KiCad]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=KiCad&amp;diff=107677</id>
		<title>KiCad</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=KiCad&amp;diff=107677"/>
		<updated>2025-08-23T10:12:29Z</updated>

		<summary type="html">&lt;p&gt;Falk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Wegen eines Umbaus dieser Seite bitte unter Diskussion lesen!&#039;&#039;&#039; [[Diskussion:KiCad#Seitenumbau]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KiCad&#039;&#039;&#039; ist ein Open Source [[Schaltplaneditoren|Schaltplaneditor]] und PCB Layoutprogramm für Windows, Linux, Mac OSX. &lt;br /&gt;
Diese Seite ist zunächst eine Zusammenfassung aus den KiCad Beiträgen im Forum. Und gleich zu Anfang ein grosses DANKE an alle KiCad-User aus dem Forum. Ihr seid zu viele, um jeden einzeln zu nennen. Aber wer sich diese Seite durchliest und den Links folgt, wird euch kennenlernen.  &lt;br /&gt;
&lt;br /&gt;
Hier sollen alte und neue KiCad-Anwender einen Anlaufpunkt finden und neue, insbesondere µC-relevante Aktivitäten stattfinden. &lt;br /&gt;
&lt;br /&gt;
Diese Seite will keine Konkurrenz zum offiziellen KiCad Wiki sein, d.h. was dort steht soll hier nicht wiederholt werden und was hier steht wird hoffentlich zum offiziellen KiCad Wiki wandern.&lt;br /&gt;
&lt;br /&gt;
Die Bedienung von KiCad setzt Hintergrundwissen über die Vorgänge voraus. Die Bedienungsweise entspricht eher einem alten Orcad, Altium oder auch BAE und weniger der von Eagle. Daher ist es Neulingen dringend angeraten, sich vorher die Handbücher und Tutorials gut durch zu sehen. Zur Einarbeitung benötigt man schon etwas Geduld.&lt;br /&gt;
Wer offizielle Releases verwendet, wird oft Bugs feststellen, die aber in den Testing Versionen im allgemeinen beseitigt sind.&lt;br /&gt;
Wenn ihr Kritik oder Fragen zu KiCad habt, dann nutzt das Forum! Sobald KiCad im Betreff steht, wird der Beitrag gelesen und nach Möglichkeit beantwortet. Auch Ideen zu dieser Seite sind sehr willkommen! &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suchen und Finden&#039;&#039;&#039; Da diese Seite hier etwas umfangreich geworden ist, empfehle ich eine Textsuche. Jeder Internetbrowser, der etwas auf sich hält, hat auch eine Suchfunktion, mit der der Text der Seite durchsucht werden kann. Bei Firefox/Iceweasel oben im Pull-down Menue unter &amp;quot;Bearbeiten&amp;quot; &amp;gt; &amp;quot;suchen&amp;quot; oder per Shortcut &amp;lt;Strg-F&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Link defekt -- Siehe auch die offizielle FAQ: http://kicad.sourceforge.net/wiki/index.php/FAQ --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;!-- alt 2007 -- &lt;br /&gt;
* Warum gefällt dir KiCad?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/70905#584639&lt;br /&gt;
** http://www.mikrocontroller.net/topic/81396#680502&lt;br /&gt;
** http://www.mikrocontroller.net/topic/83311#697917&lt;br /&gt;
** http://www.mikrocontroller.net/topic/42614#321502&lt;br /&gt;
* Warum gefällt dir KiCad nicht?&lt;br /&gt;
** Ich verstehe nicht, was du meinst ;-)&lt;br /&gt;
** http://www.mikrocontroller.net/topic/81396#680502&lt;br /&gt;
** http://www.mikrocontroller.net/topic/83311#697969&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wo gibt es weitere Infos zu KiCad?&lt;br /&gt;
** [http://KiCad.org Offizielle Homepage] &lt;br /&gt;
** [http://KiCad.org/help/ Die Offizielle Dokumentation] &lt;br /&gt;
** Einige allgemeine [https://docs.google.com/document/d/1M38ByFyqnhwGo8b_jDDyBceyZtEGeaSAuQaP9REzWrU/edit?usp=sharing Notizen] zur &#039;&#039;&#039;Installation&#039;&#039;&#039; und zur &#039;&#039;&#039;Arbeitsweise&#039;&#039;&#039; von KiCad &lt;br /&gt;
&amp;lt;!-- alt 2008 -- ** http://www.mikrocontroller.net/topic/98034#848661 (Von 2008, also seeeehr überholt) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Welche Leiterplattenfertiger akzeptieren KiCad Layouts?&lt;br /&gt;
** [http://www.pcb-pool.com/ppde/info_dataformat.html PCB-Pool.de]&lt;br /&gt;
** [http://fischer-leiterplatten.de Fischer Leiterplatten]&lt;br /&gt;
** [https://www.oshpark.com/ OSH Park]&lt;br /&gt;
&lt;br /&gt;
* Welche Gerberfiles benötigt der Leiterplattenhersteller?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/399503#new Forumsbeitrag]&lt;br /&gt;
** [[Gerber-Tools]] &lt;br /&gt;
** [[Richtiges_Designen_von_Platinenlayouts#Produktionsgerechter_Entwurf | Hinweise zur Technologie]]&lt;br /&gt;
&lt;br /&gt;
* Wie kriege ich raus, welche Leiterbahn welchen Netznamen hat, bzw. ich habe den Überblick verloren und weiß nicht mehr, was aus dem Layout nun was im Schaltplan ist?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/316539#3427724 Forumsbeitrag], Funktioniert nur gut, wenn ein großes Fadenkreuz gewählt ist.&lt;br /&gt;
** Genauere Informationen, z.B. über die Länge einer Leiterbahn etc. Dazu in PCBnew den gleichen Button rechts wie für das Hinzufügen von Leiterbahnen aktivieren. Oder besser noch rechts den zweiten Button von oben &amp;quot;Netz hervorheben&amp;quot;. Dann mit der rechten Maustaste die fragliche Leiterbahn anklicken. Unten in der Statusleiste werden die Informationen angezeigt.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/267538#new Forumsbeitrag]: KiCad ohne Maus bedienen. &lt;br /&gt;
* [http://www.mikrocontroller.net/topic/302664#3249204 Forumsbeitrag]: Gibt es Sonderzeichen, die ich für Symbole, Module/Footprints oder Files nicht verwenden sollte? Ja, alles was Sonderzeichen außer &amp;quot;- _ .&amp;quot; (Bindestrich, Tiefstrich, Punkt) und keine Zahl ist.&lt;br /&gt;
&lt;br /&gt;
* Wie stelle ich in KiCad das Zeitintervall für &amp;quot;automatisch Speichern&amp;quot; ein?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/459135#5551638 Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
* Woher beziehe ich KiCad?&lt;br /&gt;
** [http://kicad.org/download/ Offizielle Seite], alle Betriebssysteme        &lt;br /&gt;
*** Aktuelle Version: &#039;&#039;&#039;KiCad 9.0.4&#039;&#039;&#039; veröffentlicht im August 2025&lt;br /&gt;
*** Nightly Development Builds auch von der offiziellen Seite&lt;br /&gt;
*** KiCad kann man aus den Sourcen selbst compilieren. Dazu gibt es Skripte zur Unterstützung, die dieses automatisieren, so dass man nicht unbedingt C/C++ Kenntnisse braucht. Die meisten gängigen Linux Distributionen enthalten aber &amp;quot;old stable&amp;quot; KiCad Releases in ihren Repositories.&lt;br /&gt;
&amp;lt;!-- alt -- ** Windows: http://www2.futureware.at/~nickoe/ &lt;br /&gt;
*** Welcher Typ? ...-x86_64.exe oder ...-i686.exe ? Ich brauche x86 32 bit.&lt;br /&gt;
**** Für Windows PC 32 bit die ...-i686.exe, und für Windows PC 64 bit ...-x86_64.exe.&lt;br /&gt;
** Veraltet: http://www71.zippyshare.com/v/28617008/file.html Die Quelle ist hier genannt. https://groups.yahoo.com/neo/groups/kicad-users/conversations/messages/18534 --&amp;gt;&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/298311#3187885 Liste der Versionsänderungen] &lt;br /&gt;
* [http://www.mikrocontroller.net/topic/307517#new Forumsbeitrag]: Ich habe KiCad unter Linux installiert, aber wenn ich KiCad starten will, passiert einfach nichts, oder ich erhalte eine Fehlermeldung wie: &amp;quot;Datei nicht gefunden&amp;quot; &lt;br /&gt;
** 1) KiCad und seine zugeordneten Programme sollten im Suchpfad stehen. Es wird für Debian und Ableger empfohlen, KiCad unter usr/local/bin zu installieren. Anmerkung: Das ist die aktuelle Verfahrensweise. Oktober 2013 wurde aber noch folgende Struktur verwendet:&lt;br /&gt;
*** /usr/bin                            - Binaries (executable files).&lt;br /&gt;
*** /usr/share/doc/kicad/               - Various documentation.&lt;br /&gt;
*** /usr/share/doc/kicad/help           - Interactive help.&lt;br /&gt;
*** /usr/share/kicad/demos              - Sample schematics and printed boards.&lt;br /&gt;
*** /usr/share/kicad/internat           - Dictionaries for interface localization.&lt;br /&gt;
*** /usr/share/kicad/library            - Interface localization files.&lt;br /&gt;
*** /usr/share/kicad/modules            - Module libraries for printed boards.&lt;br /&gt;
*** /usr/share/kicad/modules/packages3d - 3D component models (.wrl and .wings format).&lt;br /&gt;
*** [http://iut-tice.ujf-grenoble.fr/cao/install.txt Quelle], hier sind auch Hinweise für Windows user enthalten.&lt;br /&gt;
&lt;br /&gt;
** 2) User sollten dort Lese- und Ausführungsrechte haben. Aber keine Schreibrechte.&lt;br /&gt;
** 3) Wenn ein fertiges Packgage auf einem 64 bit System verwendet wurde, könnte es daran liegen, das es für 32 bit compiliert wurde, und nicht für 64 bit. Es gibt zwei Möglichkeiten:&lt;br /&gt;
*** a) Selbst aus den Sourcen für sein eigenes System compilieren.&lt;br /&gt;
*** b) Die Runtime Libs für 32 Bit könnten fehlen. Nachinstallieren mit sudo apt-get install ia32-libs. Siehe [http://www.mikrocontroller.net/topic/307517#3307638 Forumsbeitrag]&lt;br /&gt;
* Ich habe das umgekehrte Problem: 32bit system aber 64bit Binarys.&lt;br /&gt;
** Selbst aus den Sourcen neu compilieren.&lt;br /&gt;
&amp;lt;!-- alt -- *Ich will/muss mir KiCad selber compilieren. Wie gehe ich vor?&lt;br /&gt;
** Aktuell nach: http://www.kicad.org/display/DEV/Build+KiCad&lt;br /&gt;
**&lt;br /&gt;
**Veraltet! siehe: http://www.mikrocontroller.net/topic/310766#3351269 Aber Achtung. Diese Anleitung (Oktober 2013) muss nicht aktuell sein. --&amp;gt;&lt;br /&gt;
* Sicherheitseinstellungen von Java sind für PCBnew unter JAVA -&amp;gt; JAVA konfigurieren zu finden.&lt;br /&gt;
&lt;br /&gt;
* Diskussionen zum Thema Installation und compilieren:&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/338600#new FEDORA] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/339509#new ARCH Linux]&lt;br /&gt;
* Konfigurationsdateien:&lt;br /&gt;
** Ab BZR5114 (ca. 5. September 2014) hat sich der Ordner für die Files mit den Konfigurationsdaten geändert. Unter Linux sind nun die Konfigurations Dateien in $HOME/.config/kicad (entsprechen der FreeDesktop.org Spezifikation). Um Ihre gegenwärtigen Konfigurierungen zu erhalten, können die KiCAd Konfigurationsfiles aus dem Home-Verzeichnis in den aktuellen Ordner kopiert werden. Es muss allerdings der führende &amp;quot;.&amp;quot; (Punkt) der Datei entfernt werden. Ebenso muss die globale &amp;quot;fp-lib-table&amp;quot; aus dem home-Verzeichnis dorthin kopiert werden. Windows User müssen KiCad leider reconfigurieren. Es gab keinen einfachen Weg um die Registry-Keys in die Konfigurationsdateien zu extrahieren. Die Konfigurationsdateien unter Windows werden genau wie die fp-lib-table im %APPDATA%\kicad Ordner gespeichert. Es ist angeraten, sämtliche Reste der KiCad Installation aus der Registry zu entfernen, wenn nicht KiCad Versionen vor der BZR5114 verwendet werden. Diese Lösung beseitigt die $home Ordner &amp;quot;Verschmutzung&amp;quot; und vermeidet die Benutzung der Windows registry, wie es häufig gewünscht wurde. Für OS X User ergeben sich keine Änderungen. [https://groups.yahoo.com/neo/groups/kicad-users/conversations/messages/18889 Link] auf die Originalnachricht (englisch):  (KiCad-User Group, 05. September 2014, Titel: Configuration file location changes (#18889) Autor: Wayne Stambaugh)&lt;br /&gt;
&lt;br /&gt;
=== Schaltplan ===&lt;br /&gt;
* Wie stellt man die Blattgröße beim Schaltplan ein?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/33653#974295 Forumsbeitrag]: In Page Settings die Blattgröße verstellen (z.B. von A4 auf A3) &lt;br /&gt;
* Wie mache ich eine neue Schaltplan Seite auf?&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/398489#new Forumsbeitrag]: Nur in Form eines neuen hierarchischen Schaltplans&lt;br /&gt;
* Wie kann man den Schaltplan auf mehreren Seiten verteilen (hierarchical sheets)?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/96060 Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/117873#1060062  Forumsbeitrag]&lt;br /&gt;
*Wie geht man mit &amp;quot;Power Pins&amp;quot; in hi­e­r­ar­chischen Schaltplänen um?&lt;br /&gt;
**[http://www.mikrocontroller.net/topic/207905#new  Forumsbeitrag]&lt;br /&gt;
* Wie kann man die &amp;quot;hierachical sheets&amp;quot; benutzen, um aus vorgefertigten Subschaltplänen mit immer gleichen Bauteilgruppen rationell Schaltpläne zusammenzustellen (Building Blocks)?&lt;br /&gt;
** [http://www.mikrocontroller.net/articles/KiCad#Tipps.26Tricks:_Building_Blocks Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/175597#1687653 Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/178683#1724114 Forumsbeitrag]&lt;br /&gt;
* Ich habe einen hierarchischen Schaltplan angelegt. Wenn ich ihn ausdrucke, werden die Subschaltpläne in der Reihenfolge ausgedruckt, in der sie oben in der Übersicht stehen. Diese Reihenfolge ist aber in meinem Fall ungünstig. Wie kann ich diese nun ändern?&lt;br /&gt;
** Leider im Programm z.Z. noch nicht. Trotzdem ist es machbar. Entweder von Hand oder mit einem Python Skript. Näheres zu beidem findet sich ind diesem [http://www.mikrocontroller.net/topic/288394#3064087 Forumsbeitrag] . Ein Python 3 Skript, das den Umgang mit dem Kicad-Schaltplan erleichtert, findet sich [[Media:PyKicadSchematic-ID_Interchanger_RevC.zip | hier]].&lt;br /&gt;
*Wie geht man mit Bussen um?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/208870#new Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/209156#new Forumsbeitrag], speziell bei hierarchischen Schaltplänen&lt;br /&gt;
* Wie kann man Schaltplanentwurf (KiCad) und Schaltungssimulation (Spice) verbinden?&lt;br /&gt;
** NGspice ist in den Grundzügen mittlerweile in den entwicklungsversionen von KiCad integriert. Aktuell (Nov. 2016) muss man sich aber noch KiCad selber compilieren und dabei auch einen passenden Schalter für den Compiler setzten. Siehe: [https://www.mikrocontroller.net/topic/412350#4803960 Forumsbeitrag]&lt;br /&gt;
** [http://Fuhaweb.hartford.edu/kmhill/suppnotes/KiCadDia/AimSPICE/KiCad_AimSPICE_01.pdf Imformationen zur Zusammenspiel KiCad &amp;lt;&amp;gt; AimSpice] &lt;br /&gt;
* Ein [[Media:SymboleFuerKiCad318082009-RevC-DE.pdf | Tutorial]] zum Symboleditor für KiCad, mit dem die Symbole für das Schaltplanmodul (EEschema) erzeugt bzw. editiert werden.&lt;br /&gt;
* Zur Erstellung von Schaltplansymbolen in aufgelöster Darstellung (Relais: Kontaktsätze einzeln und getrennt von der Spule; IC: Versorgungsspannung getrennt von den einzelnen Gattern)&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/273891#new. Forumsbeitrag]&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/294095#3136180 Forumsbeitrag]&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/449373#new Forumsbeitrag]&lt;br /&gt;
* Wie kann man im Schaltplan Symbole zum Verschieben gruppieren?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/170913# Forumsbeitrag]&lt;br /&gt;
* Und wenn es darum geht, eine solche Gruppe in einen anderen Schaltplan oder Subschaltplan zu verschieben?&lt;br /&gt;
** Die Gruppe ins &amp;quot;Clipboard&amp;quot; stecken. Dazu nach dem Markieren der Gruppe rechte Maustaste klicken, und dort &amp;quot;Gruppe speichern&amp;quot; wählen. Nun ist die Gruppe im Clipboard. jetzt in den gewünschten Unterschaltplan gehen und die Gruppe dort mithilfe des Clipboardbuttons (Das Klemmbrett Symbol links neben dem &amp;quot;Undo&amp;quot;-Button) in den Schaltplan einfügen. NICHTS mit der rechten Maustaste versuchen! Siehe [http://www.mikrocontroller.net/topic/244836#2499782 Forumsbeitrag].  Das ganze geht nicht nur mit Subschaltplänen, sondern auch genauso in einen ganz anderen Schaltplan, den man dann halt in Eeschema öffnen muss, hinein. Wenn nach dem Einfügen allerdings nur ein Kästchen mit Fragezeichen erscheint, waren die nötigen Symbolbibliotheken für diese Symbole noch nicht in der Projektdatei eingetragen. Das muss man nun nachholen, indem man unter &amp;quot;Einstellungen&amp;quot; die &amp;quot;Bibliotheken&amp;quot; wählt, und die passenden Bibliotheken einträgt. Wenn man nicht genau weiß, wo diese zu finden sind, kann es sinnvoll sein, die *-cache.lib des Herkunftsschaltplanes einzubinden.&lt;br /&gt;
** Ist es möglich, im Schaltplan gruppierte Bauteile automatisch im Board als Gruppe zu verschieben?&lt;br /&gt;
*** Nein. Siehe [https://www.mikrocontroller.net/topic/398996#new Forumsbeitrag]&lt;br /&gt;
* Wie wird man den merkwürdigen Rahmen los?&lt;br /&gt;
** 1) Bei neueren KiCad Versionen, ab ca. Mitte 2013 (von mir getestet ab BZR 4513 29 November 2013) kann man sich eine Vorlage ohne Rahmen erstellen. Dazu den pl_editor (der ganz rechte Button im KiCad Hauptfenster) starten, und FAST alles entfernen. Dazu in der linken Spalte nacheinander alles aktivieren, und mit rechts anklicken und dann &amp;quot;entfernen&amp;quot; wählen. Aber Vorsicht, wenn alles Entfernt wird, taucht das Original Layout wieder auf. Workaround war bei mir, eine zusätzliche Alibilinie hinzuzufügen, die von X 0,000 Y 0,000 bis  X 0,001 Y 0,000 reicht. Das ist ein &amp;quot;Fliegenschiss&amp;quot; in der linken oberen Ecke. Jetzt kann alles andere gelöscht werden. Den so geleerten Rahmen unter einem beliebigen Namen mit der Endung .kicad_wks wegspeichern. Im geöffneten Schaltplan kann der dann unter Datei &amp;gt; Seite einrichten ganz unten unter &amp;quot;page layout file description&amp;quot; die entsprechende Datei eingebunden werden. Es bleibt aber dem Anwender offen, ob er den Rahmen komplett entfernt, oder noch Felder mit Textbeschreibungen übernimmt. Für gesteigerten Komfort kann diese Datei dann auch in ein Template eingebunden werden. &lt;br /&gt;
** 2) Beim Ausdrucken Frame deaktivieren.&lt;br /&gt;
** 3) Als SVG exportieren. Dort den Frame deaktivieren.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/343509#3791448 Forumsbeitrag]&lt;br /&gt;
* Wie schalte die Footprint-Namen in Eeschema global ab?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/253564#new Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Problem mit dem ERC. Ständig kommt die Fehlermeldung: &amp;quot;Pin ist mit anderen Pins verbunden, wird jedoch von keinem angesteuert&amp;quot;&lt;br /&gt;
** Netze, die nicht angesteuert werden, werden von Kicad misstrauische beäugt. Das &amp;quot;nicht ansteuern&amp;quot; kann aber schnell passieren, weil Kicad u.A. erwartet, das irgendwo ein Spannungsversorgung ist. Wenn diese aber z.B. über eine Sicherung oder einen Pull-up Widerstand gehen, so wird das nicht bemerkt, weil Sicherungen und Widerstände (oder auch Entstördrosseln) &amp;quot;passive&amp;quot; Pins haben. Siehe [http://www.mikrocontroller.net/topic/292988#new Forumsbeitrag] und [http://www.mikrocontroller.net/topic/298401#new Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Problem mit dem ERC. Immer in Verbindung mit GND kommt die Fehlermeldung: &amp;quot;Pin ist mit anderen Pins verbunden, wird jedoch von keinem angesteuert&amp;quot;&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/284089#new Forumsbeitrag]&lt;br /&gt;
* Beim ERC kommt die Fehlermeldung &amp;quot;PIN not connected&amp;quot; an Verbindungen, die per Label angeschlossen sind. Was ist da falsch?&lt;br /&gt;
**Sie sind tatsächlich nicht angeschlossen. [http://www.mikrocontroller.net/topic/346976#new Forumsbeitrag]&lt;br /&gt;
* Wie ist der Zusammenhang zwischen Bauteilen und Netznamen? Wie bekomme ich heraus, an welchem Netz mein Bauteil angeschlossen ist?&lt;br /&gt;
** Eeschema vergibt bzw. aktualisiert erst dann Netznamen, wenn eine Netzliste erzeugt wird. Darauf besteht entweder ein Zugriff über PCBnew, oder aber mit einem Editor. [http://www.mikrocontroller.net/topic/316539#new Forumsbeitrag]&lt;br /&gt;
* Ich habe einen Schaltplan geöffnet, aber alle oder einige der Symbole zeigen nur Kästen mit Fragezeichen.&lt;br /&gt;
** Es fehlen die passenden Symbolbibliotheken für diese Symbole.&lt;br /&gt;
** Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Diese Fehlen nun. Man braucht die Originalbibliotheken oder aber die Cache-Bibliothek dieses Schaltplans.&lt;br /&gt;
*** Diese müssen in der Liste der Bibliotheken nachgetragen werden. Siehe dazu die Handhabung von Bibliotheken: [[KiCad#Handhabung_von_Bibliotheken]]&lt;br /&gt;
** Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Diese Fehlen nun. Man braucht nun die Originalbibliotheken oder aber die Cache-Bibliothek dieses Schaltplans.&lt;br /&gt;
** Ab BZR4646 (Jan./Feb. 2014) behandelt KiCad Symbolnamen &amp;quot;Case Sensitive&amp;quot;. Das führt zu Problemen mit älteren Schaltplänen, wo das anders gehandhabt wurde.&lt;br /&gt;
*Wieviele Textfelder für Symbole kann ich anlegen und wie groß dürfen diese sein?&lt;br /&gt;
** Mindestens 35 Felder, die mindestens 256 Zeichen (tatsächlich deutlich mehr) beinhalten können. Aber Zeilenumbrüche gehen nicht. [http://www.mikrocontroller.net/topic/331201#3658695 Forumsbeitrag]&lt;br /&gt;
* Ich habe ein Symbol im Symboleditor geändert. Aber irgendwie taucht diese Änderung dann in Eeschema trotzdem nicht auf.&lt;br /&gt;
** Die Reihenfolge der Einträge in der Bibliotheksliste ist wichtig. Bei gleichem Namen wird immer das zuerst gefundene Symbol verwendet. Steht die -cache.lib in der Reihenfolge zu oberst, wird immer zuerst das Bauteil aus der -cache.lib verwendet. Beheben: Die -cache.lib aus der Bibliotheksliste von Eeschema austragen und neu eintragen, so dass sie unten angefügt wird, und zuletzt geladen wird. Alternativ: Bei Änderungen einen neuen Namen für das Symbol vergeben. Z.B. durch das Pflegen eines Revisions- oder Datecode im Symbolnamen. Einfach nur die -cache.lib löschen langt möglicherweise nicht, weil diese u.U. mit alten Daten neu geschrieben wird (wenn z.b. Eeschema dabei nicht geschlossen ist). [http://www.mikrocontroller.net/topic/331201 Forumsbeitrag]&lt;br /&gt;
* Wie erstelle ich eine Stückliste (BOM, Bill of Materials)?&lt;br /&gt;
** 1) In PCBnew oben im Pull down Menue Datei &amp;gt; Fertigungsdateien &amp;gt; BOM (Bill of materials) Geht nur, wenn die Netzliste schon importiert wurde.&lt;br /&gt;
** 2) In EEschema unter Werkzeuge &amp;gt; Stückliste erstellen &amp;gt; und dann ein Plugin wählen. Es gibt verschieden Plugins mit verschiedenen Eigenschaften z.B. auch für kumulierende Listen. Die Plugins kann man von [https://github.com/KiCad/kicad-source-mirror/tree/master/eeschema/plugins hier] beziehen: Achtung, ein kleiner &#039;&#039;&#039;BUG&#039;&#039;&#039; In den Voreinstellungen der Kommandozeile muss in den Optionen &amp;quot;%O&amp;quot; in &amp;quot;%O.csv&amp;quot; umgewandelt werden, sonst hat die erzeugte Datei keinen .csv extender. Grundsätzlich: Hier wird zuerst eine behelfsmäßige Netzliste im .xml Format erstellt. Die Kommandozeile startet dann ein Programm, was widerum ein .xsl Skript (Das Plugin) abarbeitet, und als output eine .csv Datei erzeugt, die in Tabellenkalkulationen importiert werden kann. In die Kommandozeile kann natürlich auch etwas anderes eingetragen werden, so dass man dort z.B. auch Python Skripte verwenden kann.&lt;br /&gt;
** 3) Man kann sich selber ein separates Skript erstellen, welches die .kicad_sch Datei parst, und daraus eine .csv oder anders gestaltete BOM-Datei erstellt, so wie man es braucht. Da man auch ohne Plugins bei drücken von &amp;quot;Erstellen&amp;quot; die oben erwähnte behelfsmäßige Netzliste erhält, kann man diese auch mit externen Skripten bearbeiten. Es gibt Mittelwege zwischen 2) und 3). Für ein Python Skript siehe [https://forum.kicad.info/t/kibom-python-bom-generation-tool/3038 hier]&lt;br /&gt;
** Info:&lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/402089#new Forumsbnbeitrag]: &amp;quot;KiCad Stückliste&amp;quot; &lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/376977?goto=new#new Forumsbeitrag]: &amp;quot;Kicad Bauteilliste(BOM) erstellen&amp;quot;&lt;br /&gt;
**  [https://www.mikrocontroller.net/topic/402565#new Forumsbeitrag]: Klaus hat ein Plugin geschrieben, dass in html überträgt&lt;br /&gt;
* Ich möchte eine Stückliste (BOM, Bill of Materials) mit einer Datenbank, z.B. für Bestellnummern verbinden.&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/416192#4856645 Forumsbeitrag]&lt;br /&gt;
&lt;br /&gt;
=== Netlist ===&lt;br /&gt;
* Was genau muss man beim Übergang vom Schaltplan (SCH) zum Layout (BRD) machen?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/33653#898771&lt;br /&gt;
** http://www.mikrocontroller.net/topic/39243#290309&lt;br /&gt;
** http://www.mikrocontroller.net/topic/39243#891530&lt;br /&gt;
* Kann man fertige Netzlisten für Gruppen von Bauteilen einbinden?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/33653#1462871&lt;br /&gt;
* Wie sieht das allgemein mit der Zuordnung Symbol zu Footprint aus?&lt;br /&gt;
** Symbole und Footprints sind zwar von der Idee her erst einmal getrennt, und Footprints werden über CVpcb und Netzliste den Symbolen zugeordnet.&lt;br /&gt;
** Allerdings besteht auch eine Möglichkeit, Symbolen einen bevorzugten Footprint  fest zuzuweisen, der dann automatisch in die Netzliste zum Einlesen in das Board eingetragen wird. Wenn dann der Zuweisungsschritt mit CVbcb in der Netzliste gemacht wird, ist dort schon etwas eingetragen, was man so lassen oder aber ändern kann.&lt;br /&gt;
*** Dazu in EEschema mit der Maus auf ein Symbol gehst und &amp;quot;E&amp;quot; drücken. Alternativ über rechten Mausklick auf Symbol und dann das Kontextmenuest gehen. Wenn man im Symboleditor arbeitet, aus der oberen buttonleiste den Button mit dem &amp;quot;T&amp;quot;-Symbol wählen. Es poppt ein Fenster auf &amp;quot;component properties&amp;quot;. In der Mitte ist eine Tabelle mit unter anderem einem Eintrag &amp;quot;Footprint&amp;quot;. Wenn dann &amp;quot;Footprint&amp;quot; aktiviert wird. kann rechts der Name eines Footprintes eingebenwerden (kompliziert), oder, wesentlich einfacher, darunter gibt es einen Button &amp;quot;browse Footprints&amp;quot;. Wenn der aktiviert wird, öffent sich ein Fenster, in dem sich in den in die Bibliothekslisten eingetragenen Footprintbiblotheken herumwühlen lässt.&lt;br /&gt;
** Desweiteren kann auch eine Kopie des Symbols unter anderem Namen angelegt werden, und dort ein anderer Footprint eingetragen werden, als Variante. Falls das Pinning nicht passt, müssen halt auch noch die Pinne im Symbol passend zum Footprint gemacht werden.&lt;br /&gt;
** Diskussion dazu: https://www.mikrocontroller.net/topic/432920#5112114&lt;br /&gt;
* Kann man Daten für automatische Bestückung erzeugen?&lt;br /&gt;
** Ja. aber nicht in CVpcb für die Symbol &amp;gt; Footprint Zuordnung, sondern im Layout Modul PCBnew.&lt;br /&gt;
* In meiner Netlist fehlen Bauteile, die im Schaltplan vorhanden und angeschlossen sind. Der ERC läuft problemlos durch. Die Annotation auch, aber nach Erstellung der Netlist sind die Symbole plötzlich mit einem vorangestellten &amp;quot;#&amp;quot; im Schaltplan bezeichnet.&lt;br /&gt;
** Vermutlich sind sie versehentlich als &amp;quot;virtuelles&amp;quot; Bauteil gekennzeichnet. Siehe http://www.mikrocontroller.net/topic/268626#new&lt;br /&gt;
* Wie exportiere ich eine Netlist NUR für einen Subschaltplan?&lt;br /&gt;
** Das geht, nachdem dieser Schaltplan explizit in EEschema geöffnet wurde. Siehe: http://www.mikrocontroller.net/topic/330740#new&lt;br /&gt;
* Ich finde CVpcb nicht mehr am gewohnten Platz zwischen all den anderen Startbuttons!&lt;br /&gt;
** CVpcb ist inzwischen aus diesen entfernt worden, und durch Startbuttons für den Symboleditor und den Footprinteditor ersetzt worden. Dafür kann CVpcb jetzt direkt aus Eeschema heraus gestartet werden. Es findet sich jetzt im oberen Pulldown Menue unter &amp;quot;Werkzeuge&amp;quot; und dann &amp;quot;Bauteilfootprints zuweisen&amp;quot; oder in der oberen Buttonleiste als dritter Button von rechts (BZR5175 vom 11 Oktober 2014).&lt;br /&gt;
** Sollte KiCad abstürzen, wenn man versucht, CVpcb zu starten, so kann man CVpcb auch direkt aus einem Terminal oder aus der Eingabeaufforderung heraus starten.  &lt;br /&gt;
** Versuchsweise mal 10 Minuten warten.....bei Problemen mit der Erkennung von Symbolnamen und Footprintnamen (beim öffnen ganz alter Projekte mit alten Dateiformaten) kann es manchmal extrem lange dauern.&lt;br /&gt;
* Was bedeuten die Maßangaben in der Netlist?&lt;br /&gt;
* Wie überträgt man Kicad Schaltpläne in QUCS Schaltpläne für Simulation?&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
* Wie stellt man die Rastergrösse im Layout ein?&lt;br /&gt;
** Mit der Rechten Maustaste in das Board klicken. Es poppt ein Menue auf. Dort Raster wählen..... Geht im Modul-Editor genauso.&lt;br /&gt;
* Wie verteile ich die übereinander geladenen Bauteile?&lt;br /&gt;
**Oben das IC Symbol mit den zwei Pfeilen (Mode footprint) aktivieren und mit der rechten Maustaste auf der Platine im Menü &amp;quot;Global spread and place&amp;quot; anwählen und die gewünschte Art auswählen.&lt;br /&gt;
* Wie werden Pads und Leiterbahnen verbunden?&lt;br /&gt;
**Siehe: http://www.mikrocontroller.net/topic/119755#1081455&lt;br /&gt;
**Aktueller: http://www.mikrocontroller.net/topic/220733#new&lt;br /&gt;
* Ich kann keine Leiterbahnen ziehen!&lt;br /&gt;
** Vermutlich hast Du den automatischen DRC (Design rule check) aktiviert. Deaktiviere ihn halt. In PCBnew im linken Buttonbar der oberste Button (Insekt mit Verbotszeichen). http://www.mikrocontroller.net/topic/306476#new&lt;br /&gt;
* Aber jetzt habe ich beim Ziehen der Leiterbahnen so merkwürdige Ergebnisse!&lt;br /&gt;
** Option &amp;quot;Remove redundant tracks&amp;quot; wählen! Siehe https://www.mikrocontroller.net/topic/381906#new &lt;br /&gt;
* Mir fehlen Airwires/Luftlinien/Gummibänder!&lt;br /&gt;
** Vieleicht die falschen Pins als Typ &amp;quot;Spannungsausgang&amp;quot; definiert? Siehe: http://www.mikrocontroller.net/topic/330817#3620918&lt;br /&gt;
* Ich bekomme immer eine Fehlermeldung vom DRC, das ein Pad nicht angeschlossen ist, aber ich habe es angeschlossen.&lt;br /&gt;
**Siehe: http://www.mikrocontroller.net/topic/204717#2018724&lt;br /&gt;
* Ich will ein Bauteil für geringeren Leiterwiderstand sowohl auf der Unterseite- als auch der Oberseite anschließen. KiCad löscht aber immer den alten Leiterbahnzug, wenn ich den neuen lege. &lt;br /&gt;
** Deaktiviere unter Einstellungen-&amp;gt;Allgemein das &amp;quot;auto-entfernen-von-Leiterbahnen&amp;quot; (einfachste Lösung). &lt;br /&gt;
** Alternativ: Designe dafür Bauteile mit speziellen Pads. http://www.mikrocontroller.net/topic/187606#1823596 (realistischste u. sauberste Lösung, aber etwas umständlich.)&lt;br /&gt;
* Das Löschen der Leiterbahnen Segment für Segment ist sehr umständlich. Geht es besser?&lt;br /&gt;
** Ja. Siehe: https://www.mikrocontroller.net/topic/385768#new &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Bei neueren (RC4 z.B.) Versionen von PCBnew kann unter &amp;quot;View&amp;quot; verschiedene &amp;quot;Canvas&amp;quot; verwendet werden. Jeder dieser &amp;quot;Canvas&amp;quot; verhält sich etwas anders und hat andere Vorzüge.&lt;br /&gt;
** Aktuell (Jan. 2019) mit Auswahlbox. Achtung: Die Auswahlbox hat anderes Verhalten in KiCad 6, je nachdem ob man sie von rechts oder von links aufgezogen hat! Details siehe: https://www.mikrocontroller.net/topic/467735#new&lt;br /&gt;
* Wie kann man ein Bauteil mit Pads und Leiterbahnen bewegen? &lt;br /&gt;
** http://www.mikrocontroller.net/topic/118539#1067219&lt;br /&gt;
* Wie füllt man eine Fläche aus?&lt;br /&gt;
** Siehe: http://www.mikrocontroller.net/topic/93131#854802&lt;br /&gt;
** Etwas aktueller: http://www.mikrocontroller.net/topic/182271#1772119 Zweiter Teil des Posts.&lt;br /&gt;
** Und wie erzeuge ich konzentrisch ineinanderliegende Flächen?&lt;br /&gt;
*** Siehe: http://www.mikrocontroller.net/topic/327475#new&lt;br /&gt;
** Wie ist das Verhalten von KiCad bei Flächen/Polygonen verglichen mit Eagle?&lt;br /&gt;
*** Siehe: https://www.mikrocontroller.net/topic/473604#new&lt;br /&gt;
** Ja, aber meine Fläche wird nicht gefüllt oder es passiert was ganz merkwürdiges.&lt;br /&gt;
***Siehe: http://www.mikrocontroller.net/topic/298692#new &lt;br /&gt;
***Konkreter: Es sollte darauf geachtet werden, das mindestens ein Endpunkt oder ein Via oder ein Knickpunkt der Leiterbahn, die mit der zu füllenden Fläche verbunden sein soll, innerhalb der als zu füllen definierten Fläche liegen. Siehe http://www.mikrocontroller.net/topic/366199#new&lt;br /&gt;
* Die Flächen habe ich jetzt, aber wie sieht das mit &amp;quot;Stitching&amp;quot; aus? Anmerkung: Als &amp;quot;Stitching&amp;quot; (von Engl. &amp;quot;stitch&amp;quot;: Nähen) bezeichnet man das Verbinden mehrerer Flächen oder Leiterbahnen gleichen Potentials mit Durchkontaktierungen durch die Platine hindurch. Üblich z.B. für Masseflächen. Die gleiche Technik kann auch verwendet werden, wenn man für Hochstromverbindungen mehrere Durchkontaktierungen parallel schalten möchte, wobei KiCad beim ziehen des Tracks nur eine  Durchkontaktierung setzt, und die anderen von Hand dazugesetzt werden müssen. &lt;br /&gt;
** Es gibt verschiedene Methoden. Je nach Geschmack. Siehe: http://www.mikrocontroller.net/topic/380550#new und https://www.youtube.com/watch?v=Hp5ngKtl7S4&amp;amp;list=PLJhdeJOBBRdnPgqcUiONoV4NLCo12f-jT&amp;amp;index=5&lt;br /&gt;
* Ich habe eine Platine, die von oben und unten bestückt ist. Wenn ich jetzt Bauteile zusammengruppiere, um sie gemeinsam zu verschieben, erwische ich immer alle Bauteile auf Vorder- und Rückseite. Wie bekomme ich das jetzt hin, das ich nur Module auf einer Seite bewege?&lt;br /&gt;
** Indem im Lagenmanager die Seite, die nicht bewegt werden soll, abgeschaltet wird. Siehe: http://www.mikrocontroller.net/topic/311586#new&lt;br /&gt;
* Wie bekommt man ein vernünftiges Boardoutline hin?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/96060#1057511 &lt;br /&gt;
* Wie erstellt man ein rundes Loch, z.B. eine Befestigungsbohrung / nichtdurchkontaktierte Bohrung?&lt;br /&gt;
** VERALTET: http://www.mikrocontroller.net/topic/179308#1726990&lt;br /&gt;
** VERALTET:http://www.mikrocontroller.net/topic/120373#1122219 ?????&lt;br /&gt;
** KiCad kann mittlerweile auch direkt nichtdurchkontaktierte Bohrungen erzeugen. Siehe dazu http://www.mikrocontroller.net/topic/263069#2732405 Enthält auch allgemeine Informationen zum Umgang mit durchkontaktierten und nicht durchkontaktierten Bohrungen.&lt;br /&gt;
Da Löcher mit einem Durchmesser ab 2mm gefräst statt gebohrt werden können, und ab 6mm Durchmesser mit hoher Sicherheit gefräst werden, ist es sinnvoll, Löcher ab ca. 4mm Durchmesser in PCBnew mit dem Kreistool in das Layer &amp;quot;edge.cuts&amp;quot; zu zeichnen.&lt;br /&gt;
&lt;br /&gt;
* Ich möchte für Passermarken / Fiducials eine deutlich größere Freistellung in der Lötstoppmaske haben. Wie geht das?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/266730#2779498&lt;br /&gt;
* Wie geht das überhaupt mit den Lötstoppmasken?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/283721#new&lt;br /&gt;
* Ja, aber die Lötstoppmaske wird leider nicht angezeigt.&lt;br /&gt;
** http://www.mikrocontroller.net/topic/298028#new&lt;br /&gt;
* Ich möchte Text und Markierungen/Grafik statt im Bestückungsdruck im Lötstopplack erstellen. Geht das überhaupt und wie ist das zu bewerkstelligen?&lt;br /&gt;
** Das geht, und dazu ist der Text oder die grafischen Linien/Kreise direkt in die Lötstoppmaske zu schreiben. Siehe: http://www.mikrocontroller.net/topic/347702#new Die Lötstoppmasken Lagen heissen F.Mask (Bestückungsseite) und B.Mask (Lötseite).&lt;br /&gt;
* Ich möchte Text invers im Bestückungsdruck haben.&lt;br /&gt;
** Das geht. Siehe: http://www.mikrocontroller.net/topic/417961#4888742&lt;br /&gt;
* Wie kann man Bauteilmaße in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
** Anzeige im Layout: Layer &amp;quot;Zeichnung&amp;quot; anwählen. In der rechten Menueleiste &amp;quot;Bemaßung hinzufügen&amp;quot; wählen. Das ist der fünfte Button von unten mit der &amp;quot;blauen Bemaßung&amp;quot;. Jetzt an einer Stelle links ins Layout klicken. Maus verschieben und noch einmal links klicken und die Maus seitlich verschieben. Es wird ein Maßpfeilsystem zwischen erstem und zweitem Mausklick angelegt, dessen höhe man mit der Maus einstellen kann. Ein weiterer linker Mausklick fixiert das System. Das Anklicken der Beschriftung mit der rechten Maustaste erlaubt das Editieren. Das System wird immer in der Einheit angelegt, die in der linken  Menueleiste vorgewählt wurde. Die Rasterung der aktuellen Einstellung wird auch übernommen. Späteres Ändern von Einheit- und Raster ändern die Beschriftung nicht mehr. In 3D und im Footprint geht diese Möglichkeit nicht.&lt;br /&gt;
** Weitere Möglichkeiten: Einen Maßstab als footprint/Modul anfertigen und zum Messen in das Board einfügen.&lt;br /&gt;
** Wenn man im Layout aber direkt etwas ausmessen möchte, so geht das über den relativen Nullpunkt. Unten im Rahmen rechts sind vier Felder. Die beiden linken zeigen die absoluten Koordinaten, an, die beiden rechten die relativen Koordinaten in Bezug auf einen relativen Nullpunkt. Defaultmäßig stimmen absoluter und relativer Nullpunkt ersteinmal überein. Per &amp;quot;Space bar&amp;quot; drücken setzt Du den relativen Nullpunkt an den Ort des Mauszeigers. Wenn Du nun die Maus verfährst, zeigen die relativen Koordinaten nun den vertikalen und horizontalen Abstand zum Nullpunkt. Die Diagonale muss leider über den Pythagoras selber ausgerechnet werden, oder indem man die Polarkoordinateneinstellung wählt (linke Menueleiste). Durch geschicktes setzten des Nullpunktes kann man nun auf der Platine herummessen. Winkel können auch über die Polarkoordinateneinstellung gemessen werden. Im Moduleditor geht das analog. Das 3D-View kann zur Zeit (Januar 2011) überhaupt keine Bemaßung.     &lt;br /&gt;
* Wie kann man mit der KiCad Version 20100314 &#039;&#039;&#039;einseitige&#039;&#039;&#039; Platinen erstellen?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/172015#1651239&lt;br /&gt;
** aktueller: http://www.mikrocontroller.net/topic/172015#1794699&lt;br /&gt;
*Und wie teile ich KiCad mit, daß der Autorouter nur eine Seite verwenden soll?&lt;br /&gt;
** Auf die doofe Tour: Erst in KiCad zweiseitig wählen, und dann beide Lagen im Autorouter als &amp;quot;Unterseite&amp;quot; wählen.&lt;br /&gt;
&lt;br /&gt;
* Wie gehen runde Bögen in KiCad?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/202512#1994063&lt;br /&gt;
* Ich brauche für einen Platinenumriss eine geschlossene Linie. Das klappt aber irgendwie nicht.&lt;br /&gt;
** Die Endpunkte müssen exakt aufeinander liegen. Dazu&lt;br /&gt;
*** A) Passende Raster verwenden&lt;br /&gt;
*** B) parametrisch die Endpunkte direkt als Koordinaten eingeben.&lt;br /&gt;
*** Siehe Diskussion dazu: https://www.mikrocontroller.net/topic/418296#new&lt;br /&gt;
* Wie benutze ich den interaktiven Router (Push &amp;amp; Shove) in PCBnew?&lt;br /&gt;
** Dazu muss in PCBnew im Pulldown-Menue unter &amp;quot;Ansicht&amp;quot; die Option &amp;quot;Canvas nach OpenGL umschalten&amp;quot; oder &amp;quot;Canvas nach Cairo umschalten&amp;quot;gewählt werden. Wenn man nun, wie gewohnt, aus der rechten Button Leiste das Verlegen von Leiterbahnen wählt, eine Leiterbahn/Luftlinie wählt und rechts anklickt, erhält man den interaktiven Router. Aber Achtung - wegen des geänderten Kontextmenues kann es sinnvoll sein, für andere Tätigkeiten auf die Voreinstellungen zurückzuschalten.&lt;br /&gt;
* Wie stelle ich beim Routen die Leiterbahnbreiten ein?&lt;br /&gt;
** Sie müssen vorher in den Design Rules definiert werden. Siehe: https://www.mikrocontroller.net/topic/452117#new&lt;br /&gt;
* Ich habe mein Board fertig geroutet, stelle aber jetzt fest, das ich noch einige Leiterbahnbreiten ändern muss. Wie geht das am einfachsten?&lt;br /&gt;
** Eine Leiterbahn rechts anklicken und Segment oder Track ändern. Das Verhalten ist im Detail vom gewählten Canvas anhängig. Und die Leiterbahnbreite muss schon in den Design rules existieren. Siehe hier: https://www.mikrocontroller.net/topic/452117#new&lt;br /&gt;
*** Ab KiCad 5.1 bzw. 6 wird es die verschiedenen Modi nicht mehr geben. Siehe https://www.mikrocontroller.net/topic/467735#5718645&lt;br /&gt;
* Wie gestalte ich einen gleitenden, stetigen Übergang bei einer Änderung der Leiterbahnbreite?&lt;br /&gt;
** Mit Workarounds wie dreieckigen/trapezförmigen Pads oder einem sehr fein gestaffelten stufigen Übergang. Siehe: https://www.mikrocontroller.net/topic/438242&lt;br /&gt;
**http://www.mikrocontroller.net/topic/205851#new&lt;br /&gt;
*Ich kann Pads nicht anschließen bzw. ich bekomme vom DRC Fehlermeldungen, daß ich Pads nicht angeschlossen habe, obwohl sie angeschlossen sind.&lt;br /&gt;
**http://www.mikrocontroller.net/topic/204717#new&lt;br /&gt;
*Wie kann ich Daten für automatische Bestückung (Pick&amp;amp;Place) erzeugen?&lt;br /&gt;
** In PCBnew unter Datei &amp;gt; Fertigungsdateien &amp;gt; Bauteile Positionsdatei (.pos). Aber dieses verlangt, das die Footprints auch die richtigen Informationen dazu enthalten. Um diese einzustellen, den Footprint im Moduleditor öffnen und unter dem Button &amp;quot;Bauteileigenschaften&amp;quot; in &amp;quot;Attribute&amp;quot; eine Markierung bei &amp;quot;Normal+Einfügen&amp;quot; machen. Dann wird der Ankerpunkt des Modules für die Positionsdatei verwendet. Damit sinnvolle Daten entstehen, sollte der Ankerpunkt bei SMD-Footprints in die Mitte des Footprintes gesetzt worden sein. &lt;br /&gt;
* Gibt es &amp;quot;Regeln&amp;quot; für das Setzten von Ankerpunkten bei Footprints?&lt;br /&gt;
** Es gibt Konventionen. Bei SMD-Bauteilen der &amp;quot;Mittelpunkt&amp;quot; des Bauteiles. Dieser wird auch für Pick&amp;amp;Place Daten in der automatischen Bestückung verwendet. &lt;br /&gt;
** Bei THT-Bauteilen wird als Konvention die Mitte von Pin 1 als Ankerpunkt verwendet.&lt;br /&gt;
*Und wie erzeuge ich ein Excellon Drillfile?&lt;br /&gt;
** In PCBnew unter Datei &amp;gt; Fertigungsdateien &amp;gt; Bohrdaten. Die Datei enthält auch eine Werkzeugliste. Kicad legt u.U. zwei Drillfiles an, wenn erforderlich. Eines für durchkontaktierte, und eines für nicht durchkontaktierte Bohrungen. Wer eine extra Liste und eine Statistik wünscht, muss auch noch &amp;quot;Bericht über Bohrung&amp;quot; anwählen.&lt;br /&gt;
** Bei mir wird aber nur ein Drillfile erzeugt. Was läuft falsch?&lt;br /&gt;
***Die NPTH Drills müssen im Pad-Editor explizit als solche gekennzeichnet werden. In PCBnew erkennt man sie dann als dicke gelbe Flächen. Siehe: http://www.mikrocontroller.net/topic/322941#3989397 Bei älteren Footprints ist das aber noch nicht komplett umgesetzt. &lt;br /&gt;
* Wenn PCBnew die Netzliste eingelesen hat, liegen alle Bauteile auf einem Haufen. Zum Plazieren eines herausgreifen ist mühsam. Wie geht das am einfachsten?&lt;br /&gt;
** In PCBnew &amp;quot;T&amp;quot; drücken. Es poppt ein Fenster auf, wo man die Bauteilreferenz (den Namen) eingeben kann. Und schon hängt das Bauteil zum Bewegen am Zeiger. Die Bedienung ist letztlich genauso wie das &amp;quot;m&amp;quot; und die Komandozeile in Eagle. Siehe http://www.mikrocontroller.net/topic/293903#3133990&lt;br /&gt;
** &amp;quot;Raef&amp;quot; hat ein Python Script erstellt, das Bauteile automatisch ähnlich der Anordnung im Schaltplan plaziert. Siehe: http://www.mikrocontroller.net/topic/293903#3245990&lt;br /&gt;
** In neueren PCBnew Version gibt es ein gutes parametrisches Plazieren: https://www.mikrocontroller.net/topic/432920#5108442&lt;br /&gt;
* Ich habe ein fertiges Layout. Jetzt möchte ich aber andere Footprints verwenden, und anschließend nicht neu routen müssen. Wie geht das?&lt;br /&gt;
** Über CVpcb und Neueinlesen der Netzliste. Siehe: http://www.mikrocontroller.net/topic/297885#new&lt;br /&gt;
* Ich will links herum routen, aber Kicad meint unbedingt rechts herum (...oder umgekehrt). Wie kann ich die Leiterbahnen &amp;quot;flippen&amp;quot;?&lt;br /&gt;
** Mit &amp;quot;/&amp;quot; (Slasch) http://www.mikrocontroller.net/topic/280028#new&lt;br /&gt;
* Ich hätte gerne die Tastenkürzel in kicad so wie in meinem gewohnten Programm. Wie geht das?&lt;br /&gt;
** Siehe http://www.mikrocontroller.net/topic/283959#3007173 . Vieleicht ist einer ja so nett, und stellt Konfigurationsfiles für Leute die aus EAGLE, ORCAD oder so wechseln, bereit.&lt;br /&gt;
* Ich habe ein kleines Board fertig geroutet. Jetzt möchte ich mehrere davon zu einer größeren Platine zusammenführen (sog. Mehrfachnutzen), um sie rationeller fertigen zu können.&lt;br /&gt;
** Siehe http:http://www.mikrocontroller.net/topic/292334#new . Das geht natürlich genauso, wenn man verschiedene Platinen so zu Nutzen zusammenfügen möchte, oder halt kleinere Teillayouts zu einem Gesamtboard.&lt;br /&gt;
*** Nachtrag: Wenn in PCBnew &amp;quot;append Board&amp;quot; oder &amp;quot;save as&amp;quot; ausgegraut sind, so schliesse KiCad Eeschem und PCBnew komplett und starte PCBnew direkt ohne über KiCad zu gehen. Das ist in neueren KiCad Versionen so vorgesehen. Siehe https://www.mikrocontroller.net/topic/399145#new&lt;br /&gt;
&lt;br /&gt;
* Ich habe einen Schaltplan mit Subschaltplänen, zu denen ich separate Layouts erstellen möchte.&lt;br /&gt;
** Dazu diesen Subschaltplan explizit in EEschema öffnen, und die Netzliste nur für diesen Subschaltplan exportieren.  Weitergehen wie üblich. Siehe: http://www.mikrocontroller.net/topic/330740#new&lt;br /&gt;
* Ich möchte Varianten eines Layouts erstellen. Was ist dazu zu sagen? Siehe: http://www.mikrocontroller.net/topic/330740#3616697&lt;br /&gt;
** Siehe http://www.mikrocontroller.net/topic/292123#new&lt;br /&gt;
* Wie importiere ich DXF-Dateien in PCBnew? z.B. ein Platinenumriss aus einem mechanischen CAD-Programm?&lt;br /&gt;
** Dafür existiert eine Import Funktion in PCBnew: Datei &amp;gt; Importieren &amp;gt; DXF-Datei. Siehe http://www.mikrocontroller.net/topic/327628#new &lt;br /&gt;
aktueller: https://www.mikrocontroller.net/topic/469438#new&lt;br /&gt;
* Wie wird man den merkwürdigen Rahmen los?&lt;br /&gt;
** 1) Genauso wie im Schaltplan. Dazu den pl_editor (der ganz rechte Button im KiCad Hauptfenster) starten, und FAST alles entfernen. Dazu in der linken Spalte nacheinander alles aktivieren, und mit rechts anlicken und dann &amp;quot;entfernen&amp;quot; wählen. Aber vorsicht, wenn alles Entfernt wird, taucht das Original Layout wieder auf. Workaround war bei mir, eine zusätzliche Alibilinie hinzuzufügen, die von X 0,000 Y 0,000 bis  X 0,001 Y 0,000 reicht. Das ist ein &amp;quot;Fliegenschiss&amp;quot; in der linken oberen Ecke. Jetzt kann alles andere gelöscht werden. Den so geleerten Rahmen unter einem beliebigen Namen mit der Endung .kicad_wks wegspeichern. Im geöffneten Schaltplan kann der dann unter Datei &amp;gt; Seite einrichten ganz unten unter &amp;quot;page layout file description&amp;quot; die entsprechende Datei eingebunden werden. Es bleibt aber dem Anwender offen, ob er den Rahmen komplett entfernt, oder noch Felder mit Textbeschreibungen übernimmt. Für gesteigerten Komfort kann diese Datei dann auch in ein Template eingebunden werden. &lt;br /&gt;
** 2) Beim Ausdrucken Frame deaktivieren.&lt;br /&gt;
** 3) Als SVG exportieren. Dort den Frame deaktivieren.&lt;br /&gt;
** 4) Beim Plotten (z.B. in Gerber) Frame deaktivieren. Ist eigentlich defaultmäßig eingestellt. &lt;br /&gt;
** Siehe: http://www.mikrocontroller.net/topic/343509#3791448&lt;br /&gt;
* Ich möchte einen bestimmten Footprint verwenden (von dem ich weiss, dass er existiert), kann ihn aber in der Auswahl der Footprints von PCBnew nicht finden.&lt;br /&gt;
**Die Bibliothek, in der er enthalten ist, muss erst in das Verzeichnis der aktiven Bibliotheken in PCBnew eingetragen werden. &lt;br /&gt;
* Ich möchte Footprint-Bibliotheken in das Verzeichnis der verwendeten Bibliotheken von PCBnew eintragen. Wie geht das?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/372123#new  &lt;br /&gt;
* Ich habe Probleme mit den Umgebungsvariablen KISYSMOD, KISYS3DMOD, KIPRJMOD, KIGITHUB beim Eintragen der Bibliothekstabellen.&lt;br /&gt;
** KISYSMOD ist eine Variable, die den Pfad zu den global verwendeten KICAD-Modulen (Footprints) angibt. KIPRJMOD ist das gleiche, für projektspezifische Module. KISYS3DMOD beschreibt den Pfad zu den 3D-Modellen, und KIGITHUB weisst den Pfad ins Internet zu den Githubbibliotheken.&lt;br /&gt;
** Nähere Informationen dazu findet man hier: http://www.mikrocontroller.net/topic/344139#new und hier : http://www.mikrocontroller.net/topic/344029#new&lt;br /&gt;
** Aktueller: http://www.mikrocontroller.net/topic/368660&lt;br /&gt;
** Falls alles nichts hilft: Nan kann den Pfad auch komplett am Stück in die Bibliothekstabelle eintragen. Copy&amp;amp;Paste funktioniert dort aber nicht per rechtem Mausklick, sondern per &amp;lt;Str-c&amp;gt; (Kopieren) und &amp;lt;Str-v&amp;gt; (einfügen). Einfacher als die Bibliothekstabelle lässt sich darum die fp-lib-table Datei per Editor bearbeiten. Unter Linux findet sich die Tabelle für globale Bibliotheken bis zur BZR5113 direkt im Homeverzeichnis. Ab BZR5114 (ca. 5. September 2014) fiondet sich die globale fp-lib-table in $HOME/.config/kicad. Die fp-lib-table für projektbezogene Bibliotheken finden sich in den korrespondierenden  Projektverzeichnissen.&lt;br /&gt;
* Ich würde gerne die Mikrowellen Tools verwenden, aber irgendwie funktioniert das nicht.&lt;br /&gt;
** In älteren KiCad Versionen funktionieren sie nur im &amp;quot;legacy Canvas&amp;quot;. Den &amp;quot;legacy Canvas&amp;quot; schaltet man mit &amp;quot;F9&amp;quot; ein, bzw. im Pull down Menue unter &amp;quot;View&amp;quot; &amp;gt; &amp;quot;legacy Canfas&amp;quot;. In neueren KiCad Versionen (daily Build ab mindestens 2017-06-16 revision dab73e1) funktionieren die Tools in allen Canvasversionen.&lt;br /&gt;
** Manchmal sieht man nur etwas, wenn man &amp;quot;Refresh&amp;quot; (F3) drückt.&lt;br /&gt;
** Eine kleine Erklärung ist hier: https://www.mikrocontroller.net/topic/434998#new&lt;br /&gt;
* Ich würde gerne aus den Mikrowellen Tools die Funktion &amp;quot;Polynominales Muster&amp;quot; verwenden. Dabei werde ich nach einem KiCad-Shapefile gefragt, aber ich weiss nicht, wie das File aussehen muss.&lt;br /&gt;
** Einen Hinweis zum Aussehen des Files gibt es hier: https://www.mikrocontroller.net/topic/369330#4166392 Allerdings müssen die Werte der Polynomstruktur anderweitig berechnet werden, und mit einem Editor manuell in diese Form gebracht werden.&lt;br /&gt;
* Wie erstelle ich koplanare Leitungen in KiCad?&lt;br /&gt;
** siehe diese Diskussion: https://www.mikrocontroller.net/topic/370700#new&lt;br /&gt;
* Ich möchte Bauteile im Kreis oder in einem Gittermuster/Array anordnen. Gibt es dafür automatische Hilfestellungen?&lt;br /&gt;
** Ja. Objekt Deiner Wahl rechts anklicken, eventuell Auswahl verfeinern, und dann im aufpoppenden Menue &amp;quot;Array erstellen&amp;quot; wählen. Geht nicht nur für Bauteile, sondern auch für Pads, Leiterbahnen ec. Siehe: http://www.mikrocontroller.net/topic/178816#new&lt;br /&gt;
** Aktuell: https://www.mikrocontroller.net/topic/473763#5832574&lt;br /&gt;
* Ich bräuchte Pads mit ungewöhnlicher Form.&lt;br /&gt;
** Aus mehreren Pads mit der gleichen Pad Nummer zusammensetzten. Pads gleicher Nummer am gleichen Footprint werden dem gleichen Netz zugeordnet. Dabei aber beachten, dass sich diese Pads sich weit genug überlappen (z.B. 0,2mm) , so dass sie nicht in einzelne Pads zerfallen, wenn in der Leiterplattenfabrik mal die Kupferflächen &amp;quot;zurückgezogen&amp;quot; werden müssen, um die Mindestabsrände für die Produktion (Galvanik) nicht zu unterschreiten.&lt;br /&gt;
** Das Mikrowellentool benutzen, um mit einem Workaround Pads als Polygon zu erzeugen. Als ein Beispiel z.B:https://www.mikrocontroller.net/attachment/259709/SMP-Test-1.png Das Mikrowellentool kannst Du mit einem Workaround dazu bekommen, Pads als Polygone zu erstellen. Näheres siehe hier: https://www.mikrocontroller.net/topic/414834#new oder hier: https://www.mikrocontroller.net/topic/369330#4166392&lt;br /&gt;
* Meine Grafikkarte unterstützt keine openGL 3D-Beschleunigung.&lt;br /&gt;
** Vieleicht kannst Du mit MESA openGL ersetzten? Siehe: https://www.mikrocontroller.net/topic/389712#4465775 Zu MESA selber siehe: https://de.wikipedia.org/wiki/Mesa_3D&lt;br /&gt;
* Ich würde gerne eine Starrflex Leiterplatte machen. Was muss ich beachten?&lt;br /&gt;
** Siehe https://www.mikrocontroller.net/topic/399330#new&lt;br /&gt;
* Wie Verbinde ich verschiedene Massen, oder allgemein verschiedene Potentiale, die aus Layouttechnischen Gründen getrennt gehalten werden sollten, ohne das der DRC zusehr meckert? Ähnliches Problem: Einzelne Vias vom Anschluss an umgebende Masseflächen ausschliessen.&lt;br /&gt;
** Voraussetzung: Die Leiterbahnen/Vias/Kupferflächen müssen unterschiedliche Potentiale haben, damit KiCad weiss, dass sie getrennt gehalten werden müssen. Wenn das nicht der Fall ist, müssen diese Segmente mit einem &amp;quot;Bauteil&amp;quot; so vom Rest der Schaltung abgedretnnt werden, dass der abgetrennte Bereich einen neuen Netznahmen/Potentialnahmen bekommt. Diese speziellen Bauteile können unterschiedlicher Art sein:&lt;br /&gt;
*** 1) Mit 0 Ohm Brücken. Das sind Bauteile, die aus einer Drahtbrücke bestehen. So sind für den ERC und DRC die Netzte getrennt, aber tatsächlich mit einer Drahtbrücke verbunden. &lt;br /&gt;
**** [http://www.mikrocontroller.net/topic/142930?goto=1321550] &amp;quot;Drahtbrücken in KiCad?&amp;quot;  hier im Forum.&lt;br /&gt;
*** 2) Ein anderer Workaround sind &amp;quot;Net ties&amp;quot; (Netties). Das sind Footprints, die aus zwei oder mehr verschiedenen Pads bestehen(wie jedes andere normale Bauteile auch, die aber direkt mit Kupfer verbunden sind. Also eigentlich ein 0 Ohm Widerstand, wo der &amp;quot;Widerstand&amp;quot; als Kupfer auf der Leiterplatte existiert. Es ist sinnvoll, zu den &amp;quot;Net tie&amp;quot; Footprints auch entsprechende Schaltplansymbole zu definieren. Zu Net ties siehe:&lt;br /&gt;
**** [http://www.grant-trebbin.com/2015/04/pcb-net-ties-and-grounding-in-kicad.html] (in Englisch)&lt;br /&gt;
**** [http://www.mikrocontroller.net/topic/330196] &amp;quot;KiCad zwei verschiedene Netze verbinden in Pcbnew&amp;quot; hier im Forum.&lt;br /&gt;
**** Etwas aktueller (geht auch auf Probleme ein): &lt;br /&gt;
***** [http://www.mikrocontroller.net/topic/389988] &amp;quot;Kicad Leiterbahn im Footprint möglich?&amp;quot; hier im Forum.&lt;br /&gt;
***** [http://www.mikrocontroller.net/topic/360510] &amp;quot;Leiterbahn aus Massepolygon isolieren&amp;quot; hier im Forum.&lt;br /&gt;
***** [https://www.mikrocontroller.net/topic/401430#new] &amp;quot;Via-Anbidung an Polygon ausschließen&amp;quot;&lt;br /&gt;
***** Ein ganz anderer Ansatz wäre, ganz auf unterschiedliche Massepotentiale zu verzichten, wenn diese sowieso verbunden werden, wie hier vorgeschlagen: https://www.mikrocontroller.net/topic/453991#5465447&lt;br /&gt;
* Wie kann man den Nullpunkt eines Layouts verschieben?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/179680#1730452 Aktueller:https://www.mikrocontroller.net/topic/427130#5008806 für den Layout Editor PCBnew. Im Moduleditor bei Erstellung eines Footprints kann man den Ankerpunkt frei Mithilfe des Anker-Tools aus der rechten Menüleiste (das Ankersymbol) setzten. Gleiches gilt für den Symboleditor.&lt;br /&gt;
* Ich habe im Layout einen weissen Kringel mit einem weissen Kreuz, der sich beim Zoomen merkwürdig verhält. Was ist das, und wie kriege ich das weg?&lt;br /&gt;
** Das ist der Ursprung des Rasters. Den sollte man nicht wegbekommen, aber man kann ihn versetzten. Siehe: https://www.mikrocontroller.net/topic/411681#new&lt;br /&gt;
* Wie erzeuge ich Thermals (Wärmefallen/thermal Pads) um Pins die in Kupferflächen sitzen?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/443639#5287943&lt;br /&gt;
* Ich möchte Langlöcher anlegen. Wie geht das am einfachsten?&lt;br /&gt;
** Als Footprint bzw. im Footprint im Footprinteditor anlegen. Dort ein Pad plazieren und als &amp;quot;Drill Shape&amp;quot; die Option &amp;quot;Oval hole&amp;quot; wählen. Den Rest des Footprints mit dem Kupfer nach eigenen Bedürfnissen gestalten, oder das Kupfer ganz weglassen. Für reine Befestigungslöcher ohne Kupfer &amp;quot;Pad type&amp;quot; zu &amp;quot;NPTH, Mechanical&amp;quot; wählen. Langlöcher landen genauso wie runde Löcher im Excellon Drill-File. Es gibt dort spezielle Kennzeichnungen dafür. Um mit dem &amp;quot;Workflow&amp;quot; konform zu bleiben, für Befestigungslöcher z.b. ein Symbol anlegen, dem ein passendes Loch oder auch Langloch als Footprint zuweisen. In einem extra hierachischen Schaltplanblatt solche Sonderfälle ablegen. Für vier löcher z.B. vier mal dieses Symbol. Es lassens sich den Symbolen unterschiedlich definierte Löcher zuweisen. Die Löcher werden dann beim Einlesen der Netzliste in PCBnew gemäß der eingetragenen Footprints auf das Board gestellt und können frei plaziert werden. Siehe: https://www.mikrocontroller.net/topic/449952#5395495&lt;br /&gt;
* Wie ist das mit der Pinnummerierung bei Symbolen und Footprints mit abweichenden Pinbelegungen? Ändere ich die Pin/Pad Nummerierung im Symbol oder im Footprint?&lt;br /&gt;
** Das hängt am Einzelfall. Aber meistens ist das Anlegen einer Symbolvariante unter anderem Namen mit geändertem Pinning am sinnvollsten. Es gibt aber Sonderfälle. Genaueres steht hier: https://www.mikrocontroller.net/topic/452154#new&lt;br /&gt;
&lt;br /&gt;
=== Layout: Python Scripting ===&lt;br /&gt;
&lt;br /&gt;
Das Python2-Scripting ist bisher nur in PCBnew implementiert und noch sehr experimentell. Daher ist leider auch der aktuelle Stand der Dokumentation zum Python-Skripting in PCBnew noch etwas dürftig. Trozdem hier Links dazu:&lt;br /&gt;
* http://confluence.kicad.org/display/KICAD/KiCad+Scripting+Reference+Manual (Allgemein. Achtung! Kicad braucht beim compilieren spezielle Befehle, um Python-Scripting tauglich zu sein.)&lt;br /&gt;
* http://ci.kicad.org/job/kicad-doxygen/ws/build/pcbnew/doxygen-python/html/namespacepcbnew.html (Definitionen von Namespaces, Classes und Files)&lt;br /&gt;
&lt;br /&gt;
Für Linux-Debian:&lt;br /&gt;
Aktuell (07. Februar 2014) mit  Pcbnew Version: (2014-01-27 BZR 4641)-product Release build auf&lt;br /&gt;
Platform: Linux 3.2.0-4-686-pae i686, 32 bit, Little endian, wxGTK (Debian Wheezy) gilt:&lt;br /&gt;
* Geht aktuell nur für PCBnew.&lt;br /&gt;
* Klassenbibliotheken: Zwei Dateien pcbnew.py und _pcbnew.so auf dem Pfad: /usr/lib/python2.7/dist-packages/&lt;br /&gt;
* Die Klassenbibliothek wird mit den üblichen Python2 Methoden importiert: z.B. &amp;quot;import pcbnew&amp;quot; oder &amp;quot;from pcbnew import *&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Beispielprogramm, das alle Footprints aus einer Legacy-Fotprint Datei auflisted und den Referenzbezeichner dazuschreibt::&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env python &lt;br /&gt;
# das war das Shebang.&lt;br /&gt;
&lt;br /&gt;
from pcbnew import * # Import der Bibliothek. &lt;br /&gt;
libpath = &amp;quot;/home/DuUser/KiCad-Daten/Module/ModuleGrosserSampler/KiCadLegacyFottprints.mod&amp;quot; # Übergabe des Pfades.&lt;br /&gt;
lst = FootprintEnumerate(libpath) &lt;br /&gt;
for name in lst:&lt;br /&gt;
    m = FootprintLoad(libpath,name)&lt;br /&gt;
    print name,&amp;quot;-&amp;gt;&amp;quot;, m.GetReference()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Scripting Möglichkeit ist so neu, dass bis jetzt die Scripting Testdateien für das KiCad interne automatische Qualitätssicherungssystem noch nicht komplett sind.&lt;br /&gt;
Unter http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/files/head:/qa/testcases/ finden sich bereits geprüfte Testskripte, und unter http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/files/head:/pcbnew/scripting/examples/ finden sich ungetestete Testskripte.&lt;br /&gt;
&lt;br /&gt;
Sie alle können als Beispiele genommen werden, wie das mit dem Skripting gemeint ist, und als Vorbild für eigene Skripte dienen.&lt;br /&gt;
&lt;br /&gt;
Weitere Skripting Info: &lt;br /&gt;
* [https://kicad.mmccoo.com/kicad-scripting-table-of-contents/ Anleitung für Python Skripting in KiCad] (Englisch)&lt;br /&gt;
&lt;br /&gt;
=== Module Editor ===&lt;br /&gt;
* Wie erstellt man Footprints für Bauteile?&lt;br /&gt;
** Mit dem Footprint Editor. Er ist bei älteren KiCad Versionen nur aus PCBnew heraus zu starten. Bei neueren KiCad Versionen hat er einen eigenen Button im KiCad Start Window.&lt;br /&gt;
** Spezielleres: http://www.mikrocontroller.net/topic/356151#new&lt;br /&gt;
* Wie verbinde kopiere ich etwas aus einem Footprint in einen anderen hinein, bzw. wie verbinde/merge ich zwei Footprints?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/288167#3061997&lt;br /&gt;
* Kann man im Module Editor die Eigenschaften aller Pads gleichzeitig ändern?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/93131#799550 &lt;br /&gt;
* Ich brauche einen Footprint, bei dem mehrere Pads verbunden sind, will aber nicht im Schaltplan zig Pins aufführen und anschliessen müssen.&lt;br /&gt;
**http://www.mikrocontroller.net/topic/208982#new&lt;br /&gt;
**http://www.mikrocontroller.net/topic/204717#new&lt;br /&gt;
* Wie erzeugt man thermal Vias in Kicad?&lt;br /&gt;
** Leider bisher nur experimentell: http://www.mikrocontroller.net/topic/298028#3187259&lt;br /&gt;
* Wie kann man Bauteilmaße in in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
* Wie verwalte ich Footprint Bibliotheken?&lt;br /&gt;
** Indem man sich ein Board erstellt, alle Footprints, die man zusammenfassen möchte, auf das Board stellt, und dann untet Dateien &amp;gt; Footprints archivieren &amp;gt; Footprint Archiv erstellen wählt. Das so erstellte Board kann auch zu Dokumentationszwecken geplottet werden. Eventuell möchte man einige Footprints, die zu Hilfszwecken (z.B. Skalen) auf dem Board sind, anschliessend mit dem Bibliothekseditor daraus löschen.&lt;br /&gt;
** Alternativ, im dem &amp;quot;neuen&amp;quot; *.pretty Format, mit einem Dateiverwaltungsprogramm Deiner Wahl. Siehe http://www.mikrocontroller.net/topic/320301#new&lt;br /&gt;
* Wie werden die Parameter für Lötpaste/Lötstopmaske vergeben?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/356151&lt;br /&gt;
* Ich möchte für einen Footprint Pads in einem Gittermuster/Array oder im Kreis anordnen. Gibt es dafür automatische Hilfestellungen?&lt;br /&gt;
** Ja. Pad rechts anklicken. Eventuell erfolgt noch eine Feinauswahl. Dann im aufpoppenden Menue &amp;quot;Array erstellen&amp;quot; wählen.&lt;br /&gt;
* Wie archiviere ich die in einem KiCad Board enthaltenen Footprints?&lt;br /&gt;
** Nicht im Footprint-editor, sondern in PCBnew. Dort in der oberen Toolleiste unter Datei/File &amp;gt; archive Footprints. Es muss dort eine bereits im Bibliotheksverzeichnis eingetragene existierende Bibliothek angegeben werden. &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Diese Bibliothek sollte &#039;&#039;&#039;speziell für diesen Zweck&#039;&#039;&#039; angelegt sein, weil ihr &#039;&#039;&#039;vorheriger Inhalt komplett entfernt&#039;&#039;&#039; wird. Idealerweise legt man die Bibliothek als &amp;quot;Projektname.pretty&amp;quot; im Projektordner an. Sie sollte spätestens bei Abschluss des Projektestens erstellt werden und &#039;&#039;&#039;MUSS bei Archivierung des Projektes oder Übergabe mit Archiviert bzw. Übergeben werden!&#039;&#039;&#039; Aber &#039;&#039;&#039;VORSICHT&#039;&#039;&#039;, bei der Bibliothekserstellung lauert ein &#039;&#039;&#039;Bug. Siehe:&#039;&#039;&#039; https://www.mikrocontroller.net/articles/KiCad#Problem:_Neue_leere_Footprintbibliothek_kann_nicht_erstellt_werden_.28kicad_Version:_4.0.0.7Erc1a-stable_release_build_.2F_RC4.29&lt;br /&gt;
* Ich brauche in einem Footprint einen Ausschnitt in der Platine. Wie mache ich das?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/404998#4696232&lt;br /&gt;
* Für Masken wie Lötpaste oder Klebstoff hätte ich gerne Pads mit abgerundeten Ecken. Wie geht das?&lt;br /&gt;
** Das geht erst seit ca. Version: 2016-11-22 revision ccdfabc-master. Siehe https://www.mikrocontroller.net/topic/427536#5015335&lt;br /&gt;
&lt;br /&gt;
=== 3D-Ansicht ===&lt;br /&gt;
[[Bild:Kicad xilinx demo.jpg|300px|thumb|right|KiCAD-Demoplatine exportiert und mit Renderer illustriert]]&lt;br /&gt;
KiCAD bietet eine eingebaute einfache 3D-Ansicht der gerouteten Platine. Mittels Export können diese weiterverarbeitet werden. KiCad beruht diesbezüglich auf Wings3D, und die 3D-Modelle der Bauteile sind standardisierte wrl-files, die mit entweder Wings3D oder Blender erstellt werden können. Daher sei hier auf ein Wings3D Handbuch verwiesen: http://www.oortman3d.com/wings3d/TheWings3dHandbook.pdf&lt;br /&gt;
&lt;br /&gt;
Viele Bauteilhersteller (vor allem von eher mechanischen, wie z.B. Stecker, Buchsen, Befestigung...) bieten fertige 3D-Modelle an. Diese sind meistens in den Formaten STEP oder IGES. So kann man diese in das von KiCad benötigte .wrl (VRML 2.0) konvertieren:&lt;br /&gt;
# STEP oder IGES in [http://gcad3d.org/ gCAD3D] öffnen (File &amp;gt; Open Model)&lt;br /&gt;
# als Wavefront .obj speichern (File &amp;gt; Save Model as &amp;gt; OBJ)&lt;br /&gt;
# Das .obj in [http://www.wings3d.com/ Wings 3D] importieren (File &amp;gt; Import &amp;gt; Wavefront .obj)&lt;br /&gt;
# Als VRML 2 exportieren (File &amp;gt; Export &amp;gt; VRML 2.0 .wrl)&lt;br /&gt;
# Im KiCad-Moduleditor die .wrl-Datei als 3D-Modell auswählen&lt;br /&gt;
# Eventuell muss man die Skalierung und Positionierung anpassen, die angezeigten Pads und Löcher helfen dabei. Die am meisten benötigten Faktoren dürften dabei 0,3937 und 2,54 sein - bei den Konvertierungen kommt leicht die Einheit Zoll oder cm durcheinander.&lt;br /&gt;
&lt;br /&gt;
Eine andere Möglichkeit .obj oder .stl-Dateien aus STEP und IGES zu erzeugen ist [http://free-cad.sourceforge.net/ FreeCAD]. Obwohl es auch .wrl direkt erzeugen kann, können diese nicht in KiCad geladen werden. Der Umweg über .obj oder .stl und Wings 3D löst dies aber auch hier.&lt;br /&gt;
&lt;br /&gt;
Wenn man das Board wieder in einem CAD-Programm verwenden will um z.B. ein Gehäuse zu konstruieren, sollte man wieder STEP-Dateien erzeugen. Neuere KiCad-Versionen können zwar VRML exportieren, doch das beschreibt nur Umrisse und keine Körper (Solids). CAD-Programme zum Gehäusedesign brauchen jedoch letzteres. So geht die Konvertierung:&lt;br /&gt;
# VRML aus KiCad exportieren (File &amp;gt; Export &amp;gt; VRML)&lt;br /&gt;
# .wrl-Datei mit Hilfe von [http://www.cs.princeton.edu/~min/meshconv/ meshconv] in eine STL-Datei konvertieren: &amp;lt;code&amp;gt;meshconv boardname.wrl -c stl -o boardname.stl&amp;lt;/code&amp;gt;&lt;br /&gt;
# Die STL-Datei mit [http://www.solveering.com/products/products_stl2step.html stl2step] in eine STEP-Datei konvertieren&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG:&#039;&#039;&#039;&lt;br /&gt;
Man sollte hinterher im CAD nochmal genau die Maße kontrollieren. Denn die Konvertierung von STL nach STEP ist nur eine Approximierung und keine exakte, verlustfreie Konvertierung.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG:&#039;&#039;&#039;&lt;br /&gt;
Bei der Verwendung von Modellen aus fremden Quellen die Rechtslage prüfen. Es kann bei Veröffentlichungen zu Problemen führen, wenn die verwendeten Modelle unter einer problematischen privaten Lizenz stehen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Appropos Einheit: Welche Einheit benutzt WRL (Wings3d)?&lt;br /&gt;
* Das ist leider nicht soooo klar. Tatsache ist aber, das KiCad die Einheit als 1/10 Inch (100mil) interpretiert.&lt;br /&gt;
** Es könnte sein, dass die Einheit von WRL offiziell mal zu einem Meter gedacht war. Siehe: https://www.mikrocontroller.net/topic/405477#4704394&lt;br /&gt;
&lt;br /&gt;
*Und wie bedient man Wings3d?&lt;br /&gt;
** Ein (vorläufiger) Merkzettel/Ultrakurzanleitung zur Bedienung von Wings3D findet sich hier: [[Media:Kicad-Wings3D_Merkzettel_29November2012.pdf]]. Wenn man nur mit Wings3d Modelle für Kicad erstellen will, langt das eventuell schon als Tutorial. There is also an English translation of this leaflet about using wings3d for kicad  at [[Media:Kicad-Wings3D_Leaflet_25April2013.pdf]].&lt;br /&gt;
** Aktueller: [http://roberthall.net/Wings3D_Tutorial_KiCad Tutorial zur Benutzung von Wings3D im KiCad Umfeld (englisch)]&lt;br /&gt;
&lt;br /&gt;
Weitere Diskussionen um KiCAD 3D:&lt;br /&gt;
* Die 3D-Ansicht funktioniert bei mir nicht.&lt;br /&gt;
** http://www.mikrocontroller.net/topic/289075#new&lt;br /&gt;
** https://www.mikrocontroller.net/topic/404658#new&lt;br /&gt;
* Kann man die 3D-Ansicht in ein 3D-CAD Programm exportieren? &lt;br /&gt;
**http://www.mikrocontroller.net/topic/203388#new&lt;br /&gt;
* Wie kann man Bauteilmaße in in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
&lt;br /&gt;
* Irgendwie werden meine 3D-Bibliotheken nicht gefunden.&lt;br /&gt;
** Das kann z.b. passieren, wenn eine KiCad v5 3D-bibliothek mit einer v4 Bauteilebibliothek verwendet wird. Siehe:https://www.mikrocontroller.net/topic/467178#new&lt;br /&gt;
* Ich habe 3D-Modelle/STEP-Modelle von einem Hersteller heruntergeladen. Aber nach Einbindunge liegen sie neben dem Footprint, schweben darüber oder durchdringen die Platine.&lt;br /&gt;
** Der Hersteller hat einen anderen Ursprung für sein Modell gewählt als üblich ist. Weit verbreitet ist, den Bauteil/Footprint Ursprung bei THT Bauteilen auf die &amp;quot;Mitte&amp;quot; von Pin 1 zu setzen. Bei SMD Bauteilen wird der Ursprung auf die Mitte des Bauteiles gesetzt, meint, da wo sich beide Symmetrieachsen des Bauteiles schneiden. Bleibt das Problem, wenn das Bauteil nur eine Symmetrieachse hat. Dann einen Punkt auf der Symmetrieachse wählen, der die Mitte zwischen den extremsten Bauteilgrenzen bildet. Wenn keine Symmetrie überhaupt existiert, halt irgendwo etwas &amp;quot;in der Mitte&amp;quot;. Das ist dann aber immer soweit in der Nähe des Footprints, dass Du es in KiCad selber anpassen kannst. Angepasst wird das entweder im Footprinteditor in der oberen Buttonleiste &amp;quot;footprint Eigenschaften&amp;quot; (Icon IC mit Zahnrad davor). Es poppt ein Fenster auf. Dort den zweiten Reiter von Links wählen: &amp;quot;3D-einstellungen&amp;quot;. Dort können Korrekturwerte für koordinaten, Skalierung und Drehungen angegeben werden. Siehe Diskussion: https://www.mikrocontroller.net/topic/467095#new&lt;br /&gt;
&lt;br /&gt;
=== Drucken/Plotten/Gerber Export/Excellon Drillfiles Export ===&lt;br /&gt;
&lt;br /&gt;
==== Drucken ====&lt;br /&gt;
* Wie exportiert man den Schaltplan oder das Layout als Bild (PNG o.ä.)? &lt;br /&gt;
** Drucken über Postscript-Treiber und Umwandeln mit Ghostscript&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/96060#1061492 Forumsbeitrag] Export als SVG&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/117562#1056566 Forumsbeitrag] Plot to Clipboard &lt;br /&gt;
* Wie kann ich GENAU ausdrucken? Mein Ausdruck auf ABC ist ca. X % zu klein oder Y% zu groß! &lt;br /&gt;
** So genau sind einfache Drucker bzw. Druckertreiber selten. Aber meistens hilft folgendes: Mache einen 1:1 (100%) Probeausdruck. Messe auf dem Ausdruck nach, wie groß er tatsächlich geworden ist. Berechne die Abweichung und gebe sie in den Drucker bzw. Druckertreiber unter Einstellung ein, vorausgesetzt, der Drucker bzw. Druckertreiber kann das. Mit dem Wert machst Du wieder eine Probeausdruck, messe wieder nach, und wenn es mit der Einstellung funktioniert hat, kannst Du Deine Folie bedrucken. Wenn das nicht klappen kann, weil Du stark abweichende Werte für horizontal und vertikal bräuchtest, aber der Drucker nur einen gleichen Wert für beides kennt, hast Du einen (zu) schlechten Drucker. Trozdem nicht verzweifeln, weil KiCad beim Drucken oder Plotten in der X- und Y-Achse getrennt skalieren kann. Aber Vorsicht bei Weitergabe der so erzeugten Dateien: Sie sind individuell auf einen Drucker angepasst, und produzieren auf einem anderen Drucker nur falsch skalierte Ausdrucke. Weil der Wert von Drucker zu Drucker unterschiedlich ist, ist es auch sinnvoll, diese Skalierung direkt am speziellen Drucker/Druckertreiber zu machen. Tipp: Wenn Du den Wert erfolgreich ermittelt hast, so kleb Dir einen Zettel auf den Drucker mit dem Wert. Die Werte sind zwar individuell für jeden Drucker, aber meistens für den speziellen Drucker durchaus fix. Und Du hast ihn sofort wieder parat, wenn der Drucker resettet wurde. Dies ist übrigens ein allgemeiner Tipp für das Ausdrucken, der auch für Eagle, Target, Altium usw. gilt.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/304619#new Thema Skalieren] - Die aktuelle Situation (August 2013):  &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/371079#4191106 Und nochmal Thema Skalieren]&lt;br /&gt;
* Wie kann man das Layout invers ausdrucken, d.h. alle Leiterbahnen und Pads müssen weiß bleiben, der Rest wird schwarz ausgedruckt?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/156202#1474507 Beim Plotten den Haken bei Negativ-Plot setzen ] &lt;br /&gt;
* Ich habe irgendwie Probleme mit dem Ausdrucken.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/207764#new Verzerrt] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/207310#new Sonderzeichen]&lt;br /&gt;
** In der aktuellen Version 2012-01-19 BZR 3256)-stable besteht ein generelles Druckproblem. Aber Plotten geht wunderbar!&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/280958#new Aktualisierter Stand 23. Dezember 2012] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/303043#3249166 Aktualisierter Stand vom 21. Juli 2013]&lt;br /&gt;
&lt;br /&gt;
* Ich würde gerne PDF Dateien aus meinem Layout erstellen, aber irgendwie ist der Ausdruck defekt.&lt;br /&gt;
** Drucken ist aus Kicad manchmal ein Problem, auch in eine Datei hinein. Aber Plotten und Exportieren in SVG funktioniert gut.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/303043#3249166 Von SVG zu PDF] kommt man über Inkscape. &lt;br /&gt;
** [https://www.mikrocontroller.net/topic/430532#new Aktuell] &lt;br /&gt;
** Problem dabei: [https://www.mikrocontroller.net/topic/431522#new Vektorfonts] &lt;br /&gt;
* Wie kann ich mir einen [http://www.mikrocontroller.net/topic/266037#new Bohrplan ausdrucken], um mit der Hand zu bohren?&lt;br /&gt;
&lt;br /&gt;
==== SVG Plotten ====&lt;br /&gt;
&lt;br /&gt;
* Meine erzeugten SVG Plots sind kaputt. Ich erhalte nur Fehlermeldungen, wenn ich sie in Inkscape oder Gimp einlesen will.&lt;br /&gt;
** Es besteht ein Problem mit dem SVG Export, wenn man Schaltpläne oder Boards in SVG exportiert, die ein Ampersand (Kaufmansund, &amp;quot;&amp;amp;&amp;quot;) im Dateinamen haben. Dieser Dateiname tauch dann innerhalb der SVG Datei in einem Titelblock auf, wo das &amp;quot;&amp;amp;&amp;quot; dann ein Problem bedeutet (Es leitet eine Art Escape-Sequenz ein). Sowohl Kicad als auch Inkscape/Gimp akzeptieren &amp;quot;&amp;amp;&amp;quot; im Dateinamen, und sowol unter Windows als auch Linux ist das &amp;quot;&amp;amp;&amp;quot; im Dateinamen legal....darum bringt auch eine Veränderung des Namens der SVG-Datei keine Lösung. Eine Lösung ist, Grundsätzlich in Kicad keine &amp;quot;&amp;amp;&amp;quot; in Dateinamen zu verwenden, wenn man einen SVG-Export macht. Alternativ kann man mit einem Editor das &amp;quot;&amp;amp;&amp;quot; aus dem Titelblock (Das ist NICHT der Dateiname, sondern in der Datei selber alles zwischen &amp;lt;titel&amp;gt; und &amp;lt;/titel&amp;gt;) der SVG-Datei löschen. Angeblich kommt der Bug aus den verwendeten wx-Bibliotheken. Siehe den Bugreport: https://bugs.launchpad.net/kicad/+bug/1171160&lt;br /&gt;
* Wie kann ich unter Windows die SVG Dateien überhaupt nutzen? &lt;br /&gt;
** Die SVG Datei kann mit Microsoft Edge auf einen Drucker gedruckt werden, nützlich bei negativ Plot. Das Öffnen mit GIMP ging mit 1000pixel/in. Das Programm, mit dem sich SVG Dateien am besten bearbeiten lassen, ist aber Inkscape. Davon gibt es sogar einen Windows Ableger.&lt;br /&gt;
** Grundsätzliche Infos zum SVG Format: https://de.wikipedia.org/wiki/Scalable_Vector_Graphics&lt;br /&gt;
** Grundsätzliche Infos zu Inkscape: https://de.wikipedia.org/wiki/Inkscape&lt;br /&gt;
&lt;br /&gt;
==== Gerber Export ====&lt;br /&gt;
&lt;br /&gt;
* Kann man Gerber-Dateien exportieren?&lt;br /&gt;
** Ja. Es wird extended Gerber 274X exportiert. Einheit ist inch (doppelt sowohl im 274d als auch im 274x Stil definiert). Die Y-Koordinaten sind im allgemeinen negativ. KiCad verwendet für Flächen das in Gerber spezifizierte Polygon Makro und kein &amp;quot;stroke fill&amp;quot;.&lt;br /&gt;
** Um Gerber Dateien zu erstellen, wählt man aus der oberen Menueleiste ganz links Datei &amp;gt; Plotten und dann oben links unter Plotformat &amp;quot;Gerber&amp;quot; &lt;br /&gt;
** KiCad unterstützt auch die kürzlich eingeführten Gerber-Attribute. Die Anwendung derselben muss aber explizit angewählt werden. Dazu setzt man im Gerber-Plottmenue im Feld &amp;quot;Gerber Optionen&amp;quot; bei &amp;quot;include extended attributes&amp;quot; einen Haken.&lt;br /&gt;
** KiCad kann automatisch die Lötstoppmaske von der Siebdruckmaske (Silk screen - Bestückungsaufdruck) abziehen, damit nicht der Bestückungsaufdruck versehentlich über Pads liegt und dort das Löten verhindert. Dazu muss aber im Gerber-Plottmenue im Feld &amp;quot;Gerber Optionen&amp;quot; bei &amp;quot;Subtrahiere Lötstoppmaske von Siebdruckmaske&amp;quot; ein Haken gesetzt werden.&lt;br /&gt;
* Welche Gerber Lagen werden zur Herstellung einer Platine benötigt?&lt;br /&gt;
** Grundsätzlich zu Herstellung der Platine die Gerberfiles: Alle Kupferlagen, Bestückungsdruck Top und Bottom (Falls auf Bottom was steht), Lötstoppmaske Top und Bottom. Eine Umrisslage mit dem Platinenumriss und Ausfräsungen. Drillfiles (Excellon) Für durchkontaktierte und NICHT durchkontaktierte (NPTH) Bohrungen. Dazu: Ein Textfile mit einer Erläuterung, welche Lage welche ist, sowie Angaben, wie dick die Kupferschichten der Kupferlagen und wie dick die Isolierlagen dazwischen sein sollen, und aus welchem Material. Wenn Du eine einfache rechteckige Platine hast, schreibst Du dort auch noch die Kantenlängen hinein. Wenn die Platinenumrisse komplizierter sind (z.B. verwinkelt, mit Ausfräsungen ec.), noch eine Masszeichnung als Gerber File. Siehe dazu: https://www.mikrocontroller.net/topic/399503#new&lt;br /&gt;
** Zum Bestücken wird mindestens noch eine Stückliste (BOM) benötigt. Eventuell noch ein spezieller Bestückungsplan (Assembly), wenn der Bestückungsaufdruck nicht reicht. Für SMD eventuell noch die Gerberdaten für Klebstoffmaske und Lötpastenmaske, und eventuell die Pick and Place Daten für den Bestückungsautomaten.&lt;br /&gt;
* Wie kann man den Gerber-Plot so ausdrucken, dass in der Mitte von Pads und Vias ein Zentrierloch frei bleibt?&lt;br /&gt;
** http://article.gmane.org/gmane.comp.cad.kicad.user/3457&lt;br /&gt;
* Was ist &#039;&#039;&#039;allgemein&#039;&#039;&#039; beim Export von Gerber Daten zu  beachten?&lt;br /&gt;
** Allgemeine Informationen zum Gerber File Format findet sich hier: https://www.mikrocontroller.net/articles/Gerber-Tools&lt;br /&gt;
** Speziell zu Passermarken/Fiducials (add layer alignment target) diese Diskussion: https://www.mikrocontroller.net/topic/396624#new&lt;br /&gt;
** Aktuell: https://www.mikrocontroller.net/topic/428569#new&lt;br /&gt;
* Ich würde gerne meine Gerberdaten gespiegelt ausdrucken, aber das &amp;quot;gespiegelt&amp;quot; ist ausgegraut.&lt;br /&gt;
** Gerber Daten werden nur sehr selten vom Layouter gespiegelt benötigt. Wenn aber doch, so öffne die Gerber Daten mit dem Gerberviewer (Gerbview). Wenn Du dort ausdruckst, kannst du auch spiegeln. Trotzdem solltest Du Dir in dieser Diskussion durchlesen, warum Du vermutlich keine Gerberdaten gespiegelt ausdrucken musst: https://www.mikrocontroller.net/topic/466448#new&lt;br /&gt;
* Mein Layterplattenfertiger bemämgelt, das meine Gerber Daten fehlerhaft sind.&lt;br /&gt;
** Wenn er negative Koordinaten bemängelt, so sind diese nach der aktuellen Gerber Definition zulässig.&lt;br /&gt;
** Wenn Du trotzdem negative Gerber Koordinaten beim Export vermeiden möchtest, musst Du den Ursprung bzw. das Hilfskoordinatensystem passend setzen. Siehe hier: https://www.mikrocontroller.net/topic/482457#5999588 &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Wenn man einen Offset für Gerber verwendet, muss man den gleichen Haken auch bei den Drillfiles setzten. Sonst sind die Bohrdaten gegenüber den Gerberdaten verschoben.&lt;br /&gt;
** Wegen nicht geschlossener Polygone bzw. doppelter Punkte in Polygonen siehe hier: https://www.mikrocontroller.net/topic/482457#5999669 und den Bugreport https://bugs.launchpad.net/kicad/+bug/1847714&lt;br /&gt;
** Ucamco als Schöpfer des Gerberformates bietet einen Online-Referenzviewer für Gerberdateien, um die Qualität von Gerberdaten zu überprüfen. Siehe hier: https://gerber-viewer.ucamco.com/&lt;br /&gt;
&lt;br /&gt;
==== Excellon Drillfiles exportieren ====&lt;br /&gt;
&lt;br /&gt;
* Wie erstelle ich mit KiCad Excellon Drillfiles?&lt;br /&gt;
**siehe hier: http://www.mikrocontroller.net/topic/310333#new&lt;br /&gt;
&lt;br /&gt;
==== KiCad Board Dateien direkt zum Hersteller ====&lt;br /&gt;
&lt;br /&gt;
* Bei Bestellungen bei PCB-Pool ist deren GC-Prevue NICHT mehr erforderlich, weil PCB-Pool mittlerweile KiCad *.brd Dateien direkt akzeptiert. Siehe http://www.pcb-pool.com/ppde/info_dataformat.html Das gilt auch für viele andere Hersteller. im Zweifel dort einmal nachfragen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Trotzdem&#039;&#039;&#039; sollte man &#039;&#039;&#039;besser Gerber Dateien&#039;&#039;&#039; zum Platinenhersteller senden. Das gilt &#039;&#039;&#039;grundsätzlich&#039;&#039;&#039; so auch für andere Platinen Layout Programme. Der Grund ist hier angegeben: https://www.mikrocontroller.net/wikisoftware/index.php?title=Gerber-Tools&amp;amp;action=edit&amp;amp;section=8&lt;br /&gt;
&lt;br /&gt;
=== Import ===&lt;br /&gt;
* Kann man EAGLE Dateien importieren? (=&amp;gt; Obacht bei Weitergabe der Daten! Die originalen Eagle Dateien könnten mit Urheberrechten belastet sein)&lt;br /&gt;
** Ja. Voraussetzung ist, dass das Eagle Projekt im XML-Format vorliegt. Das ist automatisch der Fall, wenn man Eagle 6 (6.6?) oder aktueller benutzt und darin speichert. Dieses Projekt kann dann in aktuellen KiCad Versionen (5.x oder 6?) geöffnet und als KiCad Projekt gespeichert werden. Dazu das Eagle Projekt für diesen Zweck vorher in einen separaten Ordner kopieren. Dann im KiCad Hauptfenster aus dem Pulldown Menue Datei &amp;gt; Projekt importieren &amp;gt; Eagle CAd wählen.&lt;br /&gt;
** Ganz aktuell: https://www.mikrocontroller.net/topic/474387#new &lt;br /&gt;
** Aktuell: http://www.mikrocontroller.net/articles/KiCad#Konverter&lt;br /&gt;
** Etwas älter: http://www.mikrocontroller.net/topic/70905#797416&lt;br /&gt;
** http://www.mikrocontroller.net/topic/120373#1089933&lt;br /&gt;
** https://www.mikrocontroller.net/topic/417848#new&lt;br /&gt;
* Wie bindet man fremde KiCad Bibliotheken ein?&lt;br /&gt;
** EESchema (Schaltplaneditor) starten, unter Einstellungen &amp;quot;Bibliothek&amp;quot;  auswählen, auf &amp;quot;Hinzufügen&amp;quot; klicken, neue Bibliothek auswählen dann &amp;quot;öffnen&amp;quot; und in der Projektdatei &amp;quot;Speichern&amp;quot;. Gültig für Version 20090216Final, 2011-04-29-BZR2986-WinXP und Version: (2011-11-27 BZR 3249)-stable unter Platform: Linux 2.6.32-5-686 i686, 32 bit, Little endian, wxGTK.&lt;br /&gt;
&lt;br /&gt;
** VERALTET! Das Verfahren zur Einbindung eigener oder fremder Bibliotheken ist under PCBnew genauso.&lt;br /&gt;
** Aktuell: Siehe http://www.mikrocontroller.net/topic/356855#3988114&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&lt;br /&gt;
Es empfielt sich dringenst, eigene Bibliotheken &#039;&#039;&#039;NICHT&#039;&#039;&#039; zu den KiCad Bibliotheken im Ordner kicad/share/library bzw. kicad/share/modules für Footprints zu speichern, weil diese dort bei einem Upgrade von KiCad gelöscht würden. Stattdessen sollte man sich einen KiCad Ordner im eigenen home bzw. Benutzerverzeichnis (oder sonstwo, wo es opportun ist, und man Schreibrechte hat) anlegen, mit einem Ort, um eigene Bibliotheken abzulegen. Dies ist ein eher allgemeiner Hinweis, der so nicht nur für KiCad. sondern auch für die meisten CAD-Programme gelten dürfte.&lt;br /&gt;
&lt;br /&gt;
=== Neues Projekt ===&lt;br /&gt;
Ein neues Projekt legt kicad automatisch nach der in kicad/share/template hinterlegten Projektdatei an. Möchte man, das kicad ein neues Projekt von vorneherein nur mit ausgewählten eigenen Bibliotheken anlegt, so ist eine entsprechende Projektdatei unter kicad/share/template/kicad.pro abzulegen.&lt;br /&gt;
Dies erfordert dort Schreibrechte. Linux roots müssen diese Datei anschliessend mit chmod 755 Dateiname für user lesbar machen.&lt;br /&gt;
Bei einem upgrade würde kicad.pro gelöscht. Daher sollte man sich davon eine Sicherheitskopie in seinem benutzerverzeichnis hinterlegen.&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen sichern / wiederherstellen===&lt;br /&gt;
* Wo speichert KiCad die Einstellungen ab und wie lassen sich die originalen Einstellungen wiederherstellen?&lt;br /&gt;
** [[http://kicad.sourceforge.net/wiki/index.php/DE:KiCadHB#Einstellungen_sichern_.2F_wiederherstellen]]&lt;br /&gt;
**Man erstelle ein neues Projekt beliebigen Namens, nehme alle Einstellungen (Bibliotheken, Pfade usw.) vor und speichere diese in der aktuellen Projektdatei &amp;quot;name.pro&amp;quot;. Im Ordner KiCad Verzeichnis ....../kicad/share/template befindet sich eine Datei &amp;quot;kicad.pro&amp;quot;. Diese Datei &amp;quot;kicad.pro&amp;quot; ist die &amp;quot;Musterprojektdatei&amp;quot;, die für alle neuen Projekte verwendet wird. Man benenne sie um in &amp;quot;kicad-orig.pro, und kopiere die aktuelle Projektdatei &amp;quot;name.pro&amp;quot; nun als &amp;quot;kicad.pro&amp;quot; in diesen Template-Ordner. Leider Funktioniert dieses Verfahren nicht in allen KiCad Versionen. Den originalen Zustand stellt man wieder her, indem man &amp;quot;kicad.pro&amp;quot; umbenennt, und &amp;quot;kicad-org.pro&amp;quot; wieder in &amp;quot;kicad.pro&amp;quot; zurückumbenennt.&lt;br /&gt;
&lt;br /&gt;
=== Bitmaps als Symbol oder Footprint importieren ===&lt;br /&gt;
Der Programmteil Bitmap2component wandelt Bitmaps wahlweise in Symbole oder in Footprints um. Auf diese Weise können also auch Logos oder spezielle Muster für HF-anwendungen in KiCad importiert werden, sobald sie als Bitmap vorliegen. Es gibt allerdings auch andere Möglichkeiten, Grafiken zu importieren. Siehe dazu https://www.mikrocontroller.net/topic/428745#new&lt;br /&gt;
&lt;br /&gt;
== Tipps&amp;amp;Tricks / Eigenheiten / Bugs ==&lt;br /&gt;
&lt;br /&gt;
* Nachbearbeitung mit Skript oder Texteditor (Pin Swapping, Versionskontrolle via SVN, Generierung von Packages aus UCF-Listen) &lt;br /&gt;
** http://www.mikrocontroller.net/topic/120373#1100467&lt;br /&gt;
** http://www.mikrocontroller.net/topic/96860#836967&lt;br /&gt;
** http://stawoo.com/dokuwiki/doku.php?id=ecld:kicad:board&lt;br /&gt;
&lt;br /&gt;
* Veraltet! (2006) Schaltplan: Durchnummerieren von GND und PWR erforderlich http://www.mikrocontroller.net/topic/39243#290309&lt;br /&gt;
&lt;br /&gt;
* Zum Verbinden von Schaltplan und Layout müssen an den Bauteilen die Pinnummern mit den Padnummern der Footprints korrespondieren. Das ist &amp;quot;defaultmäßig&amp;quot; nicht immer zu erreichen, weil es unterschiedliche Nummerierungssysteme gibt. Ausser dem Anlegen eines speziellen Footprints kann diese Anpassung für einzelne Bauteile wärend des Layoutens im Moduleditor vorgenommen werden. http://www.mikrocontroller.net/topic/186121#1805890&lt;br /&gt;
* Ich habe einen hierarchischen Schaltplan angefertigt, indem sich eine Schaltung zig mal wiederholt. Eine dieser Subschaltungen habe ich schon geroutet, und möchte dieses Layout genau wie die hierarchischen Schaltpläne mehrfach auf dem Board verwenden.&lt;br /&gt;
** In PCBnew lassen sich mit &amp;quot;Datei&amp;gt;Platine hinzufügen&amp;quot; auch schon geroutete Gruppen von Bauteilen quasi als Modul einfügen, wenn sie zuvor als Board abgelegt wurden. Ebenso kann eine Bauteilgruppe, die in der Form mehrmals vorkommt, und die die schon einmal geroutet worden ist, gruppiert, kopiert und wiederverwended werden. Die dazu nötige Annotation und das Löschen der überzähligen Bauteile muss aber sorgfältig von Hand gemacht werden. &#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; In neueren Versionen von PCBnew ist diese Funktion ausgegraut, wenn PCBnew &amp;quot;normal&amp;quot; aus dem Menue des KiCad Hauptfensters gestartet wurde. Um diese Funktion zu aktivieren, KiCad schliessen und PCBnew wie ein alleinstehendes Program direkt starten.&lt;br /&gt;
** Wer seinen Subschaltplan separat routen möchte, sollte den Subschaltplan explizit in EEschema öffnen und die Netliste nur dieses Subschaltplanes exportieren. Diese Netlist in ein neues Board in PCBnew einlesen und wie üblich routen.&lt;br /&gt;
* Bibliotheken verwalten, umsortieren bzw. neu strukturieren: http://www.mikrocontroller.net/topic/187107#1817559 &lt;br /&gt;
&lt;br /&gt;
* Layout: Rest-Gummiband an Pins http://www.mikrocontroller.net/topic/120373#1092375&lt;br /&gt;
&lt;br /&gt;
* Produktion: http://www.mikrocontroller.net/topic/98034#848965&lt;br /&gt;
&lt;br /&gt;
* Bug in Version 2010-03-14: Unter Einstellungen lässt sich keine einseitige Platine wählen (wichtig für Autorouter). Lösung: Modifikation des .brd Files mit einem Editor [http://www.mikrocontroller.net/topic/172015#1651239]:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;&lt;br /&gt;
:In der *.brd Datei gleich ganz oben...&lt;br /&gt;
:&lt;br /&gt;
:$GENERAL&lt;br /&gt;
:LayerCount 2                 -&amp;gt; auf 1 setzen&lt;br /&gt;
:&lt;br /&gt;
:$SETUP&lt;br /&gt;
:InternalUnit 0.000100 INCH&lt;br /&gt;
:ZoneGridSize 250&lt;br /&gt;
:Layers 2                     -&amp;gt; auf 1 setzen&lt;br /&gt;
:Layer[0] Rückseite power&lt;br /&gt;
:Layer[15] Vorderseite power  -&amp;gt; hab&#039; ich mal beides so gelassen&lt;br /&gt;
:&amp;lt;/pre&amp;gt;                                                                aktueller: http://www.mikrocontroller.net/topic/172015#1794699&lt;br /&gt;
&lt;br /&gt;
* Das Anlegen von Symbolen/Bauteilen in aufgelöster Darstellung ist etwas stolperig. Siehe: http://www.mikrocontroller.net/topic/294095#3136180&lt;br /&gt;
&lt;br /&gt;
* Es empfielt sich, in Kicad vorläufig KEIN Ampersand (Kaufmansund, &amp;quot;&amp;amp;&amp;quot;) im Namen einer Schaltplan- oder Boarddatei zu Verwenden. Es besteht ein Bug beim Export/Plotten nach SVG. Siehe oben unter &amp;quot;Drucken / Export&amp;quot; und dann &amp;quot;Meine erzeugten SVG Plots sind kaputt.&amp;quot;. Siehe auch: http://tech.groups.yahoo.com/group/kicad-users/message/14952&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kühlkörper&#039;&#039;&#039; können als Symbol und Footprint (Modul) angelegt werden. Die Befestigungslöcher können im  Modul als Pad ausgeführt werden. Die Padnummer aller Pads sollte gleich sein (gleicher Anschluss / über Kühlkörper verbunden), z.B. &amp;quot;1&amp;quot;. Entsprechend ein Symbol mit Pin und korrespondierender Pinnummer anlegen. Wenn der Kühlkörper elektrisch nirgendwo verbunden sein soll, dann die Anschlusspinne im Schaltplan als &amp;quot;unused&amp;quot; markieren. Als Referenz in Symbol und Footprint habe ich &amp;quot;HS&amp;quot; (HeatSink) gewählt. Es ist zu überlegen, ob &amp;quot;HS&amp;quot; nicht auch als Padnummer besser wäre.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kartenumrisse/Outlines&#039;&#039;&#039;: Für immer wiederkehrende Platinengrössen, z.B. die beliebte Eurokarte, kann zur Vereinfachung des Zeichnens einmal ein Eurokartenumriss im Layer &amp;quot;outlines&amp;quot; gezeichnet werden, und als Modul abgelegt werden. Um die Zahl der Kollisionen beim Einlesen der Netzliste zu verringern, wird im Schaltplan ein Dummy-Symbol ohne Pinne angelegt. In CVpcb dann dieses Symbol mit dem passenden Kartenumriss Footprint/Modul verbinden, und es wird automatisch in PCBnew eingefügt. Als Referenz in Symbol und Footprint habe ich &amp;quot;Outl&amp;quot; (OUTLine) gewählt.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sprachanpassung&#039;&#039;&#039;: Ich will mein KiCad auf Deutsch / Englisch / Französisch / Finnisch oder sonst eine Sprache umstellen. Wie geht das?&lt;br /&gt;
** Siehe : http://www.mikrocontroller.net/topic/262039#2719056&lt;br /&gt;
**Die deutsche Übersetzung der Texte und Hilfetexte/Tooltips ist manchmal etwas unelegant. Wem so etwas auffält, bitte Mitteilung am Ende dieses Threads: http://www.mikrocontroller.net/topic/255932#2641638 (deutschsprachig) oder an die KiCad user group unter https://groups.yahoo.com/neo/groups/kicad-users/info (englischsprachig, auch bei Fällen wo es um die deutsche Übersetzung geht). Diese Mitteilungen nach Möglichkeit nicht in Launchpad.&lt;br /&gt;
** Ich habe aber keine Möglichkeit, die Sprache umzustellen!&lt;br /&gt;
*** Wenn Debian eine Fehlermeldung &amp;quot;Cannot set locale to &#039;xy_XY&#039;. kommt, ist die entsprechende Umgebung nicht installiert. Unter Debian als root in der Konsole: &amp;quot;dpkg-reconfigure locales&amp;quot; aufrufen. Es öffnet sich eine ncurses-gui, wo die entsprechenden Einstellungen gemacht werden können. Für &amp;quot;Deutsch&amp;quot; wähle ich &amp;quot;de_DE.utf8&amp;quot;.&lt;br /&gt;
*** Wenn nichts passiert, fehlen möglicherweise die localisierungs Dateien. Sie sind NICHT Teil der Sourcen, und finden sich in http://bazaar.launchpad.net/~kicad-developers/kicad/doc/files/head:/internat/. Auf Debian und verwandten Systemen müssen die einzelnen localisationsordner, z. B. &amp;quot;de&amp;quot; nach /usr/local/share/kicad/internat kopiert werden. Dann als root dort Leserechte erteilen mit &amp;quot;chmode -R 755 /usr/local/share/kicad/internat&amp;quot;.&lt;br /&gt;
*** Wenn ein Mischmasch aus Englisch und der gewählten Sprache existiert, sind entweder nicht alle Begriffe übersetzt (siehe oben) oder wegen Umbenennung von Variablen ist eine Inkonsistenz entstanden. Siehe: http://www.mikrocontroller.net/topic/326622#3565178&lt;br /&gt;
** Für die KiCad Localsisation wird &amp;quot;GNU gettext&amp;quot; verwendet. Eine kleine Hilfestellung zur Anpassung der Localisation findet sich hier: http://docs.kicad.org/en/gui_translation_howto.html. Info zu Gnu gettext findet sich hier: http://de.wikipedia.org/wiki/GNU_gettext&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Projektdateien (.pro) Pfadschreibweise&#039;&#039;&#039;: In einer Windowsumgebung ist es anscheinend nötig, relative Pfade speziell zu kennzeichnen. Siehe: http://www.mikrocontroller.net/topic/326869#new&lt;br /&gt;
&lt;br /&gt;
=== Problem: Der Ursprung für die Pick und Place bzw. Drill-Daten wurde verändert und lässt sich nicht zurücksetzten. === &lt;br /&gt;
Siehe: http://www.mikrocontroller.net/topic/363280#new&lt;br /&gt;
&lt;br /&gt;
=== Problem: Case Senitive Symbols ab BZR4646 (Jan./Feb. 2014) in Schaltplänen. (Migration alter Projekte auf neue) ===&lt;br /&gt;
Ab BZR4646 sind die Symbole in Eeschema &amp;quot;Case Sensitive&amp;quot;. Das bedeutet: In alten Schaltplandateien wurden für die Symbolnamen nur Großbuchstaben verwendet, auch wenn die Originalnamen in der Library Kleinbuchstaben enthielten. Ab BZR4646 werden die Symbolnamen in den Schaltplandateien genauso geschrieben wie die Originalnamen in der Library. Leider werden dadurch bei alten Schaltplandateien die großgeschriebenen Symbolnamen nicht mehr in den Bibliotheksdateien erkannt. Auch nicht in den &amp;quot;-cache.lib&amp;quot; Dateien. Ganz so kritisch, wie es sich anhört, ist es wiederum auch nicht, weil KiCad schon seit geraumer Zeit die Schaltpläne in der neuen Version speichert. Jemand, der mit aktuellen KiCad Versionen an aktuellen Schaltplänen arbeitet, wird darum den Übergang vermutlich nicht bemerken. Allerdings tritt das Problem bei alten Schaltplänen auf, die möglicherweise Jahrelang unberührt auf der Festplatte lagen. Um die Symbolnamen in diesen alten Schaltplandateien anzupassen, existiert das Python3 Skript &amp;quot;PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip&amp;quot;. Es ist ein &amp;quot;Stand alone&amp;quot; Python3 skript, das nicht in das KiCad interne Python skripting eingebunden ist. Die Datei kann hier bezogen werden:[[Media:PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip]].&lt;br /&gt;
Autor: Bernd Wiebus, GNU-GPL.&lt;br /&gt;
&lt;br /&gt;
Be einigen Linux Distributionen (z.B. Archlinux) wird neben Python 3 auch noch das Paket &amp;quot;python3-tk&amp;quot; benötigt. Oder eine irgendwie anders genannte Einbindung von Tkinter in Python3. Anmerkung: &amp;quot;Tkinter&amp;quot; für Python3 wird im allgemeinen kleingeschrieben &amp;quot;tkinter&amp;quot; zur Unterscheidung vom großgeschriebenen &amp;quot;Tkinter&amp;quot; für das alte Python(2). &lt;br /&gt;
Sonst gibt es die Fehlermeldung &amp;quot;ImportError: No module named tkinter&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Manueller Start mit: &amp;quot;python3 PyKiCad-CaseSensitiveLibCure_RevD_13Mar2015.py&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dieses Skript kann benutzt werden, um Schaltpläne, die mit der Eeschema Version (2013-11-29 BZR 4513) von Ende 2013, die in Linux Repositorys (z.B. Debian 7 &amp;quot;Wheezy&amp;quot;) noch sehr verbreitet ist, auf aktuelle KiCad Versionen anzupassen.&lt;br /&gt;
&lt;br /&gt;
In RC4 übernimmt ein &amp;quot;Rescue-Helper&amp;quot; diese (und andere) Funktion. Aber auch dieser kann genau wie das Python Skript nur funktionieren, wenn entweder die Originalsymbole (Cache.lib!) oder entsprechend benannte Nachfolger der Bibliotheken existieren, so dass ein auf den Namen passendes Symbol existiert.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Backporting KiCad-Board Dateien (.kicad_pcb) von Version 4 auf Version 3 2014/2015) ===&lt;br /&gt;
&lt;br /&gt;
Möchte man z.B mit einer KiCad/PCBnew Version BZR 4027 vom 22 Juni 2014, welche in vielen Repositorys noch weit verbreitet ist, eine Board-Datei ( .kicad_pcb), die mit einer neueren PCBnew Version erstellt wurde, z.B. einer BZR 5513 vom 14. März 2015 (die aktuell kompiliert wurde), öffnen, so stösst man auf Probleme. Aktuell die BZR 5513 verwendet für die Board Dateien Version 4, und die alte BZR 4027 verwendet dort die Version 3. Obwohl das Schema der Boarddateien fast gleich ist, enthält die Version 4 Elemente, die es zur Zeit der Version 3 noch nicht gab, und die darum zu Fehlermeldungen und zum Abbruch des Einlesens der Datei führen. Diese Neuerungen beziehen sich auf den Export von Gerberfiles mit Attributen sowie Platinenlagen, die es vorher noch nicht gab. Diese Fehler sind dank der einfachen, klarschriftlesbaren Filestruktur von KiCad sehr leicht mit einem Texteditor zu beheben. Eine Beschreibung, wie dieses manuell zu machen ist, finden Sie hier: [[Media:KiCad-PCBnewBoardDateienMigrierenVonVersion4Auf5.pdf]] Achtung Irrtum: Hier sind Version 4 und 5 genannt, dabei sind aber Version 4 und 3 gemeint.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Portieren von älteren KiCad-Board Dateien auf neuere Versionen.  ===&lt;br /&gt;
&lt;br /&gt;
In einigen Fällen funktioniert das Erkennen von selbstvergebenen Layer Namen aus der älteren Version nicht. Abhilfe schafft das manuelle Umbenennen der betroffenen Layer per Editor in den Board Dateien in KiCad-Standard Bezeichnungen und natürlich das konsequente Einpflegen in den Rest der Datei. Eine Vorstellung, wie das zu bewerkstelligen ist, ist ebenfalls aus [[Media:KiCad-PCBnewBoardDateienMigrierenVonVersion4Auf5.pdf]] zu ersehen. Achtung Irrtum: Hier sind Version 4 und 5 genannt, dabei sind aber Version 4 und 3 gemeint. Einen Überblick, welche Layernamen die jeweils aktuelle KiCad Version verwendet, bekommt man indem man sich ein Testboard anlegt, indem ALLE möglichen Layer verwendet werden, dieses abspeichert und sich die Datei mit einem Texteditor ansieht.&lt;br /&gt;
Die Portierung von alten KiCad-board Dateien (Projektname.brd) funktioniert dagegen im Allgemeinen problemlos.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Neue leere Footprintbibliothek kann nicht erstellt werden (kicad Version: 4.0.0~rc1a-stable release build / RC4) ===&lt;br /&gt;
&lt;br /&gt;
Soll eine neue, leere Footprintbibliothek angelegt werden, so funktioniert das nicht mit den angebotenen Tools (z.B. dem Wizzard) weil die automatisch den Typ der Bibliothek ermitteln wollen, was nicht funktioniert, weil die Bibliothek noch leer ist. Auch das manuelle Eintragen des Pfades funktioniert nicht, weil die leere Bibliothek nicht als solche erkannt wird, und wegen dieses Fehlers der Abschluss des Eintrages nicht übernommen wird. Abhilfe schafft dabei das Anlegen eines Ordners &amp;quot;Bibliotheksname.pretty&amp;quot; (Erinnerung: Neue KiCad Footprintbibliotheken bestehen aus einem Ordener &amp;quot;xyz.pretty&amp;quot;, indem die einzelnen Footprints jeder für sich in einer extra Datei &amp;quot;Footprintname.kicad_mod&amp;quot; existieren). Anschliessend kopiert man eine einzige beliebige Footprintdatei &amp;quot;Nameirgendwie.kicad_mod&amp;quot; in diesen Ordner. Somit ist &amp;quot;Bibliotheksname.pretty&amp;quot; eine &amp;quot;echte&amp;quot; Bibliothek, welche als solche problemlos eingebunden werden kann. Enthält die Bibliothek dann irgendwann die gewünschten richtigen Einträge, so kann der Footprint, der zu Anfangs zum Erstellen der Bibliothek hineinkopiert wurde, auch wieder gelöscht werden.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Fehlende Backannotationsmöglichkeit in KiCad ===&lt;br /&gt;
&lt;br /&gt;
Es gibt Leute, die sich in KiCad eine Backannotationsmöglichkeit wünschen (andere warnen davor, sowas zu benutzen, selbst wenn es existiert). KiCad bietet aktuell selber diese Möglichkeit nicht, doch lässt sich aufgrund der offenen Dateistrukturen ein z.b. Python Skript schreiben, welchess die Backannotation durchführt. Als ein Beispiel siehe hier: &amp;lt;ref&amp;gt;https://hasanyavuz.ozderya.net/?p=256&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Problem: Platinenerstellung durch Isolationsfräsen ===&lt;br /&gt;
&lt;br /&gt;
Einer der möglichen Wege ist hier beschrieben: https://www.daedalus.ei.tum.de/index.php/de/3d-druck-cnc/cnc/layout-und-g-code-erstellung-mit-kicad  Allerdings scheint die dort erwähnte Software mittlerweile aus einer anderen ecke zu kommen: http://carbide3d.com/apps/pcb/community.html Es gibt aber noch andere Wege, zb. über: http://flatcam.org/discussion#!/?HPGL Eine Diskussion dazu findet sich hier: https://www.mikrocontroller.net/topic/447442#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Building Blocks ===&lt;br /&gt;
* Eine unfertige Dokumentation, wie man das hierarchische Schaltplansystem von KiCad verwendet, um daraus schnell und rationell Schaltpläne mit vorgefertigten Schaltplänen (Building Blocks) nach dem Baukastensystem aufzubauen. Enthält auch ein Beispielprojekt. Beachte die Liesmich.txt Datei. [[Media:BuildingBlocksKiCad-EXPERIMENTELL.zip]] Das File  KiCad-HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf, enthält eine vorläufige Beschreibung dazu. KiCad-HierarchischeSchaltplaene+buildingBlocksRevA-EN.pdf is an English description how to use hirarchical schematics as building blocks for a fast and rationel schematic design. Es fehlt noch die Übersetzung und die Bebilderung und ein paar Berichtigungen und Ergänzungen. ;-) . Das echte Hauptbeispielprojekt ist UnderVoltageDetector24V-2Group_Experimental.pro bzw. UnderVoltageDetector24V-2Group_Experimental.sch. Im Ordner Experimentalprojekt23052010 findet sich ein weiterer Ordner BuildingBlocksExperimental. Dieser enthält die Ausgangsbausteine VoltageRegulatorBuildingBlock.sch mit VoltageRegulatorBuildingBlock-cache.lib und  VoltageDetectorBuildingBlock.sch mit VoltageDetectorBuildingBlock-cache.lib. Die Projektdateien der Buildingblocks .pro sind nur der Vollständigkeit und zur leichteren Bearbeitung zugefügt. Aus VoltageDetectorBuildingBlock.sch und VoltageRegulatorBuildingBlock.sch wurde (nach umkopieren, umbenenen und kleiner Änderung) im übergeordneten Ordner das Projekt VoltageRegulatorBuildingBlock.pro unter verwendung des &amp;quot;Zwischenbuildingblocks&amp;quot; UnderVoltageDetectorBuildingBlock.sch zusammengesetzt. NICHT VERGESSEN DIE CACHE.LIB EINZUBINDEN! Sonst gibt es nur Fragezeichen statt Bauteile. Das Beispielprojekt enthält eine 24V Unterspannungsüberwachung für einen Bleiakku, die zwei 12V Gruppen überwacht. Nicht elegant, aber hoffentlich robust. Autor: Bernd Wiebus , GNU-GPL. Der dazubezügliche Beitrag im Forum ist: http://www.mikrocontroller.net/topic/178683#1724114&lt;br /&gt;
*[[Media:HierarchischeSchaltplaeneAlsBausteineInKicad_RevC_23Dec2013.pdf]] VERBESSERTE und AKTUALISIERTE Version von KiCad-HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf aus obiger Zip-Datei. Beschreibt, wie mit Hilfe der hierarchischen Schaltplanstruktur aus einzelnen, vorgefertigten Schaltplänen schnell und rationell neue Schaltpläne modular zusammengesetzt werden können. There is also a English translation of this tutorial about using hierarchical schematics as building blocks. You can get it here: [[Media:HierarchicalSchematicsAsBuildingblocksAtKiCad_RevC-EN_06May2015.pdf]]&lt;br /&gt;
* Eine Sammlung von gängigen Schaltungen mit den Längstreglern LM317 /LM78xx /LM79xx und dem Timer 555, die nach dem in obig erwänten Dokument KiCad_HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf beschriebenen Vorgehen als Building Blocks in KiCad verwendet werden können, findet sich unter: http://www.mikrocontroller.net/articles/KiCad#Building-Blocks&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Shortcuts/Hotkeys ===&lt;br /&gt;
&lt;br /&gt;
KiCad besitzt eine ganze Anzahl von Shortcuts/Hotkeys. Diese lassen sich editieren, abspeichern und importieren.&lt;br /&gt;
Dieses erfolgt in EEschema, dem Symboleditor und in PCBnew in der oberen Menueleiste unter &amp;quot;Einstellungen&amp;quot; &amp;gt; &amp;quot;Tastaturbefehle&amp;quot; (&amp;quot;Preferences&amp;quot; &amp;gt; &amp;quot;Hotkeys&amp;quot;). Dort finden sich weitere Menuepunkte, um eine Liste der verfügbaren Hotkeys anzuzeigen, die Hotkeys zu editieren oder um sie zu exportieren oder importieren.&lt;br /&gt;
&lt;br /&gt;
Eine &#039;&#039;&#039;Liste&#039;&#039;&#039; der aktuell verfügbaren Hotkeys erhält man mit &amp;quot;?&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Es gibt eine Reihe von Hotkeys, die in EEschema, dem Symboleditor und PCBnew gleich sind:&lt;br /&gt;
&lt;br /&gt;
*Help (this window)		?&lt;br /&gt;
*Zoom In			        F1&lt;br /&gt;
*Zoom Out			F2&lt;br /&gt;
*Zoom Redraw			F3&lt;br /&gt;
*Zoom Center			F4&lt;br /&gt;
*Fit on Screen			Home&lt;br /&gt;
*Reset Local Coordinates	Space&lt;br /&gt;
*Edit Item			E&lt;br /&gt;
*Delete Item			Del&lt;br /&gt;
*Rotate Item			R&lt;br /&gt;
*Drag Item			G&lt;br /&gt;
*Undo				Ctrl+Z&lt;br /&gt;
*Redo				Ctrl+Y&lt;br /&gt;
*Mouse Left Click		Return&lt;br /&gt;
*Mouse Left DClick		End&lt;br /&gt;
&lt;br /&gt;
Die anderen variieren je nachdem, in welcher Umgebung man sich befindet.&lt;br /&gt;
&lt;br /&gt;
Ein wichtiger Hotkey in PCBnew ist &amp;quot;T&amp;quot;. Wird &amp;quot;T&amp;quot; gedrückt, poppt ein Fenster auf, in dem nach dem Referenzbezeichner des Bauteils gefragt wird. Den gibt man ein, drückt &amp;lt;Enter&amp;gt; und der Footprint des Bauteiles hängt am Mauszeiger. Das ist eine wichtige Funktion beim &#039;&#039;&#039;Plazieren der Bauteile&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Eine PDF Datei mit Notizen zu den Shortcuts in KiCad und Listen von Shortcuts findet sich hier: [[Media:KiCad-Shortcuts-Hotkeys_Notizen_BZR4803_28Jun2014.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Lochraster/Lötleisten Platinen Entwurf mit KiCad ===&lt;br /&gt;
&#039;&#039;&#039;Dieses hier beschriebene Verfahren ist KiCad unabhängig und geht grundsätzlich mit jedem Layoutprogramm, das ein Raster anzeigen kann.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Wer viel mit Lochraster Platinen arbeitet, hat gelegentlich auch ein Bedürfnis, diese Tätigkeit mit einem Layoutprogramm zu begleiten. Zum einen um den Platzbedarf besser abschätzen zu können, zum anderen, um dadurch auch eine schnelle und einfache Dokumentation auch für Lochrasterprojekte zu schaffen. Auch dazu kann KiCad verwendet werden.&lt;br /&gt;
* Vorgehensweise: Schaltplan in Eeschema erstellen wie üblich, Netzliste erzeugen, und in CVpcp die Bauteile zuordnen. In PCBnew dann das Raster einblenden und auf 2,54mm (100mil) stellen. Nun geben die Rasterpunkte die Position der Löcher der Lochrasterplatine vor. Nach dem Einlesen der Netzliste bei Lochraster mit Streifenleitungen am besten zweiseitig manuell routen. Auf der Unterseite der Richtung der Streifenleitung in Längstrichtung folgen (z.b. wagerecht). Auf der Oberseite die Brücken dazu quer legen (z.B. senkrecht). Zweipolige Bauteile immer senkrecht oder wagerecht positionieren. &lt;br /&gt;
** Wer eine Platine erstellen möchte, die nur teilweise ein Lochraster aufweist, dem sei diese Diskussion empfohlen: https://www.mikrocontroller.net/topic/369534#new&lt;br /&gt;
* Noch ein Vorschlag für Lochraster bzw. Lötleistenentwürfe in KiCad: http://www.mikrocontroller.net/topic/395181#4547206&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: KiCad und Freeroute ===&lt;br /&gt;
Leider ist die Freeroute Seite abgeschaltet. Grund:http://www.mikrocontroller.net/topic/337014#new Allerdings gibt es eine Möglichkeit, Freeroute selber zu installieren und zu nutzen: https://github.com/nikropht/FreeRouting und http://freerouting.net/index_de.php &lt;br /&gt;
*Freerouting einseitig bzw. für Lochraster verwenden: http://www.mikrocontroller.net/topic/363335#new&lt;br /&gt;
*Fehlermeldungen beim Start von Freeroute: Es ist wichtig, dass der Leiterplattenumriss in der Lage edge.cuts geschlossen ist: https://www.mikrocontroller.net/topic/435039#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: KiCad und Specctra Autorouter ===&lt;br /&gt;
Es treten beim Export der Netzlisten/Designs Fehlermeldungen der Art: &amp;quot;IO_ERROR: Multiple components have identical reference IDs&amp;quot; auf, obwohl offensichtlich keine doppelten Referenzbezeichner vergeben wurden.&lt;br /&gt;
* Die &amp;quot;doppelten Referenzbezeichner&amp;quot; sind doch &amp;quot;irgendwie&amp;quot; versteckt vorhanden. Z.B. dadurch, das Bauteile nicht Referenziert oder Annotiert wurden. Im Zweifel die Files mit einem Texteditor danach durchsuchen, oder die Autoannotation über das Board laufen lassen. Siehe: https://www.mikrocontroller.net/topic/365185#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Platinen von ALLPCB ===&lt;br /&gt;
Hinweise, wie die Design Restrictions von ALLPCB in KiCad umgesetzt werden können, als Beispiel auch für andere Platinenhersteller (entsprechend anpassen)&lt;br /&gt;
* https://www.mikrocontroller.net/topic/443533#new&lt;br /&gt;
&lt;br /&gt;
= Bibliotheken =&lt;br /&gt;
&lt;br /&gt;
== Handhabung von Bibliotheken ==&lt;br /&gt;
&lt;br /&gt;
=== Eeschema ===&lt;br /&gt;
&lt;br /&gt;
* Symbolbibliotheken in Eeschema einbinden.&lt;br /&gt;
** Zur Benutzung müssen Bibliotheken mit Symbolen in das Bibliotheksverzeichnis von Eeschema eingetragen werden. Siehe: https://www.mikrocontroller.net/topic/416835 [[Bild:EeschemaBibliotheksliste.png|300px|thumb|right|Bearbeitung einer KiCad 4 Eeschema Bibliotheksliste]]&lt;br /&gt;
* Cache Bibliothek:&lt;br /&gt;
**  Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Aus diesem Grunde existiert zu jeder Schaltplandatei (Dateiname.sch) eine Cache Bibliothek (Dateiname-cache.lib). Diese enthält alle im Schaltplan verwendeten Symbole, und sollte darum mit dem Schaltplan zusammen übergeben werden. Diese Cache-Bibliothek sollte auch in die Bibliothekstabelle übernommen werden.&lt;br /&gt;
* Fehler mit Case-Senitiven Bibliotheken&lt;br /&gt;
** Ab BZR4646 (Jan./Feb. 2014) behandelt KiCad Symbolnamen &amp;quot;Case Sensitive&amp;quot;. Das führt zu Problemen mit älteren Schaltplänen, wo &amp;quot;Mixed Case&amp;quot; Symbolnamen aus den Bibliotheken automatisch in &amp;quot;Upper Case&amp;quot; Symbolnamen konvertiert wurden. Diese werden jetzt nicht mehr erkannt. Näheres siehe: http://www.mikrocontroller.net/articles/KiCad#Problem:_Case_Senitive_Symbols_ab_BZR4646_.28Jan..2FFeb._2014.29&lt;br /&gt;
&lt;br /&gt;
== Bibliothekssammlungen ==&lt;br /&gt;
&lt;br /&gt;
In diesem Abschnitt sollen unsere Arbeiten an Bibliotheken koordiniert werden. Dabei sollen alle Arbeiten unter der Creative Commons Lizenz stattfinden. Das heisst insbesondere, dass keine Arbeiten mit anderem Copyright unseren Bibliothekspool vergiften sollen z.&amp;amp;nbsp;B. durch unerwünschte Konvertierung von EAGLE-Bibliotheken.  &lt;br /&gt;
&lt;br /&gt;
Unsere Designziele sind:&lt;br /&gt;
* Frei benutzbar (Creative Commons Lizenz) &lt;br /&gt;
* Einheitlich (Richtlinien?)&lt;br /&gt;
** Vorschlag von Marko für Bohrungen und Pads siehe [http://www.mikrocontroller.net/topic/124070#1176177]&lt;br /&gt;
** Die Richtlinien, die die KiCad Librarys selber verwenden: [https://github.com/KiCad/kicad-library/blob/master/KiCad_Library_Convention.txt]&lt;br /&gt;
* Fehlerfrei (Nachkontrolle durch andere User)&lt;br /&gt;
&lt;br /&gt;
=== Wünsche ===&lt;br /&gt;
&lt;br /&gt;
Hier soll eine Strichliste geführt werden, welche neuen Bauteile gesucht sind bzw. welche oder besseren, genaueren Versionen benötigt werden. Bitte gebt an, was bei bestehenden Bauteilen problematisch ist.&lt;br /&gt;
&lt;br /&gt;
Bevor wir Bibliotheken erstellen, sollten auf jeden Fall einige Parameter - insbesondere für die Schaltplansymbole - festgelegt werden: Pinlänge, Pinabstand, Größe der Schriften, Konventionen bzw. Nummerierung (z.B. bei gepolten Bauteilen wie Dioden, Elkos usw.). Sonst entsteht Wildwuchs, weil jeder für sich anderes festlegt.&lt;br /&gt;
&lt;br /&gt;
* Stehende Layouts für 7805 und N-FETs: ||||&lt;br /&gt;
** Passt TO220_VERT ? Natürlich! Nur die Anschlussnumerierung muss ev. passend adaptiert werden. Ist unter &amp;quot;TO-220&amp;quot; in [[Media:KiCAD_Module_Footprints_3D_29Aug2014.zip]] enthalten. In allen Perversionen. Stehend, liegend, rumgedreht von der Rückseite usw....&lt;br /&gt;
* LPC21xx / LPC22xx / LPC23xx |&lt;br /&gt;
* EINE AVR ATmega-Bibliothek, wo ALLE Controller drin sind. ||||||||&lt;br /&gt;
* AVR XMegas |&lt;br /&gt;
* AT90CAN128 / allgemein mehr AVRs (MEGA &amp;amp; TINY) ||||||&lt;br /&gt;
* Wegen der AVRs und ATMEGAs: Bitte hier http://www.kicadlib.org/Fichiers/Kerusey_Karyu_Atmel_Library.html mal schauen, und den Wunsch auf den Typ konkretisieren! Der Atmelzoo ist so verwirrend vielfältig.....&lt;br /&gt;
** Leider ist die dazugehörige Bibliothek defekt.&lt;br /&gt;
** Ist aktualisiert worden und in die aktuelle KiCad Symbol Library eingeflossen: [https://github.com/KiCad/kicad-library/blob/master/library/atmel.lib]&lt;br /&gt;
*** Weitere Aktualisierungen und Erweiterungen: [https://github.com/KiCad/kicad-library/blob/master/library/atmel.dcm]&lt;br /&gt;
* Schaltregler (u.A. LM257x, LM267x, MC33063, L5973D) |||| Der MC33063 hat gleiches Pinning und Gehäuse wie MC34063! Darum kann der in http://www.mikrocontroller.net/wikifiles/8/84/Symbols_ICs-Diskrete_RevD9.lib verwendet werden.&lt;br /&gt;
* Spulen (z.&amp;amp;nbsp;B. diverse Wuerth) ||&lt;br /&gt;
* Drosseln (B82790 für CAN, Würth 744207) ||&lt;br /&gt;
* Transformatoren (allgemein) |&lt;br /&gt;
* Ferrite (7427930 - 32, 742792651, 74279263) |&lt;br /&gt;
** ??? Was genau ist nun Footprint und Referenzmaeßig der Unterschied zwischen Drosseln, Spulen und Ferriten, wenn ich jetzt mal davon ausgehe, das die Teile weder Anzapfung noch mehr als eine Wicklung haben (dann wären es Trafos oder Uebertrager), und die elektrischen Werte in ein Feld eingetragen werden?? Schau mal unten in http://www.mikrocontroller.net/wikifiles/d/da/KiCad_Module_Footprints_3D_16Sep2013.zip. Kleinere SMD-Entstörferrit Module lassen sich uebrigens aus Footprints für SMD-Widerstaenden zaubern, in dem man sie umbenahmt und mit der Referenz &amp;quot;L&amp;quot; versieht. ;-)&lt;br /&gt;
* STM32 Mikrocontroller Bibliothek (sofern möglich alle) ||||&lt;br /&gt;
* Arduinos ||&lt;br /&gt;
** Arduino Due ||&lt;br /&gt;
** Arduino Nano |&lt;br /&gt;
* Teensy |&lt;br /&gt;
** Teensy 3.5/3.6 |&lt;br /&gt;
** Teensy 4.0 |&lt;br /&gt;
&lt;br /&gt;
=== Entwürfe ===&lt;br /&gt;
&lt;br /&gt;
Neue Bibliotheken oder Änderungen sollen zunächst in diesem Abschnitt &lt;br /&gt;
vorgestellt werden. &lt;br /&gt;
&lt;br /&gt;
==== Symbolbibliotheken ====&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/96460#832961 ATmega3250/TQFP100] von Fred S. (Gast)&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/96460#844741 ATMega3290 im 100Pin-Gehäuse] von Fred S. (Gast)&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/132811#1205130 RFM12-Funkmodul] von Dominik C.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/133310#1210137 CAN Controller MCP2515 und Transceiver MCP2551] von Dominik C.&lt;br /&gt;
&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/394700#4540445 STLib für KiCad mit STM32F4x] von Markus W.&lt;br /&gt;
&lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevB-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1. Schaltplan Symbolbibliothek fuer KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind. Von Bernd Wiebus&lt;br /&gt;
&lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevC-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind. Aenderung gegenueber Rev.B: Kleinere Symbole hinzugefügt. Mit Vorsicht geniessen! Von Bernd Wiebus.&lt;br /&gt;
 &lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevD3-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind.  Aenderung gegenueber Rev.C: Kleinere Fehler beseitigt. CLD Symbol hinzugefuegt. Kuehlkoerper Symbol und Dummy-Symbol fuer Boardoutlines hinzugefuegt. Thyristor und Triac Symbol zugefuegt. Copyright Symbole GNU-GPL und CC zugefuegt. Mit Vorsicht geniessen! Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
 &lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevE8.lib]] AKTUELLE Version! Ersetzt die Rev. B, C und die Rev. D sowie Vorgängerversionen E1-E7! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind.  Aenderung gegenueber Rev.D: Kleinere Fehler beseitigt. Ankerpunkte in die Nähe der Symetrieachsen verlegt. Verbinder DIN41612 / EN60603-2 &amp;quot;Eurokartenstecker&amp;quot; hinzugefügt. Große &amp;quot;BIG&amp;quot; Symbole entfernt und in der Datei BIG-SymbolsSimilarEN60617+oldDIN617-RevE.lib ausgelagert. Mit Vorsicht geniessen! Von Rene Belau und Bernd Wiebus.  CC-Zero/Public Domain!  Defektes Symbol &amp;quot;RESISTOR_RevE_Date15jun2010&amp;quot; repariert am 02. Maerz 2011. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
   &lt;br /&gt;
* [[Media:BIG-SymbolsSimilarEN60617+oldDIN617-RevE.lib]] Einige EN60617 oder der DIN 617 ÄHNLICHE Symbole in besonders GROSSER Ausführung. Vermutlich werden Sie diese GROSSEN Symbole eher NICHT benutzen wollen. Mit Vorsicht geniessen! Von Rene Belau und Bernd Wiebus. Unter GNU GPL. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/attachment/74203/obi.lib]] KiCad Symbol für einen ATMEGA644. Von obi&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ICs-Diskrete_RevD10.lib]] KiCad Symbole für einige diskrete ICs. Enthält L200 (Pentawatt Gehäuse), LM2587 (Pentawatt Gehäuse), Längstregler LM317, LM78xx, LM79xx, Timer NE555, NF-Verstärker LM1875 und TDA2003 (Pentawatt Gehäuse), Schaltregler UC38xx (DIP8/SO8 und DIP14/SO14), LM2587, MC34036, LM78S40 und MCP1640, Treiber MIC4422 (DIP8/SO8 und Pentawatt Gehäuse). Allegro Halleffekt Stromwandler Typ ACS754/ACS755/ACS756 und LEM Halleffekt Stromwandler der Serie &amp;quot;HX&amp;quot;. Programierbarer Oszillator Si570/Si571 sowie Quarzoszillator Typ KXO-200. Dazu Transistor Arrays BC847S und BC857S (in einfacher und in aufgelöster Darstellung) und Supressordioden Array SR05. Schieberegister 74HC4094 . Spannungs-/Laderegler uA723/LM723 in 14 und 20 poligem Gehäuse. HF/ZF Verstärker/Mischer/Demodulator TCA440 alias exDDR A244D, FM Frontend TA7358. Spannungsmonitor ICL7665. Autor Bernd Wiebus.  CC-Zero/Public Domain!  Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ICs-Opto_RevB_16Sep2013.lib]] KiCad Symbole für Optokoppler CNY17, IL300. IL388, TLP250, SFH617A-1, SFH617A-2, SFH617A-3, SFH617A-4, KPC357, LTV35x, und PC357. LWL Empfänger Toshiba TORX170 TORX173 TORX193  und TORX194 (Toslink). LWL Sender Toshiba TOTX170 TOTX173 TOTX193  und TOTX194 (Toslink). LWL Empfänger Agilent HFBR-252x und Sender Agilent HFBR-152x Serie (Versatile Link). 7 Segment Anzeigen HDSM531, HDSM533, LTS6760, LTS6780, SBC18-11EGWA. Autor Rene Belau und Bernd Wiebus. CC-Zero / Public domain. Mit VORSICHT geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Transformer-Diskrete_RevA.lib]] KiCad Symbole für einige diskrete Transformatoren. Coilcraft Q4434-B = Rhombus T1311 und Myrra-74040 ETD29. Autor: Bernd Wiebus. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_DCDC-ACDC-Converter_RevC_29Aug2014.lib]] KiCad Symbole für einige DCDC/ACDC-Converter. Enthält CINCON EC5BC12, CINCON EC6C11, TRACO TED-1212, TRACO TED-XXXX Dual Output, TRACO TED-XXXX Single Output, TRACO TEN10-1212, TRACO TEN10-XXXX, TRACO TME-XXXX, TRACO TMH-XXXX Single Output, TRACO TMH-XXXX Dual Output, sowie TRACO ACDC-Converter der TMLM Serie. BOTHHAND CF-Serie und DELTA DPS05U09D. Neu seit 29 August 2014: Floeth DCDC-Converter SD14-XXXX und SD18-XXXX. Autor: Bernd Wiebus. GNU-GPL. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_Socket-DIN41612_RevA.lib]] KiCad Symbole für DIN41612 Stecker und Buchsen (Die bekannten Eurokartenstecker). Autor: Bernd Wiebus. GNU-GPL. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_EN60617_13Mar2013.lib]] KiCad Symbole für die EN60617. Strikter als die Symbole aus SymbolsSimilarEN60617+oldDIN617-Rev~~.lib. Autor: Bernd Wiebus. CC-Zero/Public Domain! Mit Vorsicht geniessen! Hierzu gehört der Katalog: [[Media:Symbols_EN60617_13Mar2013.pdf]] Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_EN60617-10_HF-Radio_DRAFT_12Sep2013.lib]] HF-Blockschaltbild Symbole für KiCad. EXPERIMENTELL! Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain.  Hierzu gehört der Katalog: [[Media:EN60617-10_HF-Radio_SymbolCatalog_DRAFT.pdf]] Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_Microcontroller_Philips-NXP_RevA_06Oct2013.lib]] Symbole der NXP Microcontroller LPC2104, LPC2105 und LPC2106 fuer KiCad.  Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ORringController_RevA_03Aug2015.lib]] Symbole verschiedener ORing-Controller fuer KiCad. Enthält IR5001, ISL4166 (QFN20+TSSOP16) und LM5050/LM5051. Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de.&lt;br /&gt;
&lt;br /&gt;
* [https://forum.kicad.info/t/oktizer-octagonal-pads-and-vias-was-elektuur-style-symbol-library/34611 Klassische Elektor-ähnliche Symbole], angepasst an KiCad 5.1 und 6.0. Lizenz: CC0&lt;br /&gt;
&lt;br /&gt;
==== Modulbibliotheken ====&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD_Module_Footprints_3D_29Aug2014.zip]] Eine Sammlung von KiCad Modulen bzw. Footprints diskreter Bauteile. Neben den obligatorischen Rs, Cs und Ls sind Schrack und Omron Kartenrelais (die Footprints passen auch fuer andere Hersteller), diverse Dioden, Klemmen WAGO 236 (RM 5mm) Serie und WAGO 734 Serie, Sicherungshalter (Schurter und Bulgin) für 5x20 und 6x30, SMD Sicherungen 1206 und Sicherungen/Sicherungshalter TE5/TR5,Flachsicherungen Standard und Mini, Kuehlkoerper und Eurokartenoutlines enthalten. Zusaetzlich TO92, TO220, TO220-5 (Pentawatt) und TO247 Gehaeuse. Ebenso die vermissten PISN und PISR SMD Drosseln. Einige Throughhole C&amp;amp;D Bobin Drosseln, Bourns 3296, Spectrol Type 43 / Econtrim und Piher PT15 Trimmer . Potentiometer Alps RK16 und Spectrol Type 148/149. Transformatoren Coilcraft Q4434-B / Rhombus T1311 sowie ETD29 von Epcos und Myrra sind auch dabei. Eurokartenstecker/-buchsen DIN 41612 Typ B1, B2, C1, C2 und C3. Ebenfalls enthalten: GNU-GPL und Creative Commons  Symbole. Dazu Messpunkte. BNC-Buchse, Quarzoszillator, SMD Widerstände und Kondensatoren.  (0805, 1206, 2512) sowie experimentelle Universalfootprints SMD/Throughole. SMD-Dioden: MELF, Mini-MELF, SMA, SMB und SMC. Halleffekt Stromwandler mit Allegro CB-PFF, CB-PSF und CB-FSS Gehäusen.Dazu Stecker Molex Serie KK, Würth SMD Drosseln und Doppeldrosseln. Neosid Filter und Drosseln. TRACO ACDC-Converter der TMLM Seie und SOT23, SOT143, SOT143R, TSOT-6 / MK06A sowie SC70-6 SMD Footprints für Dioden, Transistoren bzw. Dioden und Transistor Arrays und kleinere ICs. Mini Universal Mate-N-Lock Steckersockel (Tyco/AMP). 2-6 Pin, vertikale und horizontale Typen. Verbesserte Fiducials und Logos. Dazu SMD-Tantalkondensatoren und ETAL NF-Transformatoren. TO50-3 und TO50-4 Gehäuse. 7 Segment Anzeigen. LQFP48/TQFP48 Gehäuse. Hallsonden Stromwandler mit Allegro CB-PFF, CB-PSF und CB-FSS Gehäusen. Halleffekt Stromwandler der Serie &amp;quot;HX&amp;quot; von LEM.  Neu in der Version vom 29. August 2014: Floeth DCDC-Converter SD14 und SD18. Fast alles ohne 3D Modelle, aber manchmal mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* Viel Standardkram in 3D: http://smisioto.no-ip.org/elettronica/kicad/kicad-en.htm&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD-Module_Buzzer_Beeper_RevA_25Oct2010.zip]] Einige Footprints von Summern /Buzzern / Beepern für KiCad. Enthaelt Kingstate KCG0601, Pro Signal ABI-009-RC, Pro Signal ABI-010-RC, Pro Signal ABT-410-RC, Star Micronics HMB-06/HMB-12 und Projects Unlimited AI-4228-TWT-R. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD-Module_CommonModeChoke_Wuerth_Type-WE-CMB_RevA_25Oct2010.zip]] Footprints der Gleichtaktdrosseln der Serie Würth WE CMB (through hole) für KiCad. Enthält die Verschieden Bauformen XS, S, M, L, XL und XXL. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:DCDC-ACDC-Converter_RevC_20Jul2012.zip]] Footprints von DCDC/ACDC-Convertern für KiCad. Enthält CINCON EC5BC12, CINCON EC6C11, TRACO TED-1212, TRACO TED-XXXX Dual Output, TRACO TED-XXXX Single Output, TRACO TEN10-1212, TRACO TEN10-XXXX, TRACO TME-XXXX, TRACO TMH-XXXX Single Output, TRACO TMH-XXXX Dual Output, BOTHHAND CF-Serie und DELTA DPS05U09D. Neu seit 20 Juli: TRACO ACDC-Converter der TMLM Serie. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Opto-Devices_RevC_03Oct2012.zip]] Footprints von Optoelectronischen Bauteilen für KiCad. Enthält 6 Polige DIL Footprints für CNY17, auch in &amp;quot;wide&amp;quot;, SMD Optokoppler Footprints (1 Kanalig) und Footprints für Toshiba (Toslink) und Agilent (Versatile Link) LWL Ssender und Empfänger. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Pentawatt_RevB_24Oct2012.zip]] Footprints von Pentawatt Gehäusen für KiCad. Enthält verschiedene Ausführungen der TO220-5 Gehäuse in gerade und verkröpft, sowie stehend und liegend. Mit 3D-Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:Transistor_TO-220_RevB_03Sep2012.zip]] Footprints von TO220-3 Gehäusen für KiCad. Enthält verschiedene Ausführungen der TO220 Transistor Gehäuse in  stehend und liegend. Mit 3D-Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! CC-Zero/Public domain! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:Transistor_TO-247_RevC.zip]] Footprints von TO247 Gehäusen für KiCad. Enthält verschiedene Ausführungen der Transistor Gehäuse in  stehend und liegend. Mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! CC-Zero/Public domain! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/topic/176405#new]] KiCad Modul / Footprint für ein TSSOP38 Gehäuse. Autor Raphael Reu.&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/topic/190088#1856759]] Texas Instruments TPIC8101 Klopfsensor Interface (für Verbrennungsmotoren). Autor Peter Diener.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IR-directFET_Packages_RevB.zip]] Footprints von directFET SMD-Transistor Gehäusen von International Rectifier für KiCad. Enthält die SH, SJ, SQ, ST, S1, MN, MP, MT, MX, MZ und die L8-Outline. Nähere Informationen in den Datenblättern betroffener Transistoren und in der International Rectifier Applikationsnotiz AN-1035. &amp;quot;directFET&amp;quot; ist übrigens eine Handelsmarke von International Rectifier und die Gehäuse sind proprietär. Also vorsichtig sein und an &amp;quot;second source&amp;quot; denken. Mit 3D Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter CC-Zero / Public domain. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Neosid-Devices_Coils_Filters_25Apr2012.zip]] Footprints von NEOSID Bauteilen. Spulen, Luftspulen, Filter ec. für KiCad. Through hole und SMD. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT23_SOT143_SOT143R_TSOT6_MK06A_SC70-6_Housing_14Mar2014.zip]] Footprints von SOT23, SOT143, SOT143R, TSOT-6 /MK06A und SC70-6 SMD Gehäusen, wie sie oft für Dioden und Transistoren, aber auch Dioden und Transistor Arrays verwendet werden. Auch ICs findet man in der Bauform. Es sind Standard Footprints und spezielle für Handlötung vorhanden. KiCad Legacy Format und neues .pretty Format. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:MiniUniversalMate-N-LokSockets_13Aug2012.zip]] Footprints von Mini Universal Mate-N-Lok Steckersockeln (Tyco/AMP). 2-6 Pin, verticale und horizontale Typen. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:NF-Transformer_ETAL_RevA_28Aug2012.zip]] Footprints und 3D-Mesh Modelle von NF-Transformatoren der Firma ETAL (http://www.etalgroup.com). SMD und THT Typen. Mit PDF-Ausdruck zur leichteren Identifikation. In der Bibliothek ist auch der bekannte Übertrager ETAL P1200, der von Box73 (http://www.box73.de) vertrieben wird. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de &lt;br /&gt;
&lt;br /&gt;
* [[Media:TantalCapacitors_SMD_RevA_28Aug2012.zip]] Footprints von Tantal Kondensatoren SMD Größe A bis E (EIA-3216, EIA-3528, EIA-6032, EIA-7343 und EIA-7360). Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Ohne Garantie und unter GNU-GPL. Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT89-3_SOT89-5_Housing_RevA_02Sep2012.zip]] Footprints und 3D-Mesh Modelle von SOT89-3 und SOT89-5 SMD Gehäusen. Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT126_SOT32_Housings_RevA_22Oct2012.zip]] Footprints und 3D-Mesh Modelle von SOT126 / SOT32 Gehäusen. Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Allegro_HallSensors_24Oct2012.zip]] Footprints und 3D Modelle von Allegro Hall-Effect Stromsensoren mit PFF, PSF oder PSS Gehäuse (ACS754, ACS755, ACS756).  Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:VML0806_Housing_Rohm_27Oct2012.zip]] Footprints und 3D Modell eines Transistors im 0806 Format (VML0806 / Rohm).  Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:TO-50_Housings_RevA_21Apr2013.zip]]  Footprints/Module von TO50-3 und TO50-4 Transistor Gehäusen.Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:OldSowjetAera_Transistor_RevA.zip]] Footprints/Module von Kleinleistungstransistoren aus der Sowjetära.Mit 3D-Modell und PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:SIP9_Housing_14Jun2013.zip]] Footprints/Module von SIP9 Gehäusen (z.B. TA7358).Mit 3D-Modell und PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:7Segment_16Sep2013.zip]] Footprints/Module von 7-Segment Anzeigen HDSM531 (SMD), HDSM533 (SMD), LTS6760, LTS6780 undSBC18-11EGWA. Dazu PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:BNC-Sockets_RevA.zip]] Footprints/Module von TYCO BNC-Buchsen für KiCad. Mit 3D Modellen und PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:LQFP_TQFP_RevA_06Oct2013.zip]] Footprints/Module von LQDP48/TQFP48 Gehäuseb für KiCad. Ohne 3D Modelle, aber mit PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:LEM_HallEffectTransducers_RevA_13Oct2012.zip]] Module/Footprints von Halleffekt Stromwandlern der Serien &amp;quot;HX&amp;quot; und &amp;quot;HTFS&amp;quot; von LEM. Mit 3D-Modellen  und PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
==== 3D-Modelle ====&lt;br /&gt;
&lt;br /&gt;
* [[Media:MeshModells_VRML-Wings3D_13Oct2013.zip]]  3D-Modelle diverser elektronischer Bauteile im wrl 2.0 und wings Format. Enthalten: DD-PAK (TO263AB), D-PAK (TO252AA), SMD Dioden MELF, MiniMELF, SMA, SMB und SMC, Transformatoren ETAL P1165, P1200, P2781, P3000, P3181, PP3188 und P3191, SO126 / SOT32 in horizontal und vertikal, SOT223-3, TO263-3, SOT89-3, SOT89-5, TO220 horizontal und vertikal und reverse. TO220-5 horizontal, vertical, inline und verkröpft, VML0806. SIP9. 7 Segment SMD Anzeige HDSM531/HDSM533 in Grün, gelb, rot und orange. directFET SMD-Transistor Gehäusen von International Rectifier für KiCad. Enthält die SH, SJ, SQ, ST, S1, MN, MP, MT, MX, MZ und die L8-Outlines. Flachsicherungen Standard und Mini. Halleffekt Stromwandler LEM &amp;quot;HX&amp;quot; Serie und Allegro ACS754/ACS755/ACS756 mit CB-PFF, CB-PSF und CB-FSS Gehäusen. Ohne Garantie und unter CC-Zero / Public Domain Lizenz. Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
==== Building-Blocks ====&lt;br /&gt;
*[[Media:BuildingBlocks_16Jun2013.zip]] enthält eine Sammlung von gängigen Schaltungen mit den Längstreglern LM317 /LM78xx /LM79xx und dem Timer 555, die nach dem in diesem [[Media:HierarchischeSchaltplaeneAlsBausteineInKicad_RevC_23Dec2013.pdf]] Dokument beschriebenen Vorgehen als Building Blocks in KiCad verwendet werden können. Ein Katalog dazu befindet sich hier: [[Media:KatalogUeberKiCadBuildingBlocks_21Apr2013.pdf]]. Autor: Bernd Wiebus, Lizenz: Creative Commons. Experimentell! Ohne Garantie! Mit Vorsicht geniessen!&lt;br /&gt;
&lt;br /&gt;
Wenn mindestens ein weiterer KiCad User die Bibliothek geprüft hat, kann sie in den folgenden Unterabschnitt verschoben werden.&lt;br /&gt;
&lt;br /&gt;
=== Geprüfte ===&lt;br /&gt;
&lt;br /&gt;
Hier sollen geprüfte Bibliotheken gesammelt werden. Bitte angeben, wer die Prüfung gemacht hat.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/132288#new STM32F103xx (LQFP64) Schaltplansymbol] erstellt/geprüft: Dominik C.; Marko S.&lt;br /&gt;
* Bei der STMF103xx fehlt glaub ich der Portpin PD2 :) Grüße :)&lt;br /&gt;
&lt;br /&gt;
=== Sonstige Bibliotheken im Netz ===&lt;br /&gt;
&lt;br /&gt;
Die Einträge hier sind nach [[KiCad-Bibliotheken#Bibliotheken_im_Netz|KiCad-Bibliotheken im Netz]] verschoben worden. &#039;&#039;&#039;Bitte Überarbeitungen und neue Einträge nur dort vornehmen!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bitte diesen Unterpunkt &#039;&#039;&#039;nicht Löschen&#039;&#039;&#039;, da es Verweise aus dem Forum oder von sonstwo geben mag, die sonst ins Leere laufen, ohne eine Erklärung für den User.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Werkzeuge ==&lt;br /&gt;
&lt;br /&gt;
Da die in KiCad verwendeten Dateien klarschriftlesbar sind, lassen sie sich sehr leicht mit externen Programmen und Skripten bearbeiten, um spezielle Funktionalitäten zu erzeugen. Eine kleine Auswahl an Programmen/Skripten ist hier zusammengestellt:&lt;br /&gt;
&lt;br /&gt;
* Zuallererst: Mittlerweile hat sich rund um KiCad eine ganze Reihe von Hilfsprogrammen etabliert. Einige davon können über die offizielle KiCad Site gefunden werden: [http://kicad.org/external-tools/ KiCad-External Tools]. Zurzeit (04Oct2019) sind dort [https://github.com/easyw/kicadStepUpMod/ KiCad StepUp] als Plugin für FreeCAD, [https://github.com/xesscorp/KiCost KiCost] zur Tabellenkalkulationserstellung und Kostenermittlung aus KiCad-Schaltplänen, [https://github.com/thesourcerer8/altium2kicad Altium2KiCad] um aus Altium PCBs und Schaltplänen solche für kiCad zu erstellen, [http://neo900.org/stuff/eeshow/ EEschow] zur Konvertierung von KiCad-Schaltplänen in verschiedene Grafikformate, sowie [[Schaltplaneditoren#Fped|Fped]], mit dem sehr komfortabel Footprints für KiCad erstellt werden können, gelistet.&lt;br /&gt;
* [http://kicad.rohrbacher.net/quicklib.php Quick KICAD Library Component Builder]&lt;br /&gt;
* Gerber-Tools sind für KiCad weniger nötig, da KiCad mit GerbView seinen eigenen Gerberviewer mitbringt. Dieser ist mächtig genug, die eingelesenen Gerberfiles als Platine in PCBnew zu exportieren, wo sie manipuliert werden können. Dieses geht aber nur mit Gerber-RS274X Daten. Ebensowenig können Gerberfiles zu Nutzen zusammengefügt werden. Hierzu bietet sich &amp;quot;Gerbmerge&amp;quot; http://ruggedcircuits.com/gerbmerge (http://claymore.engineer.gvsu.edu/~steriana/Python/gerbmerge/ Veraltet) an. Wer lediglich aus Sicherheitsgründen die von KiCad erzeugten Gerberdaten mit einem fremden Gerber-Vierer inspizieren möchte, findet hier Hinweise:http://www.mikrocontroller.net/articles/Gerber-Tools&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/204063#2011138 KiCad (Multi-)Symbol Tool] von Joghurt3000 zur Erstellung von Symbolen aus einer Textvorlage&lt;br /&gt;
* [http://cyclerecorder.org/footprintbuilder Footprintbuilder] Java-Programm zu Erstellung von Footprints.&lt;br /&gt;
*Wer seine Platine &amp;quot;panelisieren&amp;quot; (d.h. mehrmals nebeneinander anordnen um in einem &amp;quot;Nutzen&amp;quot; gleich mehrere Platinen fertigen zu können) möchte, kann das mit dem Python 2 Skript &amp;quot;panelize.py&amp;quot; tun. Das Programm arbeitet direkt auf den kicad .brd Files, so das das Mehrfachnutzen Board unter PCBnew nachbearbeitet werden kann, für z.B. einen  DRC. &amp;quot;panelize.py&amp;quot; kann hier bezogen werden: http://blog.borg.ch/?p=12&lt;br /&gt;
* &amp;quot;Raef&amp;quot; hat ein Python Script erstellt, das Bauteile automatisch ähnlich der Anordnung im Schaltplan plaziert. Siehe: http://www.mikrocontroller.net/topic/293903#3245990&lt;br /&gt;
*Wer die Reihenfolge der Subschaltpläne ändern will (Wegen Übersichtlichkeit/Bestimmt auch die Reihenfolge beim Ausdrucken), kann dieses Python 3 Skript verwenden (Liesmich/Readme beachten): http://www.mikrocontroller.net/wikifiles/9/90/PyKicadSchematic-ID_Interchanger_RevC.zip Autor: Bernd Wiebus, GNU-GPL. Dieses Skript ist unabhängig von der PCBnew internen Python 2 Schnittstelle.&lt;br /&gt;
* Um ältere Schaltpläne von vor Jan./Feb. 2014 (BZR4646) mit &amp;quot;upper case&amp;quot; Symbolnamen zu konvertieren, kann dieses Python 3 Skript verwendet werden: [[Media:PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip]]. Autor: Bernd Wiebus, GNU-GPL. Dieses Skript ist unabhängig von der PCBnew internen Python 2 Schnittstelle.&lt;br /&gt;
* Wem das Tricksen mit Dateimanager oder Schematic oder Board als Bibliotheksmanager nicht gefällt, findet vieleicht im &amp;quot;KiCad Libarian&amp;quot; ein passendes Tool: http://www.compuphase.com/electronics/kicadlibrarian_en.htm&lt;br /&gt;
* Diverse Skripte, um KiCad Symbole, Footprints oder sonstigen Bibliothekskram zu bearbeiten. [https://github.com/KiCad/kicad-library-utils]&lt;br /&gt;
* Cirillo Bernardo hat einige Programme geschrieben, um VRML 3D Gitter Modelle für Bauteile parametrisch zu erzeugen. Sie finden sich hier: https://github.com/cbernardo/kicad3Dmodels&lt;br /&gt;
* Peter Hofbauer hat einige Windows Programme geschrieben, die zur KiCad Unterstützung dienen: http://www.hcp-hofbauer.de/software.htm Bei den Programmen handelt es sich um &amp;quot;Aufräumprogramme für Bibliotheken, Stücklistenerzeugung, Extraktionsprogramm um eine Verdrahtungsliste aus einer Netzliste zu erzeugen, Ein Programm um Boherdurchmesser zu vereinheitlichen und ein Programm, um zusammen mit &amp;quot;Linegrinder&amp;quot; G-Code aus KiCad Boarddateien zu erzeugen. &lt;br /&gt;
* [http://escalalibre.com/edwt/kicad_sizeConverter.php KiCad Bitmap2Component Skalierer] Erlaubt es, Logos zu skalieren.&lt;br /&gt;
* [http://escalalibre.com/edwt/kicad_modTextChanger.php KiCad Module Text Changer]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/381605?reply_to=4346454#4346280 KiCad Symbol Generator Tool] KiCad Symbol Generator Tool als Python Skript&lt;br /&gt;
* [https://github.com/tlantela/KiCad_layout_cloner/blob/master/layout_cloner.py KiCad Layout Cloner] Python Skript. Siehe http://www.mikrocontroller.net/topic/382657#4363261&lt;br /&gt;
* [https://forum.kicad.info/t/kicad-stepup-the-sketcher-for-getting-to-blinky/7826] StepUp, eine Workbench für FreeCAD (ein open source 3D CAD Program) um den Import und Export von mecanichen CAD Daten von KiCad zu erleichtern.&lt;br /&gt;
* [https://hasanyavuz.ozderya.net/?p=256 Ein Backannotationstool für KiCad] als Pythonskript&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/450655#new Ein Tool, um per Skripting Messpunkte für einen Nadelbettadapter zu erzeugen.] Geht von Gerberdaten aus, die in KiCad importiert werden&lt;br /&gt;
&lt;br /&gt;
== Konverter ==&lt;br /&gt;
&lt;br /&gt;
Konverter wandeln KiCad-Daten in die Daten anderer Layoutprogramme bzw. die Daten anderer Layoutprogramme in KiCad-Daten um.&lt;br /&gt;
Nativ kann KiCad gEDA Footprints bzw. neuere Eagle Footprints direkt als Bibliothek einbinden. Das ganze ist aber als noch sehr experimentell zu betrachten.&lt;br /&gt;
&lt;br /&gt;
Des Weiteren gibt es einige Programme oder Skripte von dritter Seite, die Daten anderer Layoutprogramme in KiCad Daten umwandeln. Auch diese sind als experimentell einzustufen.&lt;br /&gt;
&lt;br /&gt;
Hier eine Auswahl:&lt;br /&gt;
* https://github.com/thesourcerer8/altium2kicad Wandelt Altium Schaltpläne und Layouts in KiCad Daten um.&lt;br /&gt;
* https://github.com/DanChianucci/Eagle2Kicad Wandelt Eagle 6.0 Layouts in KiCad Layouts.&lt;br /&gt;
* https://github.com/lachlanA/eagle-to-kicad Wandelt Eagle 6.0 Layouts in KiCad Layouts.&lt;br /&gt;
* http://www.cadsoft.de/downloads/file/eagle2kicad-0.9c.ulp Direkt von der Cadsoft Seite, ein ULP das Eagle Daten in KiCad Daten wandelt.&lt;br /&gt;
* http://www.cadsoft.de/downloads/file/eagle2kicad_sch.ulp Ebenfalls direkt von der Cadsoft Seite, ein ULP, das Eagle Schaltpläne in KiCad Schaltpläne wandelt.&lt;br /&gt;
* http://sourceforge.net/projects/pcad2kicad/ Wandelt P-CAD Schaltpläne, Layouts und Bibliotheken in KiCad Daten um.&lt;br /&gt;
* Gerber_Settings    [https://www.mikrocontroller.net/attachment/319118/originpoint.png originpoint]     [https://www.mikrocontroller.net/topic/319266?page=5#4891032 Gerber_Settings] [https://www.mikrocontroller.net/attachment/319192/Bohrdatei.png Drill_Files_Generation]&lt;br /&gt;
* https://github.com/mtl/svg2mod Tool, welches SVG in KiCad Board Layers wandelt. Einleitende Informationen finden sich hier: https://www.mikrocontroller.net/topic/440552#5234307&lt;br /&gt;
* https://github.com/thesourcerer8/altium2kicad Altium2KiCad um Altium Projekte in KiCad Schaltpläne und Boards zu konvertieren.&lt;br /&gt;
&lt;br /&gt;
Erfahrungsberichte willkommen!&lt;br /&gt;
&lt;br /&gt;
= Beispielprojekte =&lt;br /&gt;
&lt;br /&gt;
Projekte, die mit KiCad umgesetzt worden sind, finden sich auf der [[KiCad-Projekte|KiCad-Projektseite]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- alt -- &lt;br /&gt;
= Diskussionen (teilweise seeeehr alt) =&lt;br /&gt;
&lt;br /&gt;
* http://www.mikrocontroller.net/topic/120373#1089075 &lt;br /&gt;
* http://www.mikrocontroller.net/topic/98034#848559&lt;br /&gt;
* http://www.mikrocontroller.net/topic/95864#828660&lt;br /&gt;
* http://www.mikrocontroller.net/topic/77738#647041&lt;br /&gt;
* http://www.mikrocontroller.net/topic/103806#907523&lt;br /&gt;
* http://www.mikrocontroller.net/topic/41999#316195&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Weblinks =&lt;br /&gt;
&lt;br /&gt;
* [http://www.kicad.org kicad.org] Die neue Homepage&lt;br /&gt;
* [http://kicad.org/help/documentation/ Offizielle Dokumentation]&lt;br /&gt;
* [https://bugs.launchpad.net/kicad Bugreports] erstellen und nach vorhandenen Fehlern suchen, wenn einem etwas komisch vorkommt.&lt;br /&gt;
&lt;br /&gt;
* Tutorials: &lt;br /&gt;
&amp;lt;!-- alt -- ** [http://kicad.sourceforge.net/wiki/index.php/DE:Mini_tutorial Mini-Tutorial] --&amp;gt;&lt;br /&gt;
** [http://timogruss.de/kicad-loesung-fuer-die-leiterplatten-entwicklung/ KiCad Tutorial auf timogruss.de] (deutsch) (2013)&lt;br /&gt;
** https://www.youtube.com/watch?v=XD_PaSrLKBk Schematic Pages and Hierarchy In KiCad - Hierarchischer Schaltplan (2014)&lt;br /&gt;
** https://www.youtube.com/watch?v=YCdpXwRKbYc Create a library and put your own component in that library. (2014)&lt;br /&gt;
&amp;lt;!-- alt --&lt;br /&gt;
** http://store.curiousinventor.com/guides/kicad&lt;br /&gt;
** https://contextualelectronics.com/course/kicad-tutorial/ (Video Tutorials auf Englisch)&lt;br /&gt;
** http://xtronics.com/reference/kicad.html --&amp;gt;&lt;br /&gt;
** http://bastler-archiv.de/elektronik/platinenherstellung-platinenlayout-mit-kicad-teil-1/ (deutsch, Teil 1) (2011)&lt;br /&gt;
** http://bastler-archiv.de/elektronik/platinenherstellung-platinenlayout-mit-kicad-teil-2/ (deutsch, Teil 2) (2011)&lt;br /&gt;
** http://www.kramann.info/73_COACH3/06_Layouting/Layouting_art_Guido_Kramann_12122010.pdf (2010)&lt;br /&gt;
** [https://rheingoldheavy.com/category/education/kicad/ KiCad Tutorials zum Workflow, Migration alter KiCad Versionen und zu Stücklisten (RheingoldHEAVY, auf englisch)] (2015)&lt;br /&gt;
&amp;lt;!-- alt -- ** [http://roberthall.net/Wings3D_Tutorial_KiCad Tutorial zur Benutzung von Wings3D im KiCad Umfeld (englisch)] --&amp;gt;&lt;br /&gt;
** https://www.youtube.com/watch?v=i4vLxAoLvPk Video Tutorial auf Deutsch. Relativ aktuell.&lt;br /&gt;
&lt;br /&gt;
* Info&lt;br /&gt;
** [https://kicad.mmccoo.com/kicad-scripting-table-of-contents/ Python Scripting for KiCad] und [http://docs.kicad.org/doxygen-python/namespacepcbnew.html Befehlsliste]&lt;br /&gt;
** [https://wiki.aalto.fi/display/MEX/Introduction+to+KiCad] Ein paar Tips am Rande (2014)&lt;br /&gt;
** [http://www.daedalus.ei.tum.de/index.php/de/3d-druck-cnc/cnc/layout-und-g-code-erstellung-mit-kicad] Info für Leute, die Platinen durch Isolationfräsen statt ätzen erstellen&lt;br /&gt;
** [http://davidetienne.me/blog/2015/10/05/kicad-convert-ti-bxl-cad-files-to-kicad-libraries/] Ein Weg, um Libraries, die im Texas Instruments Format &amp;quot;.bxl&amp;quot; vorliegen, in KiCad Bibliotheken zu konvertieren. (2015)&lt;br /&gt;
&lt;br /&gt;
* Usergroups:&lt;br /&gt;
** [https://groups.yahoo.com/neo/groups/kicad-users/info Yahoo-KiCad-User-Group (Englischsprachig)]&lt;br /&gt;
** [https://forum.kicad.info/ Endlischsprachiges KiCad Forum]&lt;br /&gt;
&amp;lt;!-- alt -- ** [http://1.cad-kicad-user.cadtalk.us/ Englischsprachige Diskussionen über KiCad im &amp;quot;Cadtalk&amp;quot;-Forum] Leider nicht mehr existent. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tools&lt;br /&gt;
** [http://www.freerouting.net/ Freerouting] Autorouter (down: Download siehe [https://www.mikrocontroller.net/articles/KiCad#Tipps.26Tricks:_KiCad_und_Freeroute Tipps und Tricks])&lt;br /&gt;
** [http://www.mikrocontroller.net/articles/KiCad#Tools Liste mit externen Programmen und Skripten im Zusammenhang mit KiCad]&lt;br /&gt;
&lt;br /&gt;
* Verschiedenes im Zusammenhang mit KiCad&lt;br /&gt;
** [https://github.com/KiCad/kicad-library/wiki/Kicad-Library-Convention Kicad Library Convention / Regeln für offizielle KiCad Bibliotheken (Englisch)]&lt;br /&gt;
** [http://www.compuphase.com/electronics/LibraryFileFormats.pdf Aufbau der unterschiedlichen KiCad Bibliotheks Files (englisch)]&lt;br /&gt;
** [http://www.ohwr.org/projects/cern-kicad/wiki/WorkPackages CERN KiCad development roadmap / Was ist in KiCad Entwicklung geplant? (englisch)]&lt;br /&gt;
** [http://home.web.cern.ch/about/updates/2015/02/kicad-software-gets-cern-treatment Warum das CERN KiCad unterstützt (englisch)]&lt;br /&gt;
** [https://www.youtube.com/watch?v=chejn7dqpfQ Video mit der Leiterbahnlängenanpassen Funktion bzw. der &amp;quot;Differential pair&amp;quot; Funktion in KiCad.]&lt;br /&gt;
** [http://www.youtube.com/watch?v=irqlrVUbjuQ Video mit dem interaktiven Router]&lt;br /&gt;
&lt;br /&gt;
* Plattformen&lt;br /&gt;
&amp;lt;!-- alt -- ** Mac: http://brokentoaster.com/kicad/ --&amp;gt;&lt;br /&gt;
**Ubuntu: [http://www.mikrocontroller.net/topic/257321#2658268 KiCad selber compilieren] (2012)&lt;br /&gt;
** http://wiki.xtronics.com/index.php/Kicad Transtronics site (englisch)&lt;br /&gt;
&lt;br /&gt;
* HowTo von Tom Boyd (englisch)&lt;br /&gt;
** http://kicadhowto.wikidot.com/&lt;br /&gt;
** http://kicadhowto.org/&lt;br /&gt;
&lt;br /&gt;
* [https://hasanyavuz.ozderya.net/?p=256 PCB back annotation in KiCAD with Python]&lt;br /&gt;
&lt;br /&gt;
= Literatur =&lt;br /&gt;
* &#039;&#039;&#039;KiCad wie ein Profi&#039;&#039;&#039;, von Dr. Peter Dalmaris, Elektor-Verlag, 1. Auflage 2019, ISBN 978-3-89576-341-0&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=      =&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:KiCad]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Richtiges_Designen_von_Platinenlayouts&amp;diff=107676</id>
		<title>Richtiges Designen von Platinenlayouts</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Richtiges_Designen_von_Platinenlayouts&amp;diff=107676"/>
		<updated>2025-08-23T09:44:36Z</updated>

		<summary type="html">&lt;p&gt;Falk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Beim Entwerfen von Platinenlayouts sind viele Dinge zu Beachten. &lt;br /&gt;
Dieser Artikel bietet eine Übersicht über &amp;quot;do&#039;s&amp;quot; and &amp;quot;don&#039;ts&amp;quot; des Leiterplattenentwurfs.&lt;br /&gt;
Da es zu jeder Regel meist auch einen Gegenbeweis geben kann, wird das spannend ;-).&lt;br /&gt;
&lt;br /&gt;
Zu den rein elektrischen Anforderungen kommen in den meisten Fällen noch mechanische, chemische sowie betriebswirtschaftliche Anforderungen hinzu. Siehe auch diesen [http://www.mikrocontroller.net/topic/305443#3280240 Forenbeitrag].&lt;br /&gt;
&lt;br /&gt;
== Vorgehen bei der Layouterstellung ==&lt;br /&gt;
&lt;br /&gt;
* Umrisse der Platine festlegen, dabei Bruchkanten eventueller Nutzen beachten&lt;br /&gt;
* Befestigungsbohrungen festlegen, dabei ausreichend Platz für Schraubenköpfe und Werkzeuge freihalten (Sperrflächen verlegen)&lt;br /&gt;
* Steckverbinder platzieren. Dabei den 3D-Zusammenhang mit anderen Platinen im Bezug auf Kabeldrehung und -knickung beachten, ggf. Steckverbinder um 180 Grad drehen, um Sonderkabel zu vermeiden. Steckverbinder auch nicht völlig am Rand platzieren, um Biegeradius von Flachbandkabeln und Zwischenraum zur Gehäusewand zu schaffen. Steckverbinder, welche direkt in einer Frontplatte enden, werden natürlich direkt am Rand platziert. &lt;br /&gt;
* Bauteile platzieren. Dabei zusammengehörige Bauteile bestmöglich nebeneinander platzieren. Die Luftlinien (engl. air wires) möglichst kurz und kreuzungsarm halten. Idealerweise erst die großen und hohen Bauteile festlegen, dabei Einbaumaße und -raum beachten, auch in Bezug auf die Wärmeentwicklung&lt;br /&gt;
* Kerkos so nah wie möglich am IC platzieren, Anschluss vom Kerko zum IC-Pin verlegen.&lt;br /&gt;
* Stromversorgung der ICs verlegen (zum Kerko, nicht zu IC), dabei Abstand zu Kanten und kritischen Signalen /-eingängen beachten. Ebenso [[Leiterbahnabstände | Kriechstrecken]] beachten&lt;br /&gt;
* Kritische Signale wie Takte, Sensoreingänge etc. möglichst ohne Lagenwechsel verlegen, ggf. guard lines verwenden &lt;br /&gt;
* Restliche Signale verlegen&lt;br /&gt;
* Masseflächen füllen&lt;br /&gt;
** Masseflächen können eine Schaltung deutlich verbessern, wenn sie richtig benutzt werden. Sie können aber auch genau das Gegenteil bewirken, wenn sie als automatisches Wundermittel betrachtet werden.&lt;br /&gt;
** Die Masseverbindung aller ICs muss auf ein- oder zweilagigen Platinen zunächst direkt verlegt werden.&lt;br /&gt;
** Erst wenn die Masse komplett verlegt ist, kann man die Massefläche auffüllen. Damit verhindert man, dass vielleicht ein IC nur über eine sehr dünne Verbindung angeschlossen wird, welche man in der Massefläche übersieht. Ebenso verhindert man, dass eine Masseverbindung von einem schnellen IC sehr lang wird und damit die Wirksamkeit der [[Kondensator#Entkoppelkondensator | Entkoppelkondensatoren]] leidet.&lt;br /&gt;
** Masseflächen sind nur dann wirklich wirksam, wenn sie möglichst durchgängig sind. Wenn sie durch viele Leitungen zerschnitten werden, sinkt ihre Wirksamkeit massiv und sie können sich zu einem [[EMV]]-Problem entwickeln (Abstrahlung von Energie, Streifen- und Schlitzantennen). Bei zweilagigen Platinen ist es aber kaum möglich, dass Masseflächen nicht zerstückelt werden. &lt;br /&gt;
** Bei zweilagigen Platinen kann man versuchen, die Signale möglichst nur auf einer Lage zu führen und bei Bedarf nur ganz kurze Brücken zum Überspringen von Signalen auf der anderen Lage zu verlegen. Damit wird die Massefläche weniger zerstückelt als beim Versuch, die Signale gleichmäßig auf die Ober- und Unterseite zu verteilen. Denn dabei einstehen auf beiden Seiten recht zerstückelte Masseflächen, welche nicht sonderlich wirksam sind.&lt;br /&gt;
** Bei Platinen mit vier oder mehr Lagen wird meist eine Lage für die Masse (GND) verwendet. Hier hat man den Luxus, dass man GND nicht manuell layouten muss, sondern einfach die ICs an die Massefläche anschließt. Aber Vorsicht! Bei Schaltreglern und Leistungsstufen für Motoren und Ähnlichem ist es oft besser bzw. notwendig, auf Masseflächen zu verzichten und statt dessen mit dicken Leitungen bzw. kleineren Polygonen die Ströme sternförmig zu führen.&lt;br /&gt;
** Des Weiteren ergibt sich bei Platinen mit vier oder mehr Lagen die Möglichkeit, auch die Spannungsversorgung (&amp;quot;+ Leitung&amp;quot;) als Fläche auszuführen. Grundsätzlich gelten hierbei die gleichen Empfehlungen wie für die Masseflächen. Diese beiden Stromversorgungslagen sollten in dem Sinne, dass sie einen großen, verteilten Kondensator darstellen, der extrem impedanzarm ist, möglichst dicht zusammen liegen. Bei einem Multilayeraufbau mit vier Lagen wären das z.B. die beiden inneren Lagen. Zusätzlich sollten die beiden Lagen öfters mit keramischen Kondensatoren verbunden werden, mindestens an jedem IC zur Spannungsversorgung.&lt;br /&gt;
* Für die Bestückung und das Bedrucken mit Lotpaste sind Passermarken (engl. Fiducials) nötig. Diese Passermarken werden normalerweise als Kreuze oder besser als runde Pads (z.B 1mm) ausgeführt und von Kupfer freigestellt (2mm, Nicht in die Masseflächen einbeziehen). Die Passermarken werden dann von Lötstop freigegstellt und in der Lotpastenschablone (engl. stencil) mit eingebracht. Auf jede zu bestückende Seite sollten zwei Passermarken diagonal auf den Boards eingebracht werden. &lt;br /&gt;
*Der Bestückungsdruck wird am Ende ausgerichtet. Dazu sollte man nahezu alle Lagen ausblenden und nur die Lagen für Bestückungsdruck, Umrisse und Lötstopmaske anzeigen lassen. Dann richtet man die Beschriftungen so aus, dass sie neben den Bauteilen, aber nicht auf den Flächen der Lötstopmaske liegen, denn dort gehört die Lotpaste und später der Anschluss der Bauteile hin. Bei sehr dicht bestückten Platinen muss man den Bestückungsdruck teilweise oder vollständig weglassen. Dort platziert man die Bauteilbezeichnung direkt auf dem Bauteil. Damit kann man den Bestückungsdruck wenigstens auf Papier drucken und somit indirekt nutzen. Einige Profi-CAD-Programme haben dafür auch getrennte Ebenen (engl. Layer).&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;So grob und einfach wie möglich und so fein wie nötig.&amp;lt;/span&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Produktionsgerechter Entwurf ==&lt;br /&gt;
&lt;br /&gt;
Um Platinen fertigungsgerecht zu layouten (neudeutsch: design for production), ist es sinnvoll, in etwa zu wissen, was in der Leiterplattenfabrik gemacht wird, wie die Daten für die Produktion aufgearbeitet werden müssen, und wo dort Schwachstellen liegen, um diese nach Möglichkeit zu vermeiden, zu verringern oder zu umgehen. Diese Grenzen der Technologie sind &amp;quot;weich&amp;quot;, das heisst, ab einem Grundlevel, ab dem eine fehlerfrei Produktion machbar ist, steigt mit zunehmenden Anforderungen der Ausschuss. Den kauft man zum einen mit d.H. man muss ihn im Rahmen der Kalkulation mitbezahlen, auch wenn er schon in der Fabrik weggegeworfen wird, und er muss mit, im Zweifelsfalle aufwändigen und auch nur begrenzt zuverlässigen Verfahren, aussortiert werden. &lt;br /&gt;
&lt;br /&gt;
== Do&#039;s — Gutes Platinenlayout ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Berechne anhand der Ströme die minimale Breite der Leiterbahnen&#039;&#039;&#039; nach dem Erstellen des Schaltplans. Faustformel: 0,35mm können ohne nennenswerte Erwärmung mit einem Ampere belastet werden. Kritische Leitungen sollten als Vorgabe für den Layouter in der Zeichnung vermerkt werden. Weiteres siehe unter [[Leiterbahnbreite]].&lt;br /&gt;
* &#039;&#039;&#039;Halte die Leiterbahn möglichst kurz.&#039;&#039;&#039; Jeder Leiterzug wirkt wie eine Antenne, welche Störungen aussendet und empfängt, außerdem wird die PCB dadurch unnötig groß.&lt;br /&gt;
* &#039;&#039;&#039;Nutze die freien Flächen zwischen den Leiterzügen und verbinde sie mit einer Masse.&#039;&#039;&#039; So kann man Einstrahlung dämpfen und oft auch die Abstrahlung vermindern. Vermeide aber freie Kupferflächen, die nicht an GND angeschlossen sind. Masseflächen können eine Schaltung deutlich verbessern, wenn sie richtig benutzt werden. Nur der Experte kann beurteilen, ob sie genau das Gegenteil bewirken, wenn sie als automatisches Wundermittel betrachtet werden.&lt;br /&gt;
* &#039;&#039;&#039;Ein Keramikkondenstor für jeden IC:[[Kondensator#Entkoppelkondensator | Blockkondensatoren]].&#039;&#039;&#039; Für jeden VCC-Pin o.ä. ist ein 100nF oder 47nF Keramikkondensator einzusetzen. Der Keramikkondensator stellt bei digitalen ICs die meiste Energie im Schaltmoment des ICs zur Verfügung. Allerdings funktioniert das nur dann im ständigen Betrieb, wenn der KerKo bis zum nächsten Takt aus einer niederohmigen Quelle - z.B. einem Elko - unterstützt wird. Wichtig ist auch, daß die Versorgungsleitung in einem Zug ZUERST zum Kerko, und dann vom Kerko zum IC-Pin geroutet wird (keine &amp;quot;T-Verbindung&amp;quot;), dann wird die meiste Energie des Schaltmomentes aus dem Kerko entnommen. &lt;br /&gt;
* &#039;&#039;&#039;Digitale und analoge Signale getrennt routen und nur in einem Punkt verbinden.&#039;&#039;&#039; Und zwar idealerweise am [[AD-Wandler]], falls dieser vorhanden ist, sonst in der Nähe des Spannungsreglers. Eine Massefläche für analoge und digitale Schaltungsteile sollte durchgängig sein, getrennte Masseflächen sind nur in sehr seltenen Fällen sinnvoll. &lt;br /&gt;
* &#039;&#039;&#039;Nutze die Anschlüsse der bedrahteten(!) Bauelemente für Durchkontaktierungen. Besser und für Dich leichter ist jedoch eine PCB mit DuKos&#039;&#039;&#039;&lt;br /&gt;
* Leitungen immer mittig zwischen Pads von Bauteilen durchführen, damit werden die Abstände maximiert.&lt;br /&gt;
* &#039;&#039;&#039;Nutze Lötstoplack, das erleichtert das löten von z.B. Leiterbahnen zwischen zwei IC-Pins, und macht SMD für viele erst sinnvoll möglich&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Hab keine Angt vor SMD&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Wenn Du eine zweiseitige PCB designst, nutze Durchkontaktierungen. Keine SMD PCB ohne DuKo&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Trenne die Bereiche der Kleinspannung und Netzspannung deutlich voneinander&#039;&#039;&#039; wenn Du wirklich 230V Netzspannung auf der PCB brauchst.  Der notwendige Abstand hängt von der Gefährdung ab, siehe auch [[Leiterbahnabstände]].  Dabei must Du zwingend zwischen Luft- und Kriechstrecken unterscheiden. Eine Kriechstrecke ist die Strecke auf der Oberfläche einer Leiterplatte oder eines Bauteils. Die Luftstrecke ist sozusagen die kürzeste Verbindung zwischen den beiden Potentialen. Die Luft- und Kriechstrecken betragen zwischen 3 und 8 mm. Maximale Spannung z.b. 3kV/cm, bei lackierten Platinen 10kV/cm. &lt;br /&gt;
* &#039;&#039;&#039;Möglichst eine großflächige Ground-Plane für Masseverbindungen.&#039;&#039;&#039;&lt;br /&gt;
* Grundsätzlich gilt immer: &#039;&#039;&#039;So einfach wie möglich, so komplex wie nötig.&#039;&#039;&#039; Das bedeutet, daß man die minimale Leiterbreite bzw. Abstände zwischen Leitungen so groß wie möglich machen sollte, auch wenn der Lieferant deutlich kleinere Strukturen herstellen kann. Das macht ein Layout robust für die Massenproduktion bzw. wenn man am Prototypen rumlöten muss. Eine Platine mit ein paar DIL-ICs und bedrahteten Bauteilen braucht kein 0,2mm dünnen Leiterbahnen, da reichen meist 0,3mm oder sogar noch breitere.&lt;br /&gt;
&lt;br /&gt;
== Dont&#039;s — Schlechtes Platinenlayout ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Analoge und digitale Schaltungsteile direkt ohne Filter aus der gleichen Stromquelle versorgen.&#039;&#039;&#039; Trenne besser direkt nach dem Spannungsregler, jeder Schaltungsteil bekommt einen eigenen Elko und Kerko bevor von dem Punkt aus die Versorgungsspannung zu den Schaltungsteilen geführt wird.&lt;br /&gt;
* &#039;&#039;&#039;Sternförmige Masseführung nicht beachtet:&#039;&#039;&#039; Ströme könnten im Kreis fließen da empfindliche Signale zusammen mit pulsierenden Versorgungsströmen über die gleichen Bahnen geleitet werden.&lt;br /&gt;
* &#039;&#039;&#039;Digitale Signalleitungen in unmittelbarer Nachbarschaft analoger Signale&#039;&#039;&#039;. Besser ist auf Abstand und/oder auf &amp;quot;Guard-Leitungen&amp;quot; d.h. einer breiten Masseleitung zwischen Analog und Digital zu achten.&lt;br /&gt;
* &#039;&#039;&#039;Leiterbahnen mit gepulsten Strömen führen quer über die PCB&#039;&#039;&#039;.  Die ideale Lösung wäre eine separate PCB oder auch die Anordnung der Leistungsschalter am PCB-Rand mit einem eigenen Elko-Puffer DIREKT DANEBEN, sodaß ein kurzer Strompuls NUR aus dem Elko, und nicht aus der ganzen Versorgung gezogen wird. Auf Abstand zu analogen Schaltungeteilen achten und ggf. zusätzlich durch eine breitere GND Leitung trennen.&lt;br /&gt;
* &#039;&#039;&#039;Zu wenig Abstand zwischen Leiterplattenrand bzw. -kanten und Leiterzügen&#039;&#039;&#039; Zu einer geritzten oder gestanzten Leiterplatten-Kante, halte 1mm Abstand. Zu einer gefrästen Leiterplatten-Kante halte 0,5mm Abstand. Das gilt auch für Konturen innerhalb der Leiterplatte.&lt;br /&gt;
* &#039;&#039;&#039;Durchkontaktierungen auf SMD-Pads. (gilt nur für maschinell bestückte Platinen)&#039;&#039;&#039; Beim maschinellen Löten läuft das Lötzinn in die Bohrung ab (u.a. durch Kapillarwirkung) und fehlt auf dem Pad. Die Fehlerhäufigkeit steigt. Bei speziellen Footprints (große Ball Grid Arrays) oder Thermal Vias geht es aber nicht anders als Vias in Pads unterzubringen. In diesem Falle müssen die Vias verschlossen werden (engl. plugged via, tented via). Eine weitere Möglichkeit ist es, einen Überschuss an Lotpaste auf das Pad aufzubringen (dickere Siebdruckschablone) oder die Vias mit Barrieren aus Lötstopplack zu umgeben, aber nicht abzudecken. ==&amp;gt; Wenn Du selber bestückst, kannst Du mit einer DuKo unter dem Pad sehr viel Platz sparen. Wird von Hand gelötet ist normalerweise die Lotmenge mehr als ausreichend ;-) um das Via zu füllen UND ausreichend Lot für eine sichere Lötung bereitzustellen&lt;br /&gt;
* &#039;&#039;&#039;Durchkontaktierungen von beiden Seiten mit Stopplack verschließen.&#039;&#039;&#039; Hierbei können Feuchtigkeit oder gar Ätzrückstände darin zurückbleiben und beim Löten der Stopplack abplatzen oder Korrosion hervorrufen(ggf. Hersteller fragen)&lt;br /&gt;
* &#039;&#039;&#039;Bestückungsdruck auf Lötpads platziert&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;FehlendeTestpunkte, fehlende Befestigungsbohrungen&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Zu wenig Durchkontaktierungen bei hohen Strömen&#039;&#039;&#039; Eine normale PCB mit 35µm Kupferauflage hat eine Kupferstärke von ca. 10 bis 20µm in der Durchkontaktierung (DuKo). Eine 0,3mm Duko sollte also ca. 2A, eine 0.5mm ca 3A und eine 0.8mm Duko ca. 5A Dauerstrom aushalten. Das hängt aber von sehr vielen Faktoren ab und kann nicht so einfach allgemeingültig gesagt werden. Im Zweifelsfall lieber ein paar mehr einsetzen. Viele kleinere Dukos sind im Zweifelsfall besser als wenige große.&lt;br /&gt;
* &#039;&#039;&#039;Entkoppelkondensatoren über unnötig lange Leiterbahnen angebunden&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Keine Massefläche (engl. ground plane).&#039;&#039;&#039; Bei vielen zweilagigen Platinen mit hoher Bauteildichte kann man sich keine Massefläche leisten, spätestens ab 4 Lagen ist diese jedoch praktisch immer verfügbar.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[EMV]]&lt;br /&gt;
* [[Eagle im Hobbybereich]]&lt;br /&gt;
*[http://www.mikrocontroller.net/forum/read-6-178710.html#254235 Forumsbeitrag]: Regeln beim Platinenentwurf&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/93602#804338 Forumsbeitrag]: Vorschlag für Lötpads bei Hobbyeinsteigerplatinen&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/306233#new Forumsbeitrag]: Über spezielle Padformen (Teardrop, Snowman, Oktogon)&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/231263#new Forumsbeitrag]: Suche gutes Buch über Layout-Techniken (Literaturtipps und Links).&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/305443#3286008 Forumsbeitrag]: Tutorials zu Platinenlayout&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/310971#new Forumsbeitrag]: Tipps zum Routen und Entflechten von Platinen.&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/313990#3393319 Forumsbeitrag]: Das Routen von LVDS Signalen.&lt;br /&gt;
*[https://www.mikrocontroller.net/topic/453346?page=1#5455102 Forumsbeitrag]: Freilaufdiode auf Platine platzieren?&lt;br /&gt;
*[https://www.mikrocontroller.net/topic/472850?goto=5817393#5814168 Forumsbeitrag]: Mehrlagige Leiterplatte mit 5V, 3.3V - auch Masse aufteilen?&lt;br /&gt;
*[https://www.mikrocontroller.net/topic/479733#5947482 Forumsbeitrag]: GND-Flutung Ja oder Nein - eine Glaubensfrage?&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.6.4 Layout] im DSE-FAQ&lt;br /&gt;
* [http://www.lothar-miller.de/s9y/categories/14-Entkopplung Entkopplung] von ICs, von Lothar Miller&lt;br /&gt;
* [http://www.analog.com/library/analogDialogue/Anniversary/12.html Grounding (Again)], Ask The Applications Engineer - 12, Fa. Analog Devices, (englisch)&lt;br /&gt;
* [http://www.sparkfun.com/commerce/tutorial_info.php?tutorials_id=115 Designing a Better PCB] von Sparkfun (engl.)&lt;br /&gt;
* [https://web.archive.org/web/20211205211553/http://www.hottconsultants.com/tips.html Tech Tips] von Henry Ott (engl.)&lt;br /&gt;
* [http://www.ultracad.com/articles/90deg.pdf Messung] von verschiedenen Winkeln von Leiterbahnen mit 17ps TDR, keinerlei Unterschiede!&lt;br /&gt;
* [http://docs.toradex.com/101123-apalis-arm-carrier-board-design-guide.pdf toradex.com]: Tipps zum erstellen von High Speed Platinen.&lt;br /&gt;
* [http://irtfweb.ifa.hawaii.edu/~ao/Electronic/Peter_dump/Electronics/System/Text/PCBCADGuidelines.pdf PCB CAD Design Guidelines - Spirent Communication]&lt;br /&gt;
* [http://www.jps-pcb.com/upfile/2016/12/20161201145636_150.pdf RF Design Guidelines: PCB Layout and Circuit Optimization, Semtech, Application Note AN1200.04]&lt;br /&gt;
* [http://www.ti.com/lit/an/slva680/slva680.pdf ESD-Protection Layout Guide, Yater/Texas Instruments, Application Report SLVA680]&lt;br /&gt;
* [https://www.alciom.com/wp-content/uploads/2018/04/rl1130-007-pcb-routing-best-practises-1a.pdf High speed and RF PCB routing - Best practises and recommandations, Alicom]&lt;br /&gt;
* [https://www.jlab.org/eng/eecad/pdf/032pulliam.pdf Hand Routing, Slides, Pulliam/AMD]&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/user_guides/ug1099-bga-device-design-rules.pdf Recommendet Design Rules And Strategies For BGA Devices, Xilinx, Application Report UG1099]&lt;br /&gt;
* [http://www.ti.com/lit/an/szza009/szza009.pdf PCB-Design Guidelines For Reduced EMI, Texas Instruments , Application Report SZZA009]&lt;br /&gt;
* [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.48.6267&amp;amp;rep=rep1&amp;amp;type=pdf Pin Assignment And Routing On A Single Layer PinGrid Array, Yu/Dei]&lt;br /&gt;
* &amp;lt;strike&amp;gt;[http://www.ilfa.de/design-optimierung.html Optimierung von Layouts]&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;[http://www.ilfa.de/designrichtlinien Weitere Dokumente zum Thema professionelle Platinenherstellung]&amp;lt;/strike&amp;gt;&lt;br /&gt;
&amp;lt;!-- * http://edaboard.com --&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;[http://www.ilfa.de/absorptivesstromversorgungssysteminleiterplatten.html ILFA], Dämpfung von Resonanzen der Versorgungslagen durch Carbondruck&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Platinen]]&lt;br /&gt;
[[Kategorie:Schaltplaneditoren]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=KiCad&amp;diff=107662</id>
		<title>KiCad</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=KiCad&amp;diff=107662"/>
		<updated>2025-08-20T18:08:27Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Drucken */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Wegen eines Umbaus dieser Seite bitte unter Diskussion lesen!&#039;&#039;&#039; [[Diskussion:KiCad#Seitenumbau]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KiCad&#039;&#039;&#039; ist ein Open Source [[Schaltplaneditoren|Schaltplaneditor]] und PCB Layoutprogramm für Windows, Linux, Mac OSX. &lt;br /&gt;
Diese Seite ist zunächst eine Zusammenfassung aus den KiCad Beiträgen im Forum. Und gleich zu Anfang ein grosses DANKE an alle KiCad-User aus dem Forum. Ihr seid zu viele, um jeden einzeln zu nennen. Aber wer sich diese Seite durchliest und den Links folgt, wird euch kennenlernen.  &lt;br /&gt;
&lt;br /&gt;
Hier sollen alte und neue KiCad-Anwender einen Anlaufpunkt finden und neue, insbesondere µC-relevante Aktivitäten stattfinden. &lt;br /&gt;
&lt;br /&gt;
Diese Seite will keine Konkurrenz zum offiziellen KiCad Wiki sein, d.h. was dort steht soll hier nicht wiederholt werden und was hier steht wird hoffentlich zum offiziellen KiCad Wiki wandern.&lt;br /&gt;
&lt;br /&gt;
Die Bedienung von KiCad setzt Hintergrundwissen über die Vorgänge voraus. Die Bedienungsweise entspricht eher einem alten Orcad, Altium oder auch BAE und weniger der von Eagle. Daher ist es Neulingen dringend angeraten, sich vorher die Handbücher und Tutorials gut durch zu sehen. Zur Einarbeitung benötigt man schon etwas Geduld.&lt;br /&gt;
Wer offizielle Releases verwendet, wird oft Bugs feststellen, die aber in den Testing Versionen im allgemeinen beseitigt sind.&lt;br /&gt;
Wenn ihr Kritik oder Fragen zu KiCad habt, dann nutzt das Forum! Sobald KiCad im Betreff steht, wird der Beitrag gelesen und nach Möglichkeit beantwortet. Auch Ideen zu dieser Seite sind sehr willkommen! &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suchen und Finden&#039;&#039;&#039; Da diese Seite hier etwas umfangreich geworden ist, empfehle ich eine Textsuche. Jeder Internetbrowser, der etwas auf sich hält, hat auch eine Suchfunktion, mit der der Text der Seite durchsucht werden kann. Bei Firefox/Iceweasel oben im Pull-down Menue unter &amp;quot;Bearbeiten&amp;quot; &amp;gt; &amp;quot;suchen&amp;quot; oder per Shortcut &amp;lt;Strg-F&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Link defekt -- Siehe auch die offizielle FAQ: http://kicad.sourceforge.net/wiki/index.php/FAQ --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;!-- alt 2007 -- &lt;br /&gt;
* Warum gefällt dir KiCad?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/70905#584639&lt;br /&gt;
** http://www.mikrocontroller.net/topic/81396#680502&lt;br /&gt;
** http://www.mikrocontroller.net/topic/83311#697917&lt;br /&gt;
** http://www.mikrocontroller.net/topic/42614#321502&lt;br /&gt;
* Warum gefällt dir KiCad nicht?&lt;br /&gt;
** Ich verstehe nicht, was du meinst ;-)&lt;br /&gt;
** http://www.mikrocontroller.net/topic/81396#680502&lt;br /&gt;
** http://www.mikrocontroller.net/topic/83311#697969&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wo gibt es weitere Infos zu KiCad?&lt;br /&gt;
** Offizielle Homepage: http://KiCad.org&lt;br /&gt;
** Die Offizielle Dokumentation: http://KiCad.org/help/&lt;br /&gt;
** Einige allgemeine Notizen zur &#039;&#039;&#039;Installation&#039;&#039;&#039; und zur &#039;&#039;&#039;Arbeitsweise&#039;&#039;&#039; von KiCad finden sich hier: https://docs.google.com/document/d/1M38ByFyqnhwGo8b_jDDyBceyZtEGeaSAuQaP9REzWrU/edit?usp=sharing&lt;br /&gt;
&amp;lt;!-- alt 2008 -- ** http://www.mikrocontroller.net/topic/98034#848661 (Von 2008, also seeeehr überholt) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Welche Leiterplattenfertiger akzeptieren KiCad Layouts?&lt;br /&gt;
** PCB-Pool.de KiCad kann &amp;quot;Extended&amp;quot; Gerber RS-274-X erzeugen. &amp;lt;!-- alt -- Das wird von PCB-Pool akzeptiert. Dabei http://www.pcb-pool.com/download/spezifikation/deu_cmso020_ext_gerber.pdf beachten! Alternativ, wer KiCad (noch) nicht traut, diese RS-274-X in deren (PCB-Pools) Tool GC-Prevue  http://www.mikrocontroller.net/topic/120373#1092375 einlesen und als .GWK exportieren. AKTUELL August 2012: Wenn man bei PCB-Pool bestellt, ist deren GC-Prevue NICHT mehr erforderlich, weil --&amp;gt; PCB-Pool akzeptiert KiCad *.brd Dateien auch direkt. Siehe http://www.pcb-pool.com/ppde/info_dataformat.html&lt;br /&gt;
** http://fischer-leiterplatten.de&lt;br /&gt;
** https://www.oshpark.com/&lt;br /&gt;
&lt;br /&gt;
* Welche Gerberfiles benötigt der Leiterplattenhersteller?&lt;br /&gt;
** Siehe https://www.mikrocontroller.net/topic/399503#new und ergänzend https://www.mikrocontroller.net/articles/Gerber-Tools sowie https://www.mikrocontroller.net/articles/Richtiges_Designen_von_Platinenlayouts#CAM_Input_und_Produktion_.2F_Ber.C3.BCcksichtigung_von_Technologiegrenzen &lt;br /&gt;
&lt;br /&gt;
* Wie kriege ich raus, welche Leiterbahn welchen Netznamen hat, bzw. ich habe den Überblick verloren und weiß nicht mehr, was aus dem Layout nun was im Schaltplan ist?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/316539#3427724 (Funktioniert nur gut, wenn großes Fadenkreuz gewählt ist.)&lt;br /&gt;
** Genauere Informationen, z.B. über die Länge einer Leiterbahn etc.&lt;br /&gt;
*** Dazu in PCBnew den gleichen Button rechts wie für das Hinzufügen von Leiterbahnen aktivieren. Oder besser noch rechts den zweiten Button von oben &amp;quot;Netz hervorheben&amp;quot;. Dann mit der rechten Maustaste die fragliche Leiterbahn anklicken. Unten in der Statusleiste werden die Informationen angezeigt.&lt;br /&gt;
&lt;br /&gt;
* KiCad ohne Maus bedienen. http://www.mikrocontroller.net/topic/267538#new&lt;br /&gt;
* Gibt es Sonderzeichen, die ich für Symbole, Module/Footprints oder Files nicht verwenden sollte?&lt;br /&gt;
** Ja, alles was Sonderzeichen außer &amp;quot;- _ .&amp;quot; (Bindestrich, Tiefstrich, Punkt) und keine Zahl ist. Siehe: http://www.mikrocontroller.net/topic/302664#3249204&lt;br /&gt;
&lt;br /&gt;
* Wie stelle ich in KiCad das Zeitintervall für &amp;quot;automatisch Speichern&amp;quot; ein?&lt;br /&gt;
** Siehe https://www.mikrocontroller.net/topic/459135#5551638&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
* Woher beziehe ich KiCad?&lt;br /&gt;
** Offizielle Seite (alle Betriebssysteme): http://kicad.org/download/       &lt;br /&gt;
*** Aktuelle Version: &#039;&#039;&#039;KiCad 5.1.10&#039;&#039;&#039; veröffentlicht im Mai 2021&lt;br /&gt;
*** Nightly Development Builds auch von der offiziellen Seite&lt;br /&gt;
*** KiCad kann man aus den Sourcen selbst compilieren. Dazu gibt es Skripte zur Unterstützung, die dieses automatisieren, so dass man nicht unbedingt C/C++ Kenntnisse braucht. Die meisten gängigen Linux Distributionen enthalten aber &amp;quot;old stable&amp;quot; KiCad Releases in ihren Repositories.&lt;br /&gt;
&amp;lt;!-- alt -- ** Windows: http://www2.futureware.at/~nickoe/ &lt;br /&gt;
*** Welcher Typ? ...-x86_64.exe oder ...-i686.exe ? Ich brauche x86 32 bit.&lt;br /&gt;
**** Für Windows PC 32 bit die ...-i686.exe, und für Windows PC 64 bit ...-x86_64.exe.&lt;br /&gt;
** Veraltet: http://www71.zippyshare.com/v/28617008/file.html Die Quelle ist hier genannt. https://groups.yahoo.com/neo/groups/kicad-users/conversations/messages/18534 --&amp;gt;&lt;br /&gt;
* Liste der Versionsänderungen auf der KiCad Launchpad Seite via bazaar. Siehe: http://www.mikrocontroller.net/topic/298311#3187885&lt;br /&gt;
* Ich habe KiCad unter Linux installiert, aber wenn ich KiCad starten will, passiert einfach nichts, oder ich erhalte eine Fehlermeldung wie: &amp;quot;Datei nicht gefunden&amp;quot;. Siehe: http://www.mikrocontroller.net/topic/307517#new&lt;br /&gt;
** 1) KiCad und seine zugeordneten Programme sollten im Suchpfad stehen. Es wird für Debian und Ableger empfohlen, KiCad unter usr/local/bin zu installieren. Anmerkung: Das ist die aktuelle Verfahrensweise. Oktober 2013 wurde aber noch folgende Struktur verwendet:&lt;br /&gt;
*** /usr/bin                            - Binaries (executable files).&lt;br /&gt;
*** /usr/share/doc/kicad/               - Various documentation.&lt;br /&gt;
*** /usr/share/doc/kicad/help           - Interactive help.&lt;br /&gt;
*** /usr/share/kicad/demos              - Sample schematics and printed boards.&lt;br /&gt;
*** /usr/share/kicad/internat           - Dictionaries for interface localization.&lt;br /&gt;
*** /usr/share/kicad/library            - Interface localization files.&lt;br /&gt;
*** /usr/share/kicad/modules            - Module libraries for printed boards.&lt;br /&gt;
*** /usr/share/kicad/modules/packages3d - 3D component models (.wrl and .wings format).&lt;br /&gt;
*** Quelle: http://iut-tice.ujf-grenoble.fr/cao/install.txt Hier sind auch Hinweise für Windows user enthalten.&lt;br /&gt;
&lt;br /&gt;
** 2) User sollten dort Lese- und Ausführungsrechte haben. Aber keine Schreibrechte.&lt;br /&gt;
** 3) Wenn ein fertiges Packgage auf einem 64 bit System verwendet wurde, könnte es daran liegen, das es für 32 bit compiliert wurde, und nicht für 64 bit. Es gibt zwei Möglichkeiten:&lt;br /&gt;
*** a) Selbst aus den Sourcen für sein eigenes System compilieren.&lt;br /&gt;
*** b) Die Runtime Libs für 32 Bit könnten fehlen. Nachinstallieren mit sudo apt-get install ia32-libs. Siehe: http://www.mikrocontroller.net/topic/307517#3307638&lt;br /&gt;
* Ich habe das umgekehrte Problem: 32bit system aber 64bit Binarys.&lt;br /&gt;
** Selbst aus den Sourcen neu compilieren.&lt;br /&gt;
&amp;lt;!-- alt -- *Ich will/muss mir KiCad selber compilieren. Wie gehe ich vor?&lt;br /&gt;
** Aktuell nach: http://www.kicad.org/display/DEV/Build+KiCad&lt;br /&gt;
**&lt;br /&gt;
**Veraltet! siehe: http://www.mikrocontroller.net/topic/310766#3351269 Aber Achtung. Diese Anleitung (Oktober 2013) muss nicht aktuell sein. --&amp;gt;&lt;br /&gt;
* Sicherheitseinstellungen von Java sind für PCBnew unter JAVA -&amp;gt; JAVA konfigurieren zu finden.&lt;br /&gt;
&lt;br /&gt;
* Diskussionen zum Thema Installation und compilieren:&lt;br /&gt;
** FEDORA: http://www.mikrocontroller.net/topic/338600#new&lt;br /&gt;
** ARCH Linux: http://www.mikrocontroller.net/topic/339509#new&lt;br /&gt;
* Konfigurationsdateien:&lt;br /&gt;
** Ab BZR5114 (ca. 5. September 2014) hat sich der Ordner für die Files mit den Konfigurationsdaten geändert. Unter Linux sind nun die Konfigurations Dateien in $HOME/.config/kicad (entsprechen der FreeDesktop.org Spezifikation). Um Ihre gegenwärtigen Konfigurierungen zu erhalten, können die KiCAd Konfigurationsfiles aus dem Home-Verzeichnis in den aktuellen Ordner kopiert werden. Es muss allerdings der führende &amp;quot;.&amp;quot; (Punkt) der Datei entfernt werden. Ebenso muss die globale &amp;quot;fp-lib-table&amp;quot; aus dem home-Verzeichnis dorthin kopiert werden. Windows User müssen KiCad leider reconfigurieren. Es gab keinen einfachen Weg um die Registry-Keys in die Konfigurationsdateien zu extrahieren. Die Konfigurationsdateien unter Windows werden genau wie die fp-lib-table im %APPDATA%\kicad Ordner gespeichert. Es ist angeraten, sämtliche Reste der KiCad Installation aus der Registry zu entfernen, wenn nicht KiCad Versionen vor der BZR5114 verwendet werden. Diese Lösung beseitigt die $home Ordner &amp;quot;Verschmutzung&amp;quot; und vermeidet die Benutzung der Windows registry, wie es häufig gewünscht wurde. Für OS X User ergeben sich keine Änderungen. Link auf die Originalnachricht (englisch): https://groups.yahoo.com/neo/groups/kicad-users/conversations/messages/18889 (KiCad-User Group, 05. September 2014, Titel: Configuration file location changes (#18889) Autor: Wayne Stambaugh)&lt;br /&gt;
&lt;br /&gt;
=== Schaltplan ===&lt;br /&gt;
* Wie stellt man die Blattgröße beim Schaltplan ein?&lt;br /&gt;
** In Page Settings die Blattgröße verstellen (z.B. von A4 auf A3) http://www.mikrocontroller.net/topic/33653#974295&lt;br /&gt;
* Wie mache ich eine neue Schaltplan Seite auf?&lt;br /&gt;
** Nur in Form eines neuen hierarchischen Schaltplans. Siehe nächsten Punkt und hier im Forum: https://www.mikrocontroller.net/topic/398489#new&lt;br /&gt;
* Wie kann man den Schaltplan auf mehreren Seiten verteilen (hierarchical sheets)?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/96060&lt;br /&gt;
** http://www.mikrocontroller.net/topic/117873#1060062&lt;br /&gt;
*Wie geht man mit &amp;quot;Power Pins&amp;quot; in hi­e­r­ar­chischen Schaltplänen um?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/207905#new&lt;br /&gt;
* Wie kann man die &amp;quot;hierachical sheets&amp;quot; benutzen, um aus vorgefertigten Subschaltplänen mit immer gleichen Bauteilgruppen rationell Schaltpläne zusammenzustellen (Building Blocks)?&lt;br /&gt;
** http://www.mikrocontroller.net/articles/KiCad#Tipps.26Tricks:_Building_Blocks&lt;br /&gt;
** http://www.mikrocontroller.net/topic/175597#1687653&lt;br /&gt;
** http://www.mikrocontroller.net/topic/178683#1724114&lt;br /&gt;
* Ich habe einen hierarchischen Schaltplan angelegt. Wenn ich ihn ausdrucke, werden die Subschaltpläne in der Reihenfolge ausgedruckt, in der sie oben in der Übersicht stehen. Diese Reihenfolge ist aber in meinem Fall ungünstig. Wie kann ich diese nun ändern?&lt;br /&gt;
** Leider im Programm z.Z. noch nicht. Trotzdem ist es machbar. Entweder von Hand oder mit einem Python Skript. Näheres zu beidem findet sich hier: http://www.mikrocontroller.net/topic/288394#3064087 . Ein Python 3 Skript, das den Umgang mit dem Kicad-Schaltplan erleichtert, findet sich hier: [[Media:PyKicadSchematic-ID_Interchanger_RevC.zip]].&lt;br /&gt;
*Wie geht man mit Bussen um?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/208870#new&lt;br /&gt;
** und speziell bei hierarchischen Schaltplänen: http://www.mikrocontroller.net/topic/209156#new&lt;br /&gt;
* Wie kann man Schaltplanentwurf (KiCad) und Schaltungssimulation (Spice) verbinden?&lt;br /&gt;
** NGspice ist in den Grundzügen mittlerweile in den entwicklungsversionen von KiCad integriert. Aktuell (Nov. 2016) muss man sich aber noch KiCad selber compilieren und dabei auch einen passenden Schalter für den Compiler setzten. Siehe: https://www.mikrocontroller.net/topic/412350#4803960&lt;br /&gt;
** [http://Fuhaweb.hartford.edu/kmhill/suppnotes/KiCadDia/AimSPICE/KiCad_AimSPICE_01.pdf] Imformationen zur Zusammenspiel KiCad &amp;lt;&amp;gt; AimSpice.&lt;br /&gt;
* Ein Tutorial zum Symboleditor für KiCad, mit dem die Symbole für das Schaltplanmodul (EEschema) erzeugt bzw. editiert werden, findet sich hier: [[Media:SymboleFuerKiCad318082009-RevC-DE.pdf]].&lt;br /&gt;
* Zur Erstellung von Schaltplansymbolen in aufgelöster Darstellung (Relais: Kontaktsätze einzeln und getrennt von der Spule; IC: Versorgungsspannung getrennt von den einzelnen Gattern) siehe http://www.mikrocontroller.net/topic/273891#new. Bei Problemen noch mal hier nachlesen: http://www.mikrocontroller.net/topic/294095#3136180. Aktuell: https://www.mikrocontroller.net/topic/449373#new&lt;br /&gt;
* Wie kann man im Schaltplan Symbole zum Verschieben gruppieren?&lt;br /&gt;
** Siehe http://www.mikrocontroller.net/topic/170913#&lt;br /&gt;
* Und wenn es darum geht, eine solche Gruppe in einen anderen Schaltplan oder Subschaltplan zu verschieben?&lt;br /&gt;
** Die Gruppe ins &amp;quot;Clipboard&amp;quot; stecken. Dazu nach dem Markieren der Gruppe rechte Maustaste klicken, und dort &amp;quot;Gruppe speichern&amp;quot; wählen. Nun ist die Gruppe im Clipboard. jetzt in den gewünschten Unterschaltplan gehen und die Gruppe dort mithilfe des Clipboardbuttons (Das Klemmbrett Symbol links neben dem &amp;quot;Undo&amp;quot;-Button) in den Schaltplan einfügen. NICHTS mit der rechten Maustaste versuchen! Siehe auch: http://www.mikrocontroller.net/topic/244836#2499782 Das ganze geht nicht nur mit Subschaltplänen, sondern auch genauso in einen ganz anderen Schaltplan, den man dann halt in Eeschema öffnen muss, hinein. Wenn nach dem Einfügen allerdings nur ein Kästchen mit Fragezeichen erscheint, waren die nötigen Symbolbibliotheken für diese Symbole noch nicht in der Projektdatei eingetragen. Das muss man nun nachholen, indem man unter &amp;quot;Einstellungen&amp;quot; die &amp;quot;Bibliotheken&amp;quot; wählt, und die passenden Bibliotheken einträgt. Wenn man nicht genau weiß, wo diese zu finden sind, kann es sinnvoll sein, die *-cache.lib des Herkunftsschaltplanes einzubinden.&lt;br /&gt;
** Ist es möglich, im Schaltplan gruppierte Bauteile automatisch im Board als Gruppe zu verschieben?&lt;br /&gt;
*** Nein. Siehe https://www.mikrocontroller.net/topic/398996#new&lt;br /&gt;
* Wie wird man den merkwürdigen Rahmen los?&lt;br /&gt;
** 1) Bei neueren KiCad Versionen, ab ca. Mitte 2013 (von mir getestet ab BZR 4513 29 November 2013) kann man sich eine Vorlage ohne Rahmen erstellen. Dazu den pl_editor (der ganz rechte Button im KiCad Hauptfenster) starten, und FAST alles entfernen. Dazu in der linken Spalte nacheinander alles aktivieren, und mit rechts anklicken und dann &amp;quot;entfernen&amp;quot; wählen. Aber Vorsicht, wenn alles Entfernt wird, taucht das Original Layout wieder auf. Workaround war bei mir, eine zusätzliche Alibilinie hinzuzufügen, die von X 0,000 Y 0,000 bis  X 0,001 Y 0,000 reicht. Das ist ein &amp;quot;Fliegenschiss&amp;quot; in der linken oberen Ecke. Jetzt kann alles andere gelöscht werden. Den so geleerten Rahmen unter einem beliebigen Namen mit der Endung .kicad_wks wegspeichern. Im geöffneten Schaltplan kann der dann unter Datei &amp;gt; Seite einrichten ganz unten unter &amp;quot;page layout file description&amp;quot; die entsprechende Datei eingebunden werden. Es bleibt aber dem Anwender offen, ob er den Rahmen komplett entfernt, oder noch Felder mit Textbeschreibungen übernimmt. Für gesteigerten Komfort kann diese Datei dann auch in ein Template eingebunden werden. &lt;br /&gt;
** 2) Beim Ausdrucken Frame deaktivieren.&lt;br /&gt;
** 3) Als SVG exportieren. Dort den Frame deaktivieren.&lt;br /&gt;
** Siehe: http://www.mikrocontroller.net/topic/343509#3791448&lt;br /&gt;
* Wie schalte die Footprint-Namen in Eeschema global ab?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/253564#new&lt;br /&gt;
* Ich habe ein Problem mit dem ERC. Ständig kommt die Fehlermeldung: &amp;quot;Pin ist mit anderen Pins verbunden, wird jedoch von keinem angesteuert&amp;quot;&lt;br /&gt;
** Netze, die nicht angesteuert werden, werden von Kicad misstrauische beäugt. Das &amp;quot;nicht ansteuern&amp;quot; kann aber schnell passieren, weil Kicad u.A. erwartet, das irgendwo ein Spannungsversorgung ist. Wenn diese aber z.B. über eine Sicherung oder einen Pull-up Widerstand gehen, so wird das nicht bemerkt, weil Sicherungen und Widerstände (oder auch Entstördrosseln) &amp;quot;passive&amp;quot; Pins haben. Siehe: http://www.mikrocontroller.net/topic/292988#new und http://www.mikrocontroller.net/topic/298401#new&lt;br /&gt;
* Ich habe ein Problem mit dem ERC. Immer in Verbindung mit GND kommt die Fehlermeldung: &amp;quot;Pin ist mit anderen Pins verbunden, wird jedoch von keinem angesteuert&amp;quot;&lt;br /&gt;
**Siehe: http://www.mikrocontroller.net/topic/284089#new&lt;br /&gt;
* Beim ERC kommt die Fehlermeldung &amp;quot;PIN not connected&amp;quot; an Verbindungen, die per Label angeschlossen sind. Was ist da falsch?&lt;br /&gt;
**Sie sind tatsächlich nicht angeschlossen. Siehe: http://www.mikrocontroller.net/topic/346976#new&lt;br /&gt;
* Wie ist der Zusammenhang zwischen Bauteilen und Netznamen? Wie bekomme ich heraus, an welchem Netz mein Bauteil angeschlossen ist?&lt;br /&gt;
** Eeschema vergibt bzw. aktualisiert erst dann Netznamen, wenn eine Netzliste erzeugt wird. Darauf besteht entweder ein Zugriff über PCBnew, oder aber mit einem Editor. Siehe Beitrag http://www.mikrocontroller.net/topic/316539#new&lt;br /&gt;
* Ich habe einen Schaltplan geöffnet, aber alle oder einige der Symbole zeigen nur Kästen mit Fragezeichen.&lt;br /&gt;
** Es fehlen die passenden Symbolbibliotheken für diese Symbole.&lt;br /&gt;
** Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Diese Fehlen nun. Man braucht die Originalbibliotheken oder aber die Cache-Bibliothek dieses Schaltplans.&lt;br /&gt;
*** Diese müssen in der Liste der Bibliotheken nachgetragen werden. Siehe dazu die Handhabung von Bibliotheken: https://www.mikrocontroller.net/articles/KiCad#Handhabung_von_Bibliotheken&lt;br /&gt;
** Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Diese Fehlen nun. Man braucht nun die Originalbibliotheken oder aber die Cache-Bibliothek dieses Schaltplans. Zu den Cache-Bibliotheken siehe hier: https://www.mikrocontroller.net/articles/KiCad#Handhabung_von_Bibliotheken&lt;br /&gt;
** Ab BZR4646 (Jan./Feb. 2014) behandelt KiCad Symbolnamen &amp;quot;Case Sensitive&amp;quot;. Das führt zu Problemen mit älteren Schaltplänen, wo das anders gehandhabt wurde. Siehe hier: https://www.mikrocontroller.net/articles/KiCad#Handhabung_von_Bibliotheken&lt;br /&gt;
*Wieviele Textfelder für Symbole kann ich anlegen und wie groß dürfen diese sein?&lt;br /&gt;
** Mindestens 35 Felder, die mindestens 256 Zeichen (tatsächlich deutlich mehr) beinhalten können. Aber Zeilenumbrüche gehen nicht. Siehe: http://www.mikrocontroller.net/topic/331201#3658695&lt;br /&gt;
* Ich habe ein Symbol im Symboleditor geändert. Aber irgendwie taucht diese Änderung dann in Eeschema trotzdem nicht auf.&lt;br /&gt;
** Die Reihenfolge der Einträge in der Bibliotheksliste ist wichtig. Bei gleichem Namen wird immer das zuerst gefundene Symbol verwendet. Steht die -cache.lib in der Reihenfolge zu oberst, wird immer zuerst das Bauteil aus der -cache.lib verwendet. Beheben: Die -cache.lib aus der Bibliotheksliste von Eeschema austragen und neu eintragen, so dass sie unten angefügt wird, und zuletzt geladen wird. Alternativ: Bei Änderungen einen neuen Namen für das Symbol vergeben. Z.B. durch das Pflegen eines Revisions- oder Datecode im Symbolnamen. Einfach nur die -cache.lib löschen langt möglicherweise nicht, weil diese u.U. mit alten Daten neu geschrieben wird (wenn z.b. Eeschema dabei nicht geschlossen ist). Siehe: http://www.mikrocontroller.net/topic/331201&lt;br /&gt;
* Wie erstelle ich eine Stückliste (BOM, Bill of Materials)?&lt;br /&gt;
** 1) In PCBnew oben im Pull down Menue Datei &amp;gt; Fertigungsdateien &amp;gt; BOM (Bill of materials) Geht nur, wenn die Netzliste schon importiert wurde.&lt;br /&gt;
** 2) In EEschema unter Werkzeuge &amp;gt; Stückliste erstellen &amp;gt; und dann ein Plugin wählen. Es gibt verschieden Plugins mit verschiedenen Eigenschaften z.B. auch für kumulierende Listen. Die Plugins kann man von hier beziehen: https://github.com/KiCad/kicad-source-mirror/tree/master/eeschema/plugins Achtung, ein kleiner &#039;&#039;&#039;BUG&#039;&#039;&#039; In den Voreinstellungen der Kommandozeile muss in den Optionen &amp;quot;%O&amp;quot; in &amp;quot;%O.csv&amp;quot; umgewandelt werden, sonst hat die erzeugte Datei keinen .csv extender. Grundsätzlich: Hier wird zuerst eine behelfsmäßige Netzliste im .xml Format erstellt. Die Kommandozeile startet dann ein Programm, was widerum ein .xsl Skript (Das Plugin) abarbeitet, und als output eine .csv Datei erzeugt, die in Tabellenkalkulationen importiert werden kann. In die Kommandozeile kann natürlich auch etwas anderes eingetragen werden, so dass man dort z.B. auch Python Skripte verwenden kann.&lt;br /&gt;
** 3) Man kann sich selber ein separates Skript erstellen, welches die .kicad_sch Datei parst, und daraus eine .csv oder anders gestaltete BOM-Datei erstellt, so wie man es braucht. Da man auch ohne Plugins bei drücken von &amp;quot;Erstellen&amp;quot; die oben erwähnte behelfsmäßige Netzliste erhält, kann man diese auch mit externen Skripten bearbeiten. Es gibt Mittelwege zwischen 2) und 3). Für ein Python Skript siehe hier: https://forum.kicad.info/t/kibom-python-bom-generation-tool/3038&lt;br /&gt;
** Info:&lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/402089#new] &amp;quot;KiCad Stückliste&amp;quot; hier im Forum. &lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/376977?goto=new#new] &amp;quot;Kicad Bauteilliste(BOM) erstellen&amp;quot; hier im Forum.&lt;br /&gt;
** Klaus hat ein Plugin geschrieben, dass in html überträgt. Siehe hier den Download und die Bedienungsanleitung: https://www.mikrocontroller.net/topic/402565#new&lt;br /&gt;
* Ich möchte eine Stückliste (BOM, Bill of Materials) mit einer Datenbank, z.B. für Bestellnummern verbinden.&lt;br /&gt;
** Tipps dazu sind z.B. hier zu finden: https://www.mikrocontroller.net/topic/416192#4856645&lt;br /&gt;
&lt;br /&gt;
=== Netlist ===&lt;br /&gt;
* Was genau muss man beim Übergang vom Schaltplan (SCH) zum Layout (BRD) machen?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/33653#898771&lt;br /&gt;
** http://www.mikrocontroller.net/topic/39243#290309&lt;br /&gt;
** http://www.mikrocontroller.net/topic/39243#891530&lt;br /&gt;
* Kann man fertige Netzlisten für Gruppen von Bauteilen einbinden?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/33653#1462871&lt;br /&gt;
* Wie sieht das allgemein mit der Zuordnung Symbol zu Footprint aus?&lt;br /&gt;
** Symbole und Footprints sind zwar von der Idee her erst einmal getrennt, und Footprints werden über CVpcb und Netzliste den Symbolen zugeordnet.&lt;br /&gt;
** Allerdings besteht auch eine Möglichkeit, Symbolen einen bevorzugten Footprint  fest zuzuweisen, der dann automatisch in die Netzliste zum Einlesen in das Board eingetragen wird. Wenn dann der Zuweisungsschritt mit CVbcb in der Netzliste gemacht wird, ist dort schon etwas eingetragen, was man so lassen oder aber ändern kann.&lt;br /&gt;
*** Dazu in EEschema mit der Maus auf ein Symbol gehst und &amp;quot;E&amp;quot; drücken. Alternativ über rechten Mausklick auf Symbol und dann das Kontextmenuest gehen. Wenn man im Symboleditor arbeitet, aus der oberen buttonleiste den Button mit dem &amp;quot;T&amp;quot;-Symbol wählen. Es poppt ein Fenster auf &amp;quot;component properties&amp;quot;. In der Mitte ist eine Tabelle mit unter anderem einem Eintrag &amp;quot;Footprint&amp;quot;. Wenn dann &amp;quot;Footprint&amp;quot; aktiviert wird. kann rechts der Name eines Footprintes eingebenwerden (kompliziert), oder, wesentlich einfacher, darunter gibt es einen Button &amp;quot;browse Footprints&amp;quot;. Wenn der aktiviert wird, öffent sich ein Fenster, in dem sich in den in die Bibliothekslisten eingetragenen Footprintbiblotheken herumwühlen lässt.&lt;br /&gt;
** Desweiteren kann auch eine Kopie des Symbols unter anderem Namen angelegt werden, und dort ein anderer Footprint eingetragen werden, als Variante. Falls das Pinning nicht passt, müssen halt auch noch die Pinne im Symbol passend zum Footprint gemacht werden.&lt;br /&gt;
** Diskussion dazu: https://www.mikrocontroller.net/topic/432920#5112114&lt;br /&gt;
* Kann man Daten für automatische Bestückung erzeugen?&lt;br /&gt;
** Ja. aber nicht in CVpcb für die Symbol &amp;gt; Footprint Zuordnung, sondern im Layout Modul PCBnew.&lt;br /&gt;
* In meiner Netlist fehlen Bauteile, die im Schaltplan vorhanden und angeschlossen sind. Der ERC läuft problemlos durch. Die Annotation auch, aber nach Erstellung der Netlist sind die Symbole plötzlich mit einem vorangestellten &amp;quot;#&amp;quot; im Schaltplan bezeichnet.&lt;br /&gt;
** Vermutlich sind sie versehentlich als &amp;quot;virtuelles&amp;quot; Bauteil gekennzeichnet. Siehe http://www.mikrocontroller.net/topic/268626#new&lt;br /&gt;
* Wie exportiere ich eine Netlist NUR für einen Subschaltplan?&lt;br /&gt;
** Das geht, nachdem dieser Schaltplan explizit in EEschema geöffnet wurde. Siehe: http://www.mikrocontroller.net/topic/330740#new&lt;br /&gt;
* Ich finde CVpcb nicht mehr am gewohnten Platz zwischen all den anderen Startbuttons!&lt;br /&gt;
** CVpcb ist inzwischen aus diesen entfernt worden, und durch Startbuttons für den Symboleditor und den Footprinteditor ersetzt worden. Dafür kann CVpcb jetzt direkt aus Eeschema heraus gestartet werden. Es findet sich jetzt im oberen Pulldown Menue unter &amp;quot;Werkzeuge&amp;quot; und dann &amp;quot;Bauteilfootprints zuweisen&amp;quot; oder in der oberen Buttonleiste als dritter Button von rechts (BZR5175 vom 11 Oktober 2014).&lt;br /&gt;
** Sollte KiCad abstürzen, wenn man versucht, CVpcb zu starten, so kann man CVpcb auch direkt aus einem Terminal oder aus der Eingabeaufforderung heraus starten.  &lt;br /&gt;
** Versuchsweise mal 10 Minuten warten.....bei Problemen mit der Erkennung von Symbolnamen und Footprintnamen (beim öffnen ganz alter Projekte mit alten Dateiformaten) kann es manchmal extrem lange dauern.&lt;br /&gt;
* Was bedeuten die Maßangaben in der Netlist?&lt;br /&gt;
* Wie überträgt man Kicad Schaltpläne in QUCS Schaltpläne für Simulation?&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
* Wie stellt man die Rastergrösse im Layout ein?&lt;br /&gt;
** Mit der Rechten Maustaste in das Board klicken. Es poppt ein Menue auf. Dort Raster wählen..... Geht im Modul-Editor genauso.&lt;br /&gt;
* Wie verteile ich die übereinander geladenen Bauteile?&lt;br /&gt;
**Oben das IC Symbol mit den zwei Pfeilen (Mode footprint) aktivieren und mit der rechten Maustaste auf der Platine im Menü &amp;quot;Global spread and place&amp;quot; anwählen und die gewünschte Art auswählen.&lt;br /&gt;
* Wie werden Pads und Leiterbahnen verbunden?&lt;br /&gt;
**Siehe: http://www.mikrocontroller.net/topic/119755#1081455&lt;br /&gt;
**Aktueller: http://www.mikrocontroller.net/topic/220733#new&lt;br /&gt;
* Ich kann keine Leiterbahnen ziehen!&lt;br /&gt;
** Vermutlich hast Du den automatischen DRC (Design rule check) aktiviert. Deaktiviere ihn halt. In PCBnew im linken Buttonbar der oberste Button (Insekt mit Verbotszeichen). http://www.mikrocontroller.net/topic/306476#new&lt;br /&gt;
* Aber jetzt habe ich beim Ziehen der Leiterbahnen so merkwürdige Ergebnisse!&lt;br /&gt;
** Option &amp;quot;Remove redundant tracks&amp;quot; wählen! Siehe https://www.mikrocontroller.net/topic/381906#new &lt;br /&gt;
* Mir fehlen Airwires/Luftlinien/Gummibänder!&lt;br /&gt;
** Vieleicht die falschen Pins als Typ &amp;quot;Spannungsausgang&amp;quot; definiert? Siehe: http://www.mikrocontroller.net/topic/330817#3620918&lt;br /&gt;
* Ich bekomme immer eine Fehlermeldung vom DRC, das ein Pad nicht angeschlossen ist, aber ich habe es angeschlossen.&lt;br /&gt;
**Siehe: http://www.mikrocontroller.net/topic/204717#2018724&lt;br /&gt;
* Ich will ein Bauteil für geringeren Leiterwiderstand sowohl auf der Unterseite- als auch der Oberseite anschließen. KiCad löscht aber immer den alten Leiterbahnzug, wenn ich den neuen lege. &lt;br /&gt;
** Deaktiviere unter Einstellungen-&amp;gt;Allgemein das &amp;quot;auto-entfernen-von-Leiterbahnen&amp;quot; (einfachste Lösung). &lt;br /&gt;
** Alternativ: Designe dafür Bauteile mit speziellen Pads. http://www.mikrocontroller.net/topic/187606#1823596 (realistischste u. sauberste Lösung, aber etwas umständlich.)&lt;br /&gt;
* Das Löschen der Leiterbahnen Segment für Segment ist sehr umständlich. Geht es besser?&lt;br /&gt;
** Ja. Siehe: https://www.mikrocontroller.net/topic/385768#new &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Bei neueren (RC4 z.B.) Versionen von PCBnew kann unter &amp;quot;View&amp;quot; verschiedene &amp;quot;Canvas&amp;quot; verwendet werden. Jeder dieser &amp;quot;Canvas&amp;quot; verhält sich etwas anders und hat andere Vorzüge.&lt;br /&gt;
** Aktuell (Jan. 2019) mit Auswahlbox. Achtung: Die Auswahlbox hat anderes Verhalten in KiCad 6, je nachdem ob man sie von rechts oder von links aufgezogen hat! Details siehe: https://www.mikrocontroller.net/topic/467735#new&lt;br /&gt;
* Wie kann man ein Bauteil mit Pads und Leiterbahnen bewegen? &lt;br /&gt;
** http://www.mikrocontroller.net/topic/118539#1067219&lt;br /&gt;
* Wie füllt man eine Fläche aus?&lt;br /&gt;
** Siehe: http://www.mikrocontroller.net/topic/93131#854802&lt;br /&gt;
** Etwas aktueller: http://www.mikrocontroller.net/topic/182271#1772119 Zweiter Teil des Posts.&lt;br /&gt;
** Und wie erzeuge ich konzentrisch ineinanderliegende Flächen?&lt;br /&gt;
*** Siehe: http://www.mikrocontroller.net/topic/327475#new&lt;br /&gt;
** Wie ist das Verhalten von KiCad bei Flächen/Polygonen verglichen mit Eagle?&lt;br /&gt;
*** Siehe: https://www.mikrocontroller.net/topic/473604#new&lt;br /&gt;
** Ja, aber meine Fläche wird nicht gefüllt oder es passiert was ganz merkwürdiges.&lt;br /&gt;
***Siehe: http://www.mikrocontroller.net/topic/298692#new &lt;br /&gt;
***Konkreter: Es sollte darauf geachtet werden, das mindestens ein Endpunkt oder ein Via oder ein Knickpunkt der Leiterbahn, die mit der zu füllenden Fläche verbunden sein soll, innerhalb der als zu füllen definierten Fläche liegen. Siehe http://www.mikrocontroller.net/topic/366199#new&lt;br /&gt;
* Die Flächen habe ich jetzt, aber wie sieht das mit &amp;quot;Stitching&amp;quot; aus? Anmerkung: Als &amp;quot;Stitching&amp;quot; (von Engl. &amp;quot;stitch&amp;quot;: Nähen) bezeichnet man das Verbinden mehrerer Flächen oder Leiterbahnen gleichen Potentials mit Durchkontaktierungen durch die Platine hindurch. Üblich z.B. für Masseflächen. Die gleiche Technik kann auch verwendet werden, wenn man für Hochstromverbindungen mehrere Durchkontaktierungen parallel schalten möchte, wobei KiCad beim ziehen des Tracks nur eine  Durchkontaktierung setzt, und die anderen von Hand dazugesetzt werden müssen. &lt;br /&gt;
** Es gibt verschiedene Methoden. Je nach Geschmack. Siehe: http://www.mikrocontroller.net/topic/380550#new und https://www.youtube.com/watch?v=Hp5ngKtl7S4&amp;amp;list=PLJhdeJOBBRdnPgqcUiONoV4NLCo12f-jT&amp;amp;index=5&lt;br /&gt;
* Ich habe eine Platine, die von oben und unten bestückt ist. Wenn ich jetzt Bauteile zusammengruppiere, um sie gemeinsam zu verschieben, erwische ich immer alle Bauteile auf Vorder- und Rückseite. Wie bekomme ich das jetzt hin, das ich nur Module auf einer Seite bewege?&lt;br /&gt;
** Indem im Lagenmanager die Seite, die nicht bewegt werden soll, abgeschaltet wird. Siehe: http://www.mikrocontroller.net/topic/311586#new&lt;br /&gt;
* Wie bekommt man ein vernünftiges Boardoutline hin?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/96060#1057511 &lt;br /&gt;
* Wie erstellt man ein rundes Loch, z.B. eine Befestigungsbohrung / nichtdurchkontaktierte Bohrung?&lt;br /&gt;
** VERALTET: http://www.mikrocontroller.net/topic/179308#1726990&lt;br /&gt;
** VERALTET:http://www.mikrocontroller.net/topic/120373#1122219 ?????&lt;br /&gt;
** KiCad kann mittlerweile auch direkt nichtdurchkontaktierte Bohrungen erzeugen. Siehe dazu http://www.mikrocontroller.net/topic/263069#2732405 Enthält auch allgemeine Informationen zum Umgang mit durchkontaktierten und nicht durchkontaktierten Bohrungen.&lt;br /&gt;
Da Löcher mit einem Durchmesser ab 2mm gefräst statt gebohrt werden können, und ab 6mm Durchmesser mit hoher Sicherheit gefräst werden, ist es sinnvoll, Löcher ab ca. 4mm Durchmesser in PCBnew mit dem Kreistool in das Layer &amp;quot;edge.cuts&amp;quot; zu zeichnen.&lt;br /&gt;
&lt;br /&gt;
* Ich möchte für Passermarken / Fiducials eine deutlich größere Freistellung in der Lötstoppmaske haben. Wie geht das?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/266730#2779498&lt;br /&gt;
* Wie geht das überhaupt mit den Lötstoppmasken?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/283721#new&lt;br /&gt;
* Ja, aber die Lötstoppmaske wird leider nicht angezeigt.&lt;br /&gt;
** http://www.mikrocontroller.net/topic/298028#new&lt;br /&gt;
* Ich möchte Text und Markierungen/Grafik statt im Bestückungsdruck im Lötstopplack erstellen. Geht das überhaupt und wie ist das zu bewerkstelligen?&lt;br /&gt;
** Das geht, und dazu ist der Text oder die grafischen Linien/Kreise direkt in die Lötstoppmaske zu schreiben. Siehe: http://www.mikrocontroller.net/topic/347702#new Die Lötstoppmasken Lagen heissen F.Mask (Bestückungsseite) und B.Mask (Lötseite).&lt;br /&gt;
* Ich möchte Text invers im Bestückungsdruck haben.&lt;br /&gt;
** Das geht. Siehe: http://www.mikrocontroller.net/topic/417961#4888742&lt;br /&gt;
* Wie kann man Bauteilmaße in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
** Anzeige im Layout: Layer &amp;quot;Zeichnung&amp;quot; anwählen. In der rechten Menueleiste &amp;quot;Bemaßung hinzufügen&amp;quot; wählen. Das ist der fünfte Button von unten mit der &amp;quot;blauen Bemaßung&amp;quot;. Jetzt an einer Stelle links ins Layout klicken. Maus verschieben und noch einmal links klicken und die Maus seitlich verschieben. Es wird ein Maßpfeilsystem zwischen erstem und zweitem Mausklick angelegt, dessen höhe man mit der Maus einstellen kann. Ein weiterer linker Mausklick fixiert das System. Das Anklicken der Beschriftung mit der rechten Maustaste erlaubt das Editieren. Das System wird immer in der Einheit angelegt, die in der linken  Menueleiste vorgewählt wurde. Die Rasterung der aktuellen Einstellung wird auch übernommen. Späteres Ändern von Einheit- und Raster ändern die Beschriftung nicht mehr. In 3D und im Footprint geht diese Möglichkeit nicht.&lt;br /&gt;
** Weitere Möglichkeiten: Einen Maßstab als footprint/Modul anfertigen und zum Messen in das Board einfügen.&lt;br /&gt;
** Wenn man im Layout aber direkt etwas ausmessen möchte, so geht das über den relativen Nullpunkt. Unten im Rahmen rechts sind vier Felder. Die beiden linken zeigen die absoluten Koordinaten, an, die beiden rechten die relativen Koordinaten in Bezug auf einen relativen Nullpunkt. Defaultmäßig stimmen absoluter und relativer Nullpunkt ersteinmal überein. Per &amp;quot;Space bar&amp;quot; drücken setzt Du den relativen Nullpunkt an den Ort des Mauszeigers. Wenn Du nun die Maus verfährst, zeigen die relativen Koordinaten nun den vertikalen und horizontalen Abstand zum Nullpunkt. Die Diagonale muss leider über den Pythagoras selber ausgerechnet werden, oder indem man die Polarkoordinateneinstellung wählt (linke Menueleiste). Durch geschicktes setzten des Nullpunktes kann man nun auf der Platine herummessen. Winkel können auch über die Polarkoordinateneinstellung gemessen werden. Im Moduleditor geht das analog. Das 3D-View kann zur Zeit (Januar 2011) überhaupt keine Bemaßung.     &lt;br /&gt;
* Wie kann man mit der KiCad Version 20100314 &#039;&#039;&#039;einseitige&#039;&#039;&#039; Platinen erstellen?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/172015#1651239&lt;br /&gt;
** aktueller: http://www.mikrocontroller.net/topic/172015#1794699&lt;br /&gt;
*Und wie teile ich KiCad mit, daß der Autorouter nur eine Seite verwenden soll?&lt;br /&gt;
** Auf die doofe Tour: Erst in KiCad zweiseitig wählen, und dann beide Lagen im Autorouter als &amp;quot;Unterseite&amp;quot; wählen.&lt;br /&gt;
&lt;br /&gt;
* Wie gehen runde Bögen in KiCad?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/202512#1994063&lt;br /&gt;
* Ich brauche für einen Platinenumriss eine geschlossene Linie. Das klappt aber irgendwie nicht.&lt;br /&gt;
** Die Endpunkte müssen exakt aufeinander liegen. Dazu&lt;br /&gt;
*** A) Passende Raster verwenden&lt;br /&gt;
*** B) parametrisch die Endpunkte direkt als Koordinaten eingeben.&lt;br /&gt;
*** Siehe Diskussion dazu: https://www.mikrocontroller.net/topic/418296#new&lt;br /&gt;
* Wie benutze ich den interaktiven Router (Push &amp;amp; Shove) in PCBnew?&lt;br /&gt;
** Dazu muss in PCBnew im Pulldown-Menue unter &amp;quot;Ansicht&amp;quot; die Option &amp;quot;Canvas nach OpenGL umschalten&amp;quot; oder &amp;quot;Canvas nach Cairo umschalten&amp;quot;gewählt werden. Wenn man nun, wie gewohnt, aus der rechten Button Leiste das Verlegen von Leiterbahnen wählt, eine Leiterbahn/Luftlinie wählt und rechts anklickt, erhält man den interaktiven Router. Aber Achtung - wegen des geänderten Kontextmenues kann es sinnvoll sein, für andere Tätigkeiten auf die Voreinstellungen zurückzuschalten.&lt;br /&gt;
* Wie stelle ich beim Routen die Leiterbahnbreiten ein?&lt;br /&gt;
** Sie müssen vorher in den Design Rules definiert werden. Siehe: https://www.mikrocontroller.net/topic/452117#new&lt;br /&gt;
* Ich habe mein Board fertig geroutet, stelle aber jetzt fest, das ich noch einige Leiterbahnbreiten ändern muss. Wie geht das am einfachsten?&lt;br /&gt;
** Eine Leiterbahn rechts anklicken und Segment oder Track ändern. Das Verhalten ist im Detail vom gewählten Canvas anhängig. Und die Leiterbahnbreite muss schon in den Design rules existieren. Siehe hier: https://www.mikrocontroller.net/topic/452117#new&lt;br /&gt;
*** Ab KiCad 5.1 bzw. 6 wird es die verschiedenen Modi nicht mehr geben. Siehe https://www.mikrocontroller.net/topic/467735#5718645&lt;br /&gt;
* Wie gestalte ich einen gleitenden, stetigen Übergang bei einer Änderung der Leiterbahnbreite?&lt;br /&gt;
** Mit Workarounds wie dreieckigen/trapezförmigen Pads oder einem sehr fein gestaffelten stufigen Übergang. Siehe: https://www.mikrocontroller.net/topic/438242&lt;br /&gt;
**http://www.mikrocontroller.net/topic/205851#new&lt;br /&gt;
*Ich kann Pads nicht anschließen bzw. ich bekomme vom DRC Fehlermeldungen, daß ich Pads nicht angeschlossen habe, obwohl sie angeschlossen sind.&lt;br /&gt;
**http://www.mikrocontroller.net/topic/204717#new&lt;br /&gt;
*Wie kann ich Daten für automatische Bestückung (Pick&amp;amp;Place) erzeugen?&lt;br /&gt;
** In PCBnew unter Datei &amp;gt; Fertigungsdateien &amp;gt; Bauteile Positionsdatei (.pos). Aber dieses verlangt, das die Footprints auch die richtigen Informationen dazu enthalten. Um diese einzustellen, den Footprint im Moduleditor öffnen und unter dem Button &amp;quot;Bauteileigenschaften&amp;quot; in &amp;quot;Attribute&amp;quot; eine Markierung bei &amp;quot;Normal+Einfügen&amp;quot; machen. Dann wird der Ankerpunkt des Modules für die Positionsdatei verwendet. Damit sinnvolle Daten entstehen, sollte der Ankerpunkt bei SMD-Footprints in die Mitte des Footprintes gesetzt worden sein. &lt;br /&gt;
* Gibt es &amp;quot;Regeln&amp;quot; für das Setzten von Ankerpunkten bei Footprints?&lt;br /&gt;
** Es gibt Konventionen. Bei SMD-Bauteilen der &amp;quot;Mittelpunkt&amp;quot; des Bauteiles. Dieser wird auch für Pick&amp;amp;Place Daten in der automatischen Bestückung verwendet. &lt;br /&gt;
** Bei THT-Bauteilen wird als Konvention die Mitte von Pin 1 als Ankerpunkt verwendet.&lt;br /&gt;
*Und wie erzeuge ich ein Excellon Drillfile?&lt;br /&gt;
** In PCBnew unter Datei &amp;gt; Fertigungsdateien &amp;gt; Bohrdaten. Die Datei enthält auch eine Werkzeugliste. Kicad legt u.U. zwei Drillfiles an, wenn erforderlich. Eines für durchkontaktierte, und eines für nicht durchkontaktierte Bohrungen. Wer eine extra Liste und eine Statistik wünscht, muss auch noch &amp;quot;Bericht über Bohrung&amp;quot; anwählen.&lt;br /&gt;
** Bei mir wird aber nur ein Drillfile erzeugt. Was läuft falsch?&lt;br /&gt;
***Die NPTH Drills müssen im Pad-Editor explizit als solche gekennzeichnet werden. In PCBnew erkennt man sie dann als dicke gelbe Flächen. Siehe: http://www.mikrocontroller.net/topic/322941#3989397 Bei älteren Footprints ist das aber noch nicht komplett umgesetzt. &lt;br /&gt;
* Wenn PCBnew die Netzliste eingelesen hat, liegen alle Bauteile auf einem Haufen. Zum Plazieren eines herausgreifen ist mühsam. Wie geht das am einfachsten?&lt;br /&gt;
** In PCBnew &amp;quot;T&amp;quot; drücken. Es poppt ein Fenster auf, wo man die Bauteilreferenz (den Namen) eingeben kann. Und schon hängt das Bauteil zum Bewegen am Zeiger. Die Bedienung ist letztlich genauso wie das &amp;quot;m&amp;quot; und die Komandozeile in Eagle. Siehe http://www.mikrocontroller.net/topic/293903#3133990&lt;br /&gt;
** &amp;quot;Raef&amp;quot; hat ein Python Script erstellt, das Bauteile automatisch ähnlich der Anordnung im Schaltplan plaziert. Siehe: http://www.mikrocontroller.net/topic/293903#3245990&lt;br /&gt;
** In neueren PCBnew Version gibt es ein gutes parametrisches Plazieren: https://www.mikrocontroller.net/topic/432920#5108442&lt;br /&gt;
* Ich habe ein fertiges Layout. Jetzt möchte ich aber andere Footprints verwenden, und anschließend nicht neu routen müssen. Wie geht das?&lt;br /&gt;
** Über CVpcb und Neueinlesen der Netzliste. Siehe: http://www.mikrocontroller.net/topic/297885#new&lt;br /&gt;
* Ich will links herum routen, aber Kicad meint unbedingt rechts herum (...oder umgekehrt). Wie kann ich die Leiterbahnen &amp;quot;flippen&amp;quot;?&lt;br /&gt;
** Mit &amp;quot;/&amp;quot; (Slasch) http://www.mikrocontroller.net/topic/280028#new&lt;br /&gt;
* Ich hätte gerne die Tastenkürzel in kicad so wie in meinem gewohnten Programm. Wie geht das?&lt;br /&gt;
** Siehe http://www.mikrocontroller.net/topic/283959#3007173 . Vieleicht ist einer ja so nett, und stellt Konfigurationsfiles für Leute die aus EAGLE, ORCAD oder so wechseln, bereit.&lt;br /&gt;
* Ich habe ein kleines Board fertig geroutet. Jetzt möchte ich mehrere davon zu einer größeren Platine zusammenführen (sog. Mehrfachnutzen), um sie rationeller fertigen zu können.&lt;br /&gt;
** Siehe http:http://www.mikrocontroller.net/topic/292334#new . Das geht natürlich genauso, wenn man verschiedene Platinen so zu Nutzen zusammenfügen möchte, oder halt kleinere Teillayouts zu einem Gesamtboard.&lt;br /&gt;
*** Nachtrag: Wenn in PCBnew &amp;quot;append Board&amp;quot; oder &amp;quot;save as&amp;quot; ausgegraut sind, so schliesse KiCad Eeschem und PCBnew komplett und starte PCBnew direkt ohne über KiCad zu gehen. Das ist in neueren KiCad Versionen so vorgesehen. Siehe https://www.mikrocontroller.net/topic/399145#new&lt;br /&gt;
&lt;br /&gt;
* Ich habe einen Schaltplan mit Subschaltplänen, zu denen ich separate Layouts erstellen möchte.&lt;br /&gt;
** Dazu diesen Subschaltplan explizit in EEschema öffnen, und die Netzliste nur für diesen Subschaltplan exportieren.  Weitergehen wie üblich. Siehe: http://www.mikrocontroller.net/topic/330740#new&lt;br /&gt;
* Ich möchte Varianten eines Layouts erstellen. Was ist dazu zu sagen? Siehe: http://www.mikrocontroller.net/topic/330740#3616697&lt;br /&gt;
** Siehe http://www.mikrocontroller.net/topic/292123#new&lt;br /&gt;
* Wie importiere ich DXF-Dateien in PCBnew? z.B. ein Platinenumriss aus einem mechanischen CAD-Programm?&lt;br /&gt;
** Dafür existiert eine Import Funktion in PCBnew: Datei &amp;gt; Importieren &amp;gt; DXF-Datei. Siehe http://www.mikrocontroller.net/topic/327628#new &lt;br /&gt;
aktueller: https://www.mikrocontroller.net/topic/469438#new&lt;br /&gt;
* Wie wird man den merkwürdigen Rahmen los?&lt;br /&gt;
** 1) Genauso wie im Schaltplan. Dazu den pl_editor (der ganz rechte Button im KiCad Hauptfenster) starten, und FAST alles entfernen. Dazu in der linken Spalte nacheinander alles aktivieren, und mit rechts anlicken und dann &amp;quot;entfernen&amp;quot; wählen. Aber vorsicht, wenn alles Entfernt wird, taucht das Original Layout wieder auf. Workaround war bei mir, eine zusätzliche Alibilinie hinzuzufügen, die von X 0,000 Y 0,000 bis  X 0,001 Y 0,000 reicht. Das ist ein &amp;quot;Fliegenschiss&amp;quot; in der linken oberen Ecke. Jetzt kann alles andere gelöscht werden. Den so geleerten Rahmen unter einem beliebigen Namen mit der Endung .kicad_wks wegspeichern. Im geöffneten Schaltplan kann der dann unter Datei &amp;gt; Seite einrichten ganz unten unter &amp;quot;page layout file description&amp;quot; die entsprechende Datei eingebunden werden. Es bleibt aber dem Anwender offen, ob er den Rahmen komplett entfernt, oder noch Felder mit Textbeschreibungen übernimmt. Für gesteigerten Komfort kann diese Datei dann auch in ein Template eingebunden werden. &lt;br /&gt;
** 2) Beim Ausdrucken Frame deaktivieren.&lt;br /&gt;
** 3) Als SVG exportieren. Dort den Frame deaktivieren.&lt;br /&gt;
** 4) Beim Plotten (z.B. in Gerber) Frame deaktivieren. Ist eigentlich defaultmäßig eingestellt. &lt;br /&gt;
** Siehe: http://www.mikrocontroller.net/topic/343509#3791448&lt;br /&gt;
* Ich möchte einen bestimmten Footprint verwenden (von dem ich weiss, dass er existiert), kann ihn aber in der Auswahl der Footprints von PCBnew nicht finden.&lt;br /&gt;
**Die Bibliothek, in der er enthalten ist, muss erst in das Verzeichnis der aktiven Bibliotheken in PCBnew eingetragen werden. &lt;br /&gt;
* Ich möchte Footprint-Bibliotheken in das Verzeichnis der verwendeten Bibliotheken von PCBnew eintragen. Wie geht das?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/372123#new  &lt;br /&gt;
* Ich habe Probleme mit den Umgebungsvariablen KISYSMOD, KISYS3DMOD, KIPRJMOD, KIGITHUB beim Eintragen der Bibliothekstabellen.&lt;br /&gt;
** KISYSMOD ist eine Variable, die den Pfad zu den global verwendeten KICAD-Modulen (Footprints) angibt. KIPRJMOD ist das gleiche, für projektspezifische Module. KISYS3DMOD beschreibt den Pfad zu den 3D-Modellen, und KIGITHUB weisst den Pfad ins Internet zu den Githubbibliotheken.&lt;br /&gt;
** Nähere Informationen dazu findet man hier: http://www.mikrocontroller.net/topic/344139#new und hier : http://www.mikrocontroller.net/topic/344029#new&lt;br /&gt;
** Aktueller: http://www.mikrocontroller.net/topic/368660&lt;br /&gt;
** Falls alles nichts hilft: Nan kann den Pfad auch komplett am Stück in die Bibliothekstabelle eintragen. Copy&amp;amp;Paste funktioniert dort aber nicht per rechtem Mausklick, sondern per &amp;lt;Str-c&amp;gt; (Kopieren) und &amp;lt;Str-v&amp;gt; (einfügen). Einfacher als die Bibliothekstabelle lässt sich darum die fp-lib-table Datei per Editor bearbeiten. Unter Linux findet sich die Tabelle für globale Bibliotheken bis zur BZR5113 direkt im Homeverzeichnis. Ab BZR5114 (ca. 5. September 2014) fiondet sich die globale fp-lib-table in $HOME/.config/kicad. Die fp-lib-table für projektbezogene Bibliotheken finden sich in den korrespondierenden  Projektverzeichnissen.&lt;br /&gt;
* Ich würde gerne die Mikrowellen Tools verwenden, aber irgendwie funktioniert das nicht.&lt;br /&gt;
** In älteren KiCad Versionen funktionieren sie nur im &amp;quot;legacy Canvas&amp;quot;. Den &amp;quot;legacy Canvas&amp;quot; schaltet man mit &amp;quot;F9&amp;quot; ein, bzw. im Pull down Menue unter &amp;quot;View&amp;quot; &amp;gt; &amp;quot;legacy Canfas&amp;quot;. In neueren KiCad Versionen (daily Build ab mindestens 2017-06-16 revision dab73e1) funktionieren die Tools in allen Canvasversionen.&lt;br /&gt;
** Manchmal sieht man nur etwas, wenn man &amp;quot;Refresh&amp;quot; (F3) drückt.&lt;br /&gt;
** Eine kleine Erklärung ist hier: https://www.mikrocontroller.net/topic/434998#new&lt;br /&gt;
* Ich würde gerne aus den Mikrowellen Tools die Funktion &amp;quot;Polynominales Muster&amp;quot; verwenden. Dabei werde ich nach einem KiCad-Shapefile gefragt, aber ich weiss nicht, wie das File aussehen muss.&lt;br /&gt;
** Einen Hinweis zum Aussehen des Files gibt es hier: https://www.mikrocontroller.net/topic/369330#4166392 Allerdings müssen die Werte der Polynomstruktur anderweitig berechnet werden, und mit einem Editor manuell in diese Form gebracht werden.&lt;br /&gt;
* Wie erstelle ich koplanare Leitungen in KiCad?&lt;br /&gt;
** siehe diese Diskussion: https://www.mikrocontroller.net/topic/370700#new&lt;br /&gt;
* Ich möchte Bauteile im Kreis oder in einem Gittermuster/Array anordnen. Gibt es dafür automatische Hilfestellungen?&lt;br /&gt;
** Ja. Objekt Deiner Wahl rechts anklicken, eventuell Auswahl verfeinern, und dann im aufpoppenden Menue &amp;quot;Array erstellen&amp;quot; wählen. Geht nicht nur für Bauteile, sondern auch für Pads, Leiterbahnen ec. Siehe: http://www.mikrocontroller.net/topic/178816#new&lt;br /&gt;
** Aktuell: https://www.mikrocontroller.net/topic/473763#5832574&lt;br /&gt;
* Ich bräuchte Pads mit ungewöhnlicher Form.&lt;br /&gt;
** Aus mehreren Pads mit der gleichen Pad Nummer zusammensetzten. Pads gleicher Nummer am gleichen Footprint werden dem gleichen Netz zugeordnet. Dabei aber beachten, dass sich diese Pads sich weit genug überlappen (z.B. 0,2mm) , so dass sie nicht in einzelne Pads zerfallen, wenn in der Leiterplattenfabrik mal die Kupferflächen &amp;quot;zurückgezogen&amp;quot; werden müssen, um die Mindestabsrände für die Produktion (Galvanik) nicht zu unterschreiten.&lt;br /&gt;
** Das Mikrowellentool benutzen, um mit einem Workaround Pads als Polygon zu erzeugen. Als ein Beispiel z.B:https://www.mikrocontroller.net/attachment/259709/SMP-Test-1.png Das Mikrowellentool kannst Du mit einem Workaround dazu bekommen, Pads als Polygone zu erstellen. Näheres siehe hier: https://www.mikrocontroller.net/topic/414834#new oder hier: https://www.mikrocontroller.net/topic/369330#4166392&lt;br /&gt;
* Meine Grafikkarte unterstützt keine openGL 3D-Beschleunigung.&lt;br /&gt;
** Vieleicht kannst Du mit MESA openGL ersetzten? Siehe: https://www.mikrocontroller.net/topic/389712#4465775 Zu MESA selber siehe: https://de.wikipedia.org/wiki/Mesa_3D&lt;br /&gt;
* Ich würde gerne eine Starrflex Leiterplatte machen. Was muss ich beachten?&lt;br /&gt;
** Siehe https://www.mikrocontroller.net/topic/399330#new&lt;br /&gt;
* Wie Verbinde ich verschiedene Massen, oder allgemein verschiedene Potentiale, die aus Layouttechnischen Gründen getrennt gehalten werden sollten, ohne das der DRC zusehr meckert? Ähnliches Problem: Einzelne Vias vom Anschluss an umgebende Masseflächen ausschliessen.&lt;br /&gt;
** Voraussetzung: Die Leiterbahnen/Vias/Kupferflächen müssen unterschiedliche Potentiale haben, damit KiCad weiss, dass sie getrennt gehalten werden müssen. Wenn das nicht der Fall ist, müssen diese Segmente mit einem &amp;quot;Bauteil&amp;quot; so vom Rest der Schaltung abgedretnnt werden, dass der abgetrennte Bereich einen neuen Netznahmen/Potentialnahmen bekommt. Diese speziellen Bauteile können unterschiedlicher Art sein:&lt;br /&gt;
*** 1) Mit 0 Ohm Brücken. Das sind Bauteile, die aus einer Drahtbrücke bestehen. So sind für den ERC und DRC die Netzte getrennt, aber tatsächlich mit einer Drahtbrücke verbunden. &lt;br /&gt;
**** [http://www.mikrocontroller.net/topic/142930?goto=1321550] &amp;quot;Drahtbrücken in KiCad?&amp;quot;  hier im Forum.&lt;br /&gt;
*** 2) Ein anderer Workaround sind &amp;quot;Net ties&amp;quot; (Netties). Das sind Footprints, die aus zwei oder mehr verschiedenen Pads bestehen(wie jedes andere normale Bauteile auch, die aber direkt mit Kupfer verbunden sind. Also eigentlich ein 0 Ohm Widerstand, wo der &amp;quot;Widerstand&amp;quot; als Kupfer auf der Leiterplatte existiert. Es ist sinnvoll, zu den &amp;quot;Net tie&amp;quot; Footprints auch entsprechende Schaltplansymbole zu definieren. Zu Net ties siehe:&lt;br /&gt;
**** [http://www.grant-trebbin.com/2015/04/pcb-net-ties-and-grounding-in-kicad.html] (in Englisch)&lt;br /&gt;
**** [http://www.mikrocontroller.net/topic/330196] &amp;quot;KiCad zwei verschiedene Netze verbinden in Pcbnew&amp;quot; hier im Forum.&lt;br /&gt;
**** Etwas aktueller (geht auch auf Probleme ein): &lt;br /&gt;
***** [http://www.mikrocontroller.net/topic/389988] &amp;quot;Kicad Leiterbahn im Footprint möglich?&amp;quot; hier im Forum.&lt;br /&gt;
***** [http://www.mikrocontroller.net/topic/360510] &amp;quot;Leiterbahn aus Massepolygon isolieren&amp;quot; hier im Forum.&lt;br /&gt;
***** [https://www.mikrocontroller.net/topic/401430#new] &amp;quot;Via-Anbidung an Polygon ausschließen&amp;quot;&lt;br /&gt;
***** Ein ganz anderer Ansatz wäre, ganz auf unterschiedliche Massepotentiale zu verzichten, wenn diese sowieso verbunden werden, wie hier vorgeschlagen: https://www.mikrocontroller.net/topic/453991#5465447&lt;br /&gt;
* Wie kann man den Nullpunkt eines Layouts verschieben?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/179680#1730452 Aktueller:https://www.mikrocontroller.net/topic/427130#5008806 für den Layout Editor PCBnew. Im Moduleditor bei Erstellung eines Footprints kann man den Ankerpunkt frei Mithilfe des Anker-Tools aus der rechten Menüleiste (das Ankersymbol) setzten. Gleiches gilt für den Symboleditor.&lt;br /&gt;
* Ich habe im Layout einen weissen Kringel mit einem weissen Kreuz, der sich beim Zoomen merkwürdig verhält. Was ist das, und wie kriege ich das weg?&lt;br /&gt;
** Das ist der Ursprung des Rasters. Den sollte man nicht wegbekommen, aber man kann ihn versetzten. Siehe: https://www.mikrocontroller.net/topic/411681#new&lt;br /&gt;
* Wie erzeuge ich Thermals (Wärmefallen/thermal Pads) um Pins die in Kupferflächen sitzen?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/443639#5287943&lt;br /&gt;
* Ich möchte Langlöcher anlegen. Wie geht das am einfachsten?&lt;br /&gt;
** Als Footprint bzw. im Footprint im Footprinteditor anlegen. Dort ein Pad plazieren und als &amp;quot;Drill Shape&amp;quot; die Option &amp;quot;Oval hole&amp;quot; wählen. Den Rest des Footprints mit dem Kupfer nach eigenen Bedürfnissen gestalten, oder das Kupfer ganz weglassen. Für reine Befestigungslöcher ohne Kupfer &amp;quot;Pad type&amp;quot; zu &amp;quot;NPTH, Mechanical&amp;quot; wählen. Langlöcher landen genauso wie runde Löcher im Excellon Drill-File. Es gibt dort spezielle Kennzeichnungen dafür. Um mit dem &amp;quot;Workflow&amp;quot; konform zu bleiben, für Befestigungslöcher z.b. ein Symbol anlegen, dem ein passendes Loch oder auch Langloch als Footprint zuweisen. In einem extra hierachischen Schaltplanblatt solche Sonderfälle ablegen. Für vier löcher z.B. vier mal dieses Symbol. Es lassens sich den Symbolen unterschiedlich definierte Löcher zuweisen. Die Löcher werden dann beim Einlesen der Netzliste in PCBnew gemäß der eingetragenen Footprints auf das Board gestellt und können frei plaziert werden. Siehe: https://www.mikrocontroller.net/topic/449952#5395495&lt;br /&gt;
* Wie ist das mit der Pinnummerierung bei Symbolen und Footprints mit abweichenden Pinbelegungen? Ändere ich die Pin/Pad Nummerierung im Symbol oder im Footprint?&lt;br /&gt;
** Das hängt am Einzelfall. Aber meistens ist das Anlegen einer Symbolvariante unter anderem Namen mit geändertem Pinning am sinnvollsten. Es gibt aber Sonderfälle. Genaueres steht hier: https://www.mikrocontroller.net/topic/452154#new&lt;br /&gt;
&lt;br /&gt;
=== Layout: Python Scripting ===&lt;br /&gt;
&lt;br /&gt;
Das Python2-Scripting ist bisher nur in PCBnew implementiert und noch sehr experimentell. Daher ist leider auch der aktuelle Stand der Dokumentation zum Python-Skripting in PCBnew noch etwas dürftig. Trozdem hier Links dazu:&lt;br /&gt;
* http://confluence.kicad.org/display/KICAD/KiCad+Scripting+Reference+Manual (Allgemein. Achtung! Kicad braucht beim compilieren spezielle Befehle, um Python-Scripting tauglich zu sein.)&lt;br /&gt;
* http://ci.kicad.org/job/kicad-doxygen/ws/build/pcbnew/doxygen-python/html/namespacepcbnew.html (Definitionen von Namespaces, Classes und Files)&lt;br /&gt;
&lt;br /&gt;
Für Linux-Debian:&lt;br /&gt;
Aktuell (07. Februar 2014) mit  Pcbnew Version: (2014-01-27 BZR 4641)-product Release build auf&lt;br /&gt;
Platform: Linux 3.2.0-4-686-pae i686, 32 bit, Little endian, wxGTK (Debian Wheezy) gilt:&lt;br /&gt;
* Geht aktuell nur für PCBnew.&lt;br /&gt;
* Klassenbibliotheken: Zwei Dateien pcbnew.py und _pcbnew.so auf dem Pfad: /usr/lib/python2.7/dist-packages/&lt;br /&gt;
* Die Klassenbibliothek wird mit den üblichen Python2 Methoden importiert: z.B. &amp;quot;import pcbnew&amp;quot; oder &amp;quot;from pcbnew import *&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Beispielprogramm, das alle Footprints aus einer Legacy-Fotprint Datei auflisted und den Referenzbezeichner dazuschreibt::&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env python &lt;br /&gt;
# das war das Shebang.&lt;br /&gt;
&lt;br /&gt;
from pcbnew import * # Import der Bibliothek. &lt;br /&gt;
libpath = &amp;quot;/home/DuUser/KiCad-Daten/Module/ModuleGrosserSampler/KiCadLegacyFottprints.mod&amp;quot; # Übergabe des Pfades.&lt;br /&gt;
lst = FootprintEnumerate(libpath) &lt;br /&gt;
for name in lst:&lt;br /&gt;
    m = FootprintLoad(libpath,name)&lt;br /&gt;
    print name,&amp;quot;-&amp;gt;&amp;quot;, m.GetReference()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Scripting Möglichkeit ist so neu, dass bis jetzt die Scripting Testdateien für das KiCad interne automatische Qualitätssicherungssystem noch nicht komplett sind.&lt;br /&gt;
Unter http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/files/head:/qa/testcases/ finden sich bereits geprüfte Testskripte, und unter http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/files/head:/pcbnew/scripting/examples/ finden sich ungetestete Testskripte.&lt;br /&gt;
&lt;br /&gt;
Sie alle können als Beispiele genommen werden, wie das mit dem Skripting gemeint ist, und als Vorbild für eigene Skripte dienen.&lt;br /&gt;
&lt;br /&gt;
Weitere Skripting Info: &lt;br /&gt;
* [https://kicad.mmccoo.com/kicad-scripting-table-of-contents/ Anleitung für Python Skripting in KiCad] (Englisch)&lt;br /&gt;
&lt;br /&gt;
=== Module Editor ===&lt;br /&gt;
* Wie erstellt man Footprints für Bauteile?&lt;br /&gt;
** Mit dem Footprint Editor. Er ist bei älteren KiCad Versionen nur aus PCBnew heraus zu starten. Bei neueren KiCad Versionen hat er einen eigenen Button im KiCad Start Window.&lt;br /&gt;
** Spezielleres: http://www.mikrocontroller.net/topic/356151#new&lt;br /&gt;
* Wie verbinde kopiere ich etwas aus einem Footprint in einen anderen hinein, bzw. wie verbinde/merge ich zwei Footprints?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/288167#3061997&lt;br /&gt;
* Kann man im Module Editor die Eigenschaften aller Pads gleichzeitig ändern?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/93131#799550 &lt;br /&gt;
* Ich brauche einen Footprint, bei dem mehrere Pads verbunden sind, will aber nicht im Schaltplan zig Pins aufführen und anschliessen müssen.&lt;br /&gt;
**http://www.mikrocontroller.net/topic/208982#new&lt;br /&gt;
**http://www.mikrocontroller.net/topic/204717#new&lt;br /&gt;
* Wie erzeugt man thermal Vias in Kicad?&lt;br /&gt;
** Leider bisher nur experimentell: http://www.mikrocontroller.net/topic/298028#3187259&lt;br /&gt;
* Wie kann man Bauteilmaße in in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
* Wie verwalte ich Footprint Bibliotheken?&lt;br /&gt;
** Indem man sich ein Board erstellt, alle Footprints, die man zusammenfassen möchte, auf das Board stellt, und dann untet Dateien &amp;gt; Footprints archivieren &amp;gt; Footprint Archiv erstellen wählt. Das so erstellte Board kann auch zu Dokumentationszwecken geplottet werden. Eventuell möchte man einige Footprints, die zu Hilfszwecken (z.B. Skalen) auf dem Board sind, anschliessend mit dem Bibliothekseditor daraus löschen.&lt;br /&gt;
** Alternativ, im dem &amp;quot;neuen&amp;quot; *.pretty Format, mit einem Dateiverwaltungsprogramm Deiner Wahl. Siehe http://www.mikrocontroller.net/topic/320301#new&lt;br /&gt;
* Wie werden die Parameter für Lötpaste/Lötstopmaske vergeben?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/356151&lt;br /&gt;
* Ich möchte für einen Footprint Pads in einem Gittermuster/Array oder im Kreis anordnen. Gibt es dafür automatische Hilfestellungen?&lt;br /&gt;
** Ja. Pad rechts anklicken. Eventuell erfolgt noch eine Feinauswahl. Dann im aufpoppenden Menue &amp;quot;Array erstellen&amp;quot; wählen.&lt;br /&gt;
* Wie archiviere ich die in einem KiCad Board enthaltenen Footprints?&lt;br /&gt;
** Nicht im Footprint-editor, sondern in PCBnew. Dort in der oberen Toolleiste unter Datei/File &amp;gt; archive Footprints. Es muss dort eine bereits im Bibliotheksverzeichnis eingetragene existierende Bibliothek angegeben werden. &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Diese Bibliothek sollte &#039;&#039;&#039;speziell für diesen Zweck&#039;&#039;&#039; angelegt sein, weil ihr &#039;&#039;&#039;vorheriger Inhalt komplett entfernt&#039;&#039;&#039; wird. Idealerweise legt man die Bibliothek als &amp;quot;Projektname.pretty&amp;quot; im Projektordner an. Sie sollte spätestens bei Abschluss des Projektestens erstellt werden und &#039;&#039;&#039;MUSS bei Archivierung des Projektes oder Übergabe mit Archiviert bzw. Übergeben werden!&#039;&#039;&#039; Aber &#039;&#039;&#039;VORSICHT&#039;&#039;&#039;, bei der Bibliothekserstellung lauert ein &#039;&#039;&#039;Bug. Siehe:&#039;&#039;&#039; https://www.mikrocontroller.net/articles/KiCad#Problem:_Neue_leere_Footprintbibliothek_kann_nicht_erstellt_werden_.28kicad_Version:_4.0.0.7Erc1a-stable_release_build_.2F_RC4.29&lt;br /&gt;
* Ich brauche in einem Footprint einen Ausschnitt in der Platine. Wie mache ich das?&lt;br /&gt;
** https://www.mikrocontroller.net/topic/404998#4696232&lt;br /&gt;
* Für Masken wie Lötpaste oder Klebstoff hätte ich gerne Pads mit abgerundeten Ecken. Wie geht das?&lt;br /&gt;
** Das geht erst seit ca. Version: 2016-11-22 revision ccdfabc-master. Siehe https://www.mikrocontroller.net/topic/427536#5015335&lt;br /&gt;
&lt;br /&gt;
=== 3D-Ansicht ===&lt;br /&gt;
[[Bild:Kicad xilinx demo.jpg|300px|thumb|right|KiCAD-Demoplatine exportiert und mit Renderer illustriert]]&lt;br /&gt;
KiCAD bietet eine eingebaute einfache 3D-Ansicht der gerouteten Platine. Mittels Export können diese weiterverarbeitet werden. KiCad beruht diesbezüglich auf Wings3D, und die 3D-Modelle der Bauteile sind standardisierte wrl-files, die mit entweder Wings3D oder Blender erstellt werden können. Daher sei hier auf ein Wings3D Handbuch verwiesen: http://www.oortman3d.com/wings3d/TheWings3dHandbook.pdf&lt;br /&gt;
&lt;br /&gt;
Viele Bauteilhersteller (vor allem von eher mechanischen, wie z.B. Stecker, Buchsen, Befestigung...) bieten fertige 3D-Modelle an. Diese sind meistens in den Formaten STEP oder IGES. So kann man diese in das von KiCad benötigte .wrl (VRML 2.0) konvertieren:&lt;br /&gt;
# STEP oder IGES in [http://gcad3d.org/ gCAD3D] öffnen (File &amp;gt; Open Model)&lt;br /&gt;
# als Wavefront .obj speichern (File &amp;gt; Save Model as &amp;gt; OBJ)&lt;br /&gt;
# Das .obj in [http://www.wings3d.com/ Wings 3D] importieren (File &amp;gt; Import &amp;gt; Wavefront .obj)&lt;br /&gt;
# Als VRML 2 exportieren (File &amp;gt; Export &amp;gt; VRML 2.0 .wrl)&lt;br /&gt;
# Im KiCad-Moduleditor die .wrl-Datei als 3D-Modell auswählen&lt;br /&gt;
# Eventuell muss man die Skalierung und Positionierung anpassen, die angezeigten Pads und Löcher helfen dabei. Die am meisten benötigten Faktoren dürften dabei 0,3937 und 2,54 sein - bei den Konvertierungen kommt leicht die Einheit Zoll oder cm durcheinander.&lt;br /&gt;
&lt;br /&gt;
Eine andere Möglichkeit .obj oder .stl-Dateien aus STEP und IGES zu erzeugen ist [http://free-cad.sourceforge.net/ FreeCAD]. Obwohl es auch .wrl direkt erzeugen kann, können diese nicht in KiCad geladen werden. Der Umweg über .obj oder .stl und Wings 3D löst dies aber auch hier.&lt;br /&gt;
&lt;br /&gt;
Wenn man das Board wieder in einem CAD-Programm verwenden will um z.B. ein Gehäuse zu konstruieren, sollte man wieder STEP-Dateien erzeugen. Neuere KiCad-Versionen können zwar VRML exportieren, doch das beschreibt nur Umrisse und keine Körper (Solids). CAD-Programme zum Gehäusedesign brauchen jedoch letzteres. So geht die Konvertierung:&lt;br /&gt;
# VRML aus KiCad exportieren (File &amp;gt; Export &amp;gt; VRML)&lt;br /&gt;
# .wrl-Datei mit Hilfe von [http://www.cs.princeton.edu/~min/meshconv/ meshconv] in eine STL-Datei konvertieren: &amp;lt;code&amp;gt;meshconv boardname.wrl -c stl -o boardname.stl&amp;lt;/code&amp;gt;&lt;br /&gt;
# Die STL-Datei mit [http://www.solveering.com/products/products_stl2step.html stl2step] in eine STEP-Datei konvertieren&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG:&#039;&#039;&#039;&lt;br /&gt;
Man sollte hinterher im CAD nochmal genau die Maße kontrollieren. Denn die Konvertierung von STL nach STEP ist nur eine Approximierung und keine exakte, verlustfreie Konvertierung.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG:&#039;&#039;&#039;&lt;br /&gt;
Bei der Verwendung von Modellen aus fremden Quellen die Rechtslage prüfen. Es kann bei Veröffentlichungen zu Problemen führen, wenn die verwendeten Modelle unter einer problematischen privaten Lizenz stehen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Appropos Einheit: Welche Einheit benutzt WRL (Wings3d)?&lt;br /&gt;
* Das ist leider nicht soooo klar. Tatsache ist aber, das KiCad die Einheit als 1/10 Inch (100mil) interpretiert.&lt;br /&gt;
** Es könnte sein, dass die Einheit von WRL offiziell mal zu einem Meter gedacht war. Siehe: https://www.mikrocontroller.net/topic/405477#4704394&lt;br /&gt;
&lt;br /&gt;
*Und wie bedient man Wings3d?&lt;br /&gt;
** Ein (vorläufiger) Merkzettel/Ultrakurzanleitung zur Bedienung von Wings3D findet sich hier: [[Media:Kicad-Wings3D_Merkzettel_29November2012.pdf]]. Wenn man nur mit Wings3d Modelle für Kicad erstellen will, langt das eventuell schon als Tutorial. There is also an English translation of this leaflet about using wings3d for kicad  at [[Media:Kicad-Wings3D_Leaflet_25April2013.pdf]].&lt;br /&gt;
** Aktueller: [http://roberthall.net/Wings3D_Tutorial_KiCad Tutorial zur Benutzung von Wings3D im KiCad Umfeld (englisch)]&lt;br /&gt;
&lt;br /&gt;
Weitere Diskussionen um KiCAD 3D:&lt;br /&gt;
* Die 3D-Ansicht funktioniert bei mir nicht.&lt;br /&gt;
** http://www.mikrocontroller.net/topic/289075#new&lt;br /&gt;
** https://www.mikrocontroller.net/topic/404658#new&lt;br /&gt;
* Kann man die 3D-Ansicht in ein 3D-CAD Programm exportieren? &lt;br /&gt;
**http://www.mikrocontroller.net/topic/203388#new&lt;br /&gt;
* Wie kann man Bauteilmaße in in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
&lt;br /&gt;
* Irgendwie werden meine 3D-Bibliotheken nicht gefunden.&lt;br /&gt;
** Das kann z.b. passieren, wenn eine KiCad v5 3D-bibliothek mit einer v4 Bauteilebibliothek verwendet wird. Siehe:https://www.mikrocontroller.net/topic/467178#new&lt;br /&gt;
* Ich habe 3D-Modelle/STEP-Modelle von einem Hersteller heruntergeladen. Aber nach Einbindunge liegen sie neben dem Footprint, schweben darüber oder durchdringen die Platine.&lt;br /&gt;
** Der Hersteller hat einen anderen Ursprung für sein Modell gewählt als üblich ist. Weit verbreitet ist, den Bauteil/Footprint Ursprung bei THT Bauteilen auf die &amp;quot;Mitte&amp;quot; von Pin 1 zu setzen. Bei SMD Bauteilen wird der Ursprung auf die Mitte des Bauteiles gesetzt, meint, da wo sich beide Symmetrieachsen des Bauteiles schneiden. Bleibt das Problem, wenn das Bauteil nur eine Symmetrieachse hat. Dann einen Punkt auf der Symmetrieachse wählen, der die Mitte zwischen den extremsten Bauteilgrenzen bildet. Wenn keine Symmetrie überhaupt existiert, halt irgendwo etwas &amp;quot;in der Mitte&amp;quot;. Das ist dann aber immer soweit in der Nähe des Footprints, dass Du es in KiCad selber anpassen kannst. Angepasst wird das entweder im Footprinteditor in der oberen Buttonleiste &amp;quot;footprint Eigenschaften&amp;quot; (Icon IC mit Zahnrad davor). Es poppt ein Fenster auf. Dort den zweiten Reiter von Links wählen: &amp;quot;3D-einstellungen&amp;quot;. Dort können Korrekturwerte für koordinaten, Skalierung und Drehungen angegeben werden. Siehe Diskussion: https://www.mikrocontroller.net/topic/467095#new&lt;br /&gt;
&lt;br /&gt;
=== Drucken/Plotten/Gerber Export/Excellon Drillfiles Export ===&lt;br /&gt;
&lt;br /&gt;
==== Drucken ====&lt;br /&gt;
* Wie exportiert man den Schaltplan oder das Layout als Bild (PNG o.ä.)? &lt;br /&gt;
** Drucken über Postscript-Treiber und Umwandeln mit Ghostscript&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/96060#1061492 Forumsbeitrag] Export als SVG&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/117562#1056566 Forumsbeitrag] Plot to Clipboard &lt;br /&gt;
* Wie kann ich GENAU ausdrucken? Mein Ausdruck auf ABC ist ca. X % zu klein oder Y% zu groß! &lt;br /&gt;
** So genau sind einfache Drucker bzw. Druckertreiber selten. Aber meistens hilft folgendes: Mache einen 1:1 (100%) Probeausdruck. Messe auf dem Ausdruck nach, wie groß er tatsächlich geworden ist. Berechne die Abweichung und gebe sie in den Drucker bzw. Druckertreiber unter Einstellung ein, vorausgesetzt, der Drucker bzw. Druckertreiber kann das. Mit dem Wert machst Du wieder eine Probeausdruck, messe wieder nach, und wenn es mit der Einstellung funktioniert hat, kannst Du Deine Folie bedrucken. Wenn das nicht klappen kann, weil Du stark abweichende Werte für horizontal und vertikal bräuchtest, aber der Drucker nur einen gleichen Wert für beides kennt, hast Du einen (zu) schlechten Drucker. Trozdem nicht verzweifeln, weil KiCad beim Drucken oder Plotten in der X- und Y-Achse getrennt skalieren kann. Aber Vorsicht bei Weitergabe der so erzeugten Dateien: Sie sind individuell auf einen Drucker angepasst, und produzieren auf einem anderen Drucker nur falsch skalierte Ausdrucke. Weil der Wert von Drucker zu Drucker unterschiedlich ist, ist es auch sinnvoll, diese Skalierung direkt am speziellen Drucker/Druckertreiber zu machen. Tipp: Wenn Du den Wert erfolgreich ermittelt hast, so kleb Dir einen Zettel auf den Drucker mit dem Wert. Die Werte sind zwar individuell für jeden Drucker, aber meistens für den speziellen Drucker durchaus fix. Und Du hast ihn sofort wieder parat, wenn der Drucker resettet wurde. Dies ist übrigens ein allgemeiner Tipp für das Ausdrucken, der auch für Eagle, Target, Altium usw. gilt.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/304619#new Thema Skalieren] - Die aktuelle Situation (August 2013):  &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/371079#4191106 Und nochmal Thema Skalieren]&lt;br /&gt;
* Wie kann man das Layout invers ausdrucken, d.h. alle Leiterbahnen und Pads müssen weiß bleiben, der Rest wird schwarz ausgedruckt?&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/156202#1474507 Beim Plotten den Haken bei Negativ-Plot setzen ] &lt;br /&gt;
* Ich habe irgendwie Probleme mit dem Ausdrucken.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/207764#new Verzerrt] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/207310#new Sonderzeichen]&lt;br /&gt;
** In der aktuellen Version 2012-01-19 BZR 3256)-stable besteht ein generelles Druckproblem. Aber Plotten geht wunderbar!&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/280958#new Aktualisierter Stand 23. Dezember 2012] &lt;br /&gt;
** [http://www.mikrocontroller.net/topic/303043#3249166 Aktualisierter Stand vom 21. Juli 2013]&lt;br /&gt;
&lt;br /&gt;
* Ich würde gerne PDF Dateien aus meinem Layout erstellen, aber irgendwie ist der Ausdruck defekt.&lt;br /&gt;
** Drucken ist aus Kicad manchmal ein Problem, auch in eine Datei hinein. Aber Plotten und Exportieren in SVG funktioniert gut.&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/303043#3249166 Von SVG zu PDF] kommt man über Inkscape. &lt;br /&gt;
** [https://www.mikrocontroller.net/topic/430532#new Aktuell] &lt;br /&gt;
** Problem dabei: [https://www.mikrocontroller.net/topic/431522#new Vektorfonts] &lt;br /&gt;
* Wie kann ich mir einen [http://www.mikrocontroller.net/topic/266037#new Bohrplan ausdrucken], um mit der Hand zu bohren?&lt;br /&gt;
&lt;br /&gt;
==== SVG Plotten ====&lt;br /&gt;
&lt;br /&gt;
* Meine erzeugten SVG Plots sind kaputt. Ich erhalte nur Fehlermeldungen, wenn ich sie in Inkscape oder Gimp einlesen will.&lt;br /&gt;
** Es besteht ein Problem mit dem SVG Export, wenn man Schaltpläne oder Boards in SVG exportiert, die ein Ampersand (Kaufmansund, &amp;quot;&amp;amp;&amp;quot;) im Dateinamen haben. Dieser Dateiname tauch dann innerhalb der SVG Datei in einem Titelblock auf, wo das &amp;quot;&amp;amp;&amp;quot; dann ein Problem bedeutet (Es leitet eine Art Escape-Sequenz ein). Sowohl Kicad als auch Inkscape/Gimp akzeptieren &amp;quot;&amp;amp;&amp;quot; im Dateinamen, und sowol unter Windows als auch Linux ist das &amp;quot;&amp;amp;&amp;quot; im Dateinamen legal....darum bringt auch eine Veränderung des Namens der SVG-Datei keine Lösung. Eine Lösung ist, Grundsätzlich in Kicad keine &amp;quot;&amp;amp;&amp;quot; in Dateinamen zu verwenden, wenn man einen SVG-Export macht. Alternativ kann man mit einem Editor das &amp;quot;&amp;amp;&amp;quot; aus dem Titelblock (Das ist NICHT der Dateiname, sondern in der Datei selber alles zwischen &amp;lt;titel&amp;gt; und &amp;lt;/titel&amp;gt;) der SVG-Datei löschen. Angeblich kommt der Bug aus den verwendeten wx-Bibliotheken. Siehe den Bugreport: https://bugs.launchpad.net/kicad/+bug/1171160&lt;br /&gt;
* Wie kann ich unter Windows die SVG Dateien überhaupt nutzen? &lt;br /&gt;
** Die SVG Datei kann mit Microsoft Edge auf einen Drucker gedruckt werden, nützlich bei negativ Plot. Das Öffnen mit GIMP ging mit 1000pixel/in. Das Programm, mit dem sich SVG Dateien am besten bearbeiten lassen, ist aber Inkscape. Davon gibt es sogar einen Windows Ableger.&lt;br /&gt;
** Grundsätzliche Infos zum SVG Format: https://de.wikipedia.org/wiki/Scalable_Vector_Graphics&lt;br /&gt;
** Grundsätzliche Infos zu Inkscape: https://de.wikipedia.org/wiki/Inkscape&lt;br /&gt;
&lt;br /&gt;
==== Gerber Export ====&lt;br /&gt;
&lt;br /&gt;
* Kann man Gerber-Dateien exportieren?&lt;br /&gt;
** Ja. Es wird extended Gerber 274X exportiert. Einheit ist inch (doppelt sowohl im 274d als auch im 274x Stil definiert). Die Y-Koordinaten sind im allgemeinen negativ. KiCad verwendet für Flächen das in Gerber spezifizierte Polygon Makro und kein &amp;quot;stroke fill&amp;quot;.&lt;br /&gt;
** Um Gerber Dateien zu erstellen, wählt man aus der oberen Menueleiste ganz links Datei &amp;gt; Plotten und dann oben links unter Plotformat &amp;quot;Gerber&amp;quot; &lt;br /&gt;
** KiCad unterstützt auch die kürzlich eingeführten Gerber-Attribute. Die Anwendung derselben muss aber explizit angewählt werden. Dazu setzt man im Gerber-Plottmenue im Feld &amp;quot;Gerber Optionen&amp;quot; bei &amp;quot;include extended attributes&amp;quot; einen Haken.&lt;br /&gt;
** KiCad kann automatisch die Lötstoppmaske von der Siebdruckmaske (Silk screen - Bestückungsaufdruck) abziehen, damit nicht der Bestückungsaufdruck versehentlich über Pads liegt und dort das Löten verhindert. Dazu muss aber im Gerber-Plottmenue im Feld &amp;quot;Gerber Optionen&amp;quot; bei &amp;quot;Subtrahiere Lötstoppmaske von Siebdruckmaske&amp;quot; ein Haken gesetzt werden.&lt;br /&gt;
* Welche Gerber Lagen werden zur Herstellung einer Platine benötigt?&lt;br /&gt;
** Grundsätzlich zu Herstellung der Platine die Gerberfiles: Alle Kupferlagen, Bestückungsdruck Top und Bottom (Falls auf Bottom was steht), Lötstoppmaske Top und Bottom. Eine Umrisslage mit dem Platinenumriss und Ausfräsungen. Drillfiles (Excellon) Für durchkontaktierte und NICHT durchkontaktierte (NPTH) Bohrungen. Dazu: Ein Textfile mit einer Erläuterung, welche Lage welche ist, sowie Angaben, wie dick die Kupferschichten der Kupferlagen und wie dick die Isolierlagen dazwischen sein sollen, und aus welchem Material. Wenn Du eine einfache rechteckige Platine hast, schreibst Du dort auch noch die Kantenlängen hinein. Wenn die Platinenumrisse komplizierter sind (z.B. verwinkelt, mit Ausfräsungen ec.), noch eine Masszeichnung als Gerber File. Siehe dazu: https://www.mikrocontroller.net/topic/399503#new&lt;br /&gt;
** Zum Bestücken wird mindestens noch eine Stückliste (BOM) benötigt. Eventuell noch ein spezieller Bestückungsplan (Assembly), wenn der Bestückungsaufdruck nicht reicht. Für SMD eventuell noch die Gerberdaten für Klebstoffmaske und Lötpastenmaske, und eventuell die Pick and Place Daten für den Bestückungsautomaten.&lt;br /&gt;
* Wie kann man den Gerber-Plot so ausdrucken, dass in der Mitte von Pads und Vias ein Zentrierloch frei bleibt?&lt;br /&gt;
** http://article.gmane.org/gmane.comp.cad.kicad.user/3457&lt;br /&gt;
* Was ist &#039;&#039;&#039;allgemein&#039;&#039;&#039; beim Export von Gerber Daten zu  beachten?&lt;br /&gt;
** Allgemeine Informationen zum Gerber File Format findet sich hier: https://www.mikrocontroller.net/articles/Gerber-Tools&lt;br /&gt;
** Speziell zu Passermarken/Fiducials (add layer alignment target) diese Diskussion: https://www.mikrocontroller.net/topic/396624#new&lt;br /&gt;
** Aktuell: https://www.mikrocontroller.net/topic/428569#new&lt;br /&gt;
* Ich würde gerne meine Gerberdaten gespiegelt ausdrucken, aber das &amp;quot;gespiegelt&amp;quot; ist ausgegraut.&lt;br /&gt;
** Gerber Daten werden nur sehr selten vom Layouter gespiegelt benötigt. Wenn aber doch, so öffne die Gerber Daten mit dem Gerberviewer (Gerbview). Wenn Du dort ausdruckst, kannst du auch spiegeln. Trotzdem solltest Du Dir in dieser Diskussion durchlesen, warum Du vermutlich keine Gerberdaten gespiegelt ausdrucken musst: https://www.mikrocontroller.net/topic/466448#new&lt;br /&gt;
* Mein Layterplattenfertiger bemämgelt, das meine Gerber Daten fehlerhaft sind.&lt;br /&gt;
** Wenn er negative Koordinaten bemängelt, so sind diese nach der aktuellen Gerber Definition zulässig.&lt;br /&gt;
** Wenn Du trotzdem negative Gerber Koordinaten beim Export vermeiden möchtest, musst Du den Ursprung bzw. das Hilfskoordinatensystem passend setzen. Siehe hier: https://www.mikrocontroller.net/topic/482457#5999588 &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Wenn man einen Offset für Gerber verwendet, muss man den gleichen Haken auch bei den Drillfiles setzten. Sonst sind die Bohrdaten gegenüber den Gerberdaten verschoben.&lt;br /&gt;
** Wegen nicht geschlossener Polygone bzw. doppelter Punkte in Polygonen siehe hier: https://www.mikrocontroller.net/topic/482457#5999669 und den Bugreport https://bugs.launchpad.net/kicad/+bug/1847714&lt;br /&gt;
** Ucamco als Schöpfer des Gerberformates bietet einen Online-Referenzviewer für Gerberdateien, um die Qualität von Gerberdaten zu überprüfen. Siehe hier: https://gerber-viewer.ucamco.com/&lt;br /&gt;
&lt;br /&gt;
==== Excellon Drillfiles exportieren ====&lt;br /&gt;
&lt;br /&gt;
* Wie erstelle ich mit KiCad Excellon Drillfiles?&lt;br /&gt;
**siehe hier: http://www.mikrocontroller.net/topic/310333#new&lt;br /&gt;
&lt;br /&gt;
==== KiCad Board Dateien direkt zum Hersteller ====&lt;br /&gt;
&lt;br /&gt;
* Bei Bestellungen bei PCB-Pool ist deren GC-Prevue NICHT mehr erforderlich, weil PCB-Pool mittlerweile KiCad *.brd Dateien direkt akzeptiert. Siehe http://www.pcb-pool.com/ppde/info_dataformat.html Das gilt auch für viele andere Hersteller. im Zweifel dort einmal nachfragen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Trotzdem&#039;&#039;&#039; sollte man &#039;&#039;&#039;besser Gerber Dateien&#039;&#039;&#039; zum Platinenhersteller senden. Das gilt &#039;&#039;&#039;grundsätzlich&#039;&#039;&#039; so auch für andere Platinen Layout Programme. Der Grund ist hier angegeben: https://www.mikrocontroller.net/wikisoftware/index.php?title=Gerber-Tools&amp;amp;action=edit&amp;amp;section=8&lt;br /&gt;
&lt;br /&gt;
=== Import ===&lt;br /&gt;
* Kann man EAGLE Dateien importieren? (=&amp;gt; Obacht bei Weitergabe der Daten! Die originalen Eagle Dateien könnten mit Urheberrechten belastet sein)&lt;br /&gt;
** Ja. Voraussetzung ist, dass das Eagle Projekt im XML-Format vorliegt. Das ist automatisch der Fall, wenn man Eagle 6 (6.6?) oder aktueller benutzt und darin speichert. Dieses Projekt kann dann in aktuellen KiCad Versionen (5.x oder 6?) geöffnet und als KiCad Projekt gespeichert werden. Dazu das Eagle Projekt für diesen Zweck vorher in einen separaten Ordner kopieren. Dann im KiCad Hauptfenster aus dem Pulldown Menue Datei &amp;gt; Projekt importieren &amp;gt; Eagle CAd wählen.&lt;br /&gt;
** Ganz aktuell: https://www.mikrocontroller.net/topic/474387#new &lt;br /&gt;
** Aktuell: http://www.mikrocontroller.net/articles/KiCad#Konverter&lt;br /&gt;
** Etwas älter: http://www.mikrocontroller.net/topic/70905#797416&lt;br /&gt;
** http://www.mikrocontroller.net/topic/120373#1089933&lt;br /&gt;
** https://www.mikrocontroller.net/topic/417848#new&lt;br /&gt;
* Wie bindet man fremde KiCad Bibliotheken ein?&lt;br /&gt;
** EESchema (Schaltplaneditor) starten, unter Einstellungen &amp;quot;Bibliothek&amp;quot;  auswählen, auf &amp;quot;Hinzufügen&amp;quot; klicken, neue Bibliothek auswählen dann &amp;quot;öffnen&amp;quot; und in der Projektdatei &amp;quot;Speichern&amp;quot;. Gültig für Version 20090216Final, 2011-04-29-BZR2986-WinXP und Version: (2011-11-27 BZR 3249)-stable unter Platform: Linux 2.6.32-5-686 i686, 32 bit, Little endian, wxGTK.&lt;br /&gt;
&lt;br /&gt;
** VERALTET! Das Verfahren zur Einbindung eigener oder fremder Bibliotheken ist under PCBnew genauso.&lt;br /&gt;
** Aktuell: Siehe http://www.mikrocontroller.net/topic/356855#3988114&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&lt;br /&gt;
Es empfielt sich dringenst, eigene Bibliotheken &#039;&#039;&#039;NICHT&#039;&#039;&#039; zu den KiCad Bibliotheken im Ordner kicad/share/library bzw. kicad/share/modules für Footprints zu speichern, weil diese dort bei einem Upgrade von KiCad gelöscht würden. Stattdessen sollte man sich einen KiCad Ordner im eigenen home bzw. Benutzerverzeichnis (oder sonstwo, wo es opportun ist, und man Schreibrechte hat) anlegen, mit einem Ort, um eigene Bibliotheken abzulegen. Dies ist ein eher allgemeiner Hinweis, der so nicht nur für KiCad. sondern auch für die meisten CAD-Programme gelten dürfte.&lt;br /&gt;
&lt;br /&gt;
=== Neues Projekt ===&lt;br /&gt;
Ein neues Projekt legt kicad automatisch nach der in kicad/share/template hinterlegten Projektdatei an. Möchte man, das kicad ein neues Projekt von vorneherein nur mit ausgewählten eigenen Bibliotheken anlegt, so ist eine entsprechende Projektdatei unter kicad/share/template/kicad.pro abzulegen.&lt;br /&gt;
Dies erfordert dort Schreibrechte. Linux roots müssen diese Datei anschliessend mit chmod 755 Dateiname für user lesbar machen.&lt;br /&gt;
Bei einem upgrade würde kicad.pro gelöscht. Daher sollte man sich davon eine Sicherheitskopie in seinem benutzerverzeichnis hinterlegen.&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen sichern / wiederherstellen===&lt;br /&gt;
* Wo speichert KiCad die Einstellungen ab und wie lassen sich die originalen Einstellungen wiederherstellen?&lt;br /&gt;
** [[http://kicad.sourceforge.net/wiki/index.php/DE:KiCadHB#Einstellungen_sichern_.2F_wiederherstellen]]&lt;br /&gt;
**Man erstelle ein neues Projekt beliebigen Namens, nehme alle Einstellungen (Bibliotheken, Pfade usw.) vor und speichere diese in der aktuellen Projektdatei &amp;quot;name.pro&amp;quot;. Im Ordner KiCad Verzeichnis ....../kicad/share/template befindet sich eine Datei &amp;quot;kicad.pro&amp;quot;. Diese Datei &amp;quot;kicad.pro&amp;quot; ist die &amp;quot;Musterprojektdatei&amp;quot;, die für alle neuen Projekte verwendet wird. Man benenne sie um in &amp;quot;kicad-orig.pro, und kopiere die aktuelle Projektdatei &amp;quot;name.pro&amp;quot; nun als &amp;quot;kicad.pro&amp;quot; in diesen Template-Ordner. Leider Funktioniert dieses Verfahren nicht in allen KiCad Versionen. Den originalen Zustand stellt man wieder her, indem man &amp;quot;kicad.pro&amp;quot; umbenennt, und &amp;quot;kicad-org.pro&amp;quot; wieder in &amp;quot;kicad.pro&amp;quot; zurückumbenennt.&lt;br /&gt;
&lt;br /&gt;
=== Bitmaps als Symbol oder Footprint importieren ===&lt;br /&gt;
Der Programmteil Bitmap2component wandelt Bitmaps wahlweise in Symbole oder in Footprints um. Auf diese Weise können also auch Logos oder spezielle Muster für HF-anwendungen in KiCad importiert werden, sobald sie als Bitmap vorliegen. Es gibt allerdings auch andere Möglichkeiten, Grafiken zu importieren. Siehe dazu https://www.mikrocontroller.net/topic/428745#new&lt;br /&gt;
&lt;br /&gt;
== Tipps&amp;amp;Tricks / Eigenheiten / Bugs ==&lt;br /&gt;
&lt;br /&gt;
* Nachbearbeitung mit Skript oder Texteditor (Pin Swapping, Versionskontrolle via SVN, Generierung von Packages aus UCF-Listen) &lt;br /&gt;
** http://www.mikrocontroller.net/topic/120373#1100467&lt;br /&gt;
** http://www.mikrocontroller.net/topic/96860#836967&lt;br /&gt;
** http://stawoo.com/dokuwiki/doku.php?id=ecld:kicad:board&lt;br /&gt;
&lt;br /&gt;
* Veraltet! (2006) Schaltplan: Durchnummerieren von GND und PWR erforderlich http://www.mikrocontroller.net/topic/39243#290309&lt;br /&gt;
&lt;br /&gt;
* Zum Verbinden von Schaltplan und Layout müssen an den Bauteilen die Pinnummern mit den Padnummern der Footprints korrespondieren. Das ist &amp;quot;defaultmäßig&amp;quot; nicht immer zu erreichen, weil es unterschiedliche Nummerierungssysteme gibt. Ausser dem Anlegen eines speziellen Footprints kann diese Anpassung für einzelne Bauteile wärend des Layoutens im Moduleditor vorgenommen werden. http://www.mikrocontroller.net/topic/186121#1805890&lt;br /&gt;
* Ich habe einen hierarchischen Schaltplan angefertigt, indem sich eine Schaltung zig mal wiederholt. Eine dieser Subschaltungen habe ich schon geroutet, und möchte dieses Layout genau wie die hierarchischen Schaltpläne mehrfach auf dem Board verwenden.&lt;br /&gt;
** In PCBnew lassen sich mit &amp;quot;Datei&amp;gt;Platine hinzufügen&amp;quot; auch schon geroutete Gruppen von Bauteilen quasi als Modul einfügen, wenn sie zuvor als Board abgelegt wurden. Ebenso kann eine Bauteilgruppe, die in der Form mehrmals vorkommt, und die die schon einmal geroutet worden ist, gruppiert, kopiert und wiederverwended werden. Die dazu nötige Annotation und das Löschen der überzähligen Bauteile muss aber sorgfältig von Hand gemacht werden. &#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; In neueren Versionen von PCBnew ist diese Funktion ausgegraut, wenn PCBnew &amp;quot;normal&amp;quot; aus dem Menue des KiCad Hauptfensters gestartet wurde. Um diese Funktion zu aktivieren, KiCad schliessen und PCBnew wie ein alleinstehendes Program direkt starten.&lt;br /&gt;
** Wer seinen Subschaltplan separat routen möchte, sollte den Subschaltplan explizit in EEschema öffnen und die Netliste nur dieses Subschaltplanes exportieren. Diese Netlist in ein neues Board in PCBnew einlesen und wie üblich routen.&lt;br /&gt;
* Bibliotheken verwalten, umsortieren bzw. neu strukturieren: http://www.mikrocontroller.net/topic/187107#1817559 &lt;br /&gt;
&lt;br /&gt;
* Layout: Rest-Gummiband an Pins http://www.mikrocontroller.net/topic/120373#1092375&lt;br /&gt;
&lt;br /&gt;
* Produktion: http://www.mikrocontroller.net/topic/98034#848965&lt;br /&gt;
&lt;br /&gt;
* Bug in Version 2010-03-14: Unter Einstellungen lässt sich keine einseitige Platine wählen (wichtig für Autorouter). Lösung: Modifikation des .brd Files mit einem Editor [http://www.mikrocontroller.net/topic/172015#1651239]:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;&lt;br /&gt;
:In der *.brd Datei gleich ganz oben...&lt;br /&gt;
:&lt;br /&gt;
:$GENERAL&lt;br /&gt;
:LayerCount 2                 -&amp;gt; auf 1 setzen&lt;br /&gt;
:&lt;br /&gt;
:$SETUP&lt;br /&gt;
:InternalUnit 0.000100 INCH&lt;br /&gt;
:ZoneGridSize 250&lt;br /&gt;
:Layers 2                     -&amp;gt; auf 1 setzen&lt;br /&gt;
:Layer[0] Rückseite power&lt;br /&gt;
:Layer[15] Vorderseite power  -&amp;gt; hab&#039; ich mal beides so gelassen&lt;br /&gt;
:&amp;lt;/pre&amp;gt;                                                                aktueller: http://www.mikrocontroller.net/topic/172015#1794699&lt;br /&gt;
&lt;br /&gt;
* Das Anlegen von Symbolen/Bauteilen in aufgelöster Darstellung ist etwas stolperig. Siehe: http://www.mikrocontroller.net/topic/294095#3136180&lt;br /&gt;
&lt;br /&gt;
* Es empfielt sich, in Kicad vorläufig KEIN Ampersand (Kaufmansund, &amp;quot;&amp;amp;&amp;quot;) im Namen einer Schaltplan- oder Boarddatei zu Verwenden. Es besteht ein Bug beim Export/Plotten nach SVG. Siehe oben unter &amp;quot;Drucken / Export&amp;quot; und dann &amp;quot;Meine erzeugten SVG Plots sind kaputt.&amp;quot;. Siehe auch: http://tech.groups.yahoo.com/group/kicad-users/message/14952&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kühlkörper&#039;&#039;&#039; können als Symbol und Footprint (Modul) angelegt werden. Die Befestigungslöcher können im  Modul als Pad ausgeführt werden. Die Padnummer aller Pads sollte gleich sein (gleicher Anschluss / über Kühlkörper verbunden), z.B. &amp;quot;1&amp;quot;. Entsprechend ein Symbol mit Pin und korrespondierender Pinnummer anlegen. Wenn der Kühlkörper elektrisch nirgendwo verbunden sein soll, dann die Anschlusspinne im Schaltplan als &amp;quot;unused&amp;quot; markieren. Als Referenz in Symbol und Footprint habe ich &amp;quot;HS&amp;quot; (HeatSink) gewählt. Es ist zu überlegen, ob &amp;quot;HS&amp;quot; nicht auch als Padnummer besser wäre.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kartenumrisse/Outlines&#039;&#039;&#039;: Für immer wiederkehrende Platinengrössen, z.B. die beliebte Eurokarte, kann zur Vereinfachung des Zeichnens einmal ein Eurokartenumriss im Layer &amp;quot;outlines&amp;quot; gezeichnet werden, und als Modul abgelegt werden. Um die Zahl der Kollisionen beim Einlesen der Netzliste zu verringern, wird im Schaltplan ein Dummy-Symbol ohne Pinne angelegt. In CVpcb dann dieses Symbol mit dem passenden Kartenumriss Footprint/Modul verbinden, und es wird automatisch in PCBnew eingefügt. Als Referenz in Symbol und Footprint habe ich &amp;quot;Outl&amp;quot; (OUTLine) gewählt.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sprachanpassung&#039;&#039;&#039;: Ich will mein KiCad auf Deutsch / Englisch / Französisch / Finnisch oder sonst eine Sprache umstellen. Wie geht das?&lt;br /&gt;
** Siehe : http://www.mikrocontroller.net/topic/262039#2719056&lt;br /&gt;
**Die deutsche Übersetzung der Texte und Hilfetexte/Tooltips ist manchmal etwas unelegant. Wem so etwas auffält, bitte Mitteilung am Ende dieses Threads: http://www.mikrocontroller.net/topic/255932#2641638 (deutschsprachig) oder an die KiCad user group unter https://groups.yahoo.com/neo/groups/kicad-users/info (englischsprachig, auch bei Fällen wo es um die deutsche Übersetzung geht). Diese Mitteilungen nach Möglichkeit nicht in Launchpad.&lt;br /&gt;
** Ich habe aber keine Möglichkeit, die Sprache umzustellen!&lt;br /&gt;
*** Wenn Debian eine Fehlermeldung &amp;quot;Cannot set locale to &#039;xy_XY&#039;. kommt, ist die entsprechende Umgebung nicht installiert. Unter Debian als root in der Konsole: &amp;quot;dpkg-reconfigure locales&amp;quot; aufrufen. Es öffnet sich eine ncurses-gui, wo die entsprechenden Einstellungen gemacht werden können. Für &amp;quot;Deutsch&amp;quot; wähle ich &amp;quot;de_DE.utf8&amp;quot;.&lt;br /&gt;
*** Wenn nichts passiert, fehlen möglicherweise die localisierungs Dateien. Sie sind NICHT Teil der Sourcen, und finden sich in http://bazaar.launchpad.net/~kicad-developers/kicad/doc/files/head:/internat/. Auf Debian und verwandten Systemen müssen die einzelnen localisationsordner, z. B. &amp;quot;de&amp;quot; nach /usr/local/share/kicad/internat kopiert werden. Dann als root dort Leserechte erteilen mit &amp;quot;chmode -R 755 /usr/local/share/kicad/internat&amp;quot;.&lt;br /&gt;
*** Wenn ein Mischmasch aus Englisch und der gewählten Sprache existiert, sind entweder nicht alle Begriffe übersetzt (siehe oben) oder wegen Umbenennung von Variablen ist eine Inkonsistenz entstanden. Siehe: http://www.mikrocontroller.net/topic/326622#3565178&lt;br /&gt;
** Für die KiCad Localsisation wird &amp;quot;GNU gettext&amp;quot; verwendet. Eine kleine Hilfestellung zur Anpassung der Localisation findet sich hier: http://docs.kicad.org/en/gui_translation_howto.html. Info zu Gnu gettext findet sich hier: http://de.wikipedia.org/wiki/GNU_gettext&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Projektdateien (.pro) Pfadschreibweise&#039;&#039;&#039;: In einer Windowsumgebung ist es anscheinend nötig, relative Pfade speziell zu kennzeichnen. Siehe: http://www.mikrocontroller.net/topic/326869#new&lt;br /&gt;
&lt;br /&gt;
=== Problem: Der Ursprung für die Pick und Place bzw. Drill-Daten wurde verändert und lässt sich nicht zurücksetzten. === &lt;br /&gt;
Siehe: http://www.mikrocontroller.net/topic/363280#new&lt;br /&gt;
&lt;br /&gt;
=== Problem: Case Senitive Symbols ab BZR4646 (Jan./Feb. 2014) in Schaltplänen. (Migration alter Projekte auf neue) ===&lt;br /&gt;
Ab BZR4646 sind die Symbole in Eeschema &amp;quot;Case Sensitive&amp;quot;. Das bedeutet: In alten Schaltplandateien wurden für die Symbolnamen nur Großbuchstaben verwendet, auch wenn die Originalnamen in der Library Kleinbuchstaben enthielten. Ab BZR4646 werden die Symbolnamen in den Schaltplandateien genauso geschrieben wie die Originalnamen in der Library. Leider werden dadurch bei alten Schaltplandateien die großgeschriebenen Symbolnamen nicht mehr in den Bibliotheksdateien erkannt. Auch nicht in den &amp;quot;-cache.lib&amp;quot; Dateien. Ganz so kritisch, wie es sich anhört, ist es wiederum auch nicht, weil KiCad schon seit geraumer Zeit die Schaltpläne in der neuen Version speichert. Jemand, der mit aktuellen KiCad Versionen an aktuellen Schaltplänen arbeitet, wird darum den Übergang vermutlich nicht bemerken. Allerdings tritt das Problem bei alten Schaltplänen auf, die möglicherweise Jahrelang unberührt auf der Festplatte lagen. Um die Symbolnamen in diesen alten Schaltplandateien anzupassen, existiert das Python3 Skript &amp;quot;PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip&amp;quot;. Es ist ein &amp;quot;Stand alone&amp;quot; Python3 skript, das nicht in das KiCad interne Python skripting eingebunden ist. Die Datei kann hier bezogen werden:[[Media:PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip]].&lt;br /&gt;
Autor: Bernd Wiebus, GNU-GPL.&lt;br /&gt;
&lt;br /&gt;
Be einigen Linux Distributionen (z.B. Archlinux) wird neben Python 3 auch noch das Paket &amp;quot;python3-tk&amp;quot; benötigt. Oder eine irgendwie anders genannte Einbindung von Tkinter in Python3. Anmerkung: &amp;quot;Tkinter&amp;quot; für Python3 wird im allgemeinen kleingeschrieben &amp;quot;tkinter&amp;quot; zur Unterscheidung vom großgeschriebenen &amp;quot;Tkinter&amp;quot; für das alte Python(2). &lt;br /&gt;
Sonst gibt es die Fehlermeldung &amp;quot;ImportError: No module named tkinter&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Manueller Start mit: &amp;quot;python3 PyKiCad-CaseSensitiveLibCure_RevD_13Mar2015.py&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dieses Skript kann benutzt werden, um Schaltpläne, die mit der Eeschema Version (2013-11-29 BZR 4513) von Ende 2013, die in Linux Repositorys (z.B. Debian 7 &amp;quot;Wheezy&amp;quot;) noch sehr verbreitet ist, auf aktuelle KiCad Versionen anzupassen.&lt;br /&gt;
&lt;br /&gt;
In RC4 übernimmt ein &amp;quot;Rescue-Helper&amp;quot; diese (und andere) Funktion. Aber auch dieser kann genau wie das Python Skript nur funktionieren, wenn entweder die Originalsymbole (Cache.lib!) oder entsprechend benannte Nachfolger der Bibliotheken existieren, so dass ein auf den Namen passendes Symbol existiert.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Backporting KiCad-Board Dateien (.kicad_pcb) von Version 4 auf Version 3 2014/2015) ===&lt;br /&gt;
&lt;br /&gt;
Möchte man z.B mit einer KiCad/PCBnew Version BZR 4027 vom 22 Juni 2014, welche in vielen Repositorys noch weit verbreitet ist, eine Board-Datei ( .kicad_pcb), die mit einer neueren PCBnew Version erstellt wurde, z.B. einer BZR 5513 vom 14. März 2015 (die aktuell kompiliert wurde), öffnen, so stösst man auf Probleme. Aktuell die BZR 5513 verwendet für die Board Dateien Version 4, und die alte BZR 4027 verwendet dort die Version 3. Obwohl das Schema der Boarddateien fast gleich ist, enthält die Version 4 Elemente, die es zur Zeit der Version 3 noch nicht gab, und die darum zu Fehlermeldungen und zum Abbruch des Einlesens der Datei führen. Diese Neuerungen beziehen sich auf den Export von Gerberfiles mit Attributen sowie Platinenlagen, die es vorher noch nicht gab. Diese Fehler sind dank der einfachen, klarschriftlesbaren Filestruktur von KiCad sehr leicht mit einem Texteditor zu beheben. Eine Beschreibung, wie dieses manuell zu machen ist, finden Sie hier: [[Media:KiCad-PCBnewBoardDateienMigrierenVonVersion4Auf5.pdf]] Achtung Irrtum: Hier sind Version 4 und 5 genannt, dabei sind aber Version 4 und 3 gemeint.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Portieren von älteren KiCad-Board Dateien auf neuere Versionen.  ===&lt;br /&gt;
&lt;br /&gt;
In einigen Fällen funktioniert das Erkennen von selbstvergebenen Layer Namen aus der älteren Version nicht. Abhilfe schafft das manuelle Umbenennen der betroffenen Layer per Editor in den Board Dateien in KiCad-Standard Bezeichnungen und natürlich das konsequente Einpflegen in den Rest der Datei. Eine Vorstellung, wie das zu bewerkstelligen ist, ist ebenfalls aus [[Media:KiCad-PCBnewBoardDateienMigrierenVonVersion4Auf5.pdf]] zu ersehen. Achtung Irrtum: Hier sind Version 4 und 5 genannt, dabei sind aber Version 4 und 3 gemeint. Einen Überblick, welche Layernamen die jeweils aktuelle KiCad Version verwendet, bekommt man indem man sich ein Testboard anlegt, indem ALLE möglichen Layer verwendet werden, dieses abspeichert und sich die Datei mit einem Texteditor ansieht.&lt;br /&gt;
Die Portierung von alten KiCad-board Dateien (Projektname.brd) funktioniert dagegen im Allgemeinen problemlos.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Neue leere Footprintbibliothek kann nicht erstellt werden (kicad Version: 4.0.0~rc1a-stable release build / RC4) ===&lt;br /&gt;
&lt;br /&gt;
Soll eine neue, leere Footprintbibliothek angelegt werden, so funktioniert das nicht mit den angebotenen Tools (z.B. dem Wizzard) weil die automatisch den Typ der Bibliothek ermitteln wollen, was nicht funktioniert, weil die Bibliothek noch leer ist. Auch das manuelle Eintragen des Pfades funktioniert nicht, weil die leere Bibliothek nicht als solche erkannt wird, und wegen dieses Fehlers der Abschluss des Eintrages nicht übernommen wird. Abhilfe schafft dabei das Anlegen eines Ordners &amp;quot;Bibliotheksname.pretty&amp;quot; (Erinnerung: Neue KiCad Footprintbibliotheken bestehen aus einem Ordener &amp;quot;xyz.pretty&amp;quot;, indem die einzelnen Footprints jeder für sich in einer extra Datei &amp;quot;Footprintname.kicad_mod&amp;quot; existieren). Anschliessend kopiert man eine einzige beliebige Footprintdatei &amp;quot;Nameirgendwie.kicad_mod&amp;quot; in diesen Ordner. Somit ist &amp;quot;Bibliotheksname.pretty&amp;quot; eine &amp;quot;echte&amp;quot; Bibliothek, welche als solche problemlos eingebunden werden kann. Enthält die Bibliothek dann irgendwann die gewünschten richtigen Einträge, so kann der Footprint, der zu Anfangs zum Erstellen der Bibliothek hineinkopiert wurde, auch wieder gelöscht werden.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Fehlende Backannotationsmöglichkeit in KiCad ===&lt;br /&gt;
&lt;br /&gt;
Es gibt Leute, die sich in KiCad eine Backannotationsmöglichkeit wünschen (andere warnen davor, sowas zu benutzen, selbst wenn es existiert). KiCad bietet aktuell selber diese Möglichkeit nicht, doch lässt sich aufgrund der offenen Dateistrukturen ein z.b. Python Skript schreiben, welchess die Backannotation durchführt. Als ein Beispiel siehe hier: &amp;lt;ref&amp;gt;https://hasanyavuz.ozderya.net/?p=256&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Problem: Platinenerstellung durch Isolationsfräsen ===&lt;br /&gt;
&lt;br /&gt;
Einer der möglichen Wege ist hier beschrieben: https://www.daedalus.ei.tum.de/index.php/de/3d-druck-cnc/cnc/layout-und-g-code-erstellung-mit-kicad  Allerdings scheint die dort erwähnte Software mittlerweile aus einer anderen ecke zu kommen: http://carbide3d.com/apps/pcb/community.html Es gibt aber noch andere Wege, zb. über: http://flatcam.org/discussion#!/?HPGL Eine Diskussion dazu findet sich hier: https://www.mikrocontroller.net/topic/447442#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Building Blocks ===&lt;br /&gt;
* Eine unfertige Dokumentation, wie man das hierarchische Schaltplansystem von KiCad verwendet, um daraus schnell und rationell Schaltpläne mit vorgefertigten Schaltplänen (Building Blocks) nach dem Baukastensystem aufzubauen. Enthält auch ein Beispielprojekt. Beachte die Liesmich.txt Datei. [[Media:BuildingBlocksKiCad-EXPERIMENTELL.zip]] Das File  KiCad-HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf, enthält eine vorläufige Beschreibung dazu. KiCad-HierarchischeSchaltplaene+buildingBlocksRevA-EN.pdf is an English description how to use hirarchical schematics as building blocks for a fast and rationel schematic design. Es fehlt noch die Übersetzung und die Bebilderung und ein paar Berichtigungen und Ergänzungen. ;-) . Das echte Hauptbeispielprojekt ist UnderVoltageDetector24V-2Group_Experimental.pro bzw. UnderVoltageDetector24V-2Group_Experimental.sch. Im Ordner Experimentalprojekt23052010 findet sich ein weiterer Ordner BuildingBlocksExperimental. Dieser enthält die Ausgangsbausteine VoltageRegulatorBuildingBlock.sch mit VoltageRegulatorBuildingBlock-cache.lib und  VoltageDetectorBuildingBlock.sch mit VoltageDetectorBuildingBlock-cache.lib. Die Projektdateien der Buildingblocks .pro sind nur der Vollständigkeit und zur leichteren Bearbeitung zugefügt. Aus VoltageDetectorBuildingBlock.sch und VoltageRegulatorBuildingBlock.sch wurde (nach umkopieren, umbenenen und kleiner Änderung) im übergeordneten Ordner das Projekt VoltageRegulatorBuildingBlock.pro unter verwendung des &amp;quot;Zwischenbuildingblocks&amp;quot; UnderVoltageDetectorBuildingBlock.sch zusammengesetzt. NICHT VERGESSEN DIE CACHE.LIB EINZUBINDEN! Sonst gibt es nur Fragezeichen statt Bauteile. Das Beispielprojekt enthält eine 24V Unterspannungsüberwachung für einen Bleiakku, die zwei 12V Gruppen überwacht. Nicht elegant, aber hoffentlich robust. Autor: Bernd Wiebus , GNU-GPL. Der dazubezügliche Beitrag im Forum ist: http://www.mikrocontroller.net/topic/178683#1724114&lt;br /&gt;
*[[Media:HierarchischeSchaltplaeneAlsBausteineInKicad_RevC_23Dec2013.pdf]] VERBESSERTE und AKTUALISIERTE Version von KiCad-HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf aus obiger Zip-Datei. Beschreibt, wie mit Hilfe der hierarchischen Schaltplanstruktur aus einzelnen, vorgefertigten Schaltplänen schnell und rationell neue Schaltpläne modular zusammengesetzt werden können. There is also a English translation of this tutorial about using hierarchical schematics as building blocks. You can get it here: [[Media:HierarchicalSchematicsAsBuildingblocksAtKiCad_RevC-EN_06May2015.pdf]]&lt;br /&gt;
* Eine Sammlung von gängigen Schaltungen mit den Längstreglern LM317 /LM78xx /LM79xx und dem Timer 555, die nach dem in obig erwänten Dokument KiCad_HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf beschriebenen Vorgehen als Building Blocks in KiCad verwendet werden können, findet sich unter: http://www.mikrocontroller.net/articles/KiCad#Building-Blocks&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Shortcuts/Hotkeys ===&lt;br /&gt;
&lt;br /&gt;
KiCad besitzt eine ganze Anzahl von Shortcuts/Hotkeys. Diese lassen sich editieren, abspeichern und importieren.&lt;br /&gt;
Dieses erfolgt in EEschema, dem Symboleditor und in PCBnew in der oberen Menueleiste unter &amp;quot;Einstellungen&amp;quot; &amp;gt; &amp;quot;Tastaturbefehle&amp;quot; (&amp;quot;Preferences&amp;quot; &amp;gt; &amp;quot;Hotkeys&amp;quot;). Dort finden sich weitere Menuepunkte, um eine Liste der verfügbaren Hotkeys anzuzeigen, die Hotkeys zu editieren oder um sie zu exportieren oder importieren.&lt;br /&gt;
&lt;br /&gt;
Eine &#039;&#039;&#039;Liste&#039;&#039;&#039; der aktuell verfügbaren Hotkeys erhält man mit &amp;quot;?&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Es gibt eine Reihe von Hotkeys, die in EEschema, dem Symboleditor und PCBnew gleich sind:&lt;br /&gt;
&lt;br /&gt;
*Help (this window)		?&lt;br /&gt;
*Zoom In			        F1&lt;br /&gt;
*Zoom Out			F2&lt;br /&gt;
*Zoom Redraw			F3&lt;br /&gt;
*Zoom Center			F4&lt;br /&gt;
*Fit on Screen			Home&lt;br /&gt;
*Reset Local Coordinates	Space&lt;br /&gt;
*Edit Item			E&lt;br /&gt;
*Delete Item			Del&lt;br /&gt;
*Rotate Item			R&lt;br /&gt;
*Drag Item			G&lt;br /&gt;
*Undo				Ctrl+Z&lt;br /&gt;
*Redo				Ctrl+Y&lt;br /&gt;
*Mouse Left Click		Return&lt;br /&gt;
*Mouse Left DClick		End&lt;br /&gt;
&lt;br /&gt;
Die anderen variieren je nachdem, in welcher Umgebung man sich befindet.&lt;br /&gt;
&lt;br /&gt;
Ein wichtiger Hotkey in PCBnew ist &amp;quot;T&amp;quot;. Wird &amp;quot;T&amp;quot; gedrückt, poppt ein Fenster auf, in dem nach dem Referenzbezeichner des Bauteils gefragt wird. Den gibt man ein, drückt &amp;lt;Enter&amp;gt; und der Footprint des Bauteiles hängt am Mauszeiger. Das ist eine wichtige Funktion beim &#039;&#039;&#039;Plazieren der Bauteile&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Eine PDF Datei mit Notizen zu den Shortcuts in KiCad und Listen von Shortcuts findet sich hier: [[Media:KiCad-Shortcuts-Hotkeys_Notizen_BZR4803_28Jun2014.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Lochraster/Lötleisten Platinen Entwurf mit KiCad ===&lt;br /&gt;
&#039;&#039;&#039;Dieses hier beschriebene Verfahren ist KiCad unabhängig und geht grundsätzlich mit jedem Layoutprogramm, das ein Raster anzeigen kann.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Wer viel mit Lochraster Platinen arbeitet, hat gelegentlich auch ein Bedürfnis, diese Tätigkeit mit einem Layoutprogramm zu begleiten. Zum einen um den Platzbedarf besser abschätzen zu können, zum anderen, um dadurch auch eine schnelle und einfache Dokumentation auch für Lochrasterprojekte zu schaffen. Auch dazu kann KiCad verwendet werden.&lt;br /&gt;
* Vorgehensweise: Schaltplan in Eeschema erstellen wie üblich, Netzliste erzeugen, und in CVpcp die Bauteile zuordnen. In PCBnew dann das Raster einblenden und auf 2,54mm (100mil) stellen. Nun geben die Rasterpunkte die Position der Löcher der Lochrasterplatine vor. Nach dem Einlesen der Netzliste bei Lochraster mit Streifenleitungen am besten zweiseitig manuell routen. Auf der Unterseite der Richtung der Streifenleitung in Längstrichtung folgen (z.b. wagerecht). Auf der Oberseite die Brücken dazu quer legen (z.B. senkrecht). Zweipolige Bauteile immer senkrecht oder wagerecht positionieren. &lt;br /&gt;
** Wer eine Platine erstellen möchte, die nur teilweise ein Lochraster aufweist, dem sei diese Diskussion empfohlen: https://www.mikrocontroller.net/topic/369534#new&lt;br /&gt;
* Noch ein Vorschlag für Lochraster bzw. Lötleistenentwürfe in KiCad: http://www.mikrocontroller.net/topic/395181#4547206&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: KiCad und Freeroute ===&lt;br /&gt;
Leider ist die Freeroute Seite abgeschaltet. Grund:http://www.mikrocontroller.net/topic/337014#new Allerdings gibt es eine Möglichkeit, Freeroute selber zu installieren und zu nutzen: https://github.com/nikropht/FreeRouting und http://freerouting.net/index_de.php &lt;br /&gt;
*Freerouting einseitig bzw. für Lochraster verwenden: http://www.mikrocontroller.net/topic/363335#new&lt;br /&gt;
*Fehlermeldungen beim Start von Freeroute: Es ist wichtig, dass der Leiterplattenumriss in der Lage edge.cuts geschlossen ist: https://www.mikrocontroller.net/topic/435039#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: KiCad und Specctra Autorouter ===&lt;br /&gt;
Es treten beim Export der Netzlisten/Designs Fehlermeldungen der Art: &amp;quot;IO_ERROR: Multiple components have identical reference IDs&amp;quot; auf, obwohl offensichtlich keine doppelten Referenzbezeichner vergeben wurden.&lt;br /&gt;
* Die &amp;quot;doppelten Referenzbezeichner&amp;quot; sind doch &amp;quot;irgendwie&amp;quot; versteckt vorhanden. Z.B. dadurch, das Bauteile nicht Referenziert oder Annotiert wurden. Im Zweifel die Files mit einem Texteditor danach durchsuchen, oder die Autoannotation über das Board laufen lassen. Siehe: https://www.mikrocontroller.net/topic/365185#new&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Platinen von ALLPCB ===&lt;br /&gt;
Hinweise, wie die Design Restrictions von ALLPCB in KiCad umgesetzt werden können, als Beispiel auch für andere Platinenhersteller (entsprechend anpassen)&lt;br /&gt;
* https://www.mikrocontroller.net/topic/443533#new&lt;br /&gt;
&lt;br /&gt;
= Bibliotheken =&lt;br /&gt;
&lt;br /&gt;
== Handhabung von Bibliotheken ==&lt;br /&gt;
&lt;br /&gt;
=== Eeschema ===&lt;br /&gt;
&lt;br /&gt;
* Symbolbibliotheken in Eeschema einbinden.&lt;br /&gt;
** Zur Benutzung müssen Bibliotheken mit Symbolen in das Bibliotheksverzeichnis von Eeschema eingetragen werden. Siehe: https://www.mikrocontroller.net/topic/416835 [[Bild:EeschemaBibliotheksliste.png|300px|thumb|right|Bearbeitung einer KiCad 4 Eeschema Bibliotheksliste]]&lt;br /&gt;
* Cache Bibliothek:&lt;br /&gt;
**  Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Aus diesem Grunde existiert zu jeder Schaltplandatei (Dateiname.sch) eine Cache Bibliothek (Dateiname-cache.lib). Diese enthält alle im Schaltplan verwendeten Symbole, und sollte darum mit dem Schaltplan zusammen übergeben werden. Diese Cache-Bibliothek sollte auch in die Bibliothekstabelle übernommen werden.&lt;br /&gt;
* Fehler mit Case-Senitiven Bibliotheken&lt;br /&gt;
** Ab BZR4646 (Jan./Feb. 2014) behandelt KiCad Symbolnamen &amp;quot;Case Sensitive&amp;quot;. Das führt zu Problemen mit älteren Schaltplänen, wo &amp;quot;Mixed Case&amp;quot; Symbolnamen aus den Bibliotheken automatisch in &amp;quot;Upper Case&amp;quot; Symbolnamen konvertiert wurden. Diese werden jetzt nicht mehr erkannt. Näheres siehe: http://www.mikrocontroller.net/articles/KiCad#Problem:_Case_Senitive_Symbols_ab_BZR4646_.28Jan..2FFeb._2014.29&lt;br /&gt;
&lt;br /&gt;
== Bibliothekssammlungen ==&lt;br /&gt;
&lt;br /&gt;
In diesem Abschnitt sollen unsere Arbeiten an Bibliotheken koordiniert werden. Dabei sollen alle Arbeiten unter der Creative Commons Lizenz stattfinden. Das heisst insbesondere, dass keine Arbeiten mit anderem Copyright unseren Bibliothekspool vergiften sollen z.&amp;amp;nbsp;B. durch unerwünschte Konvertierung von EAGLE-Bibliotheken.  &lt;br /&gt;
&lt;br /&gt;
Unsere Designziele sind:&lt;br /&gt;
* Frei benutzbar (Creative Commons Lizenz) &lt;br /&gt;
* Einheitlich (Richtlinien?)&lt;br /&gt;
** Vorschlag von Marko für Bohrungen und Pads siehe [http://www.mikrocontroller.net/topic/124070#1176177]&lt;br /&gt;
** Die Richtlinien, die die KiCad Librarys selber verwenden: [https://github.com/KiCad/kicad-library/blob/master/KiCad_Library_Convention.txt]&lt;br /&gt;
* Fehlerfrei (Nachkontrolle durch andere User)&lt;br /&gt;
&lt;br /&gt;
=== Wünsche ===&lt;br /&gt;
&lt;br /&gt;
Hier soll eine Strichliste geführt werden, welche neuen Bauteile gesucht sind bzw. welche oder besseren, genaueren Versionen benötigt werden. Bitte gebt an, was bei bestehenden Bauteilen problematisch ist.&lt;br /&gt;
&lt;br /&gt;
Bevor wir Bibliotheken erstellen, sollten auf jeden Fall einige Parameter - insbesondere für die Schaltplansymbole - festgelegt werden: Pinlänge, Pinabstand, Größe der Schriften, Konventionen bzw. Nummerierung (z.B. bei gepolten Bauteilen wie Dioden, Elkos usw.). Sonst entsteht Wildwuchs, weil jeder für sich anderes festlegt.&lt;br /&gt;
&lt;br /&gt;
* Stehende Layouts für 7805 und N-FETs: ||||&lt;br /&gt;
** Passt TO220_VERT ? Natürlich! Nur die Anschlussnumerierung muss ev. passend adaptiert werden. Ist unter &amp;quot;TO-220&amp;quot; in [[Media:KiCAD_Module_Footprints_3D_29Aug2014.zip]] enthalten. In allen Perversionen. Stehend, liegend, rumgedreht von der Rückseite usw....&lt;br /&gt;
* LPC21xx / LPC22xx / LPC23xx |&lt;br /&gt;
* EINE AVR ATmega-Bibliothek, wo ALLE Controller drin sind. ||||||||&lt;br /&gt;
* AVR XMegas |&lt;br /&gt;
* AT90CAN128 / allgemein mehr AVRs (MEGA &amp;amp; TINY) ||||||&lt;br /&gt;
* Wegen der AVRs und ATMEGAs: Bitte hier http://www.kicadlib.org/Fichiers/Kerusey_Karyu_Atmel_Library.html mal schauen, und den Wunsch auf den Typ konkretisieren! Der Atmelzoo ist so verwirrend vielfältig.....&lt;br /&gt;
** Leider ist die dazugehörige Bibliothek defekt.&lt;br /&gt;
** Ist aktualisiert worden und in die aktuelle KiCad Symbol Library eingeflossen: [https://github.com/KiCad/kicad-library/blob/master/library/atmel.lib]&lt;br /&gt;
*** Weitere Aktualisierungen und Erweiterungen: [https://github.com/KiCad/kicad-library/blob/master/library/atmel.dcm]&lt;br /&gt;
* Schaltregler (u.A. LM257x, LM267x, MC33063, L5973D) |||| Der MC33063 hat gleiches Pinning und Gehäuse wie MC34063! Darum kann der in http://www.mikrocontroller.net/wikifiles/8/84/Symbols_ICs-Diskrete_RevD9.lib verwendet werden.&lt;br /&gt;
* Spulen (z.&amp;amp;nbsp;B. diverse Wuerth) ||&lt;br /&gt;
* Drosseln (B82790 für CAN, Würth 744207) ||&lt;br /&gt;
* Transformatoren (allgemein) |&lt;br /&gt;
* Ferrite (7427930 - 32, 742792651, 74279263) |&lt;br /&gt;
** ??? Was genau ist nun Footprint und Referenzmaeßig der Unterschied zwischen Drosseln, Spulen und Ferriten, wenn ich jetzt mal davon ausgehe, das die Teile weder Anzapfung noch mehr als eine Wicklung haben (dann wären es Trafos oder Uebertrager), und die elektrischen Werte in ein Feld eingetragen werden?? Schau mal unten in http://www.mikrocontroller.net/wikifiles/d/da/KiCad_Module_Footprints_3D_16Sep2013.zip. Kleinere SMD-Entstörferrit Module lassen sich uebrigens aus Footprints für SMD-Widerstaenden zaubern, in dem man sie umbenahmt und mit der Referenz &amp;quot;L&amp;quot; versieht. ;-)&lt;br /&gt;
* STM32 Mikrocontroller Bibliothek (sofern möglich alle) ||||&lt;br /&gt;
* Arduinos ||&lt;br /&gt;
** Arduino Due ||&lt;br /&gt;
** Arduino Nano |&lt;br /&gt;
* Teensy |&lt;br /&gt;
** Teensy 3.5/3.6 |&lt;br /&gt;
** Teensy 4.0 |&lt;br /&gt;
&lt;br /&gt;
=== Entwürfe ===&lt;br /&gt;
&lt;br /&gt;
Neue Bibliotheken oder Änderungen sollen zunächst in diesem Abschnitt &lt;br /&gt;
vorgestellt werden. &lt;br /&gt;
&lt;br /&gt;
==== Symbolbibliotheken ====&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/96460#832961 ATmega3250/TQFP100] von Fred S. (Gast)&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/96460#844741 ATMega3290 im 100Pin-Gehäuse] von Fred S. (Gast)&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/132811#1205130 RFM12-Funkmodul] von Dominik C.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/133310#1210137 CAN Controller MCP2515 und Transceiver MCP2551] von Dominik C.&lt;br /&gt;
&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/394700#4540445 STLib für KiCad mit STM32F4x] von Markus W.&lt;br /&gt;
&lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevB-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1. Schaltplan Symbolbibliothek fuer KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind. Von Bernd Wiebus&lt;br /&gt;
&lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevC-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind. Aenderung gegenueber Rev.B: Kleinere Symbole hinzugefügt. Mit Vorsicht geniessen! Von Bernd Wiebus.&lt;br /&gt;
 &lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevD3-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind.  Aenderung gegenueber Rev.C: Kleinere Fehler beseitigt. CLD Symbol hinzugefuegt. Kuehlkoerper Symbol und Dummy-Symbol fuer Boardoutlines hinzugefuegt. Thyristor und Triac Symbol zugefuegt. Copyright Symbole GNU-GPL und CC zugefuegt. Mit Vorsicht geniessen! Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
 &lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevE8.lib]] AKTUELLE Version! Ersetzt die Rev. B, C und die Rev. D sowie Vorgängerversionen E1-E7! Schaltplan Symbolbibliothek für KiCad mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind.  Aenderung gegenueber Rev.D: Kleinere Fehler beseitigt. Ankerpunkte in die Nähe der Symetrieachsen verlegt. Verbinder DIN41612 / EN60603-2 &amp;quot;Eurokartenstecker&amp;quot; hinzugefügt. Große &amp;quot;BIG&amp;quot; Symbole entfernt und in der Datei BIG-SymbolsSimilarEN60617+oldDIN617-RevE.lib ausgelagert. Mit Vorsicht geniessen! Von Rene Belau und Bernd Wiebus.  CC-Zero/Public Domain!  Defektes Symbol &amp;quot;RESISTOR_RevE_Date15jun2010&amp;quot; repariert am 02. Maerz 2011. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
   &lt;br /&gt;
* [[Media:BIG-SymbolsSimilarEN60617+oldDIN617-RevE.lib]] Einige EN60617 oder der DIN 617 ÄHNLICHE Symbole in besonders GROSSER Ausführung. Vermutlich werden Sie diese GROSSEN Symbole eher NICHT benutzen wollen. Mit Vorsicht geniessen! Von Rene Belau und Bernd Wiebus. Unter GNU GPL. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/attachment/74203/obi.lib]] KiCad Symbol für einen ATMEGA644. Von obi&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ICs-Diskrete_RevD10.lib]] KiCad Symbole für einige diskrete ICs. Enthält L200 (Pentawatt Gehäuse), LM2587 (Pentawatt Gehäuse), Längstregler LM317, LM78xx, LM79xx, Timer NE555, NF-Verstärker LM1875 und TDA2003 (Pentawatt Gehäuse), Schaltregler UC38xx (DIP8/SO8 und DIP14/SO14), LM2587, MC34036, LM78S40 und MCP1640, Treiber MIC4422 (DIP8/SO8 und Pentawatt Gehäuse). Allegro Halleffekt Stromwandler Typ ACS754/ACS755/ACS756 und LEM Halleffekt Stromwandler der Serie &amp;quot;HX&amp;quot;. Programierbarer Oszillator Si570/Si571 sowie Quarzoszillator Typ KXO-200. Dazu Transistor Arrays BC847S und BC857S (in einfacher und in aufgelöster Darstellung) und Supressordioden Array SR05. Schieberegister 74HC4094 . Spannungs-/Laderegler uA723/LM723 in 14 und 20 poligem Gehäuse. HF/ZF Verstärker/Mischer/Demodulator TCA440 alias exDDR A244D, FM Frontend TA7358. Spannungsmonitor ICL7665. Autor Bernd Wiebus.  CC-Zero/Public Domain!  Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ICs-Opto_RevB_16Sep2013.lib]] KiCad Symbole für Optokoppler CNY17, IL300. IL388, TLP250, SFH617A-1, SFH617A-2, SFH617A-3, SFH617A-4, KPC357, LTV35x, und PC357. LWL Empfänger Toshiba TORX170 TORX173 TORX193  und TORX194 (Toslink). LWL Sender Toshiba TOTX170 TOTX173 TOTX193  und TOTX194 (Toslink). LWL Empfänger Agilent HFBR-252x und Sender Agilent HFBR-152x Serie (Versatile Link). 7 Segment Anzeigen HDSM531, HDSM533, LTS6760, LTS6780, SBC18-11EGWA. Autor Rene Belau und Bernd Wiebus. CC-Zero / Public domain. Mit VORSICHT geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Transformer-Diskrete_RevA.lib]] KiCad Symbole für einige diskrete Transformatoren. Coilcraft Q4434-B = Rhombus T1311 und Myrra-74040 ETD29. Autor: Bernd Wiebus. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_DCDC-ACDC-Converter_RevC_29Aug2014.lib]] KiCad Symbole für einige DCDC/ACDC-Converter. Enthält CINCON EC5BC12, CINCON EC6C11, TRACO TED-1212, TRACO TED-XXXX Dual Output, TRACO TED-XXXX Single Output, TRACO TEN10-1212, TRACO TEN10-XXXX, TRACO TME-XXXX, TRACO TMH-XXXX Single Output, TRACO TMH-XXXX Dual Output, sowie TRACO ACDC-Converter der TMLM Serie. BOTHHAND CF-Serie und DELTA DPS05U09D. Neu seit 29 August 2014: Floeth DCDC-Converter SD14-XXXX und SD18-XXXX. Autor: Bernd Wiebus. GNU-GPL. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_Socket-DIN41612_RevA.lib]] KiCad Symbole für DIN41612 Stecker und Buchsen (Die bekannten Eurokartenstecker). Autor: Bernd Wiebus. GNU-GPL. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_EN60617_13Mar2013.lib]] KiCad Symbole für die EN60617. Strikter als die Symbole aus SymbolsSimilarEN60617+oldDIN617-Rev~~.lib. Autor: Bernd Wiebus. CC-Zero/Public Domain! Mit Vorsicht geniessen! Hierzu gehört der Katalog: [[Media:Symbols_EN60617_13Mar2013.pdf]] Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_EN60617-10_HF-Radio_DRAFT_12Sep2013.lib]] HF-Blockschaltbild Symbole für KiCad. EXPERIMENTELL! Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain.  Hierzu gehört der Katalog: [[Media:EN60617-10_HF-Radio_SymbolCatalog_DRAFT.pdf]] Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_Microcontroller_Philips-NXP_RevA_06Oct2013.lib]] Symbole der NXP Microcontroller LPC2104, LPC2105 und LPC2106 fuer KiCad.  Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ORringController_RevA_03Aug2015.lib]] Symbole verschiedener ORing-Controller fuer KiCad. Enthält IR5001, ISL4166 (QFN20+TSSOP16) und LM5050/LM5051. Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de.&lt;br /&gt;
&lt;br /&gt;
* [https://forum.kicad.info/t/oktizer-octagonal-pads-and-vias-was-elektuur-style-symbol-library/34611 Klassische Elektor-ähnliche Symbole], angepasst an KiCad 5.1 und 6.0. Lizenz: CC0&lt;br /&gt;
&lt;br /&gt;
==== Modulbibliotheken ====&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD_Module_Footprints_3D_29Aug2014.zip]] Eine Sammlung von KiCad Modulen bzw. Footprints diskreter Bauteile. Neben den obligatorischen Rs, Cs und Ls sind Schrack und Omron Kartenrelais (die Footprints passen auch fuer andere Hersteller), diverse Dioden, Klemmen WAGO 236 (RM 5mm) Serie und WAGO 734 Serie, Sicherungshalter (Schurter und Bulgin) für 5x20 und 6x30, SMD Sicherungen 1206 und Sicherungen/Sicherungshalter TE5/TR5,Flachsicherungen Standard und Mini, Kuehlkoerper und Eurokartenoutlines enthalten. Zusaetzlich TO92, TO220, TO220-5 (Pentawatt) und TO247 Gehaeuse. Ebenso die vermissten PISN und PISR SMD Drosseln. Einige Throughhole C&amp;amp;D Bobin Drosseln, Bourns 3296, Spectrol Type 43 / Econtrim und Piher PT15 Trimmer . Potentiometer Alps RK16 und Spectrol Type 148/149. Transformatoren Coilcraft Q4434-B / Rhombus T1311 sowie ETD29 von Epcos und Myrra sind auch dabei. Eurokartenstecker/-buchsen DIN 41612 Typ B1, B2, C1, C2 und C3. Ebenfalls enthalten: GNU-GPL und Creative Commons  Symbole. Dazu Messpunkte. BNC-Buchse, Quarzoszillator, SMD Widerstände und Kondensatoren.  (0805, 1206, 2512) sowie experimentelle Universalfootprints SMD/Throughole. SMD-Dioden: MELF, Mini-MELF, SMA, SMB und SMC. Halleffekt Stromwandler mit Allegro CB-PFF, CB-PSF und CB-FSS Gehäusen.Dazu Stecker Molex Serie KK, Würth SMD Drosseln und Doppeldrosseln. Neosid Filter und Drosseln. TRACO ACDC-Converter der TMLM Seie und SOT23, SOT143, SOT143R, TSOT-6 / MK06A sowie SC70-6 SMD Footprints für Dioden, Transistoren bzw. Dioden und Transistor Arrays und kleinere ICs. Mini Universal Mate-N-Lock Steckersockel (Tyco/AMP). 2-6 Pin, vertikale und horizontale Typen. Verbesserte Fiducials und Logos. Dazu SMD-Tantalkondensatoren und ETAL NF-Transformatoren. TO50-3 und TO50-4 Gehäuse. 7 Segment Anzeigen. LQFP48/TQFP48 Gehäuse. Hallsonden Stromwandler mit Allegro CB-PFF, CB-PSF und CB-FSS Gehäusen. Halleffekt Stromwandler der Serie &amp;quot;HX&amp;quot; von LEM.  Neu in der Version vom 29. August 2014: Floeth DCDC-Converter SD14 und SD18. Fast alles ohne 3D Modelle, aber manchmal mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* Viel Standardkram in 3D: http://smisioto.no-ip.org/elettronica/kicad/kicad-en.htm&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD-Module_Buzzer_Beeper_RevA_25Oct2010.zip]] Einige Footprints von Summern /Buzzern / Beepern für KiCad. Enthaelt Kingstate KCG0601, Pro Signal ABI-009-RC, Pro Signal ABI-010-RC, Pro Signal ABT-410-RC, Star Micronics HMB-06/HMB-12 und Projects Unlimited AI-4228-TWT-R. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD-Module_CommonModeChoke_Wuerth_Type-WE-CMB_RevA_25Oct2010.zip]] Footprints der Gleichtaktdrosseln der Serie Würth WE CMB (through hole) für KiCad. Enthält die Verschieden Bauformen XS, S, M, L, XL und XXL. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:DCDC-ACDC-Converter_RevC_20Jul2012.zip]] Footprints von DCDC/ACDC-Convertern für KiCad. Enthält CINCON EC5BC12, CINCON EC6C11, TRACO TED-1212, TRACO TED-XXXX Dual Output, TRACO TED-XXXX Single Output, TRACO TEN10-1212, TRACO TEN10-XXXX, TRACO TME-XXXX, TRACO TMH-XXXX Single Output, TRACO TMH-XXXX Dual Output, BOTHHAND CF-Serie und DELTA DPS05U09D. Neu seit 20 Juli: TRACO ACDC-Converter der TMLM Serie. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Opto-Devices_RevC_03Oct2012.zip]] Footprints von Optoelectronischen Bauteilen für KiCad. Enthält 6 Polige DIL Footprints für CNY17, auch in &amp;quot;wide&amp;quot;, SMD Optokoppler Footprints (1 Kanalig) und Footprints für Toshiba (Toslink) und Agilent (Versatile Link) LWL Ssender und Empfänger. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Pentawatt_RevB_24Oct2012.zip]] Footprints von Pentawatt Gehäusen für KiCad. Enthält verschiedene Ausführungen der TO220-5 Gehäuse in gerade und verkröpft, sowie stehend und liegend. Mit 3D-Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:Transistor_TO-220_RevB_03Sep2012.zip]] Footprints von TO220-3 Gehäusen für KiCad. Enthält verschiedene Ausführungen der TO220 Transistor Gehäuse in  stehend und liegend. Mit 3D-Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! CC-Zero/Public domain! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:Transistor_TO-247_RevC.zip]] Footprints von TO247 Gehäusen für KiCad. Enthält verschiedene Ausführungen der Transistor Gehäuse in  stehend und liegend. Mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! CC-Zero/Public domain! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/topic/176405#new]] KiCad Modul / Footprint für ein TSSOP38 Gehäuse. Autor Raphael Reu.&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/topic/190088#1856759]] Texas Instruments TPIC8101 Klopfsensor Interface (für Verbrennungsmotoren). Autor Peter Diener.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IR-directFET_Packages_RevB.zip]] Footprints von directFET SMD-Transistor Gehäusen von International Rectifier für KiCad. Enthält die SH, SJ, SQ, ST, S1, MN, MP, MT, MX, MZ und die L8-Outline. Nähere Informationen in den Datenblättern betroffener Transistoren und in der International Rectifier Applikationsnotiz AN-1035. &amp;quot;directFET&amp;quot; ist übrigens eine Handelsmarke von International Rectifier und die Gehäuse sind proprietär. Also vorsichtig sein und an &amp;quot;second source&amp;quot; denken. Mit 3D Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter CC-Zero / Public domain. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Neosid-Devices_Coils_Filters_25Apr2012.zip]] Footprints von NEOSID Bauteilen. Spulen, Luftspulen, Filter ec. für KiCad. Through hole und SMD. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT23_SOT143_SOT143R_TSOT6_MK06A_SC70-6_Housing_14Mar2014.zip]] Footprints von SOT23, SOT143, SOT143R, TSOT-6 /MK06A und SC70-6 SMD Gehäusen, wie sie oft für Dioden und Transistoren, aber auch Dioden und Transistor Arrays verwendet werden. Auch ICs findet man in der Bauform. Es sind Standard Footprints und spezielle für Handlötung vorhanden. KiCad Legacy Format und neues .pretty Format. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:MiniUniversalMate-N-LokSockets_13Aug2012.zip]] Footprints von Mini Universal Mate-N-Lok Steckersockeln (Tyco/AMP). 2-6 Pin, verticale und horizontale Typen. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:NF-Transformer_ETAL_RevA_28Aug2012.zip]] Footprints und 3D-Mesh Modelle von NF-Transformatoren der Firma ETAL (http://www.etalgroup.com). SMD und THT Typen. Mit PDF-Ausdruck zur leichteren Identifikation. In der Bibliothek ist auch der bekannte Übertrager ETAL P1200, der von Box73 (http://www.box73.de) vertrieben wird. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de &lt;br /&gt;
&lt;br /&gt;
* [[Media:TantalCapacitors_SMD_RevA_28Aug2012.zip]] Footprints von Tantal Kondensatoren SMD Größe A bis E (EIA-3216, EIA-3528, EIA-6032, EIA-7343 und EIA-7360). Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Ohne Garantie und unter GNU-GPL. Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT89-3_SOT89-5_Housing_RevA_02Sep2012.zip]] Footprints und 3D-Mesh Modelle von SOT89-3 und SOT89-5 SMD Gehäusen. Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT126_SOT32_Housings_RevA_22Oct2012.zip]] Footprints und 3D-Mesh Modelle von SOT126 / SOT32 Gehäusen. Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Allegro_HallSensors_24Oct2012.zip]] Footprints und 3D Modelle von Allegro Hall-Effect Stromsensoren mit PFF, PSF oder PSS Gehäuse (ACS754, ACS755, ACS756).  Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:VML0806_Housing_Rohm_27Oct2012.zip]] Footprints und 3D Modell eines Transistors im 0806 Format (VML0806 / Rohm).  Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:TO-50_Housings_RevA_21Apr2013.zip]]  Footprints/Module von TO50-3 und TO50-4 Transistor Gehäusen.Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:OldSowjetAera_Transistor_RevA.zip]] Footprints/Module von Kleinleistungstransistoren aus der Sowjetära.Mit 3D-Modell und PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:SIP9_Housing_14Jun2013.zip]] Footprints/Module von SIP9 Gehäusen (z.B. TA7358).Mit 3D-Modell und PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:7Segment_16Sep2013.zip]] Footprints/Module von 7-Segment Anzeigen HDSM531 (SMD), HDSM533 (SMD), LTS6760, LTS6780 undSBC18-11EGWA. Dazu PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:BNC-Sockets_RevA.zip]] Footprints/Module von TYCO BNC-Buchsen für KiCad. Mit 3D Modellen und PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:LQFP_TQFP_RevA_06Oct2013.zip]] Footprints/Module von LQDP48/TQFP48 Gehäuseb für KiCad. Ohne 3D Modelle, aber mit PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:LEM_HallEffectTransducers_RevA_13Oct2012.zip]] Module/Footprints von Halleffekt Stromwandlern der Serien &amp;quot;HX&amp;quot; und &amp;quot;HTFS&amp;quot; von LEM. Mit 3D-Modellen  und PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
==== 3D-Modelle ====&lt;br /&gt;
&lt;br /&gt;
* [[Media:MeshModells_VRML-Wings3D_13Oct2013.zip]]  3D-Modelle diverser elektronischer Bauteile im wrl 2.0 und wings Format. Enthalten: DD-PAK (TO263AB), D-PAK (TO252AA), SMD Dioden MELF, MiniMELF, SMA, SMB und SMC, Transformatoren ETAL P1165, P1200, P2781, P3000, P3181, PP3188 und P3191, SO126 / SOT32 in horizontal und vertikal, SOT223-3, TO263-3, SOT89-3, SOT89-5, TO220 horizontal und vertikal und reverse. TO220-5 horizontal, vertical, inline und verkröpft, VML0806. SIP9. 7 Segment SMD Anzeige HDSM531/HDSM533 in Grün, gelb, rot und orange. directFET SMD-Transistor Gehäusen von International Rectifier für KiCad. Enthält die SH, SJ, SQ, ST, S1, MN, MP, MT, MX, MZ und die L8-Outlines. Flachsicherungen Standard und Mini. Halleffekt Stromwandler LEM &amp;quot;HX&amp;quot; Serie und Allegro ACS754/ACS755/ACS756 mit CB-PFF, CB-PSF und CB-FSS Gehäusen. Ohne Garantie und unter CC-Zero / Public Domain Lizenz. Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
==== Building-Blocks ====&lt;br /&gt;
*[[Media:BuildingBlocks_16Jun2013.zip]] enthält eine Sammlung von gängigen Schaltungen mit den Längstreglern LM317 /LM78xx /LM79xx und dem Timer 555, die nach dem in diesem [[Media:HierarchischeSchaltplaeneAlsBausteineInKicad_RevC_23Dec2013.pdf]] Dokument beschriebenen Vorgehen als Building Blocks in KiCad verwendet werden können. Ein Katalog dazu befindet sich hier: [[Media:KatalogUeberKiCadBuildingBlocks_21Apr2013.pdf]]. Autor: Bernd Wiebus, Lizenz: Creative Commons. Experimentell! Ohne Garantie! Mit Vorsicht geniessen!&lt;br /&gt;
&lt;br /&gt;
Wenn mindestens ein weiterer KiCad User die Bibliothek geprüft hat, kann sie in den folgenden Unterabschnitt verschoben werden.&lt;br /&gt;
&lt;br /&gt;
=== Geprüfte ===&lt;br /&gt;
&lt;br /&gt;
Hier sollen geprüfte Bibliotheken gesammelt werden. Bitte angeben, wer die Prüfung gemacht hat.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/132288#new STM32F103xx (LQFP64) Schaltplansymbol] erstellt/geprüft: Dominik C.; Marko S.&lt;br /&gt;
* Bei der STMF103xx fehlt glaub ich der Portpin PD2 :) Grüße :)&lt;br /&gt;
&lt;br /&gt;
=== Sonstige Bibliotheken im Netz ===&lt;br /&gt;
&lt;br /&gt;
Die Einträge hier sind nach [[KiCad-Bibliotheken#Bibliotheken_im_Netz|KiCad-Bibliotheken im Netz]] verschoben worden. &#039;&#039;&#039;Bitte Überarbeitungen und neue Einträge nur dort vornehmen!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bitte diesen Unterpunkt &#039;&#039;&#039;nicht Löschen&#039;&#039;&#039;, da es Verweise aus dem Forum oder von sonstwo geben mag, die sonst ins Leere laufen, ohne eine Erklärung für den User.&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Werkzeuge ==&lt;br /&gt;
&lt;br /&gt;
Da die in KiCad verwendeten Dateien klarschriftlesbar sind, lassen sie sich sehr leicht mit externen Programmen und Skripten bearbeiten, um spezielle Funktionalitäten zu erzeugen. Eine kleine Auswahl an Programmen/Skripten ist hier zusammengestellt:&lt;br /&gt;
&lt;br /&gt;
* Zuallererst: Mittlerweile hat sich rund um KiCad eine ganze Reihe von Hilfsprogrammen etabliert. Einige davon können über die offizielle KiCad Site gefunden werden: [http://kicad.org/external-tools/ KiCad-External Tools]. Zurzeit (04Oct2019) sind dort [https://github.com/easyw/kicadStepUpMod/ KiCad StepUp] als Plugin für FreeCAD, [https://github.com/xesscorp/KiCost KiCost] zur Tabellenkalkulationserstellung und Kostenermittlung aus KiCad-Schaltplänen, [https://github.com/thesourcerer8/altium2kicad Altium2KiCad] um aus Altium PCBs und Schaltplänen solche für kiCad zu erstellen, [http://neo900.org/stuff/eeshow/ EEschow] zur Konvertierung von KiCad-Schaltplänen in verschiedene Grafikformate, sowie [[Schaltplaneditoren#Fped|Fped]], mit dem sehr komfortabel Footprints für KiCad erstellt werden können, gelistet.&lt;br /&gt;
* [http://kicad.rohrbacher.net/quicklib.php Quick KICAD Library Component Builder]&lt;br /&gt;
* Gerber-Tools sind für KiCad weniger nötig, da KiCad mit GerbView seinen eigenen Gerberviewer mitbringt. Dieser ist mächtig genug, die eingelesenen Gerberfiles als Platine in PCBnew zu exportieren, wo sie manipuliert werden können. Dieses geht aber nur mit Gerber-RS274X Daten. Ebensowenig können Gerberfiles zu Nutzen zusammengefügt werden. Hierzu bietet sich &amp;quot;Gerbmerge&amp;quot; http://ruggedcircuits.com/gerbmerge (http://claymore.engineer.gvsu.edu/~steriana/Python/gerbmerge/ Veraltet) an. Wer lediglich aus Sicherheitsgründen die von KiCad erzeugten Gerberdaten mit einem fremden Gerber-Vierer inspizieren möchte, findet hier Hinweise:http://www.mikrocontroller.net/articles/Gerber-Tools&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/204063#2011138 KiCad (Multi-)Symbol Tool] von Joghurt3000 zur Erstellung von Symbolen aus einer Textvorlage&lt;br /&gt;
* [http://cyclerecorder.org/footprintbuilder Footprintbuilder] Java-Programm zu Erstellung von Footprints.&lt;br /&gt;
*Wer seine Platine &amp;quot;panelisieren&amp;quot; (d.h. mehrmals nebeneinander anordnen um in einem &amp;quot;Nutzen&amp;quot; gleich mehrere Platinen fertigen zu können) möchte, kann das mit dem Python 2 Skript &amp;quot;panelize.py&amp;quot; tun. Das Programm arbeitet direkt auf den kicad .brd Files, so das das Mehrfachnutzen Board unter PCBnew nachbearbeitet werden kann, für z.B. einen  DRC. &amp;quot;panelize.py&amp;quot; kann hier bezogen werden: http://blog.borg.ch/?p=12&lt;br /&gt;
* &amp;quot;Raef&amp;quot; hat ein Python Script erstellt, das Bauteile automatisch ähnlich der Anordnung im Schaltplan plaziert. Siehe: http://www.mikrocontroller.net/topic/293903#3245990&lt;br /&gt;
*Wer die Reihenfolge der Subschaltpläne ändern will (Wegen Übersichtlichkeit/Bestimmt auch die Reihenfolge beim Ausdrucken), kann dieses Python 3 Skript verwenden (Liesmich/Readme beachten): http://www.mikrocontroller.net/wikifiles/9/90/PyKicadSchematic-ID_Interchanger_RevC.zip Autor: Bernd Wiebus, GNU-GPL. Dieses Skript ist unabhängig von der PCBnew internen Python 2 Schnittstelle.&lt;br /&gt;
* Um ältere Schaltpläne von vor Jan./Feb. 2014 (BZR4646) mit &amp;quot;upper case&amp;quot; Symbolnamen zu konvertieren, kann dieses Python 3 Skript verwendet werden: [[Media:PyKiCad-CaseSensitiveLibCure_RevD_13Apr2015.zip]]. Autor: Bernd Wiebus, GNU-GPL. Dieses Skript ist unabhängig von der PCBnew internen Python 2 Schnittstelle.&lt;br /&gt;
* Wem das Tricksen mit Dateimanager oder Schematic oder Board als Bibliotheksmanager nicht gefällt, findet vieleicht im &amp;quot;KiCad Libarian&amp;quot; ein passendes Tool: http://www.compuphase.com/electronics/kicadlibrarian_en.htm&lt;br /&gt;
* Diverse Skripte, um KiCad Symbole, Footprints oder sonstigen Bibliothekskram zu bearbeiten. [https://github.com/KiCad/kicad-library-utils]&lt;br /&gt;
* Cirillo Bernardo hat einige Programme geschrieben, um VRML 3D Gitter Modelle für Bauteile parametrisch zu erzeugen. Sie finden sich hier: https://github.com/cbernardo/kicad3Dmodels&lt;br /&gt;
* Peter Hofbauer hat einige Windows Programme geschrieben, die zur KiCad Unterstützung dienen: http://www.hcp-hofbauer.de/software.htm Bei den Programmen handelt es sich um &amp;quot;Aufräumprogramme für Bibliotheken, Stücklistenerzeugung, Extraktionsprogramm um eine Verdrahtungsliste aus einer Netzliste zu erzeugen, Ein Programm um Boherdurchmesser zu vereinheitlichen und ein Programm, um zusammen mit &amp;quot;Linegrinder&amp;quot; G-Code aus KiCad Boarddateien zu erzeugen. &lt;br /&gt;
* [http://escalalibre.com/edwt/kicad_sizeConverter.php KiCad Bitmap2Component Skalierer] Erlaubt es, Logos zu skalieren.&lt;br /&gt;
* [http://escalalibre.com/edwt/kicad_modTextChanger.php KiCad Module Text Changer]&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/381605?reply_to=4346454#4346280 KiCad Symbol Generator Tool] KiCad Symbol Generator Tool als Python Skript&lt;br /&gt;
* [https://github.com/tlantela/KiCad_layout_cloner/blob/master/layout_cloner.py KiCad Layout Cloner] Python Skript. Siehe http://www.mikrocontroller.net/topic/382657#4363261&lt;br /&gt;
* [https://forum.kicad.info/t/kicad-stepup-the-sketcher-for-getting-to-blinky/7826] StepUp, eine Workbench für FreeCAD (ein open source 3D CAD Program) um den Import und Export von mecanichen CAD Daten von KiCad zu erleichtern.&lt;br /&gt;
* [https://hasanyavuz.ozderya.net/?p=256 Ein Backannotationstool für KiCad] als Pythonskript&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/450655#new Ein Tool, um per Skripting Messpunkte für einen Nadelbettadapter zu erzeugen.] Geht von Gerberdaten aus, die in KiCad importiert werden&lt;br /&gt;
&lt;br /&gt;
== Konverter ==&lt;br /&gt;
&lt;br /&gt;
Konverter wandeln KiCad-Daten in die Daten anderer Layoutprogramme bzw. die Daten anderer Layoutprogramme in KiCad-Daten um.&lt;br /&gt;
Nativ kann KiCad gEDA Footprints bzw. neuere Eagle Footprints direkt als Bibliothek einbinden. Das ganze ist aber als noch sehr experimentell zu betrachten.&lt;br /&gt;
&lt;br /&gt;
Des Weiteren gibt es einige Programme oder Skripte von dritter Seite, die Daten anderer Layoutprogramme in KiCad Daten umwandeln. Auch diese sind als experimentell einzustufen.&lt;br /&gt;
&lt;br /&gt;
Hier eine Auswahl:&lt;br /&gt;
* https://github.com/thesourcerer8/altium2kicad Wandelt Altium Schaltpläne und Layouts in KiCad Daten um.&lt;br /&gt;
* https://github.com/DanChianucci/Eagle2Kicad Wandelt Eagle 6.0 Layouts in KiCad Layouts.&lt;br /&gt;
* https://github.com/lachlanA/eagle-to-kicad Wandelt Eagle 6.0 Layouts in KiCad Layouts.&lt;br /&gt;
* http://www.cadsoft.de/downloads/file/eagle2kicad-0.9c.ulp Direkt von der Cadsoft Seite, ein ULP das Eagle Daten in KiCad Daten wandelt.&lt;br /&gt;
* http://www.cadsoft.de/downloads/file/eagle2kicad_sch.ulp Ebenfalls direkt von der Cadsoft Seite, ein ULP, das Eagle Schaltpläne in KiCad Schaltpläne wandelt.&lt;br /&gt;
* http://sourceforge.net/projects/pcad2kicad/ Wandelt P-CAD Schaltpläne, Layouts und Bibliotheken in KiCad Daten um.&lt;br /&gt;
* Gerber_Settings    [https://www.mikrocontroller.net/attachment/319118/originpoint.png originpoint]     [https://www.mikrocontroller.net/topic/319266?page=5#4891032 Gerber_Settings] [https://www.mikrocontroller.net/attachment/319192/Bohrdatei.png Drill_Files_Generation]&lt;br /&gt;
* https://github.com/mtl/svg2mod Tool, welches SVG in KiCad Board Layers wandelt. Einleitende Informationen finden sich hier: https://www.mikrocontroller.net/topic/440552#5234307&lt;br /&gt;
* https://github.com/thesourcerer8/altium2kicad Altium2KiCad um Altium Projekte in KiCad Schaltpläne und Boards zu konvertieren.&lt;br /&gt;
&lt;br /&gt;
Erfahrungsberichte willkommen!&lt;br /&gt;
&lt;br /&gt;
= Beispielprojekte =&lt;br /&gt;
&lt;br /&gt;
Projekte, die mit KiCad umgesetzt worden sind, finden sich auf der [[KiCad-Projekte|KiCad-Projektseite]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- alt -- &lt;br /&gt;
= Diskussionen (teilweise seeeehr alt) =&lt;br /&gt;
&lt;br /&gt;
* http://www.mikrocontroller.net/topic/120373#1089075 &lt;br /&gt;
* http://www.mikrocontroller.net/topic/98034#848559&lt;br /&gt;
* http://www.mikrocontroller.net/topic/95864#828660&lt;br /&gt;
* http://www.mikrocontroller.net/topic/77738#647041&lt;br /&gt;
* http://www.mikrocontroller.net/topic/103806#907523&lt;br /&gt;
* http://www.mikrocontroller.net/topic/41999#316195&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Weblinks =&lt;br /&gt;
&lt;br /&gt;
* [http://www.kicad.org kicad.org] Die neue Homepage&lt;br /&gt;
* [http://kicad.org/help/documentation/ Offizielle Dokumentation]&lt;br /&gt;
* [https://bugs.launchpad.net/kicad Bugreports] erstellen und nach vorhandenen Fehlern suchen, wenn einem etwas komisch vorkommt.&lt;br /&gt;
&lt;br /&gt;
* Tutorials: &lt;br /&gt;
&amp;lt;!-- alt -- ** [http://kicad.sourceforge.net/wiki/index.php/DE:Mini_tutorial Mini-Tutorial] --&amp;gt;&lt;br /&gt;
** [http://timogruss.de/kicad-loesung-fuer-die-leiterplatten-entwicklung/ KiCad Tutorial auf timogruss.de] (deutsch) (2013)&lt;br /&gt;
** https://www.youtube.com/watch?v=XD_PaSrLKBk Schematic Pages and Hierarchy In KiCad - Hierarchischer Schaltplan (2014)&lt;br /&gt;
** https://www.youtube.com/watch?v=YCdpXwRKbYc Create a library and put your own component in that library. (2014)&lt;br /&gt;
&amp;lt;!-- alt --&lt;br /&gt;
** http://store.curiousinventor.com/guides/kicad&lt;br /&gt;
** https://contextualelectronics.com/course/kicad-tutorial/ (Video Tutorials auf Englisch)&lt;br /&gt;
** http://xtronics.com/reference/kicad.html --&amp;gt;&lt;br /&gt;
** http://bastler-archiv.de/elektronik/platinenherstellung-platinenlayout-mit-kicad-teil-1/ (deutsch, Teil 1) (2011)&lt;br /&gt;
** http://bastler-archiv.de/elektronik/platinenherstellung-platinenlayout-mit-kicad-teil-2/ (deutsch, Teil 2) (2011)&lt;br /&gt;
** http://www.kramann.info/73_COACH3/06_Layouting/Layouting_art_Guido_Kramann_12122010.pdf (2010)&lt;br /&gt;
** [https://rheingoldheavy.com/category/education/kicad/ KiCad Tutorials zum Workflow, Migration alter KiCad Versionen und zu Stücklisten (RheingoldHEAVY, auf englisch)] (2015)&lt;br /&gt;
&amp;lt;!-- alt -- ** [http://roberthall.net/Wings3D_Tutorial_KiCad Tutorial zur Benutzung von Wings3D im KiCad Umfeld (englisch)] --&amp;gt;&lt;br /&gt;
** https://www.youtube.com/watch?v=i4vLxAoLvPk Video Tutorial auf Deutsch. Relativ aktuell.&lt;br /&gt;
&lt;br /&gt;
* Info&lt;br /&gt;
** [https://kicad.mmccoo.com/kicad-scripting-table-of-contents/ Python Scripting for KiCad] und [http://docs.kicad.org/doxygen-python/namespacepcbnew.html Befehlsliste]&lt;br /&gt;
** [https://wiki.aalto.fi/display/MEX/Introduction+to+KiCad] Ein paar Tips am Rande (2014)&lt;br /&gt;
** [http://www.daedalus.ei.tum.de/index.php/de/3d-druck-cnc/cnc/layout-und-g-code-erstellung-mit-kicad] Info für Leute, die Platinen durch Isolationfräsen statt ätzen erstellen&lt;br /&gt;
** [http://davidetienne.me/blog/2015/10/05/kicad-convert-ti-bxl-cad-files-to-kicad-libraries/] Ein Weg, um Libraries, die im Texas Instruments Format &amp;quot;.bxl&amp;quot; vorliegen, in KiCad Bibliotheken zu konvertieren. (2015)&lt;br /&gt;
&lt;br /&gt;
* Usergroups:&lt;br /&gt;
** [https://groups.yahoo.com/neo/groups/kicad-users/info Yahoo-KiCad-User-Group (Englischsprachig)]&lt;br /&gt;
** [https://forum.kicad.info/ Endlischsprachiges KiCad Forum]&lt;br /&gt;
&amp;lt;!-- alt -- ** [http://1.cad-kicad-user.cadtalk.us/ Englischsprachige Diskussionen über KiCad im &amp;quot;Cadtalk&amp;quot;-Forum] Leider nicht mehr existent. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tools&lt;br /&gt;
** [http://www.freerouting.net/ Freerouting] Autorouter (down: Download siehe [https://www.mikrocontroller.net/articles/KiCad#Tipps.26Tricks:_KiCad_und_Freeroute Tipps und Tricks])&lt;br /&gt;
** [http://www.mikrocontroller.net/articles/KiCad#Tools Liste mit externen Programmen und Skripten im Zusammenhang mit KiCad]&lt;br /&gt;
&lt;br /&gt;
* Verschiedenes im Zusammenhang mit KiCad&lt;br /&gt;
** [https://github.com/KiCad/kicad-library/wiki/Kicad-Library-Convention Kicad Library Convention / Regeln für offizielle KiCad Bibliotheken (Englisch)]&lt;br /&gt;
** [http://www.compuphase.com/electronics/LibraryFileFormats.pdf Aufbau der unterschiedlichen KiCad Bibliotheks Files (englisch)]&lt;br /&gt;
** [http://www.ohwr.org/projects/cern-kicad/wiki/WorkPackages CERN KiCad development roadmap / Was ist in KiCad Entwicklung geplant? (englisch)]&lt;br /&gt;
** [http://home.web.cern.ch/about/updates/2015/02/kicad-software-gets-cern-treatment Warum das CERN KiCad unterstützt (englisch)]&lt;br /&gt;
** [https://www.youtube.com/watch?v=chejn7dqpfQ Video mit der Leiterbahnlängenanpassen Funktion bzw. der &amp;quot;Differential pair&amp;quot; Funktion in KiCad.]&lt;br /&gt;
** [http://www.youtube.com/watch?v=irqlrVUbjuQ Video mit dem interaktiven Router]&lt;br /&gt;
&lt;br /&gt;
* Plattformen&lt;br /&gt;
&amp;lt;!-- alt -- ** Mac: http://brokentoaster.com/kicad/ --&amp;gt;&lt;br /&gt;
**Ubuntu: [http://www.mikrocontroller.net/topic/257321#2658268 KiCad selber compilieren] (2012)&lt;br /&gt;
** http://wiki.xtronics.com/index.php/Kicad Transtronics site (englisch)&lt;br /&gt;
&lt;br /&gt;
* HowTo von Tom Boyd (englisch)&lt;br /&gt;
** http://kicadhowto.wikidot.com/&lt;br /&gt;
** http://kicadhowto.org/&lt;br /&gt;
&lt;br /&gt;
* [https://hasanyavuz.ozderya.net/?p=256 PCB back annotation in KiCAD with Python]&lt;br /&gt;
&lt;br /&gt;
= Literatur =&lt;br /&gt;
* &#039;&#039;&#039;KiCad wie ein Profi&#039;&#039;&#039;, von Dr. Peter Dalmaris, Elektor-Verlag, 1. Auflage 2019, ISBN 978-3-89576-341-0&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=      =&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:KiCad]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Optokoppler&amp;diff=107606</id>
		<title>Optokoppler</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Optokoppler&amp;diff=107606"/>
		<updated>2025-08-08T05:49:51Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Alternative Technologien */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
Optokoppler dienen zur Kopplung elektronischer Schaltungen mit Hilfe von Lichtenergie. In einem Optokoppler befindet sich ein Lichtsender ([[LED]], meist Infrarot) und ein Lichtempfänger (z.&amp;amp;nbsp;B. [[Lichtsensor / Helligkeitssensor|Fototransistor]]), welche durch einen sehr kurzen Lichtleiter verbunden sind. Die elektrische (galvanische) Trennung zwischen Eingang und Ausgang ermöglicht Kopplung von Schaltungen sehr unterschiedlichen Spannungsniveaus. Das ist notwendig bei gefährlich hohen Spannungen, störverseuchten Umgebungen oder zur Verhinderung von Masseschleifen. Neben Optokopplern mit Fototransistoren als Lichtempfänger gibt es Typen mit Fotodioden oder Triacs. Typen mit Photodioden sind dabei wesentlich schneller als Transistor- und Triactypen. Ausserdem gibt es noch komplett integrierte Typen, welche ohne weitere Beschaltung wie ein normaler digitaler IC verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
Die meisten Optokoppler sind nur für digitale Signale nutzbar. Zur elektrischen Trennung von analogen Signalen eignen sich spezielle Optokoppler. Diese haben meist zwei Photoempfänger, meist Photodioden. Eine Photodiode dient als [[Galvanische Trennung | galvanisch getrennter Ausgang]], die Zweite als Vergleichsausgang zur Kompensation von Unlinearitäten, Drift- und Alterungseffekten. Durch diese lässt sich eine Regelung aufbauen die die Vergleichsspannung proportional zur Eingangsspannung einstellt. Dadurch ist die Übertragungsfunktion des Optokopplers als linear anzusehen. Daher wird im Zusammenhang mit analogen Optokopplern häufig auch von linearen Optokopplern gesprochen. Für gemäßigte Ansprüche kann man aber auch mit normalen, digitalen Optokopplern analoge Signale übertragen.&lt;br /&gt;
&lt;br /&gt;
== Beschaltung ==&lt;br /&gt;
&lt;br /&gt;
Optokoppler sind relativ leicht nutzbar. Sie bieten ausserdem die Möglichkeit, das Signal bei der Übertragung zu invertieren. Nachfolgend sind drei Grundschaltungen gezeigt. Links nichtinvertierend, in der Mitte mit Invertierung am Eingang und rechts mit Invertierung am Ausgang, das ist die häufigste Schaltung.&lt;br /&gt;
&lt;br /&gt;
[[bild:optokoppler_grundschaltungen.png]]&lt;br /&gt;
&lt;br /&gt;
Wie berechnet man nun die Widerstände für die [[LED]] und den [[Transistor]] am Ausgang? Recht einfach. Zunächst muss man den Strom durch die LED festlegen, hier hilft auch das Datenblatt. Typische Werte liegen zwischen 5-20mA. Die Berechnung des Vorwiderstands erfolgt gemäß Beschreibung im Artikel [[LED]], wobei die Flußspannung meist 1,2-1,5V beträgt. Der Arbeitswiderstand am Ausgang berechnet sich wie folgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; R_A = \frac{Vcc \cdot SF}{I_{LED} \cdot CTR }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* R_A : Arbeitswiderstand&lt;br /&gt;
* Vcc: Betriebsspannung am Ausgang&lt;br /&gt;
* CTR: Stromübertragungsfaktor (engl. &#039;&#039;&#039;C&#039;&#039;&#039;urrent &#039;&#039;&#039;T&#039;&#039;&#039;ransfer &#039;&#039;&#039;R&#039;&#039;&#039;atio)&lt;br /&gt;
* SF: Sicherheitsfaktor&lt;br /&gt;
&lt;br /&gt;
Dabei muss man im Datenblatt nach dem &#039;&#039;&#039;minimalen&#039;&#039;&#039; CTR suchen, der ist abhängig von dem speziellen Typ, Temperatur und ggf. vom LED-Strom. Als Sicherheitsfaktor sollte man mindestens 2 wählen, weil die gängige Definition der Lebensdauer einer LED bzw. Optokopplers auf die halbe optische Leistung ausgelegt ist. Wenn man die LED jedoch deutlich unter dem Nennstrom betreibt (50% und weniger), erhöht sich die Lebensdauer beachtlich, Faktor 10 und mehr ist möglich. Praktisch wird man einen Sicherheitsfaktor zwischen 2-5 wählen.&lt;br /&gt;
Aber auch hier muss man Kompromisse eingehen. Denn um die maximale Geschwindigkeit eines Optokopplers zu erreichen, muss man meist mit Nennstrom und minimalem Arbeitswiderstand arbeiten. Hier sind dann die High Speed Optokoppler mit aktivem Empfänger und Verstärker deutlich im Vorteil (z.B. 6N137). Bei Optokopplern mit Transistorausgang und herausgeführtem Basisanschluß kann man durch einen passenden Widerstand zwischen Basis und Emitter vor allem die Abschaltgeschwindigkeit deutlich steigen, allerdings auf Kosten der Empfindlichkeit.&lt;br /&gt;
&lt;br /&gt;
== Geläufige Typen == &lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} class=&amp;quot;wikitable sortable&amp;quot; id=&amp;quot;transistors-npn&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:8em&amp;quot; | Bezeichnung&lt;br /&gt;
! Gehäuse&lt;br /&gt;
! Vce (max)&amp;lt;br&amp;gt;[V]&lt;br /&gt;
! Vsupply&amp;lt;br&amp;gt;[V]&lt;br /&gt;
! CTR&amp;lt;br&amp;gt;[%]&lt;br /&gt;
! Iout&amp;lt;br&amp;gt;[mA]&lt;br /&gt;
! Geschwindigkeit&lt;br /&gt;
! Bemerkung&lt;br /&gt;
! Lieferant&lt;br /&gt;
! style=&amp;quot;width:7em&amp;quot; | Datenblatt&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;4N25&#039;&#039;&#039;&amp;lt;br&amp;gt;4N26&amp;lt;br&amp;gt;4N27&amp;lt;br&amp;gt;4N28&lt;br /&gt;
| DIP6&lt;br /&gt;
| 30&lt;br /&gt;
| —&lt;br /&gt;
| 20, 10&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | ton/off 2 µs (typ.)&lt;br /&gt;
| &lt;br /&gt;
| B C D DK e F U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0412EN Broadcom]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/4N25.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/201407061933068723.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/4N25_26_27_28.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-99-0010/S_110_4N25(26).pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/4N37M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/4N2X%20_4N3X_H11AX_series_v1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://www.mouser.com/ds/2/408/Toshiba-4N25_25A_26_27_28-Short-189542.pdf Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83725/4n25.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;4N32&#039;&#039;&#039;&amp;lt;br&amp;gt;4N33&lt;br /&gt;
| DIP6, SMD6&lt;br /&gt;
| 30&lt;br /&gt;
| —&lt;br /&gt;
| 500&lt;br /&gt;
| 100&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | 5 µS / 100 µS&lt;br /&gt;
| &lt;br /&gt;
| B C DK F U R&lt;br /&gt;
| [http://www.ct-micro.com/uploads_zip/4N32.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/TIL113_4NXX_H11BX.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/4N29-4N33_Data_Sheet.pdf Isocom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/H11B1M-D.pdf ONSemi]&amp;lt;br&amp;gt; [http://www.vishay.com/docs/81865/4n32.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;4N35&#039;&#039;&#039;&amp;lt;br&amp;gt;4N36&amp;lt;br&amp;gt;4N37&lt;br /&gt;
| DIP6, DCJ6&lt;br /&gt;
| 30&lt;br /&gt;
| —&lt;br /&gt;
| 100&lt;br /&gt;
| 100&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | ton/off 7 µs&lt;br /&gt;
| &lt;br /&gt;
| B C D DK e F U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0773EN Broadcom]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/4N35.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/201407061933068723.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/4N35-4N37.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-99-0012/S_110_4N35%20%204N37%20(%20M,%20S,%20S-TA1%20)%20(Rev.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/4N37M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/4N2X%20_4N3X_H11AX_series_v1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://www.mouser.com/catalog/specsheets/Toshiba-4N35_36_37-Short.pdf Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/81181/4n35.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| 6N135&amp;lt;br&amp;gt;&#039;&#039;&#039;6N136&#039;&#039;&#039;&amp;lt;br&amp;gt;PS8501&lt;br /&gt;
| DIP8&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 20&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 15&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |  30&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 100&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | 1 MBit/s&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Dual-channel: HCPL-xx3x&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | B C D DK F P U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0171EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPC6N136.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/6N135.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/6N135_6N136_EL450X.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93134.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2008-0032/S_110_6N135%20%206N136%20series.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL2530M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10656EJ04V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?type=datasheet&amp;amp;lang=en&amp;amp;pid=6N136 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83604/6n135.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-0500/1&amp;lt;br&amp;gt;EL0500/1&amp;lt;br&amp;gt;ICPL0500/1&amp;lt;br&amp;gt;SFH6315/6&lt;br /&gt;
| SO8&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0171EN Broadcom]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL045X_050X.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93163.pdf Isocom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL0534-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?83677 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| KPC457&amp;lt;br&amp;gt;CTM452&amp;lt;br&amp;gt;ELM452&amp;lt;br&amp;gt;FODM452&amp;lt;br&amp;gt;PS8101&amp;lt;br&amp;gt;TLP109&amp;lt;br&amp;gt;VOM452&lt;br /&gt;
| SO5&lt;br /&gt;
| &lt;br /&gt;
| [http://www.cosmo-ic.com/object/products/KPC457.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CTM452.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/ELM45X.pdf Everlight]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FODM453-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10260EJ06V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=12329&amp;amp;prodName=TLP109 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?81587 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;6N137&#039;&#039;&#039;&amp;lt;br&amp;gt;PS9587&lt;br /&gt;
| DIP8&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 7&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 5&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 15&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | 10 MBit/s&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Dual-channel: HCPL-xx3x&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | B C D DK F I U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0940EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPC6N137.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/6N137.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/6N137_EL26XX.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93136.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2008-0035/S_110_6N137%2020140411.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL2631M-D.pdf ONSemi], [http://documentation.renesas.com/doc/YOUSYS/document/PN10678EJ04V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?type=datasheet&amp;amp;lang=en&amp;amp;pid=6n137 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/84732/6n137.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-0600&amp;lt;br&amp;gt;EL0600&amp;lt;br&amp;gt;ICPL0600&amp;lt;br&amp;gt;LTV-0601&amp;lt;br&amp;gt;PS9817A&amp;lt;br&amp;gt;VO0600&lt;br /&gt;
| SO8&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0940EN Broadcom]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL06XX.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93162.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2013-0015/S_110_LTV-0601%2020140411.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL0639-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10647EJ03V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?84607 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-M600&amp;lt;br&amp;gt;KPC410&amp;lt;br&amp;gt;CTM600&amp;lt;br&amp;gt;ELM600&amp;lt;br&amp;gt;FODM611&amp;lt;br&amp;gt;ICPLM600&amp;lt;br&amp;gt;LTV-M601&amp;lt;br&amp;gt;PS9117A&amp;lt;br&amp;gt;PC410&amp;lt;br&amp;gt;TLP2362&lt;br /&gt;
| SO5&lt;br /&gt;
| &lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0941EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPC410.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CTM600.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/ELM6XX.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93131.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2013-0020/S_110_LTV-M601%20201503.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FODM611-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10646EJ04V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc410l0nip_e.pdf Sharp]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=7706&amp;amp;prodName=TLP2362 Toshiba]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;6N138&#039;&#039;&#039;&amp;lt;br&amp;gt;6N139&lt;br /&gt;
| DIP8&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 7, 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 7, 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 300&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 60&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | ton 15 µs, toff 50 µs&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Dual-channel: HCPL-xx3x&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C D DK e F R U&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-1359EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPC6N138.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/6N138.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/6N138_139.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93135.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2009-0001/S_110_6N138-L,%206N139-L.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL2731M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?pid=6N138&amp;amp;lang=en&amp;amp;type=datasheet Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83605/6n138.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-0700/1&amp;lt;br&amp;gt;TLP2403&lt;br /&gt;
| SO8&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-1359EN Broadcom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL0731-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=5956&amp;amp;prodName=TLP2403 Toshiba]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;CNY17&#039;&#039;&#039;&lt;br /&gt;
| DIP6&lt;br /&gt;
| 70&lt;br /&gt;
| —&lt;br /&gt;
| 160&lt;br /&gt;
| 50&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | ton 14 µs, toff 63 µs&lt;br /&gt;
| &lt;br /&gt;
| B C D DK e F U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0772EN Broadcom]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CNY17.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/201407061850553781.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/CNY17-1X_2X_3X_4X.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-99-0001/S_110_CNY17.pdf LiteOn], [http://www.onsemi.com/pub/Collateral/CNY17F4M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/CNY17_and_CNY17F_Series_v1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83606/cny17.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;H11L1&#039;&#039;&#039;&amp;lt;br&amp;gt;VOH1016A&lt;br /&gt;
| DIP6&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 16&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 16&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | digital&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 50&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | 1 MBit/s&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | [[Schmitt-Trigger]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C DK F P U&lt;br /&gt;
| [http://www.ct-micro.com/uploads_zip/H11L1.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/H11L1.pdf Everlight], [http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/H11l1-H11L4_data_sheet.pdf Isocom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/H11L3M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/H11L1_H11L2_H11L3_v1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/84896/voh1016ab.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| PC400&amp;lt;br&amp;gt;VOH1016A&lt;br /&gt;
| SO5&lt;br /&gt;
| [https://www.sharpsde.com/fileadmin/products/Optoelectronics/Isolation%20Devices/Specs%20Photocoupler/PC400J00000F_07Jun07_Spec_ED-04P172A.pdf Sharp]&amp;lt;br&amp;gt;[https://www.vishay.com/docs/84896/voh1016ab.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-814&amp;lt;br&amp;gt;K3010&amp;lt;br&amp;gt;CT814&amp;lt;br&amp;gt;EL814&amp;lt;br&amp;gt;ISP814&amp;lt;br&amp;gt;KB814&amp;lt;br&amp;gt;LTV-814&amp;lt;br&amp;gt;FOD814&amp;lt;br&amp;gt;Q814&amp;lt;br&amp;gt;PS2565&amp;lt;br&amp;gt;K814P&lt;br /&gt;
| DIP4&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 35&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | —&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 300&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 50&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | trise/tfall 20 µs&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | AC-Eingang,&amp;lt;br&amp;gt;Dual/Quad als *824/*844&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C DK e F I R U&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0771EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/K3010.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CT814.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL814.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/ISP814_Data_Sheet.pdf Isocom]&amp;lt;br&amp;gt;[http://www.kingbright.com/attachments/file/psearch/000/00/00/KB814(Ver.7).pdf Kingbright]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-96-0013/S_110_LTV-8X4%20series%2020150514.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FOD814-D.PDF ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/Q814%20v1.2.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10236EJ05V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83523/83523.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| ACPL-214&amp;lt;br&amp;gt;KPS2805&amp;lt;br&amp;gt;CTH214&amp;lt;br&amp;gt;EL3H4&amp;lt;br&amp;gt;IS3H4&amp;lt;br&amp;gt;LTV-214&amp;lt;br&amp;gt;HMHAA280&amp;lt;br&amp;gt;PS2805C&amp;lt;br&amp;gt;PC3H4&amp;lt;br&amp;gt;TLP290&amp;lt;br&amp;gt;VOS627A&lt;br /&gt;
| SO4&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0469EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPS2805.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CTH214.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL3H4-G.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_pdfs/is3h4_new.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2010-0067/S_110_LTV-2X4-G%20series%20201412.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HMHAA280-D.PDF ONSemi], [http://documentation.renesas.com/doc/YOUSYS/document/r08ds0074ej0300_nepoc.pdf Renesas]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc3h4_e.pdf Sharp]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=14154&amp;amp;prodName=TLP290(SE Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?83475 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| KPC815&amp;lt;br&amp;gt;CT815&amp;lt;br&amp;gt;EL815&amp;lt;br&amp;gt;ISP815&amp;lt;br&amp;gt;KB815&amp;lt;br&amp;gt;LTV-815&amp;lt;br&amp;gt;Q815&amp;lt;br&amp;gt;&#039;&#039;&#039;PC815&#039;&#039;&#039;&amp;lt;br&amp;gt;K815P&lt;br /&gt;
| DIP4&lt;br /&gt;
| 35&lt;br /&gt;
| —&lt;br /&gt;
| 600&lt;br /&gt;
| 80&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | trise 300 µs, tfall 250 µs&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | Dual/Quad als *825/*845&lt;br /&gt;
| B DK R U&lt;br /&gt;
| [http://www.cosmo-ic.com/object/products/KPC815.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CT815.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL815.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/ISP815.pdf Isocom]&amp;lt;br&amp;gt;[http://www.kingbright.com/attachments/file/psearch/000/00/00/KB815(Ver.10).pdf Kingbright]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-96-0015/S_110_LTV-815%20825%20845%20(%20M,%20S,%20S-TA1,%20S-TA,%20S-TP%20)%20Series.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/Q815_v.1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc81510nsz_e.pdf Sharp]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83524/k851p.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| CT816&amp;lt;br&amp;gt;EL816&amp;lt;br&amp;gt;KB816&amp;lt;br&amp;gt;LTV-816&amp;lt;br&amp;gt;PC123&lt;br /&gt;
| DIP4&lt;br /&gt;
| 70&lt;br /&gt;
| —&lt;br /&gt;
| 50&lt;br /&gt;
| 50&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot; | trise/tfall 18 µs&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Dual/Quad als *826/*846&lt;br /&gt;
| DK e R U&lt;br /&gt;
| [http://www.ct-micro.com/uploads_zip/CT816.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL816.pdf Everlight]&amp;lt;br&amp;gt;[http://www.kingbright.com/attachments/file/psearch/000/00/00/KB816(Ver.9).pdf Kingbright]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2012-0048/S_110_LTV-816%20(M,%20S,%20S-TA,%20S-TA1,%20S-TP)%20Series.pdf LiteOn]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc123xnnsz_e.pdf Sharp]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-817&amp;lt;br&amp;gt;K1010&amp;lt;br&amp;gt;CT817&amp;lt;br&amp;gt;EL817&amp;lt;br&amp;gt;ISP817&amp;lt;br&amp;gt;KB817&amp;lt;br&amp;gt;LTV-817&amp;lt;br&amp;gt;FOD817&amp;lt;br&amp;gt;Q817&amp;lt;br&amp;gt;PS2561D&amp;lt;br&amp;gt;&#039;&#039;&#039;PC817&#039;&#039;&#039;&amp;lt;br&amp;gt;TLP785&amp;lt;br&amp;gt;K817P&lt;br /&gt;
| DIP4&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 35&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | —&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 50&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 50&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | ton 3 µs, toff 50 µs&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | Dual/Quad als *827/*847&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C D DK e F I R U&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0265EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/K1010.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CT817.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL817.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/db9227580v.pdf Isocom]&amp;lt;br&amp;gt;[http://www.kingbright.com/attachments/file/psearch/000/00/00/KB817(Ver.12).pdf Kingbright]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2012-0050/S_110_LTV-817%20series%20201406.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FOD814-D.PDF ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/Q817_Series.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10777EJ02V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc817xnnsz_e.pdf Sharp]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=10569&amp;amp;prodName=TLP785 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83522/k817p.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-181&amp;lt;br&amp;gt;KPS2801&amp;lt;br&amp;gt;CTH217&amp;lt;br&amp;gt;EL3H7&amp;lt;br&amp;gt;IS3H7&amp;lt;br&amp;gt;LTV-217&amp;lt;br&amp;gt;HMHA281&amp;lt;br&amp;gt;PS2801C&amp;lt;br&amp;gt;PC3H7&amp;lt;br&amp;gt;TLP291&amp;lt;br&amp;gt;VOS617A&lt;br /&gt;
| SO4&lt;br /&gt;
| &lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0774EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPS2801.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CTH217.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL3H7-G.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93174.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2009-0016/S_110_LTV-217-G%20Series%20Rev%20-%20July%2016%202012.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HMHA2801B-D.PDF ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/r08ds0072ej0400_nepoc.pdf Renesas]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc3h7_e.pdf Sharp]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=14152&amp;amp;prodName=TLP291(SE Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?83497 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-2200&amp;lt;br&amp;gt;EL2200&amp;lt;br&amp;gt;&#039;&#039;&#039;TLP2200&#039;&#039;&#039;&amp;lt;br&amp;gt;SFH6700&lt;br /&gt;
| DIP8&lt;br /&gt;
| 15&lt;br /&gt;
| 15&lt;br /&gt;
| digital&lt;br /&gt;
| 25&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | 2,5 MBit/s&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | nicht-invertierender Push-/Pull-TTL-Ausgang&amp;lt;br&amp;gt;Dual-channel: HCPL-2231&lt;br /&gt;
| C DK F U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV01-0557EN Broadcom]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL220X.pdf Everlight]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=16819&amp;amp;prodName=TLP2200 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83683/sfh6700.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| ACPL-M75L&amp;lt;br&amp;gt;FODM8071&amp;lt;br&amp;gt;&#039;&#039;&#039;TLP2361&#039;&#039;&#039;&lt;br /&gt;
| SO5&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 6&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |  5&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | digital&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 10&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | 15 MBit/s&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Push-/Pull-CMOS-Ausgang&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C DK e F U&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0964EN Broadcom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FODM8071-D.pdf ONSemi]&amp;lt;br&amp;gt;[https://toshiba.semicon-storage.com/info/docget.jsp?did=14229&amp;amp;prodName=TLP2361 Toshiba]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;ACPL-071L&#039;&#039;&#039;&amp;lt;br&amp;gt;EL071L&amp;lt;br&amp;gt;TLP2466&lt;br /&gt;
| SO8&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0963EN Broadcom]&amp;lt;br&amp;gt;[http://ultran.ru/sites/default/files/el071l_datasheet_prelimilary.pdf Everlight]&amp;lt;br&amp;gt;[https://toshiba.semicon-storage.com/info/docget.jsp?did=10162&amp;amp;prodName=TLP2466 Toshiba]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Typen mit Transistorausgang ===&lt;br /&gt;
&lt;br /&gt;
* CNY17/x: 1-fach Koppler im DIL6-Gehäuse &lt;br /&gt;
* PC817-Serie: 1-,2-,3- und 4-fachTyp verfügbar, CTR: 50%, 80 kHz&lt;br /&gt;
* 6N135, 6N136: 1-fach Typ, DIL8, Highspeed 1 MBit/s&lt;br /&gt;
* 6N138, Darlingtonausgang mit hohem CTR&lt;br /&gt;
&lt;br /&gt;
=== Typen mit Triacausgang === &lt;br /&gt;
&lt;br /&gt;
* IL4218 TRIAC DRIVER OPTOCOUPLER&lt;br /&gt;
* MOC3020 6-Pin DIP Random-Phase Optoisolators Triac Driver Output 400 V&lt;br /&gt;
* MOC3052 6-Pin DIP Random-Phase Optoisolators Triac Drivers 600 V&lt;br /&gt;
* MOC306x 6-Pin DIP Zero-Cross Optoisolators Triac Driver Output 600 V&lt;br /&gt;
&lt;br /&gt;
=== Typen mit MOSFET ===&lt;br /&gt;
&lt;br /&gt;
* [https://na.industrial.panasonic.com/products/relays-contactors/semiconductor-relays/lineup/photomos-relays PhotoMOS-Relais bei Panasonic]&lt;br /&gt;
&lt;br /&gt;
=== Lineare Optokoppler ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.broadcom.com/products/optocouplers/industrial-plastic/specific-function/high-linearity-analog/ Broadcom HCNR-200/201]&lt;br /&gt;
* [https://www.broadcom.com/products/optocouplers/industrial-plastic/isolation-amplifiers-modulators/isolation-amplifiers/acpl-c870 Broadcom ACPL-C870] Vollintegrierter, optischer, analoger Trennverstärker, arbeitet intern jedoch digital&lt;br /&gt;
* [http://www.vishay.com/optocouplers/opto-linear/ Vishay IL300]&lt;br /&gt;
* [http://www.ssousa.com/pdf/SLC800.pdf Solid State Optronics SLC800] mit [http://www.ssousa.com/pdf/an060.pdf Applikationshinweis]&lt;br /&gt;
* [http://www.isolink.com/documents/datasheet/OLH7000_202303B.pdf Isolink OLH7000]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/029D3FDA649274DA85256A2C0068E392?Open IXYS (Clare) LOC211P (Anti)Dual Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/4E36B2775A9C9B8B85256A2C0068D9DB?Open IXYS (Clare) LOC210P (Anti)Dual Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/59296FA2985476938525721800570DB5?Open IXYS (Clare) LOC117 Single Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/3A4DE68835A6F1BA85256A2C0068CFB7?Open IXYS (Clare) LOC112 Single Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/8F89219D571B94DA85256A2C0068C4BD?Open IXYS (Clare) LOC111 Single Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/2E7C7ED81A9497A385256A2C0068BE89?Open  IXYS (Clare) LOC110 Single Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/2608A0F3BC20926685256F510069D145?Open IXYS (Clare) LIA120 Optically Isolated Linear Error Amplifier]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/86A26DCDA244CDFE85256A7700666E13?Open IXYS (Clare) Applikationshinweis zur LOC-Serie linearer Optokoppler]&lt;br /&gt;
&lt;br /&gt;
=== Vollintegrierte Optokoppler ===&lt;br /&gt;
&lt;br /&gt;
* 6N137: 1-fach Typ, DIL8, Highspeed 10 Mbit/s&lt;br /&gt;
* H11L1: 1-fach Typ, DIL6, Highspeed 1 Mbit/s&lt;br /&gt;
* HCPL-2200: 1-fach Typ, DIL8, Highspeed 2,5 Mbit/s&lt;br /&gt;
* HCPL 2630: 2-fach Typ, DIL8, Highspeed 10 Mbit/s&lt;br /&gt;
&lt;br /&gt;
=== Alternative Technologien ===&lt;br /&gt;
&lt;br /&gt;
Für höhere Geschwindigkeiten gibt es folgende Anbieter.&lt;br /&gt;
* [http://www.analog.com/en/interface/digital-isolators/products/index.html Digital Isolators] von Analog Devices (induktive Kopplung)&lt;br /&gt;
* [https://www.ti.com/product-category/isolation/digital-isolators/overview.html ISO Koppler] von Texas Instruments (kapazitive Kopplung)&lt;br /&gt;
* [https://www.skyworksinc.com/Products/Isolation-Digital-Isolators Digital Isolators] von Skyworks (kapazitive Kopplung)&lt;br /&gt;
&lt;br /&gt;
=== Optokoppler für höhere Schaltleistungen ===&lt;br /&gt;
&lt;br /&gt;
Für höhere Ströme jenseits einiger mA gibt es von Panasonic sogenannte Photo-MOS Relais. Das sind MOSFETs, welche optisch angesteuert werden. Ebenso gibt es MOSFET-Treiber, welche diskrete MOSFETs potentialfrei ansteuern können, ohne eine zusätzliche Hilfsversorgung zu benötigen.&lt;br /&gt;
&lt;br /&gt;
* [https://na.industrial.panasonic.com/products/relays-contactors/semiconductor-relays/lineup/photomos-relays PhotoMOS Relais]&lt;br /&gt;
* [https://www.vishay.com/en/product/83469/ Photoelektrischer MOSFET-Treiber ohne Hilfsversorgung]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[I2C-Schaltmodul]] mit Optokoppler MOC3040 zur galvanischen Trennung von [[I2C]]-[[Bus]] und [[230V]] Netzspannung.&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/218153#new| Forumsbeitrag]: Methoden zur Beschleunigung von Optokopplern&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/380250#4327204 Forumsbeitrag]: Verpolungs- und Überspannungsschutz mit Photo-MOS&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/394574#4538291 Forumsbeitrag]: Lineare Spannungsübertragung mit IL300&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/431716#5087308 Forumsbeitrag]: Hinweise zum ACPL-C870&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/534764#7018285 Forumsbeitrag]: Lebensdauer Optokoppler&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/561924#7546115 Forumsbeitrag]: warum hier zwei Vorwiderstände (Gleichtaktstörungen bei schnellen Gatetreibern mit Digitalkoppler)&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/567991?goto=7671768#7671768 Forumsbeitrag]: Simulation eines PhotoMOS Relais&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://web.archive.org/web/20170717072717/https://www.learnabout-electronics.org/ssr_01.php Opto-coupled devices, (engl.)]&lt;br /&gt;
* [https://toshiba.semicon-storage.com/info/docget.jsp?did=13438 Basic Characteristics and Application Circuit Design of Transistor Photocouplers] (engl., Application Note von Toshiba)&lt;br /&gt;
* [https://toshiba.semicon-storage.com/info/docget.jsp?did=60965 Basic Characteristics and Application Circuit Design of IC Couplers] (engl., Application Note von Toshiba)&lt;br /&gt;
* [https://datasheetspdf.com/pdf-file/369404/PerkinElmerOptoelectronics/VTL5C9/1 Vactrols], Photoconductive Cells and Analog Optoisolators, PerkinElmer Optoelectronics, PDF &lt;br /&gt;
&lt;br /&gt;
[[Category:Bauteile]]&lt;br /&gt;
[[Category:Datenübertragung]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Optokoppler&amp;diff=107605</id>
		<title>Optokoppler</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Optokoppler&amp;diff=107605"/>
		<updated>2025-08-07T03:00:34Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Alternative Technologien */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
Optokoppler dienen zur Kopplung elektronischer Schaltungen mit Hilfe von Lichtenergie. In einem Optokoppler befindet sich ein Lichtsender ([[LED]], meist Infrarot) und ein Lichtempfänger (z.&amp;amp;nbsp;B. [[Lichtsensor / Helligkeitssensor|Fototransistor]]), welche durch einen sehr kurzen Lichtleiter verbunden sind. Die elektrische (galvanische) Trennung zwischen Eingang und Ausgang ermöglicht Kopplung von Schaltungen sehr unterschiedlichen Spannungsniveaus. Das ist notwendig bei gefährlich hohen Spannungen, störverseuchten Umgebungen oder zur Verhinderung von Masseschleifen. Neben Optokopplern mit Fototransistoren als Lichtempfänger gibt es Typen mit Fotodioden oder Triacs. Typen mit Photodioden sind dabei wesentlich schneller als Transistor- und Triactypen. Ausserdem gibt es noch komplett integrierte Typen, welche ohne weitere Beschaltung wie ein normaler digitaler IC verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
Die meisten Optokoppler sind nur für digitale Signale nutzbar. Zur elektrischen Trennung von analogen Signalen eignen sich spezielle Optokoppler. Diese haben meist zwei Photoempfänger, meist Photodioden. Eine Photodiode dient als [[Galvanische Trennung | galvanisch getrennter Ausgang]], die Zweite als Vergleichsausgang zur Kompensation von Unlinearitäten, Drift- und Alterungseffekten. Durch diese lässt sich eine Regelung aufbauen die die Vergleichsspannung proportional zur Eingangsspannung einstellt. Dadurch ist die Übertragungsfunktion des Optokopplers als linear anzusehen. Daher wird im Zusammenhang mit analogen Optokopplern häufig auch von linearen Optokopplern gesprochen. Für gemäßigte Ansprüche kann man aber auch mit normalen, digitalen Optokopplern analoge Signale übertragen.&lt;br /&gt;
&lt;br /&gt;
== Beschaltung ==&lt;br /&gt;
&lt;br /&gt;
Optokoppler sind relativ leicht nutzbar. Sie bieten ausserdem die Möglichkeit, das Signal bei der Übertragung zu invertieren. Nachfolgend sind drei Grundschaltungen gezeigt. Links nichtinvertierend, in der Mitte mit Invertierung am Eingang und rechts mit Invertierung am Ausgang, das ist die häufigste Schaltung.&lt;br /&gt;
&lt;br /&gt;
[[bild:optokoppler_grundschaltungen.png]]&lt;br /&gt;
&lt;br /&gt;
Wie berechnet man nun die Widerstände für die [[LED]] und den [[Transistor]] am Ausgang? Recht einfach. Zunächst muss man den Strom durch die LED festlegen, hier hilft auch das Datenblatt. Typische Werte liegen zwischen 5-20mA. Die Berechnung des Vorwiderstands erfolgt gemäß Beschreibung im Artikel [[LED]], wobei die Flußspannung meist 1,2-1,5V beträgt. Der Arbeitswiderstand am Ausgang berechnet sich wie folgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; R_A = \frac{Vcc \cdot SF}{I_{LED} \cdot CTR }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* R_A : Arbeitswiderstand&lt;br /&gt;
* Vcc: Betriebsspannung am Ausgang&lt;br /&gt;
* CTR: Stromübertragungsfaktor (engl. &#039;&#039;&#039;C&#039;&#039;&#039;urrent &#039;&#039;&#039;T&#039;&#039;&#039;ransfer &#039;&#039;&#039;R&#039;&#039;&#039;atio)&lt;br /&gt;
* SF: Sicherheitsfaktor&lt;br /&gt;
&lt;br /&gt;
Dabei muss man im Datenblatt nach dem &#039;&#039;&#039;minimalen&#039;&#039;&#039; CTR suchen, der ist abhängig von dem speziellen Typ, Temperatur und ggf. vom LED-Strom. Als Sicherheitsfaktor sollte man mindestens 2 wählen, weil die gängige Definition der Lebensdauer einer LED bzw. Optokopplers auf die halbe optische Leistung ausgelegt ist. Wenn man die LED jedoch deutlich unter dem Nennstrom betreibt (50% und weniger), erhöht sich die Lebensdauer beachtlich, Faktor 10 und mehr ist möglich. Praktisch wird man einen Sicherheitsfaktor zwischen 2-5 wählen.&lt;br /&gt;
Aber auch hier muss man Kompromisse eingehen. Denn um die maximale Geschwindigkeit eines Optokopplers zu erreichen, muss man meist mit Nennstrom und minimalem Arbeitswiderstand arbeiten. Hier sind dann die High Speed Optokoppler mit aktivem Empfänger und Verstärker deutlich im Vorteil (z.B. 6N137). Bei Optokopplern mit Transistorausgang und herausgeführtem Basisanschluß kann man durch einen passenden Widerstand zwischen Basis und Emitter vor allem die Abschaltgeschwindigkeit deutlich steigen, allerdings auf Kosten der Empfindlichkeit.&lt;br /&gt;
&lt;br /&gt;
== Geläufige Typen == &lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} class=&amp;quot;wikitable sortable&amp;quot; id=&amp;quot;transistors-npn&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:8em&amp;quot; | Bezeichnung&lt;br /&gt;
! Gehäuse&lt;br /&gt;
! Vce (max)&amp;lt;br&amp;gt;[V]&lt;br /&gt;
! Vsupply&amp;lt;br&amp;gt;[V]&lt;br /&gt;
! CTR&amp;lt;br&amp;gt;[%]&lt;br /&gt;
! Iout&amp;lt;br&amp;gt;[mA]&lt;br /&gt;
! Geschwindigkeit&lt;br /&gt;
! Bemerkung&lt;br /&gt;
! Lieferant&lt;br /&gt;
! style=&amp;quot;width:7em&amp;quot; | Datenblatt&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;4N25&#039;&#039;&#039;&amp;lt;br&amp;gt;4N26&amp;lt;br&amp;gt;4N27&amp;lt;br&amp;gt;4N28&lt;br /&gt;
| DIP6&lt;br /&gt;
| 30&lt;br /&gt;
| —&lt;br /&gt;
| 20, 10&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | ton/off 2 µs (typ.)&lt;br /&gt;
| &lt;br /&gt;
| B C D DK e F U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0412EN Broadcom]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/4N25.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/201407061933068723.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/4N25_26_27_28.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-99-0010/S_110_4N25(26).pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/4N37M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/4N2X%20_4N3X_H11AX_series_v1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://www.mouser.com/ds/2/408/Toshiba-4N25_25A_26_27_28-Short-189542.pdf Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83725/4n25.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;4N32&#039;&#039;&#039;&amp;lt;br&amp;gt;4N33&lt;br /&gt;
| DIP6, SMD6&lt;br /&gt;
| 30&lt;br /&gt;
| —&lt;br /&gt;
| 500&lt;br /&gt;
| 100&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | 5 µS / 100 µS&lt;br /&gt;
| &lt;br /&gt;
| B C DK F U R&lt;br /&gt;
| [http://www.ct-micro.com/uploads_zip/4N32.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/TIL113_4NXX_H11BX.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/4N29-4N33_Data_Sheet.pdf Isocom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/H11B1M-D.pdf ONSemi]&amp;lt;br&amp;gt; [http://www.vishay.com/docs/81865/4n32.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;4N35&#039;&#039;&#039;&amp;lt;br&amp;gt;4N36&amp;lt;br&amp;gt;4N37&lt;br /&gt;
| DIP6, DCJ6&lt;br /&gt;
| 30&lt;br /&gt;
| —&lt;br /&gt;
| 100&lt;br /&gt;
| 100&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | ton/off 7 µs&lt;br /&gt;
| &lt;br /&gt;
| B C D DK e F U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0773EN Broadcom]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/4N35.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/201407061933068723.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/4N35-4N37.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-99-0012/S_110_4N35%20%204N37%20(%20M,%20S,%20S-TA1%20)%20(Rev.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/4N37M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/4N2X%20_4N3X_H11AX_series_v1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://www.mouser.com/catalog/specsheets/Toshiba-4N35_36_37-Short.pdf Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/81181/4n35.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| 6N135&amp;lt;br&amp;gt;&#039;&#039;&#039;6N136&#039;&#039;&#039;&amp;lt;br&amp;gt;PS8501&lt;br /&gt;
| DIP8&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 20&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 15&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |  30&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 100&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | 1 MBit/s&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Dual-channel: HCPL-xx3x&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | B C D DK F P U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0171EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPC6N136.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/6N135.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/6N135_6N136_EL450X.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93134.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2008-0032/S_110_6N135%20%206N136%20series.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL2530M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10656EJ04V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?type=datasheet&amp;amp;lang=en&amp;amp;pid=6N136 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83604/6n135.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-0500/1&amp;lt;br&amp;gt;EL0500/1&amp;lt;br&amp;gt;ICPL0500/1&amp;lt;br&amp;gt;SFH6315/6&lt;br /&gt;
| SO8&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0171EN Broadcom]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL045X_050X.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93163.pdf Isocom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL0534-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?83677 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| KPC457&amp;lt;br&amp;gt;CTM452&amp;lt;br&amp;gt;ELM452&amp;lt;br&amp;gt;FODM452&amp;lt;br&amp;gt;PS8101&amp;lt;br&amp;gt;TLP109&amp;lt;br&amp;gt;VOM452&lt;br /&gt;
| SO5&lt;br /&gt;
| &lt;br /&gt;
| [http://www.cosmo-ic.com/object/products/KPC457.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CTM452.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/ELM45X.pdf Everlight]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FODM453-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10260EJ06V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=12329&amp;amp;prodName=TLP109 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?81587 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;6N137&#039;&#039;&#039;&amp;lt;br&amp;gt;PS9587&lt;br /&gt;
| DIP8&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 7&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 5&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 15&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | 10 MBit/s&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Dual-channel: HCPL-xx3x&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | B C D DK F I U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0940EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPC6N137.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/6N137.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/6N137_EL26XX.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93136.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2008-0035/S_110_6N137%2020140411.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL2631M-D.pdf ONSemi], [http://documentation.renesas.com/doc/YOUSYS/document/PN10678EJ04V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?type=datasheet&amp;amp;lang=en&amp;amp;pid=6n137 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/84732/6n137.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-0600&amp;lt;br&amp;gt;EL0600&amp;lt;br&amp;gt;ICPL0600&amp;lt;br&amp;gt;LTV-0601&amp;lt;br&amp;gt;PS9817A&amp;lt;br&amp;gt;VO0600&lt;br /&gt;
| SO8&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0940EN Broadcom]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL06XX.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93162.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2013-0015/S_110_LTV-0601%2020140411.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL0639-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10647EJ03V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?84607 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-M600&amp;lt;br&amp;gt;KPC410&amp;lt;br&amp;gt;CTM600&amp;lt;br&amp;gt;ELM600&amp;lt;br&amp;gt;FODM611&amp;lt;br&amp;gt;ICPLM600&amp;lt;br&amp;gt;LTV-M601&amp;lt;br&amp;gt;PS9117A&amp;lt;br&amp;gt;PC410&amp;lt;br&amp;gt;TLP2362&lt;br /&gt;
| SO5&lt;br /&gt;
| &lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0941EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPC410.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CTM600.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/ELM6XX.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93131.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2013-0020/S_110_LTV-M601%20201503.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FODM611-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10646EJ04V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc410l0nip_e.pdf Sharp]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=7706&amp;amp;prodName=TLP2362 Toshiba]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;6N138&#039;&#039;&#039;&amp;lt;br&amp;gt;6N139&lt;br /&gt;
| DIP8&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 7, 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 7, 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 300&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 60&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | ton 15 µs, toff 50 µs&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Dual-channel: HCPL-xx3x&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C D DK e F R U&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-1359EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPC6N138.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/6N138.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/6N138_139.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93135.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2009-0001/S_110_6N138-L,%206N139-L.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL2731M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?pid=6N138&amp;amp;lang=en&amp;amp;type=datasheet Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83605/6n138.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-0700/1&amp;lt;br&amp;gt;TLP2403&lt;br /&gt;
| SO8&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-1359EN Broadcom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL0731-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=5956&amp;amp;prodName=TLP2403 Toshiba]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;CNY17&#039;&#039;&#039;&lt;br /&gt;
| DIP6&lt;br /&gt;
| 70&lt;br /&gt;
| —&lt;br /&gt;
| 160&lt;br /&gt;
| 50&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | ton 14 µs, toff 63 µs&lt;br /&gt;
| &lt;br /&gt;
| B C D DK e F U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0772EN Broadcom]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CNY17.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/201407061850553781.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/CNY17-1X_2X_3X_4X.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-99-0001/S_110_CNY17.pdf LiteOn], [http://www.onsemi.com/pub/Collateral/CNY17F4M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/CNY17_and_CNY17F_Series_v1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83606/cny17.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;H11L1&#039;&#039;&#039;&amp;lt;br&amp;gt;VOH1016A&lt;br /&gt;
| DIP6&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 16&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 16&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | digital&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 50&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | 1 MBit/s&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | [[Schmitt-Trigger]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C DK F P U&lt;br /&gt;
| [http://www.ct-micro.com/uploads_zip/H11L1.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/H11L1.pdf Everlight], [http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/H11l1-H11L4_data_sheet.pdf Isocom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/H11L3M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/H11L1_H11L2_H11L3_v1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/84896/voh1016ab.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| PC400&amp;lt;br&amp;gt;VOH1016A&lt;br /&gt;
| SO5&lt;br /&gt;
| [https://www.sharpsde.com/fileadmin/products/Optoelectronics/Isolation%20Devices/Specs%20Photocoupler/PC400J00000F_07Jun07_Spec_ED-04P172A.pdf Sharp]&amp;lt;br&amp;gt;[https://www.vishay.com/docs/84896/voh1016ab.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-814&amp;lt;br&amp;gt;K3010&amp;lt;br&amp;gt;CT814&amp;lt;br&amp;gt;EL814&amp;lt;br&amp;gt;ISP814&amp;lt;br&amp;gt;KB814&amp;lt;br&amp;gt;LTV-814&amp;lt;br&amp;gt;FOD814&amp;lt;br&amp;gt;Q814&amp;lt;br&amp;gt;PS2565&amp;lt;br&amp;gt;K814P&lt;br /&gt;
| DIP4&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 35&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | —&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 300&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 50&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | trise/tfall 20 µs&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | AC-Eingang,&amp;lt;br&amp;gt;Dual/Quad als *824/*844&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C DK e F I R U&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0771EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/K3010.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CT814.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL814.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/ISP814_Data_Sheet.pdf Isocom]&amp;lt;br&amp;gt;[http://www.kingbright.com/attachments/file/psearch/000/00/00/KB814(Ver.7).pdf Kingbright]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-96-0013/S_110_LTV-8X4%20series%2020150514.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FOD814-D.PDF ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/Q814%20v1.2.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10236EJ05V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83523/83523.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| ACPL-214&amp;lt;br&amp;gt;KPS2805&amp;lt;br&amp;gt;CTH214&amp;lt;br&amp;gt;EL3H4&amp;lt;br&amp;gt;IS3H4&amp;lt;br&amp;gt;LTV-214&amp;lt;br&amp;gt;HMHAA280&amp;lt;br&amp;gt;PS2805C&amp;lt;br&amp;gt;PC3H4&amp;lt;br&amp;gt;TLP290&amp;lt;br&amp;gt;VOS627A&lt;br /&gt;
| SO4&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0469EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPS2805.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CTH214.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL3H4-G.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_pdfs/is3h4_new.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2010-0067/S_110_LTV-2X4-G%20series%20201412.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HMHAA280-D.PDF ONSemi], [http://documentation.renesas.com/doc/YOUSYS/document/r08ds0074ej0300_nepoc.pdf Renesas]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc3h4_e.pdf Sharp]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=14154&amp;amp;prodName=TLP290(SE Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?83475 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| KPC815&amp;lt;br&amp;gt;CT815&amp;lt;br&amp;gt;EL815&amp;lt;br&amp;gt;ISP815&amp;lt;br&amp;gt;KB815&amp;lt;br&amp;gt;LTV-815&amp;lt;br&amp;gt;Q815&amp;lt;br&amp;gt;&#039;&#039;&#039;PC815&#039;&#039;&#039;&amp;lt;br&amp;gt;K815P&lt;br /&gt;
| DIP4&lt;br /&gt;
| 35&lt;br /&gt;
| —&lt;br /&gt;
| 600&lt;br /&gt;
| 80&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | trise 300 µs, tfall 250 µs&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | Dual/Quad als *825/*845&lt;br /&gt;
| B DK R U&lt;br /&gt;
| [http://www.cosmo-ic.com/object/products/KPC815.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CT815.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL815.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/ISP815.pdf Isocom]&amp;lt;br&amp;gt;[http://www.kingbright.com/attachments/file/psearch/000/00/00/KB815(Ver.10).pdf Kingbright]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-96-0015/S_110_LTV-815%20825%20845%20(%20M,%20S,%20S-TA1,%20S-TA,%20S-TP%20)%20Series.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/Q815_v.1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc81510nsz_e.pdf Sharp]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83524/k851p.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| CT816&amp;lt;br&amp;gt;EL816&amp;lt;br&amp;gt;KB816&amp;lt;br&amp;gt;LTV-816&amp;lt;br&amp;gt;PC123&lt;br /&gt;
| DIP4&lt;br /&gt;
| 70&lt;br /&gt;
| —&lt;br /&gt;
| 50&lt;br /&gt;
| 50&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot; | trise/tfall 18 µs&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Dual/Quad als *826/*846&lt;br /&gt;
| DK e R U&lt;br /&gt;
| [http://www.ct-micro.com/uploads_zip/CT816.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL816.pdf Everlight]&amp;lt;br&amp;gt;[http://www.kingbright.com/attachments/file/psearch/000/00/00/KB816(Ver.9).pdf Kingbright]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2012-0048/S_110_LTV-816%20(M,%20S,%20S-TA,%20S-TA1,%20S-TP)%20Series.pdf LiteOn]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc123xnnsz_e.pdf Sharp]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-817&amp;lt;br&amp;gt;K1010&amp;lt;br&amp;gt;CT817&amp;lt;br&amp;gt;EL817&amp;lt;br&amp;gt;ISP817&amp;lt;br&amp;gt;KB817&amp;lt;br&amp;gt;LTV-817&amp;lt;br&amp;gt;FOD817&amp;lt;br&amp;gt;Q817&amp;lt;br&amp;gt;PS2561D&amp;lt;br&amp;gt;&#039;&#039;&#039;PC817&#039;&#039;&#039;&amp;lt;br&amp;gt;TLP785&amp;lt;br&amp;gt;K817P&lt;br /&gt;
| DIP4&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 35&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | —&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 50&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 50&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | ton 3 µs, toff 50 µs&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | Dual/Quad als *827/*847&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C D DK e F I R U&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0265EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/K1010.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CT817.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL817.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/db9227580v.pdf Isocom]&amp;lt;br&amp;gt;[http://www.kingbright.com/attachments/file/psearch/000/00/00/KB817(Ver.12).pdf Kingbright]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2012-0050/S_110_LTV-817%20series%20201406.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FOD814-D.PDF ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/Q817_Series.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10777EJ02V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc817xnnsz_e.pdf Sharp]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=10569&amp;amp;prodName=TLP785 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83522/k817p.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-181&amp;lt;br&amp;gt;KPS2801&amp;lt;br&amp;gt;CTH217&amp;lt;br&amp;gt;EL3H7&amp;lt;br&amp;gt;IS3H7&amp;lt;br&amp;gt;LTV-217&amp;lt;br&amp;gt;HMHA281&amp;lt;br&amp;gt;PS2801C&amp;lt;br&amp;gt;PC3H7&amp;lt;br&amp;gt;TLP291&amp;lt;br&amp;gt;VOS617A&lt;br /&gt;
| SO4&lt;br /&gt;
| &lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0774EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPS2801.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CTH217.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL3H7-G.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93174.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2009-0016/S_110_LTV-217-G%20Series%20Rev%20-%20July%2016%202012.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HMHA2801B-D.PDF ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/r08ds0072ej0400_nepoc.pdf Renesas]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc3h7_e.pdf Sharp]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=14152&amp;amp;prodName=TLP291(SE Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?83497 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-2200&amp;lt;br&amp;gt;EL2200&amp;lt;br&amp;gt;&#039;&#039;&#039;TLP2200&#039;&#039;&#039;&amp;lt;br&amp;gt;SFH6700&lt;br /&gt;
| DIP8&lt;br /&gt;
| 15&lt;br /&gt;
| 15&lt;br /&gt;
| digital&lt;br /&gt;
| 25&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | 2,5 MBit/s&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | nicht-invertierender Push-/Pull-TTL-Ausgang&amp;lt;br&amp;gt;Dual-channel: HCPL-2231&lt;br /&gt;
| C DK F U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV01-0557EN Broadcom]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL220X.pdf Everlight]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=16819&amp;amp;prodName=TLP2200 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83683/sfh6700.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| ACPL-M75L&amp;lt;br&amp;gt;FODM8071&amp;lt;br&amp;gt;&#039;&#039;&#039;TLP2361&#039;&#039;&#039;&lt;br /&gt;
| SO5&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 6&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |  5&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | digital&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 10&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | 15 MBit/s&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Push-/Pull-CMOS-Ausgang&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C DK e F U&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0964EN Broadcom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FODM8071-D.pdf ONSemi]&amp;lt;br&amp;gt;[https://toshiba.semicon-storage.com/info/docget.jsp?did=14229&amp;amp;prodName=TLP2361 Toshiba]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;ACPL-071L&#039;&#039;&#039;&amp;lt;br&amp;gt;EL071L&amp;lt;br&amp;gt;TLP2466&lt;br /&gt;
| SO8&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0963EN Broadcom]&amp;lt;br&amp;gt;[http://ultran.ru/sites/default/files/el071l_datasheet_prelimilary.pdf Everlight]&amp;lt;br&amp;gt;[https://toshiba.semicon-storage.com/info/docget.jsp?did=10162&amp;amp;prodName=TLP2466 Toshiba]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Typen mit Transistorausgang ===&lt;br /&gt;
&lt;br /&gt;
* CNY17/x: 1-fach Koppler im DIL6-Gehäuse &lt;br /&gt;
* PC817-Serie: 1-,2-,3- und 4-fachTyp verfügbar, CTR: 50%, 80 kHz&lt;br /&gt;
* 6N135, 6N136: 1-fach Typ, DIL8, Highspeed 1 MBit/s&lt;br /&gt;
* 6N138, Darlingtonausgang mit hohem CTR&lt;br /&gt;
&lt;br /&gt;
=== Typen mit Triacausgang === &lt;br /&gt;
&lt;br /&gt;
* IL4218 TRIAC DRIVER OPTOCOUPLER&lt;br /&gt;
* MOC3020 6-Pin DIP Random-Phase Optoisolators Triac Driver Output 400 V&lt;br /&gt;
* MOC3052 6-Pin DIP Random-Phase Optoisolators Triac Drivers 600 V&lt;br /&gt;
* MOC306x 6-Pin DIP Zero-Cross Optoisolators Triac Driver Output 600 V&lt;br /&gt;
&lt;br /&gt;
=== Typen mit MOSFET ===&lt;br /&gt;
&lt;br /&gt;
* [https://na.industrial.panasonic.com/products/relays-contactors/semiconductor-relays/lineup/photomos-relays PhotoMOS-Relais bei Panasonic]&lt;br /&gt;
&lt;br /&gt;
=== Lineare Optokoppler ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.broadcom.com/products/optocouplers/industrial-plastic/specific-function/high-linearity-analog/ Broadcom HCNR-200/201]&lt;br /&gt;
* [https://www.broadcom.com/products/optocouplers/industrial-plastic/isolation-amplifiers-modulators/isolation-amplifiers/acpl-c870 Broadcom ACPL-C870] Vollintegrierter, optischer, analoger Trennverstärker, arbeitet intern jedoch digital&lt;br /&gt;
* [http://www.vishay.com/optocouplers/opto-linear/ Vishay IL300]&lt;br /&gt;
* [http://www.ssousa.com/pdf/SLC800.pdf Solid State Optronics SLC800] mit [http://www.ssousa.com/pdf/an060.pdf Applikationshinweis]&lt;br /&gt;
* [http://www.isolink.com/documents/datasheet/OLH7000_202303B.pdf Isolink OLH7000]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/029D3FDA649274DA85256A2C0068E392?Open IXYS (Clare) LOC211P (Anti)Dual Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/4E36B2775A9C9B8B85256A2C0068D9DB?Open IXYS (Clare) LOC210P (Anti)Dual Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/59296FA2985476938525721800570DB5?Open IXYS (Clare) LOC117 Single Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/3A4DE68835A6F1BA85256A2C0068CFB7?Open IXYS (Clare) LOC112 Single Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/8F89219D571B94DA85256A2C0068C4BD?Open IXYS (Clare) LOC111 Single Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/2E7C7ED81A9497A385256A2C0068BE89?Open  IXYS (Clare) LOC110 Single Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/2608A0F3BC20926685256F510069D145?Open IXYS (Clare) LIA120 Optically Isolated Linear Error Amplifier]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/86A26DCDA244CDFE85256A7700666E13?Open IXYS (Clare) Applikationshinweis zur LOC-Serie linearer Optokoppler]&lt;br /&gt;
&lt;br /&gt;
=== Vollintegrierte Optokoppler ===&lt;br /&gt;
&lt;br /&gt;
* 6N137: 1-fach Typ, DIL8, Highspeed 10 Mbit/s&lt;br /&gt;
* H11L1: 1-fach Typ, DIL6, Highspeed 1 Mbit/s&lt;br /&gt;
* HCPL-2200: 1-fach Typ, DIL8, Highspeed 2,5 Mbit/s&lt;br /&gt;
* HCPL 2630: 2-fach Typ, DIL8, Highspeed 10 Mbit/s&lt;br /&gt;
&lt;br /&gt;
=== Alternative Technologien ===&lt;br /&gt;
&lt;br /&gt;
* Für höhere Geschwindigkeiten gibt es folgende Anbieter.&lt;br /&gt;
** [http://www.analog.com/en/interface/digital-isolators/products/index.html Digital Isolators] von Analog Devices (induktive Kopplung)&lt;br /&gt;
** [https://www.ti.com/product-category/isolation/digital-isolators/overview.html ISO Koppler] von Texas Instruments (kapazitive Kopplung)&lt;br /&gt;
** [https://www.skyworksinc.com/Products/Isolation-Digital-Isolators Digital Isolators] von Skyworks (kapazitive Kopplung)&lt;br /&gt;
&lt;br /&gt;
=== Optokoppler für höhere Schaltleistungen ===&lt;br /&gt;
&lt;br /&gt;
Für höhere Ströme jenseits einiger mA gibt es von Panasonic sogenannte Photo-MOS Relais. Das sind MOSFETs, welche optisch angesteuert werden. Ebenso gibt es MOSFET-Treiber, welche diskrete MOSFETs potentialfrei ansteuern können, ohne eine zusätzliche Hilfsversorgung zu benötigen.&lt;br /&gt;
&lt;br /&gt;
* [https://na.industrial.panasonic.com/products/relays-contactors/semiconductor-relays/lineup/photomos-relays PhotoMOS Relais]&lt;br /&gt;
* [https://www.vishay.com/en/product/83469/ Photoelektrischer MOSFET-Treiber ohne Hilfsversorgung]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[I2C-Schaltmodul]] mit Optokoppler MOC3040 zur galvanischen Trennung von [[I2C]]-[[Bus]] und [[230V]] Netzspannung.&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/218153#new| Forumsbeitrag]: Methoden zur Beschleunigung von Optokopplern&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/380250#4327204 Forumsbeitrag]: Verpolungs- und Überspannungsschutz mit Photo-MOS&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/394574#4538291 Forumsbeitrag]: Lineare Spannungsübertragung mit IL300&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/431716#5087308 Forumsbeitrag]: Hinweise zum ACPL-C870&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/534764#7018285 Forumsbeitrag]: Lebensdauer Optokoppler&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/561924#7546115 Forumsbeitrag]: warum hier zwei Vorwiderstände (Gleichtaktstörungen bei schnellen Gatetreibern mit Digitalkoppler)&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/567991?goto=7671768#7671768 Forumsbeitrag]: Simulation eines PhotoMOS Relais&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://web.archive.org/web/20170717072717/https://www.learnabout-electronics.org/ssr_01.php Opto-coupled devices, (engl.)]&lt;br /&gt;
* [https://toshiba.semicon-storage.com/info/docget.jsp?did=13438 Basic Characteristics and Application Circuit Design of Transistor Photocouplers] (engl., Application Note von Toshiba)&lt;br /&gt;
* [https://toshiba.semicon-storage.com/info/docget.jsp?did=60965 Basic Characteristics and Application Circuit Design of IC Couplers] (engl., Application Note von Toshiba)&lt;br /&gt;
* [https://datasheetspdf.com/pdf-file/369404/PerkinElmerOptoelectronics/VTL5C9/1 Vactrols], Photoconductive Cells and Analog Optoisolators, PerkinElmer Optoelectronics, PDF &lt;br /&gt;
&lt;br /&gt;
[[Category:Bauteile]]&lt;br /&gt;
[[Category:Datenübertragung]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Optokoppler&amp;diff=107604</id>
		<title>Optokoppler</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Optokoppler&amp;diff=107604"/>
		<updated>2025-08-07T02:46:43Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Optokoppler für höhere Schaltleistungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
Optokoppler dienen zur Kopplung elektronischer Schaltungen mit Hilfe von Lichtenergie. In einem Optokoppler befindet sich ein Lichtsender ([[LED]], meist Infrarot) und ein Lichtempfänger (z.&amp;amp;nbsp;B. [[Lichtsensor / Helligkeitssensor|Fototransistor]]), welche durch einen sehr kurzen Lichtleiter verbunden sind. Die elektrische (galvanische) Trennung zwischen Eingang und Ausgang ermöglicht Kopplung von Schaltungen sehr unterschiedlichen Spannungsniveaus. Das ist notwendig bei gefährlich hohen Spannungen, störverseuchten Umgebungen oder zur Verhinderung von Masseschleifen. Neben Optokopplern mit Fototransistoren als Lichtempfänger gibt es Typen mit Fotodioden oder Triacs. Typen mit Photodioden sind dabei wesentlich schneller als Transistor- und Triactypen. Ausserdem gibt es noch komplett integrierte Typen, welche ohne weitere Beschaltung wie ein normaler digitaler IC verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
Die meisten Optokoppler sind nur für digitale Signale nutzbar. Zur elektrischen Trennung von analogen Signalen eignen sich spezielle Optokoppler. Diese haben meist zwei Photoempfänger, meist Photodioden. Eine Photodiode dient als [[Galvanische Trennung | galvanisch getrennter Ausgang]], die Zweite als Vergleichsausgang zur Kompensation von Unlinearitäten, Drift- und Alterungseffekten. Durch diese lässt sich eine Regelung aufbauen die die Vergleichsspannung proportional zur Eingangsspannung einstellt. Dadurch ist die Übertragungsfunktion des Optokopplers als linear anzusehen. Daher wird im Zusammenhang mit analogen Optokopplern häufig auch von linearen Optokopplern gesprochen. Für gemäßigte Ansprüche kann man aber auch mit normalen, digitalen Optokopplern analoge Signale übertragen.&lt;br /&gt;
&lt;br /&gt;
== Beschaltung ==&lt;br /&gt;
&lt;br /&gt;
Optokoppler sind relativ leicht nutzbar. Sie bieten ausserdem die Möglichkeit, das Signal bei der Übertragung zu invertieren. Nachfolgend sind drei Grundschaltungen gezeigt. Links nichtinvertierend, in der Mitte mit Invertierung am Eingang und rechts mit Invertierung am Ausgang, das ist die häufigste Schaltung.&lt;br /&gt;
&lt;br /&gt;
[[bild:optokoppler_grundschaltungen.png]]&lt;br /&gt;
&lt;br /&gt;
Wie berechnet man nun die Widerstände für die [[LED]] und den [[Transistor]] am Ausgang? Recht einfach. Zunächst muss man den Strom durch die LED festlegen, hier hilft auch das Datenblatt. Typische Werte liegen zwischen 5-20mA. Die Berechnung des Vorwiderstands erfolgt gemäß Beschreibung im Artikel [[LED]], wobei die Flußspannung meist 1,2-1,5V beträgt. Der Arbeitswiderstand am Ausgang berechnet sich wie folgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; R_A = \frac{Vcc \cdot SF}{I_{LED} \cdot CTR }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* R_A : Arbeitswiderstand&lt;br /&gt;
* Vcc: Betriebsspannung am Ausgang&lt;br /&gt;
* CTR: Stromübertragungsfaktor (engl. &#039;&#039;&#039;C&#039;&#039;&#039;urrent &#039;&#039;&#039;T&#039;&#039;&#039;ransfer &#039;&#039;&#039;R&#039;&#039;&#039;atio)&lt;br /&gt;
* SF: Sicherheitsfaktor&lt;br /&gt;
&lt;br /&gt;
Dabei muss man im Datenblatt nach dem &#039;&#039;&#039;minimalen&#039;&#039;&#039; CTR suchen, der ist abhängig von dem speziellen Typ, Temperatur und ggf. vom LED-Strom. Als Sicherheitsfaktor sollte man mindestens 2 wählen, weil die gängige Definition der Lebensdauer einer LED bzw. Optokopplers auf die halbe optische Leistung ausgelegt ist. Wenn man die LED jedoch deutlich unter dem Nennstrom betreibt (50% und weniger), erhöht sich die Lebensdauer beachtlich, Faktor 10 und mehr ist möglich. Praktisch wird man einen Sicherheitsfaktor zwischen 2-5 wählen.&lt;br /&gt;
Aber auch hier muss man Kompromisse eingehen. Denn um die maximale Geschwindigkeit eines Optokopplers zu erreichen, muss man meist mit Nennstrom und minimalem Arbeitswiderstand arbeiten. Hier sind dann die High Speed Optokoppler mit aktivem Empfänger und Verstärker deutlich im Vorteil (z.B. 6N137). Bei Optokopplern mit Transistorausgang und herausgeführtem Basisanschluß kann man durch einen passenden Widerstand zwischen Basis und Emitter vor allem die Abschaltgeschwindigkeit deutlich steigen, allerdings auf Kosten der Empfindlichkeit.&lt;br /&gt;
&lt;br /&gt;
== Geläufige Typen == &lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} class=&amp;quot;wikitable sortable&amp;quot; id=&amp;quot;transistors-npn&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:8em&amp;quot; | Bezeichnung&lt;br /&gt;
! Gehäuse&lt;br /&gt;
! Vce (max)&amp;lt;br&amp;gt;[V]&lt;br /&gt;
! Vsupply&amp;lt;br&amp;gt;[V]&lt;br /&gt;
! CTR&amp;lt;br&amp;gt;[%]&lt;br /&gt;
! Iout&amp;lt;br&amp;gt;[mA]&lt;br /&gt;
! Geschwindigkeit&lt;br /&gt;
! Bemerkung&lt;br /&gt;
! Lieferant&lt;br /&gt;
! style=&amp;quot;width:7em&amp;quot; | Datenblatt&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;4N25&#039;&#039;&#039;&amp;lt;br&amp;gt;4N26&amp;lt;br&amp;gt;4N27&amp;lt;br&amp;gt;4N28&lt;br /&gt;
| DIP6&lt;br /&gt;
| 30&lt;br /&gt;
| —&lt;br /&gt;
| 20, 10&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | ton/off 2 µs (typ.)&lt;br /&gt;
| &lt;br /&gt;
| B C D DK e F U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0412EN Broadcom]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/4N25.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/201407061933068723.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/4N25_26_27_28.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-99-0010/S_110_4N25(26).pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/4N37M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/4N2X%20_4N3X_H11AX_series_v1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://www.mouser.com/ds/2/408/Toshiba-4N25_25A_26_27_28-Short-189542.pdf Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83725/4n25.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;4N32&#039;&#039;&#039;&amp;lt;br&amp;gt;4N33&lt;br /&gt;
| DIP6, SMD6&lt;br /&gt;
| 30&lt;br /&gt;
| —&lt;br /&gt;
| 500&lt;br /&gt;
| 100&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | 5 µS / 100 µS&lt;br /&gt;
| &lt;br /&gt;
| B C DK F U R&lt;br /&gt;
| [http://www.ct-micro.com/uploads_zip/4N32.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/TIL113_4NXX_H11BX.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/4N29-4N33_Data_Sheet.pdf Isocom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/H11B1M-D.pdf ONSemi]&amp;lt;br&amp;gt; [http://www.vishay.com/docs/81865/4n32.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;4N35&#039;&#039;&#039;&amp;lt;br&amp;gt;4N36&amp;lt;br&amp;gt;4N37&lt;br /&gt;
| DIP6, DCJ6&lt;br /&gt;
| 30&lt;br /&gt;
| —&lt;br /&gt;
| 100&lt;br /&gt;
| 100&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | ton/off 7 µs&lt;br /&gt;
| &lt;br /&gt;
| B C D DK e F U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0773EN Broadcom]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/4N35.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/201407061933068723.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/4N35-4N37.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-99-0012/S_110_4N35%20%204N37%20(%20M,%20S,%20S-TA1%20)%20(Rev.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/4N37M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/4N2X%20_4N3X_H11AX_series_v1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://www.mouser.com/catalog/specsheets/Toshiba-4N35_36_37-Short.pdf Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/81181/4n35.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| 6N135&amp;lt;br&amp;gt;&#039;&#039;&#039;6N136&#039;&#039;&#039;&amp;lt;br&amp;gt;PS8501&lt;br /&gt;
| DIP8&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 20&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 15&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |  30&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 100&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | 1 MBit/s&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Dual-channel: HCPL-xx3x&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | B C D DK F P U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0171EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPC6N136.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/6N135.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/6N135_6N136_EL450X.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93134.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2008-0032/S_110_6N135%20%206N136%20series.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL2530M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10656EJ04V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?type=datasheet&amp;amp;lang=en&amp;amp;pid=6N136 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83604/6n135.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-0500/1&amp;lt;br&amp;gt;EL0500/1&amp;lt;br&amp;gt;ICPL0500/1&amp;lt;br&amp;gt;SFH6315/6&lt;br /&gt;
| SO8&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0171EN Broadcom]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL045X_050X.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93163.pdf Isocom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL0534-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?83677 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| KPC457&amp;lt;br&amp;gt;CTM452&amp;lt;br&amp;gt;ELM452&amp;lt;br&amp;gt;FODM452&amp;lt;br&amp;gt;PS8101&amp;lt;br&amp;gt;TLP109&amp;lt;br&amp;gt;VOM452&lt;br /&gt;
| SO5&lt;br /&gt;
| &lt;br /&gt;
| [http://www.cosmo-ic.com/object/products/KPC457.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CTM452.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/ELM45X.pdf Everlight]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FODM453-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10260EJ06V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=12329&amp;amp;prodName=TLP109 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?81587 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;6N137&#039;&#039;&#039;&amp;lt;br&amp;gt;PS9587&lt;br /&gt;
| DIP8&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 7&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 5&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 15&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | 10 MBit/s&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Dual-channel: HCPL-xx3x&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | B C D DK F I U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0940EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPC6N137.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/6N137.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/6N137_EL26XX.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93136.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2008-0035/S_110_6N137%2020140411.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL2631M-D.pdf ONSemi], [http://documentation.renesas.com/doc/YOUSYS/document/PN10678EJ04V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?type=datasheet&amp;amp;lang=en&amp;amp;pid=6n137 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/84732/6n137.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-0600&amp;lt;br&amp;gt;EL0600&amp;lt;br&amp;gt;ICPL0600&amp;lt;br&amp;gt;LTV-0601&amp;lt;br&amp;gt;PS9817A&amp;lt;br&amp;gt;VO0600&lt;br /&gt;
| SO8&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0940EN Broadcom]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL06XX.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93162.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2013-0015/S_110_LTV-0601%2020140411.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL0639-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10647EJ03V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?84607 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-M600&amp;lt;br&amp;gt;KPC410&amp;lt;br&amp;gt;CTM600&amp;lt;br&amp;gt;ELM600&amp;lt;br&amp;gt;FODM611&amp;lt;br&amp;gt;ICPLM600&amp;lt;br&amp;gt;LTV-M601&amp;lt;br&amp;gt;PS9117A&amp;lt;br&amp;gt;PC410&amp;lt;br&amp;gt;TLP2362&lt;br /&gt;
| SO5&lt;br /&gt;
| &lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0941EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPC410.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CTM600.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/ELM6XX.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93131.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2013-0020/S_110_LTV-M601%20201503.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FODM611-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10646EJ04V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc410l0nip_e.pdf Sharp]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=7706&amp;amp;prodName=TLP2362 Toshiba]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;6N138&#039;&#039;&#039;&amp;lt;br&amp;gt;6N139&lt;br /&gt;
| DIP8&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 7, 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 7, 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 300&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 60&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | ton 15 µs, toff 50 µs&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Dual-channel: HCPL-xx3x&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C D DK e F R U&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-1359EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPC6N138.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/6N138.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/6N138_139.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93135.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2009-0001/S_110_6N138-L,%206N139-L.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL2731M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?pid=6N138&amp;amp;lang=en&amp;amp;type=datasheet Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83605/6n138.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-0700/1&amp;lt;br&amp;gt;TLP2403&lt;br /&gt;
| SO8&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-1359EN Broadcom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL0731-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=5956&amp;amp;prodName=TLP2403 Toshiba]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;CNY17&#039;&#039;&#039;&lt;br /&gt;
| DIP6&lt;br /&gt;
| 70&lt;br /&gt;
| —&lt;br /&gt;
| 160&lt;br /&gt;
| 50&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | ton 14 µs, toff 63 µs&lt;br /&gt;
| &lt;br /&gt;
| B C D DK e F U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0772EN Broadcom]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CNY17.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/201407061850553781.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/CNY17-1X_2X_3X_4X.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-99-0001/S_110_CNY17.pdf LiteOn], [http://www.onsemi.com/pub/Collateral/CNY17F4M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/CNY17_and_CNY17F_Series_v1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83606/cny17.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;H11L1&#039;&#039;&#039;&amp;lt;br&amp;gt;VOH1016A&lt;br /&gt;
| DIP6&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 16&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 16&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | digital&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 50&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | 1 MBit/s&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | [[Schmitt-Trigger]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C DK F P U&lt;br /&gt;
| [http://www.ct-micro.com/uploads_zip/H11L1.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/H11L1.pdf Everlight], [http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/H11l1-H11L4_data_sheet.pdf Isocom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/H11L3M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/H11L1_H11L2_H11L3_v1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/84896/voh1016ab.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| PC400&amp;lt;br&amp;gt;VOH1016A&lt;br /&gt;
| SO5&lt;br /&gt;
| [https://www.sharpsde.com/fileadmin/products/Optoelectronics/Isolation%20Devices/Specs%20Photocoupler/PC400J00000F_07Jun07_Spec_ED-04P172A.pdf Sharp]&amp;lt;br&amp;gt;[https://www.vishay.com/docs/84896/voh1016ab.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-814&amp;lt;br&amp;gt;K3010&amp;lt;br&amp;gt;CT814&amp;lt;br&amp;gt;EL814&amp;lt;br&amp;gt;ISP814&amp;lt;br&amp;gt;KB814&amp;lt;br&amp;gt;LTV-814&amp;lt;br&amp;gt;FOD814&amp;lt;br&amp;gt;Q814&amp;lt;br&amp;gt;PS2565&amp;lt;br&amp;gt;K814P&lt;br /&gt;
| DIP4&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 35&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | —&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 300&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 50&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | trise/tfall 20 µs&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | AC-Eingang,&amp;lt;br&amp;gt;Dual/Quad als *824/*844&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C DK e F I R U&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0771EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/K3010.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CT814.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL814.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/ISP814_Data_Sheet.pdf Isocom]&amp;lt;br&amp;gt;[http://www.kingbright.com/attachments/file/psearch/000/00/00/KB814(Ver.7).pdf Kingbright]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-96-0013/S_110_LTV-8X4%20series%2020150514.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FOD814-D.PDF ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/Q814%20v1.2.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10236EJ05V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83523/83523.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| ACPL-214&amp;lt;br&amp;gt;KPS2805&amp;lt;br&amp;gt;CTH214&amp;lt;br&amp;gt;EL3H4&amp;lt;br&amp;gt;IS3H4&amp;lt;br&amp;gt;LTV-214&amp;lt;br&amp;gt;HMHAA280&amp;lt;br&amp;gt;PS2805C&amp;lt;br&amp;gt;PC3H4&amp;lt;br&amp;gt;TLP290&amp;lt;br&amp;gt;VOS627A&lt;br /&gt;
| SO4&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0469EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPS2805.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CTH214.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL3H4-G.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_pdfs/is3h4_new.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2010-0067/S_110_LTV-2X4-G%20series%20201412.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HMHAA280-D.PDF ONSemi], [http://documentation.renesas.com/doc/YOUSYS/document/r08ds0074ej0300_nepoc.pdf Renesas]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc3h4_e.pdf Sharp]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=14154&amp;amp;prodName=TLP290(SE Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?83475 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| KPC815&amp;lt;br&amp;gt;CT815&amp;lt;br&amp;gt;EL815&amp;lt;br&amp;gt;ISP815&amp;lt;br&amp;gt;KB815&amp;lt;br&amp;gt;LTV-815&amp;lt;br&amp;gt;Q815&amp;lt;br&amp;gt;&#039;&#039;&#039;PC815&#039;&#039;&#039;&amp;lt;br&amp;gt;K815P&lt;br /&gt;
| DIP4&lt;br /&gt;
| 35&lt;br /&gt;
| —&lt;br /&gt;
| 600&lt;br /&gt;
| 80&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | trise 300 µs, tfall 250 µs&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | Dual/Quad als *825/*845&lt;br /&gt;
| B DK R U&lt;br /&gt;
| [http://www.cosmo-ic.com/object/products/KPC815.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CT815.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL815.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/ISP815.pdf Isocom]&amp;lt;br&amp;gt;[http://www.kingbright.com/attachments/file/psearch/000/00/00/KB815(Ver.10).pdf Kingbright]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-96-0015/S_110_LTV-815%20825%20845%20(%20M,%20S,%20S-TA1,%20S-TA,%20S-TP%20)%20Series.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/Q815_v.1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc81510nsz_e.pdf Sharp]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83524/k851p.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| CT816&amp;lt;br&amp;gt;EL816&amp;lt;br&amp;gt;KB816&amp;lt;br&amp;gt;LTV-816&amp;lt;br&amp;gt;PC123&lt;br /&gt;
| DIP4&lt;br /&gt;
| 70&lt;br /&gt;
| —&lt;br /&gt;
| 50&lt;br /&gt;
| 50&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot; | trise/tfall 18 µs&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Dual/Quad als *826/*846&lt;br /&gt;
| DK e R U&lt;br /&gt;
| [http://www.ct-micro.com/uploads_zip/CT816.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL816.pdf Everlight]&amp;lt;br&amp;gt;[http://www.kingbright.com/attachments/file/psearch/000/00/00/KB816(Ver.9).pdf Kingbright]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2012-0048/S_110_LTV-816%20(M,%20S,%20S-TA,%20S-TA1,%20S-TP)%20Series.pdf LiteOn]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc123xnnsz_e.pdf Sharp]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-817&amp;lt;br&amp;gt;K1010&amp;lt;br&amp;gt;CT817&amp;lt;br&amp;gt;EL817&amp;lt;br&amp;gt;ISP817&amp;lt;br&amp;gt;KB817&amp;lt;br&amp;gt;LTV-817&amp;lt;br&amp;gt;FOD817&amp;lt;br&amp;gt;Q817&amp;lt;br&amp;gt;PS2561D&amp;lt;br&amp;gt;&#039;&#039;&#039;PC817&#039;&#039;&#039;&amp;lt;br&amp;gt;TLP785&amp;lt;br&amp;gt;K817P&lt;br /&gt;
| DIP4&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 35&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | —&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 50&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 50&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | ton 3 µs, toff 50 µs&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | Dual/Quad als *827/*847&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C D DK e F I R U&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0265EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/K1010.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CT817.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL817.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/db9227580v.pdf Isocom]&amp;lt;br&amp;gt;[http://www.kingbright.com/attachments/file/psearch/000/00/00/KB817(Ver.12).pdf Kingbright]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2012-0050/S_110_LTV-817%20series%20201406.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FOD814-D.PDF ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/Q817_Series.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10777EJ02V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc817xnnsz_e.pdf Sharp]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=10569&amp;amp;prodName=TLP785 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83522/k817p.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-181&amp;lt;br&amp;gt;KPS2801&amp;lt;br&amp;gt;CTH217&amp;lt;br&amp;gt;EL3H7&amp;lt;br&amp;gt;IS3H7&amp;lt;br&amp;gt;LTV-217&amp;lt;br&amp;gt;HMHA281&amp;lt;br&amp;gt;PS2801C&amp;lt;br&amp;gt;PC3H7&amp;lt;br&amp;gt;TLP291&amp;lt;br&amp;gt;VOS617A&lt;br /&gt;
| SO4&lt;br /&gt;
| &lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0774EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPS2801.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CTH217.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL3H7-G.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93174.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2009-0016/S_110_LTV-217-G%20Series%20Rev%20-%20July%2016%202012.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HMHA2801B-D.PDF ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/r08ds0072ej0400_nepoc.pdf Renesas]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc3h7_e.pdf Sharp]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=14152&amp;amp;prodName=TLP291(SE Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?83497 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-2200&amp;lt;br&amp;gt;EL2200&amp;lt;br&amp;gt;&#039;&#039;&#039;TLP2200&#039;&#039;&#039;&amp;lt;br&amp;gt;SFH6700&lt;br /&gt;
| DIP8&lt;br /&gt;
| 15&lt;br /&gt;
| 15&lt;br /&gt;
| digital&lt;br /&gt;
| 25&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | 2,5 MBit/s&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | nicht-invertierender Push-/Pull-TTL-Ausgang&amp;lt;br&amp;gt;Dual-channel: HCPL-2231&lt;br /&gt;
| C DK F U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV01-0557EN Broadcom]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL220X.pdf Everlight]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=16819&amp;amp;prodName=TLP2200 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83683/sfh6700.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| ACPL-M75L&amp;lt;br&amp;gt;FODM8071&amp;lt;br&amp;gt;&#039;&#039;&#039;TLP2361&#039;&#039;&#039;&lt;br /&gt;
| SO5&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 6&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |  5&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | digital&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 10&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | 15 MBit/s&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Push-/Pull-CMOS-Ausgang&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C DK e F U&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0964EN Broadcom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FODM8071-D.pdf ONSemi]&amp;lt;br&amp;gt;[https://toshiba.semicon-storage.com/info/docget.jsp?did=14229&amp;amp;prodName=TLP2361 Toshiba]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;ACPL-071L&#039;&#039;&#039;&amp;lt;br&amp;gt;EL071L&amp;lt;br&amp;gt;TLP2466&lt;br /&gt;
| SO8&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0963EN Broadcom]&amp;lt;br&amp;gt;[http://ultran.ru/sites/default/files/el071l_datasheet_prelimilary.pdf Everlight]&amp;lt;br&amp;gt;[https://toshiba.semicon-storage.com/info/docget.jsp?did=10162&amp;amp;prodName=TLP2466 Toshiba]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Typen mit Transistorausgang ===&lt;br /&gt;
&lt;br /&gt;
* CNY17/x: 1-fach Koppler im DIL6-Gehäuse &lt;br /&gt;
* PC817-Serie: 1-,2-,3- und 4-fachTyp verfügbar, CTR: 50%, 80 kHz&lt;br /&gt;
* 6N135, 6N136: 1-fach Typ, DIL8, Highspeed 1 MBit/s&lt;br /&gt;
* 6N138, Darlingtonausgang mit hohem CTR&lt;br /&gt;
&lt;br /&gt;
=== Typen mit Triacausgang === &lt;br /&gt;
&lt;br /&gt;
* IL4218 TRIAC DRIVER OPTOCOUPLER&lt;br /&gt;
* MOC3020 6-Pin DIP Random-Phase Optoisolators Triac Driver Output 400 V&lt;br /&gt;
* MOC3052 6-Pin DIP Random-Phase Optoisolators Triac Drivers 600 V&lt;br /&gt;
* MOC306x 6-Pin DIP Zero-Cross Optoisolators Triac Driver Output 600 V&lt;br /&gt;
&lt;br /&gt;
=== Typen mit MOSFET ===&lt;br /&gt;
&lt;br /&gt;
* [https://na.industrial.panasonic.com/products/relays-contactors/semiconductor-relays/lineup/photomos-relays PhotoMOS-Relais bei Panasonic]&lt;br /&gt;
&lt;br /&gt;
=== Lineare Optokoppler ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.broadcom.com/products/optocouplers/industrial-plastic/specific-function/high-linearity-analog/ Broadcom HCNR-200/201]&lt;br /&gt;
* [https://www.broadcom.com/products/optocouplers/industrial-plastic/isolation-amplifiers-modulators/isolation-amplifiers/acpl-c870 Broadcom ACPL-C870] Vollintegrierter, optischer, analoger Trennverstärker, arbeitet intern jedoch digital&lt;br /&gt;
* [http://www.vishay.com/optocouplers/opto-linear/ Vishay IL300]&lt;br /&gt;
* [http://www.ssousa.com/pdf/SLC800.pdf Solid State Optronics SLC800] mit [http://www.ssousa.com/pdf/an060.pdf Applikationshinweis]&lt;br /&gt;
* [http://www.isolink.com/documents/datasheet/OLH7000_202303B.pdf Isolink OLH7000]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/029D3FDA649274DA85256A2C0068E392?Open IXYS (Clare) LOC211P (Anti)Dual Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/4E36B2775A9C9B8B85256A2C0068D9DB?Open IXYS (Clare) LOC210P (Anti)Dual Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/59296FA2985476938525721800570DB5?Open IXYS (Clare) LOC117 Single Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/3A4DE68835A6F1BA85256A2C0068CFB7?Open IXYS (Clare) LOC112 Single Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/8F89219D571B94DA85256A2C0068C4BD?Open IXYS (Clare) LOC111 Single Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/2E7C7ED81A9497A385256A2C0068BE89?Open  IXYS (Clare) LOC110 Single Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/2608A0F3BC20926685256F510069D145?Open IXYS (Clare) LIA120 Optically Isolated Linear Error Amplifier]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/86A26DCDA244CDFE85256A7700666E13?Open IXYS (Clare) Applikationshinweis zur LOC-Serie linearer Optokoppler]&lt;br /&gt;
&lt;br /&gt;
=== Vollintegrierte Optokoppler ===&lt;br /&gt;
&lt;br /&gt;
* 6N137: 1-fach Typ, DIL8, Highspeed 10 Mbit/s&lt;br /&gt;
* H11L1: 1-fach Typ, DIL6, Highspeed 1 Mbit/s&lt;br /&gt;
* HCPL-2200: 1-fach Typ, DIL8, Highspeed 2,5 Mbit/s&lt;br /&gt;
* HCPL 2630: 2-fach Typ, DIL8, Highspeed 10 Mbit/s&lt;br /&gt;
&lt;br /&gt;
=== Alternative Technologien ===&lt;br /&gt;
&lt;br /&gt;
* Für höhere Geschwindigkeiten bietet z.&amp;amp;nbsp;B. Analog Devices recht teure [http://www.analog.com/en/interface/digital-isolators/products/index.html Digital Isolators] an, genannt &#039;&#039;&#039;iCoupler&#039;&#039;&#039; und von Texas Instruments die [http://focus.ti.com/paramsearch/docs/parametricsearch.tsp?family=analog&amp;amp;familyId=897&amp;amp;uiTemplateId=NODE_STRY_PGE_T ISO Koppler] auf kapazitiver Basis.&lt;br /&gt;
&lt;br /&gt;
=== Optokoppler für höhere Schaltleistungen ===&lt;br /&gt;
&lt;br /&gt;
Für höhere Ströme jenseits einiger mA gibt es von Panasonic sogenannte Photo-MOS Relais. Das sind MOSFETs, welche optisch angesteuert werden. Ebenso gibt es MOSFET-Treiber, welche diskrete MOSFETs potentialfrei ansteuern können, ohne eine zusätzliche Hilfsversorgung zu benötigen.&lt;br /&gt;
&lt;br /&gt;
* [https://na.industrial.panasonic.com/products/relays-contactors/semiconductor-relays/lineup/photomos-relays PhotoMOS Relais]&lt;br /&gt;
* [https://www.vishay.com/en/product/83469/ Photoelektrischer MOSFET-Treiber ohne Hilfsversorgung]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[I2C-Schaltmodul]] mit Optokoppler MOC3040 zur galvanischen Trennung von [[I2C]]-[[Bus]] und [[230V]] Netzspannung.&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/218153#new| Forumsbeitrag]: Methoden zur Beschleunigung von Optokopplern&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/380250#4327204 Forumsbeitrag]: Verpolungs- und Überspannungsschutz mit Photo-MOS&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/394574#4538291 Forumsbeitrag]: Lineare Spannungsübertragung mit IL300&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/431716#5087308 Forumsbeitrag]: Hinweise zum ACPL-C870&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/534764#7018285 Forumsbeitrag]: Lebensdauer Optokoppler&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/561924#7546115 Forumsbeitrag]: warum hier zwei Vorwiderstände (Gleichtaktstörungen bei schnellen Gatetreibern mit Digitalkoppler)&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/567991?goto=7671768#7671768 Forumsbeitrag]: Simulation eines PhotoMOS Relais&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://web.archive.org/web/20170717072717/https://www.learnabout-electronics.org/ssr_01.php Opto-coupled devices, (engl.)]&lt;br /&gt;
* [https://toshiba.semicon-storage.com/info/docget.jsp?did=13438 Basic Characteristics and Application Circuit Design of Transistor Photocouplers] (engl., Application Note von Toshiba)&lt;br /&gt;
* [https://toshiba.semicon-storage.com/info/docget.jsp?did=60965 Basic Characteristics and Application Circuit Design of IC Couplers] (engl., Application Note von Toshiba)&lt;br /&gt;
* [https://datasheetspdf.com/pdf-file/369404/PerkinElmerOptoelectronics/VTL5C9/1 Vactrols], Photoconductive Cells and Analog Optoisolators, PerkinElmer Optoelectronics, PDF &lt;br /&gt;
&lt;br /&gt;
[[Category:Bauteile]]&lt;br /&gt;
[[Category:Datenübertragung]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Optokoppler&amp;diff=107603</id>
		<title>Optokoppler</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Optokoppler&amp;diff=107603"/>
		<updated>2025-08-07T02:35:23Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Typen mit MOSFET */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
Optokoppler dienen zur Kopplung elektronischer Schaltungen mit Hilfe von Lichtenergie. In einem Optokoppler befindet sich ein Lichtsender ([[LED]], meist Infrarot) und ein Lichtempfänger (z.&amp;amp;nbsp;B. [[Lichtsensor / Helligkeitssensor|Fototransistor]]), welche durch einen sehr kurzen Lichtleiter verbunden sind. Die elektrische (galvanische) Trennung zwischen Eingang und Ausgang ermöglicht Kopplung von Schaltungen sehr unterschiedlichen Spannungsniveaus. Das ist notwendig bei gefährlich hohen Spannungen, störverseuchten Umgebungen oder zur Verhinderung von Masseschleifen. Neben Optokopplern mit Fototransistoren als Lichtempfänger gibt es Typen mit Fotodioden oder Triacs. Typen mit Photodioden sind dabei wesentlich schneller als Transistor- und Triactypen. Ausserdem gibt es noch komplett integrierte Typen, welche ohne weitere Beschaltung wie ein normaler digitaler IC verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
Die meisten Optokoppler sind nur für digitale Signale nutzbar. Zur elektrischen Trennung von analogen Signalen eignen sich spezielle Optokoppler. Diese haben meist zwei Photoempfänger, meist Photodioden. Eine Photodiode dient als [[Galvanische Trennung | galvanisch getrennter Ausgang]], die Zweite als Vergleichsausgang zur Kompensation von Unlinearitäten, Drift- und Alterungseffekten. Durch diese lässt sich eine Regelung aufbauen die die Vergleichsspannung proportional zur Eingangsspannung einstellt. Dadurch ist die Übertragungsfunktion des Optokopplers als linear anzusehen. Daher wird im Zusammenhang mit analogen Optokopplern häufig auch von linearen Optokopplern gesprochen. Für gemäßigte Ansprüche kann man aber auch mit normalen, digitalen Optokopplern analoge Signale übertragen.&lt;br /&gt;
&lt;br /&gt;
== Beschaltung ==&lt;br /&gt;
&lt;br /&gt;
Optokoppler sind relativ leicht nutzbar. Sie bieten ausserdem die Möglichkeit, das Signal bei der Übertragung zu invertieren. Nachfolgend sind drei Grundschaltungen gezeigt. Links nichtinvertierend, in der Mitte mit Invertierung am Eingang und rechts mit Invertierung am Ausgang, das ist die häufigste Schaltung.&lt;br /&gt;
&lt;br /&gt;
[[bild:optokoppler_grundschaltungen.png]]&lt;br /&gt;
&lt;br /&gt;
Wie berechnet man nun die Widerstände für die [[LED]] und den [[Transistor]] am Ausgang? Recht einfach. Zunächst muss man den Strom durch die LED festlegen, hier hilft auch das Datenblatt. Typische Werte liegen zwischen 5-20mA. Die Berechnung des Vorwiderstands erfolgt gemäß Beschreibung im Artikel [[LED]], wobei die Flußspannung meist 1,2-1,5V beträgt. Der Arbeitswiderstand am Ausgang berechnet sich wie folgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; R_A = \frac{Vcc \cdot SF}{I_{LED} \cdot CTR }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* R_A : Arbeitswiderstand&lt;br /&gt;
* Vcc: Betriebsspannung am Ausgang&lt;br /&gt;
* CTR: Stromübertragungsfaktor (engl. &#039;&#039;&#039;C&#039;&#039;&#039;urrent &#039;&#039;&#039;T&#039;&#039;&#039;ransfer &#039;&#039;&#039;R&#039;&#039;&#039;atio)&lt;br /&gt;
* SF: Sicherheitsfaktor&lt;br /&gt;
&lt;br /&gt;
Dabei muss man im Datenblatt nach dem &#039;&#039;&#039;minimalen&#039;&#039;&#039; CTR suchen, der ist abhängig von dem speziellen Typ, Temperatur und ggf. vom LED-Strom. Als Sicherheitsfaktor sollte man mindestens 2 wählen, weil die gängige Definition der Lebensdauer einer LED bzw. Optokopplers auf die halbe optische Leistung ausgelegt ist. Wenn man die LED jedoch deutlich unter dem Nennstrom betreibt (50% und weniger), erhöht sich die Lebensdauer beachtlich, Faktor 10 und mehr ist möglich. Praktisch wird man einen Sicherheitsfaktor zwischen 2-5 wählen.&lt;br /&gt;
Aber auch hier muss man Kompromisse eingehen. Denn um die maximale Geschwindigkeit eines Optokopplers zu erreichen, muss man meist mit Nennstrom und minimalem Arbeitswiderstand arbeiten. Hier sind dann die High Speed Optokoppler mit aktivem Empfänger und Verstärker deutlich im Vorteil (z.B. 6N137). Bei Optokopplern mit Transistorausgang und herausgeführtem Basisanschluß kann man durch einen passenden Widerstand zwischen Basis und Emitter vor allem die Abschaltgeschwindigkeit deutlich steigen, allerdings auf Kosten der Empfindlichkeit.&lt;br /&gt;
&lt;br /&gt;
== Geläufige Typen == &lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} class=&amp;quot;wikitable sortable&amp;quot; id=&amp;quot;transistors-npn&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:8em&amp;quot; | Bezeichnung&lt;br /&gt;
! Gehäuse&lt;br /&gt;
! Vce (max)&amp;lt;br&amp;gt;[V]&lt;br /&gt;
! Vsupply&amp;lt;br&amp;gt;[V]&lt;br /&gt;
! CTR&amp;lt;br&amp;gt;[%]&lt;br /&gt;
! Iout&amp;lt;br&amp;gt;[mA]&lt;br /&gt;
! Geschwindigkeit&lt;br /&gt;
! Bemerkung&lt;br /&gt;
! Lieferant&lt;br /&gt;
! style=&amp;quot;width:7em&amp;quot; | Datenblatt&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;4N25&#039;&#039;&#039;&amp;lt;br&amp;gt;4N26&amp;lt;br&amp;gt;4N27&amp;lt;br&amp;gt;4N28&lt;br /&gt;
| DIP6&lt;br /&gt;
| 30&lt;br /&gt;
| —&lt;br /&gt;
| 20, 10&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | ton/off 2 µs (typ.)&lt;br /&gt;
| &lt;br /&gt;
| B C D DK e F U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0412EN Broadcom]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/4N25.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/201407061933068723.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/4N25_26_27_28.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-99-0010/S_110_4N25(26).pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/4N37M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/4N2X%20_4N3X_H11AX_series_v1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://www.mouser.com/ds/2/408/Toshiba-4N25_25A_26_27_28-Short-189542.pdf Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83725/4n25.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;4N32&#039;&#039;&#039;&amp;lt;br&amp;gt;4N33&lt;br /&gt;
| DIP6, SMD6&lt;br /&gt;
| 30&lt;br /&gt;
| —&lt;br /&gt;
| 500&lt;br /&gt;
| 100&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | 5 µS / 100 µS&lt;br /&gt;
| &lt;br /&gt;
| B C DK F U R&lt;br /&gt;
| [http://www.ct-micro.com/uploads_zip/4N32.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/TIL113_4NXX_H11BX.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/4N29-4N33_Data_Sheet.pdf Isocom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/H11B1M-D.pdf ONSemi]&amp;lt;br&amp;gt; [http://www.vishay.com/docs/81865/4n32.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;4N35&#039;&#039;&#039;&amp;lt;br&amp;gt;4N36&amp;lt;br&amp;gt;4N37&lt;br /&gt;
| DIP6, DCJ6&lt;br /&gt;
| 30&lt;br /&gt;
| —&lt;br /&gt;
| 100&lt;br /&gt;
| 100&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | ton/off 7 µs&lt;br /&gt;
| &lt;br /&gt;
| B C D DK e F U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0773EN Broadcom]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/4N35.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/201407061933068723.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/4N35-4N37.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-99-0012/S_110_4N35%20%204N37%20(%20M,%20S,%20S-TA1%20)%20(Rev.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/4N37M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/4N2X%20_4N3X_H11AX_series_v1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://www.mouser.com/catalog/specsheets/Toshiba-4N35_36_37-Short.pdf Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/81181/4n35.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| 6N135&amp;lt;br&amp;gt;&#039;&#039;&#039;6N136&#039;&#039;&#039;&amp;lt;br&amp;gt;PS8501&lt;br /&gt;
| DIP8&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 20&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 15&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |  30&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 100&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | 1 MBit/s&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Dual-channel: HCPL-xx3x&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | B C D DK F P U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0171EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPC6N136.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/6N135.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/6N135_6N136_EL450X.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93134.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2008-0032/S_110_6N135%20%206N136%20series.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL2530M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10656EJ04V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?type=datasheet&amp;amp;lang=en&amp;amp;pid=6N136 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83604/6n135.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-0500/1&amp;lt;br&amp;gt;EL0500/1&amp;lt;br&amp;gt;ICPL0500/1&amp;lt;br&amp;gt;SFH6315/6&lt;br /&gt;
| SO8&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0171EN Broadcom]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL045X_050X.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93163.pdf Isocom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL0534-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?83677 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| KPC457&amp;lt;br&amp;gt;CTM452&amp;lt;br&amp;gt;ELM452&amp;lt;br&amp;gt;FODM452&amp;lt;br&amp;gt;PS8101&amp;lt;br&amp;gt;TLP109&amp;lt;br&amp;gt;VOM452&lt;br /&gt;
| SO5&lt;br /&gt;
| &lt;br /&gt;
| [http://www.cosmo-ic.com/object/products/KPC457.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CTM452.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/ELM45X.pdf Everlight]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FODM453-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10260EJ06V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=12329&amp;amp;prodName=TLP109 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?81587 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;6N137&#039;&#039;&#039;&amp;lt;br&amp;gt;PS9587&lt;br /&gt;
| DIP8&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 7&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 5&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 15&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | 10 MBit/s&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Dual-channel: HCPL-xx3x&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | B C D DK F I U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0940EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPC6N137.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/6N137.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/6N137_EL26XX.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93136.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2008-0035/S_110_6N137%2020140411.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL2631M-D.pdf ONSemi], [http://documentation.renesas.com/doc/YOUSYS/document/PN10678EJ04V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?type=datasheet&amp;amp;lang=en&amp;amp;pid=6n137 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/84732/6n137.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-0600&amp;lt;br&amp;gt;EL0600&amp;lt;br&amp;gt;ICPL0600&amp;lt;br&amp;gt;LTV-0601&amp;lt;br&amp;gt;PS9817A&amp;lt;br&amp;gt;VO0600&lt;br /&gt;
| SO8&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0940EN Broadcom]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL06XX.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93162.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2013-0015/S_110_LTV-0601%2020140411.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL0639-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10647EJ03V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?84607 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-M600&amp;lt;br&amp;gt;KPC410&amp;lt;br&amp;gt;CTM600&amp;lt;br&amp;gt;ELM600&amp;lt;br&amp;gt;FODM611&amp;lt;br&amp;gt;ICPLM600&amp;lt;br&amp;gt;LTV-M601&amp;lt;br&amp;gt;PS9117A&amp;lt;br&amp;gt;PC410&amp;lt;br&amp;gt;TLP2362&lt;br /&gt;
| SO5&lt;br /&gt;
| &lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0941EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPC410.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CTM600.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/ELM6XX.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93131.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2013-0020/S_110_LTV-M601%20201503.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FODM611-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10646EJ04V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc410l0nip_e.pdf Sharp]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=7706&amp;amp;prodName=TLP2362 Toshiba]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;6N138&#039;&#039;&#039;&amp;lt;br&amp;gt;6N139&lt;br /&gt;
| DIP8&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 7, 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 7, 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 300&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 60&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | ton 15 µs, toff 50 µs&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Dual-channel: HCPL-xx3x&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C D DK e F R U&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-1359EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPC6N138.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/6N138.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/6N138_139.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93135.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2009-0001/S_110_6N138-L,%206N139-L.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL2731M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?pid=6N138&amp;amp;lang=en&amp;amp;type=datasheet Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83605/6n138.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-0700/1&amp;lt;br&amp;gt;TLP2403&lt;br /&gt;
| SO8&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-1359EN Broadcom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL0731-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=5956&amp;amp;prodName=TLP2403 Toshiba]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;CNY17&#039;&#039;&#039;&lt;br /&gt;
| DIP6&lt;br /&gt;
| 70&lt;br /&gt;
| —&lt;br /&gt;
| 160&lt;br /&gt;
| 50&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | ton 14 µs, toff 63 µs&lt;br /&gt;
| &lt;br /&gt;
| B C D DK e F U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0772EN Broadcom]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CNY17.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/201407061850553781.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/CNY17-1X_2X_3X_4X.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-99-0001/S_110_CNY17.pdf LiteOn], [http://www.onsemi.com/pub/Collateral/CNY17F4M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/CNY17_and_CNY17F_Series_v1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83606/cny17.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;H11L1&#039;&#039;&#039;&amp;lt;br&amp;gt;VOH1016A&lt;br /&gt;
| DIP6&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 16&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 16&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | digital&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 50&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | 1 MBit/s&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | [[Schmitt-Trigger]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C DK F P U&lt;br /&gt;
| [http://www.ct-micro.com/uploads_zip/H11L1.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/H11L1.pdf Everlight], [http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/H11l1-H11L4_data_sheet.pdf Isocom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/H11L3M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/H11L1_H11L2_H11L3_v1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/84896/voh1016ab.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| PC400&amp;lt;br&amp;gt;VOH1016A&lt;br /&gt;
| SO5&lt;br /&gt;
| [https://www.sharpsde.com/fileadmin/products/Optoelectronics/Isolation%20Devices/Specs%20Photocoupler/PC400J00000F_07Jun07_Spec_ED-04P172A.pdf Sharp]&amp;lt;br&amp;gt;[https://www.vishay.com/docs/84896/voh1016ab.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-814&amp;lt;br&amp;gt;K3010&amp;lt;br&amp;gt;CT814&amp;lt;br&amp;gt;EL814&amp;lt;br&amp;gt;ISP814&amp;lt;br&amp;gt;KB814&amp;lt;br&amp;gt;LTV-814&amp;lt;br&amp;gt;FOD814&amp;lt;br&amp;gt;Q814&amp;lt;br&amp;gt;PS2565&amp;lt;br&amp;gt;K814P&lt;br /&gt;
| DIP4&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 35&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | —&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 300&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 50&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | trise/tfall 20 µs&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | AC-Eingang,&amp;lt;br&amp;gt;Dual/Quad als *824/*844&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C DK e F I R U&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0771EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/K3010.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CT814.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL814.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/ISP814_Data_Sheet.pdf Isocom]&amp;lt;br&amp;gt;[http://www.kingbright.com/attachments/file/psearch/000/00/00/KB814(Ver.7).pdf Kingbright]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-96-0013/S_110_LTV-8X4%20series%2020150514.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FOD814-D.PDF ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/Q814%20v1.2.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10236EJ05V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83523/83523.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| ACPL-214&amp;lt;br&amp;gt;KPS2805&amp;lt;br&amp;gt;CTH214&amp;lt;br&amp;gt;EL3H4&amp;lt;br&amp;gt;IS3H4&amp;lt;br&amp;gt;LTV-214&amp;lt;br&amp;gt;HMHAA280&amp;lt;br&amp;gt;PS2805C&amp;lt;br&amp;gt;PC3H4&amp;lt;br&amp;gt;TLP290&amp;lt;br&amp;gt;VOS627A&lt;br /&gt;
| SO4&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0469EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPS2805.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CTH214.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL3H4-G.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_pdfs/is3h4_new.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2010-0067/S_110_LTV-2X4-G%20series%20201412.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HMHAA280-D.PDF ONSemi], [http://documentation.renesas.com/doc/YOUSYS/document/r08ds0074ej0300_nepoc.pdf Renesas]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc3h4_e.pdf Sharp]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=14154&amp;amp;prodName=TLP290(SE Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?83475 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| KPC815&amp;lt;br&amp;gt;CT815&amp;lt;br&amp;gt;EL815&amp;lt;br&amp;gt;ISP815&amp;lt;br&amp;gt;KB815&amp;lt;br&amp;gt;LTV-815&amp;lt;br&amp;gt;Q815&amp;lt;br&amp;gt;&#039;&#039;&#039;PC815&#039;&#039;&#039;&amp;lt;br&amp;gt;K815P&lt;br /&gt;
| DIP4&lt;br /&gt;
| 35&lt;br /&gt;
| —&lt;br /&gt;
| 600&lt;br /&gt;
| 80&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | trise 300 µs, tfall 250 µs&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | Dual/Quad als *825/*845&lt;br /&gt;
| B DK R U&lt;br /&gt;
| [http://www.cosmo-ic.com/object/products/KPC815.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CT815.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL815.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/ISP815.pdf Isocom]&amp;lt;br&amp;gt;[http://www.kingbright.com/attachments/file/psearch/000/00/00/KB815(Ver.10).pdf Kingbright]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-96-0015/S_110_LTV-815%20825%20845%20(%20M,%20S,%20S-TA1,%20S-TA,%20S-TP%20)%20Series.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/Q815_v.1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc81510nsz_e.pdf Sharp]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83524/k851p.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| CT816&amp;lt;br&amp;gt;EL816&amp;lt;br&amp;gt;KB816&amp;lt;br&amp;gt;LTV-816&amp;lt;br&amp;gt;PC123&lt;br /&gt;
| DIP4&lt;br /&gt;
| 70&lt;br /&gt;
| —&lt;br /&gt;
| 50&lt;br /&gt;
| 50&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot; | trise/tfall 18 µs&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Dual/Quad als *826/*846&lt;br /&gt;
| DK e R U&lt;br /&gt;
| [http://www.ct-micro.com/uploads_zip/CT816.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL816.pdf Everlight]&amp;lt;br&amp;gt;[http://www.kingbright.com/attachments/file/psearch/000/00/00/KB816(Ver.9).pdf Kingbright]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2012-0048/S_110_LTV-816%20(M,%20S,%20S-TA,%20S-TA1,%20S-TP)%20Series.pdf LiteOn]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc123xnnsz_e.pdf Sharp]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-817&amp;lt;br&amp;gt;K1010&amp;lt;br&amp;gt;CT817&amp;lt;br&amp;gt;EL817&amp;lt;br&amp;gt;ISP817&amp;lt;br&amp;gt;KB817&amp;lt;br&amp;gt;LTV-817&amp;lt;br&amp;gt;FOD817&amp;lt;br&amp;gt;Q817&amp;lt;br&amp;gt;PS2561D&amp;lt;br&amp;gt;&#039;&#039;&#039;PC817&#039;&#039;&#039;&amp;lt;br&amp;gt;TLP785&amp;lt;br&amp;gt;K817P&lt;br /&gt;
| DIP4&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 35&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | —&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 50&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 50&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | ton 3 µs, toff 50 µs&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | Dual/Quad als *827/*847&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C D DK e F I R U&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0265EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/K1010.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CT817.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL817.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/db9227580v.pdf Isocom]&amp;lt;br&amp;gt;[http://www.kingbright.com/attachments/file/psearch/000/00/00/KB817(Ver.12).pdf Kingbright]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2012-0050/S_110_LTV-817%20series%20201406.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FOD814-D.PDF ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/Q817_Series.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10777EJ02V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc817xnnsz_e.pdf Sharp]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=10569&amp;amp;prodName=TLP785 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83522/k817p.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-181&amp;lt;br&amp;gt;KPS2801&amp;lt;br&amp;gt;CTH217&amp;lt;br&amp;gt;EL3H7&amp;lt;br&amp;gt;IS3H7&amp;lt;br&amp;gt;LTV-217&amp;lt;br&amp;gt;HMHA281&amp;lt;br&amp;gt;PS2801C&amp;lt;br&amp;gt;PC3H7&amp;lt;br&amp;gt;TLP291&amp;lt;br&amp;gt;VOS617A&lt;br /&gt;
| SO4&lt;br /&gt;
| &lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0774EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPS2801.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CTH217.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL3H7-G.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93174.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2009-0016/S_110_LTV-217-G%20Series%20Rev%20-%20July%2016%202012.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HMHA2801B-D.PDF ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/r08ds0072ej0400_nepoc.pdf Renesas]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc3h7_e.pdf Sharp]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=14152&amp;amp;prodName=TLP291(SE Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?83497 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-2200&amp;lt;br&amp;gt;EL2200&amp;lt;br&amp;gt;&#039;&#039;&#039;TLP2200&#039;&#039;&#039;&amp;lt;br&amp;gt;SFH6700&lt;br /&gt;
| DIP8&lt;br /&gt;
| 15&lt;br /&gt;
| 15&lt;br /&gt;
| digital&lt;br /&gt;
| 25&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | 2,5 MBit/s&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | nicht-invertierender Push-/Pull-TTL-Ausgang&amp;lt;br&amp;gt;Dual-channel: HCPL-2231&lt;br /&gt;
| C DK F U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV01-0557EN Broadcom]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL220X.pdf Everlight]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=16819&amp;amp;prodName=TLP2200 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83683/sfh6700.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| ACPL-M75L&amp;lt;br&amp;gt;FODM8071&amp;lt;br&amp;gt;&#039;&#039;&#039;TLP2361&#039;&#039;&#039;&lt;br /&gt;
| SO5&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 6&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |  5&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | digital&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 10&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | 15 MBit/s&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Push-/Pull-CMOS-Ausgang&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C DK e F U&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0964EN Broadcom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FODM8071-D.pdf ONSemi]&amp;lt;br&amp;gt;[https://toshiba.semicon-storage.com/info/docget.jsp?did=14229&amp;amp;prodName=TLP2361 Toshiba]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;ACPL-071L&#039;&#039;&#039;&amp;lt;br&amp;gt;EL071L&amp;lt;br&amp;gt;TLP2466&lt;br /&gt;
| SO8&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0963EN Broadcom]&amp;lt;br&amp;gt;[http://ultran.ru/sites/default/files/el071l_datasheet_prelimilary.pdf Everlight]&amp;lt;br&amp;gt;[https://toshiba.semicon-storage.com/info/docget.jsp?did=10162&amp;amp;prodName=TLP2466 Toshiba]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Typen mit Transistorausgang ===&lt;br /&gt;
&lt;br /&gt;
* CNY17/x: 1-fach Koppler im DIL6-Gehäuse &lt;br /&gt;
* PC817-Serie: 1-,2-,3- und 4-fachTyp verfügbar, CTR: 50%, 80 kHz&lt;br /&gt;
* 6N135, 6N136: 1-fach Typ, DIL8, Highspeed 1 MBit/s&lt;br /&gt;
* 6N138, Darlingtonausgang mit hohem CTR&lt;br /&gt;
&lt;br /&gt;
=== Typen mit Triacausgang === &lt;br /&gt;
&lt;br /&gt;
* IL4218 TRIAC DRIVER OPTOCOUPLER&lt;br /&gt;
* MOC3020 6-Pin DIP Random-Phase Optoisolators Triac Driver Output 400 V&lt;br /&gt;
* MOC3052 6-Pin DIP Random-Phase Optoisolators Triac Drivers 600 V&lt;br /&gt;
* MOC306x 6-Pin DIP Zero-Cross Optoisolators Triac Driver Output 600 V&lt;br /&gt;
&lt;br /&gt;
=== Typen mit MOSFET ===&lt;br /&gt;
&lt;br /&gt;
* [https://na.industrial.panasonic.com/products/relays-contactors/semiconductor-relays/lineup/photomos-relays PhotoMOS-Relais bei Panasonic]&lt;br /&gt;
&lt;br /&gt;
=== Lineare Optokoppler ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.broadcom.com/products/optocouplers/industrial-plastic/specific-function/high-linearity-analog/ Broadcom HCNR-200/201]&lt;br /&gt;
* [https://www.broadcom.com/products/optocouplers/industrial-plastic/isolation-amplifiers-modulators/isolation-amplifiers/acpl-c870 Broadcom ACPL-C870] Vollintegrierter, optischer, analoger Trennverstärker, arbeitet intern jedoch digital&lt;br /&gt;
* [http://www.vishay.com/optocouplers/opto-linear/ Vishay IL300]&lt;br /&gt;
* [http://www.ssousa.com/pdf/SLC800.pdf Solid State Optronics SLC800] mit [http://www.ssousa.com/pdf/an060.pdf Applikationshinweis]&lt;br /&gt;
* [http://www.isolink.com/documents/datasheet/OLH7000_202303B.pdf Isolink OLH7000]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/029D3FDA649274DA85256A2C0068E392?Open IXYS (Clare) LOC211P (Anti)Dual Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/4E36B2775A9C9B8B85256A2C0068D9DB?Open IXYS (Clare) LOC210P (Anti)Dual Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/59296FA2985476938525721800570DB5?Open IXYS (Clare) LOC117 Single Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/3A4DE68835A6F1BA85256A2C0068CFB7?Open IXYS (Clare) LOC112 Single Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/8F89219D571B94DA85256A2C0068C4BD?Open IXYS (Clare) LOC111 Single Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/2E7C7ED81A9497A385256A2C0068BE89?Open  IXYS (Clare) LOC110 Single Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/2608A0F3BC20926685256F510069D145?Open IXYS (Clare) LIA120 Optically Isolated Linear Error Amplifier]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/86A26DCDA244CDFE85256A7700666E13?Open IXYS (Clare) Applikationshinweis zur LOC-Serie linearer Optokoppler]&lt;br /&gt;
&lt;br /&gt;
=== Vollintegrierte Optokoppler ===&lt;br /&gt;
&lt;br /&gt;
* 6N137: 1-fach Typ, DIL8, Highspeed 10 Mbit/s&lt;br /&gt;
* H11L1: 1-fach Typ, DIL6, Highspeed 1 Mbit/s&lt;br /&gt;
* HCPL-2200: 1-fach Typ, DIL8, Highspeed 2,5 Mbit/s&lt;br /&gt;
* HCPL 2630: 2-fach Typ, DIL8, Highspeed 10 Mbit/s&lt;br /&gt;
&lt;br /&gt;
=== Alternative Technologien ===&lt;br /&gt;
&lt;br /&gt;
* Für höhere Geschwindigkeiten bietet z.&amp;amp;nbsp;B. Analog Devices recht teure [http://www.analog.com/en/interface/digital-isolators/products/index.html Digital Isolators] an, genannt &#039;&#039;&#039;iCoupler&#039;&#039;&#039; und von Texas Instruments die [http://focus.ti.com/paramsearch/docs/parametricsearch.tsp?family=analog&amp;amp;familyId=897&amp;amp;uiTemplateId=NODE_STRY_PGE_T ISO Koppler] auf kapazitiver Basis.&lt;br /&gt;
&lt;br /&gt;
=== Optokoppler für höhere Schaltleistungen ===&lt;br /&gt;
&lt;br /&gt;
Für höhere Ströme jenseits einiger mA gibt es von Panasonic sogenannte Photo-MOS Relais. Das sind MOSFETs, welche optisch angesteuert werden. Ebenso gibt es MOSFET-Treiber, welche diskrete MOSFETs potentialfrei ansteuern können, ohne eine zusätzliche Hilfsversorgung zu benötigen.&lt;br /&gt;
&lt;br /&gt;
* [https://na.industrial.panasonic.com/products/relays-contactors/semiconductor-relays/lineup/photomos-relays PhotoMOS Relais]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[I2C-Schaltmodul]] mit Optokoppler MOC3040 zur galvanischen Trennung von [[I2C]]-[[Bus]] und [[230V]] Netzspannung.&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/218153#new| Forumsbeitrag]: Methoden zur Beschleunigung von Optokopplern&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/380250#4327204 Forumsbeitrag]: Verpolungs- und Überspannungsschutz mit Photo-MOS&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/394574#4538291 Forumsbeitrag]: Lineare Spannungsübertragung mit IL300&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/431716#5087308 Forumsbeitrag]: Hinweise zum ACPL-C870&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/534764#7018285 Forumsbeitrag]: Lebensdauer Optokoppler&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/561924#7546115 Forumsbeitrag]: warum hier zwei Vorwiderstände (Gleichtaktstörungen bei schnellen Gatetreibern mit Digitalkoppler)&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/567991?goto=7671768#7671768 Forumsbeitrag]: Simulation eines PhotoMOS Relais&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://web.archive.org/web/20170717072717/https://www.learnabout-electronics.org/ssr_01.php Opto-coupled devices, (engl.)]&lt;br /&gt;
* [https://toshiba.semicon-storage.com/info/docget.jsp?did=13438 Basic Characteristics and Application Circuit Design of Transistor Photocouplers] (engl., Application Note von Toshiba)&lt;br /&gt;
* [https://toshiba.semicon-storage.com/info/docget.jsp?did=60965 Basic Characteristics and Application Circuit Design of IC Couplers] (engl., Application Note von Toshiba)&lt;br /&gt;
* [https://datasheetspdf.com/pdf-file/369404/PerkinElmerOptoelectronics/VTL5C9/1 Vactrols], Photoconductive Cells and Analog Optoisolators, PerkinElmer Optoelectronics, PDF &lt;br /&gt;
&lt;br /&gt;
[[Category:Bauteile]]&lt;br /&gt;
[[Category:Datenübertragung]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Optokoppler&amp;diff=107602</id>
		<title>Optokoppler</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Optokoppler&amp;diff=107602"/>
		<updated>2025-08-07T02:34:59Z</updated>

		<summary type="html">&lt;p&gt;Falk: /* Typen mit MOSFET */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
Optokoppler dienen zur Kopplung elektronischer Schaltungen mit Hilfe von Lichtenergie. In einem Optokoppler befindet sich ein Lichtsender ([[LED]], meist Infrarot) und ein Lichtempfänger (z.&amp;amp;nbsp;B. [[Lichtsensor / Helligkeitssensor|Fototransistor]]), welche durch einen sehr kurzen Lichtleiter verbunden sind. Die elektrische (galvanische) Trennung zwischen Eingang und Ausgang ermöglicht Kopplung von Schaltungen sehr unterschiedlichen Spannungsniveaus. Das ist notwendig bei gefährlich hohen Spannungen, störverseuchten Umgebungen oder zur Verhinderung von Masseschleifen. Neben Optokopplern mit Fototransistoren als Lichtempfänger gibt es Typen mit Fotodioden oder Triacs. Typen mit Photodioden sind dabei wesentlich schneller als Transistor- und Triactypen. Ausserdem gibt es noch komplett integrierte Typen, welche ohne weitere Beschaltung wie ein normaler digitaler IC verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
Die meisten Optokoppler sind nur für digitale Signale nutzbar. Zur elektrischen Trennung von analogen Signalen eignen sich spezielle Optokoppler. Diese haben meist zwei Photoempfänger, meist Photodioden. Eine Photodiode dient als [[Galvanische Trennung | galvanisch getrennter Ausgang]], die Zweite als Vergleichsausgang zur Kompensation von Unlinearitäten, Drift- und Alterungseffekten. Durch diese lässt sich eine Regelung aufbauen die die Vergleichsspannung proportional zur Eingangsspannung einstellt. Dadurch ist die Übertragungsfunktion des Optokopplers als linear anzusehen. Daher wird im Zusammenhang mit analogen Optokopplern häufig auch von linearen Optokopplern gesprochen. Für gemäßigte Ansprüche kann man aber auch mit normalen, digitalen Optokopplern analoge Signale übertragen.&lt;br /&gt;
&lt;br /&gt;
== Beschaltung ==&lt;br /&gt;
&lt;br /&gt;
Optokoppler sind relativ leicht nutzbar. Sie bieten ausserdem die Möglichkeit, das Signal bei der Übertragung zu invertieren. Nachfolgend sind drei Grundschaltungen gezeigt. Links nichtinvertierend, in der Mitte mit Invertierung am Eingang und rechts mit Invertierung am Ausgang, das ist die häufigste Schaltung.&lt;br /&gt;
&lt;br /&gt;
[[bild:optokoppler_grundschaltungen.png]]&lt;br /&gt;
&lt;br /&gt;
Wie berechnet man nun die Widerstände für die [[LED]] und den [[Transistor]] am Ausgang? Recht einfach. Zunächst muss man den Strom durch die LED festlegen, hier hilft auch das Datenblatt. Typische Werte liegen zwischen 5-20mA. Die Berechnung des Vorwiderstands erfolgt gemäß Beschreibung im Artikel [[LED]], wobei die Flußspannung meist 1,2-1,5V beträgt. Der Arbeitswiderstand am Ausgang berechnet sich wie folgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; R_A = \frac{Vcc \cdot SF}{I_{LED} \cdot CTR }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* R_A : Arbeitswiderstand&lt;br /&gt;
* Vcc: Betriebsspannung am Ausgang&lt;br /&gt;
* CTR: Stromübertragungsfaktor (engl. &#039;&#039;&#039;C&#039;&#039;&#039;urrent &#039;&#039;&#039;T&#039;&#039;&#039;ransfer &#039;&#039;&#039;R&#039;&#039;&#039;atio)&lt;br /&gt;
* SF: Sicherheitsfaktor&lt;br /&gt;
&lt;br /&gt;
Dabei muss man im Datenblatt nach dem &#039;&#039;&#039;minimalen&#039;&#039;&#039; CTR suchen, der ist abhängig von dem speziellen Typ, Temperatur und ggf. vom LED-Strom. Als Sicherheitsfaktor sollte man mindestens 2 wählen, weil die gängige Definition der Lebensdauer einer LED bzw. Optokopplers auf die halbe optische Leistung ausgelegt ist. Wenn man die LED jedoch deutlich unter dem Nennstrom betreibt (50% und weniger), erhöht sich die Lebensdauer beachtlich, Faktor 10 und mehr ist möglich. Praktisch wird man einen Sicherheitsfaktor zwischen 2-5 wählen.&lt;br /&gt;
Aber auch hier muss man Kompromisse eingehen. Denn um die maximale Geschwindigkeit eines Optokopplers zu erreichen, muss man meist mit Nennstrom und minimalem Arbeitswiderstand arbeiten. Hier sind dann die High Speed Optokoppler mit aktivem Empfänger und Verstärker deutlich im Vorteil (z.B. 6N137). Bei Optokopplern mit Transistorausgang und herausgeführtem Basisanschluß kann man durch einen passenden Widerstand zwischen Basis und Emitter vor allem die Abschaltgeschwindigkeit deutlich steigen, allerdings auf Kosten der Empfindlichkeit.&lt;br /&gt;
&lt;br /&gt;
== Geläufige Typen == &lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} class=&amp;quot;wikitable sortable&amp;quot; id=&amp;quot;transistors-npn&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#eeeeee&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:8em&amp;quot; | Bezeichnung&lt;br /&gt;
! Gehäuse&lt;br /&gt;
! Vce (max)&amp;lt;br&amp;gt;[V]&lt;br /&gt;
! Vsupply&amp;lt;br&amp;gt;[V]&lt;br /&gt;
! CTR&amp;lt;br&amp;gt;[%]&lt;br /&gt;
! Iout&amp;lt;br&amp;gt;[mA]&lt;br /&gt;
! Geschwindigkeit&lt;br /&gt;
! Bemerkung&lt;br /&gt;
! Lieferant&lt;br /&gt;
! style=&amp;quot;width:7em&amp;quot; | Datenblatt&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;4N25&#039;&#039;&#039;&amp;lt;br&amp;gt;4N26&amp;lt;br&amp;gt;4N27&amp;lt;br&amp;gt;4N28&lt;br /&gt;
| DIP6&lt;br /&gt;
| 30&lt;br /&gt;
| —&lt;br /&gt;
| 20, 10&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | ton/off 2 µs (typ.)&lt;br /&gt;
| &lt;br /&gt;
| B C D DK e F U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0412EN Broadcom]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/4N25.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/201407061933068723.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/4N25_26_27_28.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-99-0010/S_110_4N25(26).pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/4N37M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/4N2X%20_4N3X_H11AX_series_v1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://www.mouser.com/ds/2/408/Toshiba-4N25_25A_26_27_28-Short-189542.pdf Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83725/4n25.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;4N32&#039;&#039;&#039;&amp;lt;br&amp;gt;4N33&lt;br /&gt;
| DIP6, SMD6&lt;br /&gt;
| 30&lt;br /&gt;
| —&lt;br /&gt;
| 500&lt;br /&gt;
| 100&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | 5 µS / 100 µS&lt;br /&gt;
| &lt;br /&gt;
| B C DK F U R&lt;br /&gt;
| [http://www.ct-micro.com/uploads_zip/4N32.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/TIL113_4NXX_H11BX.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/4N29-4N33_Data_Sheet.pdf Isocom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/H11B1M-D.pdf ONSemi]&amp;lt;br&amp;gt; [http://www.vishay.com/docs/81865/4n32.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;4N35&#039;&#039;&#039;&amp;lt;br&amp;gt;4N36&amp;lt;br&amp;gt;4N37&lt;br /&gt;
| DIP6, DCJ6&lt;br /&gt;
| 30&lt;br /&gt;
| —&lt;br /&gt;
| 100&lt;br /&gt;
| 100&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | ton/off 7 µs&lt;br /&gt;
| &lt;br /&gt;
| B C D DK e F U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0773EN Broadcom]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/4N35.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/201407061933068723.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/4N35-4N37.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-99-0012/S_110_4N35%20%204N37%20(%20M,%20S,%20S-TA1%20)%20(Rev.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/4N37M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/4N2X%20_4N3X_H11AX_series_v1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://www.mouser.com/catalog/specsheets/Toshiba-4N35_36_37-Short.pdf Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/81181/4n35.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| 6N135&amp;lt;br&amp;gt;&#039;&#039;&#039;6N136&#039;&#039;&#039;&amp;lt;br&amp;gt;PS8501&lt;br /&gt;
| DIP8&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 20&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 15&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |  30&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 100&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | 1 MBit/s&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Dual-channel: HCPL-xx3x&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | B C D DK F P U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0171EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPC6N136.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/6N135.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/6N135_6N136_EL450X.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93134.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2008-0032/S_110_6N135%20%206N136%20series.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL2530M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10656EJ04V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?type=datasheet&amp;amp;lang=en&amp;amp;pid=6N136 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83604/6n135.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-0500/1&amp;lt;br&amp;gt;EL0500/1&amp;lt;br&amp;gt;ICPL0500/1&amp;lt;br&amp;gt;SFH6315/6&lt;br /&gt;
| SO8&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0171EN Broadcom]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL045X_050X.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93163.pdf Isocom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL0534-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?83677 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| KPC457&amp;lt;br&amp;gt;CTM452&amp;lt;br&amp;gt;ELM452&amp;lt;br&amp;gt;FODM452&amp;lt;br&amp;gt;PS8101&amp;lt;br&amp;gt;TLP109&amp;lt;br&amp;gt;VOM452&lt;br /&gt;
| SO5&lt;br /&gt;
| &lt;br /&gt;
| [http://www.cosmo-ic.com/object/products/KPC457.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CTM452.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/ELM45X.pdf Everlight]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FODM453-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10260EJ06V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=12329&amp;amp;prodName=TLP109 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?81587 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;6N137&#039;&#039;&#039;&amp;lt;br&amp;gt;PS9587&lt;br /&gt;
| DIP8&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 7&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 5&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 15&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | 10 MBit/s&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Dual-channel: HCPL-xx3x&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | B C D DK F I U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0940EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPC6N137.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/6N137.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/6N137_EL26XX.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93136.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2008-0035/S_110_6N137%2020140411.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL2631M-D.pdf ONSemi], [http://documentation.renesas.com/doc/YOUSYS/document/PN10678EJ04V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?type=datasheet&amp;amp;lang=en&amp;amp;pid=6n137 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/84732/6n137.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-0600&amp;lt;br&amp;gt;EL0600&amp;lt;br&amp;gt;ICPL0600&amp;lt;br&amp;gt;LTV-0601&amp;lt;br&amp;gt;PS9817A&amp;lt;br&amp;gt;VO0600&lt;br /&gt;
| SO8&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0940EN Broadcom]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL06XX.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93162.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2013-0015/S_110_LTV-0601%2020140411.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL0639-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10647EJ03V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?84607 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-M600&amp;lt;br&amp;gt;KPC410&amp;lt;br&amp;gt;CTM600&amp;lt;br&amp;gt;ELM600&amp;lt;br&amp;gt;FODM611&amp;lt;br&amp;gt;ICPLM600&amp;lt;br&amp;gt;LTV-M601&amp;lt;br&amp;gt;PS9117A&amp;lt;br&amp;gt;PC410&amp;lt;br&amp;gt;TLP2362&lt;br /&gt;
| SO5&lt;br /&gt;
| &lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0941EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPC410.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CTM600.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/ELM6XX.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93131.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2013-0020/S_110_LTV-M601%20201503.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FODM611-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10646EJ04V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc410l0nip_e.pdf Sharp]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=7706&amp;amp;prodName=TLP2362 Toshiba]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;6N138&#039;&#039;&#039;&amp;lt;br&amp;gt;6N139&lt;br /&gt;
| DIP8&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 7, 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 7, 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 300&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 60&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | ton 15 µs, toff 50 µs&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Dual-channel: HCPL-xx3x&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C D DK e F R U&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-1359EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPC6N138.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/6N138.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/6N138_139.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93135.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2009-0001/S_110_6N138-L,%206N139-L.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL2731M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?pid=6N138&amp;amp;lang=en&amp;amp;type=datasheet Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83605/6n138.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-0700/1&amp;lt;br&amp;gt;TLP2403&lt;br /&gt;
| SO8&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-1359EN Broadcom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HCPL0731-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=5956&amp;amp;prodName=TLP2403 Toshiba]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;CNY17&#039;&#039;&#039;&lt;br /&gt;
| DIP6&lt;br /&gt;
| 70&lt;br /&gt;
| —&lt;br /&gt;
| 160&lt;br /&gt;
| 50&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | ton 14 µs, toff 63 µs&lt;br /&gt;
| &lt;br /&gt;
| B C D DK e F U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0772EN Broadcom]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CNY17.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/201407061850553781.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/CNY17-1X_2X_3X_4X.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-99-0001/S_110_CNY17.pdf LiteOn], [http://www.onsemi.com/pub/Collateral/CNY17F4M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/CNY17_and_CNY17F_Series_v1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83606/cny17.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;H11L1&#039;&#039;&#039;&amp;lt;br&amp;gt;VOH1016A&lt;br /&gt;
| DIP6&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 16&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 16&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | digital&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 50&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | 1 MBit/s&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | [[Schmitt-Trigger]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C DK F P U&lt;br /&gt;
| [http://www.ct-micro.com/uploads_zip/H11L1.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/H11L1.pdf Everlight], [http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/H11l1-H11L4_data_sheet.pdf Isocom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/H11L3M-D.pdf ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/H11L1_H11L2_H11L3_v1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/84896/voh1016ab.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| PC400&amp;lt;br&amp;gt;VOH1016A&lt;br /&gt;
| SO5&lt;br /&gt;
| [https://www.sharpsde.com/fileadmin/products/Optoelectronics/Isolation%20Devices/Specs%20Photocoupler/PC400J00000F_07Jun07_Spec_ED-04P172A.pdf Sharp]&amp;lt;br&amp;gt;[https://www.vishay.com/docs/84896/voh1016ab.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-814&amp;lt;br&amp;gt;K3010&amp;lt;br&amp;gt;CT814&amp;lt;br&amp;gt;EL814&amp;lt;br&amp;gt;ISP814&amp;lt;br&amp;gt;KB814&amp;lt;br&amp;gt;LTV-814&amp;lt;br&amp;gt;FOD814&amp;lt;br&amp;gt;Q814&amp;lt;br&amp;gt;PS2565&amp;lt;br&amp;gt;K814P&lt;br /&gt;
| DIP4&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 35&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | —&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 300&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 50&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | trise/tfall 20 µs&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | AC-Eingang,&amp;lt;br&amp;gt;Dual/Quad als *824/*844&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C DK e F I R U&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0771EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/K3010.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CT814.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL814.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/ISP814_Data_Sheet.pdf Isocom]&amp;lt;br&amp;gt;[http://www.kingbright.com/attachments/file/psearch/000/00/00/KB814(Ver.7).pdf Kingbright]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-96-0013/S_110_LTV-8X4%20series%2020150514.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FOD814-D.PDF ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/Q814%20v1.2.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10236EJ05V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83523/83523.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| ACPL-214&amp;lt;br&amp;gt;KPS2805&amp;lt;br&amp;gt;CTH214&amp;lt;br&amp;gt;EL3H4&amp;lt;br&amp;gt;IS3H4&amp;lt;br&amp;gt;LTV-214&amp;lt;br&amp;gt;HMHAA280&amp;lt;br&amp;gt;PS2805C&amp;lt;br&amp;gt;PC3H4&amp;lt;br&amp;gt;TLP290&amp;lt;br&amp;gt;VOS627A&lt;br /&gt;
| SO4&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0469EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPS2805.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CTH214.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL3H4-G.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_pdfs/is3h4_new.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2010-0067/S_110_LTV-2X4-G%20series%20201412.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HMHAA280-D.PDF ONSemi], [http://documentation.renesas.com/doc/YOUSYS/document/r08ds0074ej0300_nepoc.pdf Renesas]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc3h4_e.pdf Sharp]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=14154&amp;amp;prodName=TLP290(SE Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?83475 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| KPC815&amp;lt;br&amp;gt;CT815&amp;lt;br&amp;gt;EL815&amp;lt;br&amp;gt;ISP815&amp;lt;br&amp;gt;KB815&amp;lt;br&amp;gt;LTV-815&amp;lt;br&amp;gt;Q815&amp;lt;br&amp;gt;&#039;&#039;&#039;PC815&#039;&#039;&#039;&amp;lt;br&amp;gt;K815P&lt;br /&gt;
| DIP4&lt;br /&gt;
| 35&lt;br /&gt;
| —&lt;br /&gt;
| 600&lt;br /&gt;
| 80&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | trise 300 µs, tfall 250 µs&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | Dual/Quad als *825/*845&lt;br /&gt;
| B DK R U&lt;br /&gt;
| [http://www.cosmo-ic.com/object/products/KPC815.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CT815.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL815.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/ISP815.pdf Isocom]&amp;lt;br&amp;gt;[http://www.kingbright.com/attachments/file/psearch/000/00/00/KB815(Ver.10).pdf Kingbright]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS-70-96-0015/S_110_LTV-815%20825%20845%20(%20M,%20S,%20S-TA1,%20S-TA,%20S-TP%20)%20Series.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/Q815_v.1.1.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc81510nsz_e.pdf Sharp]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83524/k851p.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| CT816&amp;lt;br&amp;gt;EL816&amp;lt;br&amp;gt;KB816&amp;lt;br&amp;gt;LTV-816&amp;lt;br&amp;gt;PC123&lt;br /&gt;
| DIP4&lt;br /&gt;
| 70&lt;br /&gt;
| —&lt;br /&gt;
| 50&lt;br /&gt;
| 50&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot; | trise/tfall 18 µs&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Dual/Quad als *826/*846&lt;br /&gt;
| DK e R U&lt;br /&gt;
| [http://www.ct-micro.com/uploads_zip/CT816.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL816.pdf Everlight]&amp;lt;br&amp;gt;[http://www.kingbright.com/attachments/file/psearch/000/00/00/KB816(Ver.9).pdf Kingbright]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2012-0048/S_110_LTV-816%20(M,%20S,%20S-TA,%20S-TA1,%20S-TP)%20Series.pdf LiteOn]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc123xnnsz_e.pdf Sharp]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-817&amp;lt;br&amp;gt;K1010&amp;lt;br&amp;gt;CT817&amp;lt;br&amp;gt;EL817&amp;lt;br&amp;gt;ISP817&amp;lt;br&amp;gt;KB817&amp;lt;br&amp;gt;LTV-817&amp;lt;br&amp;gt;FOD817&amp;lt;br&amp;gt;Q817&amp;lt;br&amp;gt;PS2561D&amp;lt;br&amp;gt;&#039;&#039;&#039;PC817&#039;&#039;&#039;&amp;lt;br&amp;gt;TLP785&amp;lt;br&amp;gt;K817P&lt;br /&gt;
| DIP4&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 35&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | —&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 50&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 50&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | ton 3 µs, toff 50 µs&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | Dual/Quad als *827/*847&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C D DK e F I R U&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0265EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/K1010.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CT817.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL817.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/db9227580v.pdf Isocom]&amp;lt;br&amp;gt;[http://www.kingbright.com/attachments/file/psearch/000/00/00/KB817(Ver.12).pdf Kingbright]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2012-0050/S_110_LTV-817%20series%20201406.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FOD814-D.PDF ONSemi]&amp;lt;br&amp;gt;[http://www.qt-brightek.com/datasheet/Q817_Series.pdf QT-Brightek]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/PN10777EJ02V0DS.pdf Renesas]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc817xnnsz_e.pdf Sharp]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=10569&amp;amp;prodName=TLP785 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83522/k817p.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-181&amp;lt;br&amp;gt;KPS2801&amp;lt;br&amp;gt;CTH217&amp;lt;br&amp;gt;EL3H7&amp;lt;br&amp;gt;IS3H7&amp;lt;br&amp;gt;LTV-217&amp;lt;br&amp;gt;HMHA281&amp;lt;br&amp;gt;PS2801C&amp;lt;br&amp;gt;PC3H7&amp;lt;br&amp;gt;TLP291&amp;lt;br&amp;gt;VOS617A&lt;br /&gt;
| SO4&lt;br /&gt;
| &lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0774EN Broadcom]&amp;lt;br&amp;gt;[http://www.cosmo-ic.com/object/products/KPS2801.pdf Cosmo]&amp;lt;br&amp;gt;[http://www.ct-micro.com/uploads_zip/CTH217.pdf CT-Micro]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL3H7-G.pdf Everlight]&amp;lt;br&amp;gt;[http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/dc93174.pdf Isocom]&amp;lt;br&amp;gt;[http://optoelectronics.liteon.com/upload/download/DS70-2009-0016/S_110_LTV-217-G%20Series%20Rev%20-%20July%2016%202012.pdf LiteOn]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/HMHA2801B-D.PDF ONSemi]&amp;lt;br&amp;gt;[http://documentation.renesas.com/doc/YOUSYS/document/r08ds0072ej0400_nepoc.pdf Renesas]&amp;lt;br&amp;gt;[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/pc3h7_e.pdf Sharp]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=14152&amp;amp;prodName=TLP291(SE Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/doc?83497 Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| HCPL-2200&amp;lt;br&amp;gt;EL2200&amp;lt;br&amp;gt;&#039;&#039;&#039;TLP2200&#039;&#039;&#039;&amp;lt;br&amp;gt;SFH6700&lt;br /&gt;
| DIP8&lt;br /&gt;
| 15&lt;br /&gt;
| 15&lt;br /&gt;
| digital&lt;br /&gt;
| 25&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | 2,5 MBit/s&lt;br /&gt;
| style=&amp;quot;writing-mode:sideways-lr&amp;quot;  | nicht-invertierender Push-/Pull-TTL-Ausgang&amp;lt;br&amp;gt;Dual-channel: HCPL-2231&lt;br /&gt;
| C DK F U R&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV01-0557EN Broadcom]&amp;lt;br&amp;gt;[http://www.everlight.com/file/ProductFile/EL220X.pdf Everlight]&amp;lt;br&amp;gt;[http://toshiba.semicon-storage.com/info/docget.jsp?did=16819&amp;amp;prodName=TLP2200 Toshiba]&amp;lt;br&amp;gt;[http://www.vishay.com/docs/83683/sfh6700.pdf Vishay]&lt;br /&gt;
|-&lt;br /&gt;
| ACPL-M75L&amp;lt;br&amp;gt;FODM8071&amp;lt;br&amp;gt;&#039;&#039;&#039;TLP2361&#039;&#039;&#039;&lt;br /&gt;
| SO5&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 6&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |  5&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | digital&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 10&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | 15 MBit/s&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;writing-mode:sideways-lr&amp;quot; | Push-/Pull-CMOS-Ausgang&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | B C DK e F U&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0964EN Broadcom]&amp;lt;br&amp;gt;[http://www.onsemi.com/pub/Collateral/FODM8071-D.pdf ONSemi]&amp;lt;br&amp;gt;[https://toshiba.semicon-storage.com/info/docget.jsp?did=14229&amp;amp;prodName=TLP2361 Toshiba]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;ACPL-071L&#039;&#039;&#039;&amp;lt;br&amp;gt;EL071L&amp;lt;br&amp;gt;TLP2466&lt;br /&gt;
| SO8&lt;br /&gt;
| [https://docs.broadcom.com/docs/AV02-0963EN Broadcom]&amp;lt;br&amp;gt;[http://ultran.ru/sites/default/files/el071l_datasheet_prelimilary.pdf Everlight]&amp;lt;br&amp;gt;[https://toshiba.semicon-storage.com/info/docget.jsp?did=10162&amp;amp;prodName=TLP2466 Toshiba]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Typen mit Transistorausgang ===&lt;br /&gt;
&lt;br /&gt;
* CNY17/x: 1-fach Koppler im DIL6-Gehäuse &lt;br /&gt;
* PC817-Serie: 1-,2-,3- und 4-fachTyp verfügbar, CTR: 50%, 80 kHz&lt;br /&gt;
* 6N135, 6N136: 1-fach Typ, DIL8, Highspeed 1 MBit/s&lt;br /&gt;
* 6N138, Darlingtonausgang mit hohem CTR&lt;br /&gt;
&lt;br /&gt;
=== Typen mit Triacausgang === &lt;br /&gt;
&lt;br /&gt;
* IL4218 TRIAC DRIVER OPTOCOUPLER&lt;br /&gt;
* MOC3020 6-Pin DIP Random-Phase Optoisolators Triac Driver Output 400 V&lt;br /&gt;
* MOC3052 6-Pin DIP Random-Phase Optoisolators Triac Drivers 600 V&lt;br /&gt;
* MOC306x 6-Pin DIP Zero-Cross Optoisolators Triac Driver Output 600 V&lt;br /&gt;
&lt;br /&gt;
=== Typen mit MOSFET ===&lt;br /&gt;
&lt;br /&gt;
* [https://na.industrial.panasonic.com/products/relays-contactors/semiconductor-relays/lineup/photomos-relays Relais bei Panasonic]&lt;br /&gt;
&lt;br /&gt;
=== Lineare Optokoppler ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.broadcom.com/products/optocouplers/industrial-plastic/specific-function/high-linearity-analog/ Broadcom HCNR-200/201]&lt;br /&gt;
* [https://www.broadcom.com/products/optocouplers/industrial-plastic/isolation-amplifiers-modulators/isolation-amplifiers/acpl-c870 Broadcom ACPL-C870] Vollintegrierter, optischer, analoger Trennverstärker, arbeitet intern jedoch digital&lt;br /&gt;
* [http://www.vishay.com/optocouplers/opto-linear/ Vishay IL300]&lt;br /&gt;
* [http://www.ssousa.com/pdf/SLC800.pdf Solid State Optronics SLC800] mit [http://www.ssousa.com/pdf/an060.pdf Applikationshinweis]&lt;br /&gt;
* [http://www.isolink.com/documents/datasheet/OLH7000_202303B.pdf Isolink OLH7000]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/029D3FDA649274DA85256A2C0068E392?Open IXYS (Clare) LOC211P (Anti)Dual Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/4E36B2775A9C9B8B85256A2C0068D9DB?Open IXYS (Clare) LOC210P (Anti)Dual Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/59296FA2985476938525721800570DB5?Open IXYS (Clare) LOC117 Single Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/3A4DE68835A6F1BA85256A2C0068CFB7?Open IXYS (Clare) LOC112 Single Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/8F89219D571B94DA85256A2C0068C4BD?Open IXYS (Clare) LOC111 Single Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/2E7C7ED81A9497A385256A2C0068BE89?Open  IXYS (Clare) LOC110 Single Linear Optocoupler]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/2608A0F3BC20926685256F510069D145?Open IXYS (Clare) LIA120 Optically Isolated Linear Error Amplifier]&lt;br /&gt;
* [http://www.clare.com/__85256A3900731315.nsf/0/86A26DCDA244CDFE85256A7700666E13?Open IXYS (Clare) Applikationshinweis zur LOC-Serie linearer Optokoppler]&lt;br /&gt;
&lt;br /&gt;
=== Vollintegrierte Optokoppler ===&lt;br /&gt;
&lt;br /&gt;
* 6N137: 1-fach Typ, DIL8, Highspeed 10 Mbit/s&lt;br /&gt;
* H11L1: 1-fach Typ, DIL6, Highspeed 1 Mbit/s&lt;br /&gt;
* HCPL-2200: 1-fach Typ, DIL8, Highspeed 2,5 Mbit/s&lt;br /&gt;
* HCPL 2630: 2-fach Typ, DIL8, Highspeed 10 Mbit/s&lt;br /&gt;
&lt;br /&gt;
=== Alternative Technologien ===&lt;br /&gt;
&lt;br /&gt;
* Für höhere Geschwindigkeiten bietet z.&amp;amp;nbsp;B. Analog Devices recht teure [http://www.analog.com/en/interface/digital-isolators/products/index.html Digital Isolators] an, genannt &#039;&#039;&#039;iCoupler&#039;&#039;&#039; und von Texas Instruments die [http://focus.ti.com/paramsearch/docs/parametricsearch.tsp?family=analog&amp;amp;familyId=897&amp;amp;uiTemplateId=NODE_STRY_PGE_T ISO Koppler] auf kapazitiver Basis.&lt;br /&gt;
&lt;br /&gt;
=== Optokoppler für höhere Schaltleistungen ===&lt;br /&gt;
&lt;br /&gt;
Für höhere Ströme jenseits einiger mA gibt es von Panasonic sogenannte Photo-MOS Relais. Das sind MOSFETs, welche optisch angesteuert werden. Ebenso gibt es MOSFET-Treiber, welche diskrete MOSFETs potentialfrei ansteuern können, ohne eine zusätzliche Hilfsversorgung zu benötigen.&lt;br /&gt;
&lt;br /&gt;
* [https://na.industrial.panasonic.com/products/relays-contactors/semiconductor-relays/lineup/photomos-relays PhotoMOS Relais]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[I2C-Schaltmodul]] mit Optokoppler MOC3040 zur galvanischen Trennung von [[I2C]]-[[Bus]] und [[230V]] Netzspannung.&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/218153#new| Forumsbeitrag]: Methoden zur Beschleunigung von Optokopplern&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/380250#4327204 Forumsbeitrag]: Verpolungs- und Überspannungsschutz mit Photo-MOS&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/394574#4538291 Forumsbeitrag]: Lineare Spannungsübertragung mit IL300&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/431716#5087308 Forumsbeitrag]: Hinweise zum ACPL-C870&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/534764#7018285 Forumsbeitrag]: Lebensdauer Optokoppler&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/561924#7546115 Forumsbeitrag]: warum hier zwei Vorwiderstände (Gleichtaktstörungen bei schnellen Gatetreibern mit Digitalkoppler)&lt;br /&gt;
* [https://www.mikrocontroller.net/topic/567991?goto=7671768#7671768 Forumsbeitrag]: Simulation eines PhotoMOS Relais&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://web.archive.org/web/20170717072717/https://www.learnabout-electronics.org/ssr_01.php Opto-coupled devices, (engl.)]&lt;br /&gt;
* [https://toshiba.semicon-storage.com/info/docget.jsp?did=13438 Basic Characteristics and Application Circuit Design of Transistor Photocouplers] (engl., Application Note von Toshiba)&lt;br /&gt;
* [https://toshiba.semicon-storage.com/info/docget.jsp?did=60965 Basic Characteristics and Application Circuit Design of IC Couplers] (engl., Application Note von Toshiba)&lt;br /&gt;
* [https://datasheetspdf.com/pdf-file/369404/PerkinElmerOptoelectronics/VTL5C9/1 Vactrols], Photoconductive Cells and Analog Optoisolators, PerkinElmer Optoelectronics, PDF &lt;br /&gt;
&lt;br /&gt;
[[Category:Bauteile]]&lt;br /&gt;
[[Category:Datenübertragung]]&lt;/div&gt;</summary>
		<author><name>Falk</name></author>
	</entry>
</feed>