KICAD - Herramienta GPL para diseño de circuitos impresos
INTI - Instituto Nacional de Tecnología Industrial
Centro de Electrónica e Informática
Autores: Tropea, Salvador E. Brengi, Diego J.
<salvador@inti.gov.ar>
<brengi@inti.gov.ar>
© 2007 INTI – Tropea, Brengi
CONTENIDO
KICAD - Herramienta GPL para diseño de circuitos impresos
— Motivación. — Herramientas de SL para el diseño de PCBs. — Introducción a KICAD. — Partes oficiales de KICAD. — Migración y experiencia en el laboratorio. — Herramientas desarrolladas. — Recursos y herramientas adicionales. — KICAD en Internet. — Conclusiones. — Licencia. — Contacto.
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de circuitos impresos
Motivación
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Motivación
Migrar hacia una herramienta de software libre bajo GNU/Linux para la confección de circuitos impresos buscando los siguientes objetivos:
Utilizar formatos abiertos y conocidos que garanticen el acceso a los diseños luego de largos periodos de tiempo.
Poder entregar el diseño al cliente junto con la herramienta para modificarlo y adaptarlo.
Ahorro de dinero en licencias de software.
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de circuitos impresos
Herramientas de Software Libre
para el diseño de PCBs
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Herramientas de SL para el diseño de PCBs
Mencionaremos brevemente algunas de las herramientas más conocidas (además de KICAD).
Básicamente las podemos clasificar en tres grupos según la tarea que realizan:
●Ingreso de circuito esquemático. ●Ruteo de PCB (Printed circuit Board) ●Visor de formato Gerber.
Circuito impreso
Esquemático
Circuito Impreso
Archivos Gerber
Fabricación
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Herramientas de SL para el diseño de PCBs XCircuit
Xcircuit permite ingresar circuitos esquemáticos. URL: http://opencircuitdesign.com/xcircuit/ Autor: Timothy Edwards Operativos: Linux-Win32 Licencia: GPL
● Genera un netlist. ● Para el PCB es necesaria otra herramienta. ● Según su autor, pensado para utilizarlo además en publicaciones.
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Herramientas de SL para el diseño de PCBs Geda gschem
“gEDA/gaf's Schematic Capture” permite ingresar circuitos esquemáticos. URL: http://geda.seul.org/tools/gschem/ Autor: Ales Hvezda Operativos: Linux & Mac OS X Licencia: GPL
● El más popular y conocido por muchos años en la categoría de SL. ● Parte del proyecto gEDA que busca obtener un conjunto de herramientas GPL para electrónica.
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Herramientas de SL para el diseño de PCBs PCB
PCB, an interactive printed circuit board editor. URL: http://pcb.sourceforge.net Autor: Thomas Nau, Harry Eaton, Bill Wilson, Dan McMahill, DJ Delorie y otros. Operativos: Linux, *cygwin Licencia: GPL ● El más popular y conocido
por muchos años en la categoría de SL. ● No posee ingreso de esquemáticos.
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Herramientas de SL para el diseño de PCBs FreePCB
FreePCB an open-source PCB layout editor for Windows URL: http://www.freepcb.com Autor: Allan Wright Sist. Operativos: Win32 Licencia: GPL
● Es GPL pero no está disponible para sistema GNU/Linux. ● No posee ingreso de esquemáticos.
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Herramientas de SL para el diseño de PCBs MUCS PCB
The University of Manchester, School of Computer Science. URL: http://intranet.cs.man.ac.uk/apt/projects/tools/mucs-pcb/ Autor: Doug Edwards, Tim Spiers, Zahir Moosa y otros. Operativos: GNU/Linux / Unix Licencia: GPL
● Desarrollo enfocado a algoritmos de ruteo automático. ● No posee ingreso de esquemáticos.
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Herramientas de SL para el diseño de PCBs gerbv
gerbv - A Free Gerber Viewer. URL: http://gerbv.sourceforge.net/
Autor: Stefan Petersen y otros. Operativos: GNU/Linux / Unix Licencia: GPL
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de circuitos impresos
Introducción a KICAD
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Introducción a KICAD KICAD, GPL PCB Suit
URL: http://www.lis.inpg.fr/realise\_au\_lis/kicad/
Licencia: GPL
Plataformas: GNU/Linux, Windows y Mac OS X (port no oficial).
Autor: Jean-Pierre Charras.
Un desarrollador del LIS (Laboratorio de Imágenes y Señales) y profesor en IUT de Saint Martin d'Hères (Francia), en el campo de ingeniería eléctrica y procesamiento de señales.
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Introducción a KICAD Desarrollo
1992 : Según una persona de la lista de correo (Remy), Jean Pierre hace los primeros borradores para DOS. Mayo 2003: Primer registro en el Changelog actual. http://iut-tice.ujfgrenoble.fr/cao/news.txt Agosto 2004: Una persona en francia (Remy) bajó KICAD de Internet. Noviembre 2004: El Changelog pasa del francés al inglés. Agosto 2005: Se abre un sitio (no oficial) en SourceForge y se registran las primeras descargas. Se crea el grupo KICAD en yahoo groups.
1992
2003 2004 2005
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de circuitos impresos
Partes oficiales de KICAD
© 2007 INTI – Tropea, Brengi
Project manager
KICAD - Herramienta GPL para diseño de PCBs
Partes oficiales de KICAD Componentes principales
Desde el borrador del esquema hasta la generación y visualización del Gerber, cumple todas las tareas importantes.
Eeschema: Ingreso de circuitos esquemáticos. Cvpcb: Asocia símbolos (esquemático) con componentes o módulos (PCB). Pcbnew: Editor de PCB. Gerbview: Visor de archivos Gerber.
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Partes oficiales de KICAD Project Manager
Eeschema Cvpcb
●Permite abrir y manejar proyectos.
●Permite lanzar las subtareas: Eeschema, Cvpcb, Pcbnew y Gerbview.
Gerview
Pcbnew
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Partes oficiales de KICAD Eeschema
●Ingreso de esquemáticos. ●Generación del netlist.
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Partes oficiales de KICAD Eeschema
Algunas de sus características: ● Permite crear y navegar jerarquía de esquemáticos. ● Editor y visualizador de bibliotecas de símbolos. ● Al definir un símbolo se puede hacer correspondencia con un
pdf con la hoja de datos del componente. ● ERC (Schematic electric rules check) ● Generación de listados de componentes. ● Numeración automática de componentes.
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Partes oficiales de KICAD Eeschema - Archivos utilizados
.lib
Biblioteca de símbolos
.sym
Un símbolo
.dcm
Doc lib. Info extra sobre
símbolos
.pro
Proyecto
Eeschema
.sch
Esquemático
.net
Netlist
.lst
Listados componentes
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Partes oficiales de KICAD
Cvpcb
●Permite asociar símbolos del esquemático con módulos del PCB. ●Genera un netlist con información adicional de módulos. ●Visualización de módulos ●Guarda archivo de correspondencias.
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Partes oficiales de KICAD Archivos utilizados (cvpcb)
.pro
Proyecto
.net
Netlist
Cvpcb
.equ
Asociaciones generales
entre símbolos y módulos
.cmp
Asociación entre símbolos y módulos
.net
Netlist
(con correspondencia de módulos)
.stf
Stuff file. Listado de correspondencias
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Partes oficiales de KICAD Pcbnew
●Diagramación física del circuito impreso (pistas, islas, vías, etc). ●1 a 16 capas de cobre. ●Finalmente genera los Gerbers.
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Partes oficiales de KICAD Pcbnew
Algunas de sus características: ● DRC (PCB Design rules check). ● DRC interactivo (no deja cometer violaciones de reglas) ● Hasta 16 capas de cobre. ● Editor y visualizador de bibliotecas de módulos. ● Permite editar un módulo sólo para el diseño actual. ● Opción para coordenadas polares. ● Visualización de ratsnest. ● Generación de HPGL, Postcript y Gerber. ● Resaltado de red, cotas, áreas de cobre.
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Partes oficiales de KICAD Pcbnew
●Permite una visualización 3D del diseño. ●Utiliza modelos 3D realizados y editables con la herramienta Wings3D de SL (BSD).
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Partes oficiales de KICAD PCBnew - Archivos utilizados
.net
Netlist
(con correspondencia de módulos)
.pro
Proyecto
PCBNew
.brd
Circuito impreso
.pho
Archivos Gerber
.ps
Archivos Postscript
.mod
Biblioteca de Módulos
.emp
Biblioteca de Módulos
.mdc
LibDoc. Info adicional sobre
módulos
.wrl
Vista 3D.
.plt
Archivos HPGL
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Partes oficiales de KICAD Gerbview
●Visualización de los archivos Gerbers generados. ●Permite ver varias capas superpuestas.
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Partes oficiales de KICAD Extras
●Documentación en varios idiomas. De uso del programa y formatos internos de los archivos. ●Editores incorporados de componentes de bibliotecas (símbolos y módulos). ●Bibliotecas básica de símbolos y módulos. ●Diseños de ejemplos.
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de circuitos impresos
Migración y experiencia en el laboratorio
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Migración y experiencia en el laboratorio
●Criterio de selección. ●Prueba piloto. ●Estaciones de trabajo.
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Migración y experiencia en el laboratorio Criterio de selección
Además de todas las bondades mencionadas en su web, la mejor referencia para nosotros acerca de las capacidades de KICAD fue la existencia de un diseño de alta complejidad distribuido como ejemplo junto al software.
Se trata de una placa de cuatro capas con bus PCI, e/s de video y FPGAs para procesamiento de imágenes.
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Migración y experiencia en el laboratorio
Prueba piloto
Para evaluar las capacidades de KICAD se abordó el diseño de una tarjeta con un dispositivo FPGA.
Los principales problemas y contratiempos:
● Desconocimiento de la herramienta y sus particularidades, especialmente en la interfaz de usuario. Muchas de las funciones no poseen entrada en el menú y sólo son accesibles a través de íconos.
● Documentación desactualizada (de versiones previas). ● Se requiere invertir tiempo extra en el ingreso de símbolos y
módulos no existentes en KICAD (Esto vale para cualquier otro programa). ● Ausencia de la función undo. Actualmente eeschema ya posee undo (10 niveles). En pcbnew sólo existe la posibilidad de recuperar el último elemento borrado.
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Migración y experiencia en el laboratorio
Prueba piloto
Se realizó el diseño sin mayores contratiempos. Se generaron los archivos Gerber y se enviaron para la fabricación de las tarjetas. Las características finales de este diseño:
●Circuito impreso doble faz. ●Montaje superficial con encapsulados PQ208, SOIC20, SSOP, etc. ●Área aproximada de 12x10 cm. ●Pistas de 10 mils. ●Espaciado mínimo de 8 mils entre islas o pistas.
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Migración y experiencia en el laboratorio
Prueba piloto
Resultado de la prueba piloto : Tarjeta S2PROTO
● Circuito impreso con FPGA, pensado para ser utilizado como ayuda y referencia para laboratorios de desarrollo e instituciones educativas que deseen trabajar con esta tecnología.
● Diseño brindado bajo licencia GPL para permitir su libre utilización, implementación, modificación y comercialización.
● Proyecto FPGA Libre, http://fpgalibre.sourceforge.net
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Migración y experiencia en el laboratorio Instalación en estaciones de trabajo
Dentro del laboratorio todos los puestos de trabajo utilizan exclusivamente el sistema operativo Debian GNU/Linux. Hacia el año 2005 todavía no existía el paquete para sistemas Debian, motivo por el cual se armó el paquete Debian correspondiente para facilitar la instalación, desinstalación y administración de KICAD en todos los puestos de trabajo. Este paquete se ofreció al público en general a través de la web del proyecto FPGALibre, contando hasta el momento con más de 1000 descargas en total. Hoy en día este paquete de software adaptado por nuestro laboratorio específicamente para Debian ha quedado obsoleto ya que Debian ofrece un paquete oficial de KICAD en su distribución. Sin embargo está disponible el paquete KICAD para Debian etch en su versión 20070702, más nueva que la versión oficial estable. Actualmente se utiliza KICAD en 6 puestos de trabajo.
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de circuitos impresos
Herramientas desarrolladas
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Herramientas desarrolladas
Para facilitar nuestra tarea en la utilización del software de diseño y acelerar los tiempos necesarios para realizar un trabajo determinado, desarrollamos programas y accesorios complementarios:
●Kicadlib ●Pinarray ●Resaltado de sintáxis para Setedit
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Herramientas desarrolladas Kicadlib
Permite administrar las bibliotecas de componentes (símbolos y módulos), quitando, agregando y listando los componentes. Este programa es de línea de comandos y se desarrolló en lenguaje C. Muy útil por ejemplo si se desea un listado del contenido de una biblioteca o para unir dos bibliotecas en una. Publicado con licencia GPL y puede obtenerse del proyecto FPGALibre:
http://fpgalibre.sourceforge.net
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Herramientas desarrolladas Pinarray
Permite generar automáticamente símbolos y módulos de conectores de pines y áreas de prototipo. Este programa es de línea de comandos y se desarrolló en lenguaje Perl. Publicado con licencia GPL y puede obtenerse del proyecto FPGALibre:
http://fpgalibre.sourceforge.net
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Herramientas desarrolladas
Resaltado de sintáxis para Setedit
● KICAD utiliza archivos de texto plano para los proyectos, bibliotecas, esquemáticos y PCBs.
● Por este motivo es posible editarlos o estudiar su contenido con cualquier editor de textos.
● Para facilitar esto se agregó resaltado de sintáxis al editor Setedit para poder interpretar más fácilmente los archivos esquemáticos (.sch), de bibliotecas (.lib), de módulos (.mod) y de PCBs (.brd)
● Setedit puede obtenerse de: http://setedit.sf.net
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de circuitos impresos
Recursos y herramientas adicionales
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Recursos y herramientas adicionales Wings3D
Se utiliza para crear o editar los modelos 3D de los componentes.
http://www.wings3d.com
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Recursos y herramientas adicionales Quicklib
Quick KICAD Library Component Builder
● Página web en PHP para crear símbolos esquemáticos solamente.
● Permite ingresar numero de pines, nombre y función de cada pin.
● Código PHP no disponible.
http://www.rohrbacher.net/kicad/quicklib.php
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Recursos y herramientas adicionales Kicadlib.org
Sitio no oficial concentrador de bibliotecas de símbolos y módulos para KICAD.
http://www.kicadlib.org/
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Recursos y herramientas adicionales Conversores de formato
NetConv Conversor de netlist TinyCAD a netlist KICAD. Sólo para Windows.
http://www.beischer.com/opencad/
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Recursos y herramientas adicionales
Conversores de formato
liborcad2eeschema.exe Conversor de esquemático de Orcad a Eeschema (windows).
LibTool\_Kicad.exe Conversor de biblioteca Orcad a biblioteca Kicad. (windows)
exp-kicad-lib.ulp Script EAGLE para convertir componentes de Eagle a KICAD.
TTConv Es un compilado de varios scripts python de conversión de formatos, entre ellos podemos destacar:
Orcad2Kicad (pcb) Dxf2Kicad Kicad2Dxf
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Recursos y herramientas adicionales
Scripts Python
Existen scripts Python por ejemplo para convertir una imágen en un componente (Image2Kicad030507.py), para escalar un PCB, sumar dos PCBS, conversión de areas, etc.
Dipgeneration genera símbolos esquemáticos de componentes DIP.
Se está intentando extender la funcionalidad de KICAD para permitir la utilización de módulos en python dentro del programa (Actualmente se realizan pruebas en el project manager para manejar CVS).
http://www.mige.altervista.org/index.php?mod=Download/Kicad\_Utility
http://groups.yahoo.com/group/kicad-users/files/DIP%20generation%20helper/
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de circuitos impresos
KICAD en Internet
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
KICAD en Internet
Página Oficial. http://www.lis.inpg.fr/realise\_au\_lis/kicad/
Grupo de Usuarios en Yahoo. Lista de correo y bibliotecas, scripts y tutoriales contribuidos por los usuarios: http://www.lis.inpg.fr/realise\_au\_lis/kicad/
Grupo de desarrolladores en Yahoo. http://tech.groups.yahoo.com/group/kicad-devel/
Grupo en Sourceforge. Originalmente creado para desarrollo de versiones en ruso, pero actualmente posee páginas de documentación tipo Wiki en inglés y un SVN con el código fuente. http://kicad.sourceforge.net/
Kicadlib. Compilado de bibliotecas varias. http://www.kicadlib.org/
Grupo de usuarios en español. http://groups.google.com/group/kicad-users-es
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de circuitos impresos
Conclusiones
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Conclusiones
● El ciclo completo puede llevarse a cabo completamente usando software libre (Sistema operativo y herramientas EDA).
● Se pueden obtener resultados de calidad profesional. ● El trabajo realizado queda guardado en un formato abierto y
documentado. Esto dá mayores garantías de acceso a largo plazo y hace posible la existencia de una gran variedad de srcipts y programas de procesamiento y generación automática. ● Como el formato de los archivos de diseño es en modo texto, se pueden utilizar herramientas de control de versiones como CVS o SVN. ● Ahorro de dinero en licencias de software. ● Junto con los archivos de diseño, se puede entregar al cliente el software para modificarlos, sin generar en el cliente un gasto obligado.
© 2007 INTI – Tropea, Brengi
KICAD - Herramienta GPL para diseño de PCBs
Licencia
Atribución-NoComercial-CompartirDerivadasIgual 2.5 Argentina
Usted es libre de:
● copiar, distribuir, exhibir, y ejecutar la obra. ● hacer obras derivadas.
Bajo las siguientes condiciones:
● Atribución. Usted debe atribuir la obra en la forma especificada por el autor o el licenciante.
● No Comercial. Usted no puede usar esta obra con fines comerciales. ● Compartir Obras Derivadas Igual. Si usted altera, transforma, o crea sobre
esta obra, sólo podrá distribuir la obra derivada resultante bajo una licencia idéntica a ésta.
● Ante cualquier reutilización o distribución, usted debe dejar claro a los otros los términos de la licencia de esta obra.
● Cualquiera de estas condiciones puede dispensarse si usted obtiene permiso del titular de los derechos de autor. ● Nada en esta licencia menoscaba o restringe los derechos morales del autor.
http://creativecommons.org/licenses/by-nc-sa/2.5/ar/ http://creativecommons.org/licenses/by-nc-sa/2.5/ar/legalcode
© 2007 INTI – Tropea, Brengi
Contacto
● Tropea, Salvador E. <salvador@inti.gov.ar> ● Brengi, Diego J. <brengi@inti.gov.ar> ● http://utic.inti.gov.ar
¡Muchas gracias!
© 2007 INTI – Tropea, Brengi
Ver+/-