-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Mis notas personales sobre Kicad. Hace mucho que no lo uso, y quiero re-aprenderlo para hacer algunos PCBs para la Alhambra-II
Tengo instalado Kicad 0.7, en una ubuntu 22.04:

Esta es la pantalla principal, sin ningún proyecto abierto

He encontrado este tutorial de Kicd 7, voy a empezar a verlo:
Ya voy recordando lo básico, sin embargo no tengo claro cómo va lo de los modelos 3D... no consigo verlos.. He añadido una Resistencia con su footprint, pero no consigo que se ve en 3D... el componente es el mismo que el del tutorial... Algo estoy haciendo mal. Tengo que averiguar qué...
La version la tenía instalada desde la tienda de ubuntu, pero lo voy a instalar desde 0 de otro modo... me voy a la web oficial de Kicad a ver qué pone ahí:
https://www.kicad.org/
En el repositorio oficial de ubuntu lo que tienen es kicad 6... pero yo quiero el último: el 7
Lo voy a instalar desde el PPA de ubuntu:
sudo add-apt-repository ppa:kicad/kicad-7.0-releases
sudo apt update
sudo apt install kicad
Esto es lo que obtendo en la última fase:
$ sudo apt install kicad
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
kicad-demos kicad-doc-en kicad-footprints kicad-libraries kicad-packages3d
kicad-symbols kicad-templates libfreeimage3 libngspice-kicad
libocct-data-exchange-7.5 libocct-foundation-7.5
libocct-modeling-algorithms-7.5 libocct-modeling-data-7.5 libocct-ocaf-7.5
libocct-visualization-7.5 libodbc2 libodbcinst2 libtbb2 libtbbmalloc2
libwxbase3.2-1 libwxgtk-gl3.2-1 libwxgtk3.2-1 python3-wxgtk4.0 unixodbc
unixodbc-common
Suggested packages:
extra-xdg-menus kicad-libraries odbc-postgresql tdsodbc wx3.0-doc
The following NEW packages will be installed:
kicad kicad-demos kicad-doc-en kicad-footprints kicad-libraries
kicad-packages3d kicad-symbols kicad-templates libfreeimage3
libngspice-kicad libocct-data-exchange-7.5 libocct-foundation-7.5
libocct-modeling-algorithms-7.5 libocct-modeling-data-7.5 libocct-ocaf-7.5
libocct-visualization-7.5 libodbc2 libodbcinst2 libtbb2 libtbbmalloc2
libwxbase3.2-1 libwxgtk-gl3.2-1 libwxgtk3.2-1 python3-wxgtk4.0 unixodbc
unixodbc-common
0 upgraded, 26 newly installed, 0 to remove and 7 not upgraded.
Need to get 565 MB of archives.
After this operation, 6.497 MB of additional disk space will be used.
Do you want to continue? [Y/n] Veo los paquetes kicad-libraries, kicad-symbols, kicad-footprints y kicad-packages3d... eso quiere decir que al instalar kicad ya se instalan las bibliotecas, o al menos algunas de ellas... ¿Dónde se instalan?
Desde Synaptic veo estos nuevos paquetes instalados y puedo acceder a sus propiedades para ver dónde se instalan:
- Modelos 3D: /usr/share/kicad/3dmodels/
- Símbolos: /usr/share/kicad/symbols
- Footprints: /usr/share/kicad/footprints
Antes de arrancar Kicad voy inspeccionar los modelos 3D...
Vamos a centrarnos en LEDs de 3mm. Todos los LEDs Through hole están en esta carpeta: /usr/share/kicad/3dmodels/LED_THT.3dshapes
En concreto nos vamos a centrar en estos dos ficheros:
obijuan@Hoth:/usr/share/kicad/3dmodels/LED_THT.3dshapes
$ ls LED_D3.0mm.*
LED_D3.0mm.step LED_D3.0mm.wrlEn principio el step se debería abrir sin problemas desde FreeCAD. Para ello primero los copiamos a este repositorio local de pruebas:
obijuan@Hoth:~/Develop/Learn-Kicad/3D/LEDS
$ cp /usr/share/kicad/3dmodels/LED_THT.3dshapes/LED_D3.0mm.* .
obijuan@Hoth:~/Develop/Learn-Kicad/3D/LEDS
$ ls
LED_D3.0mm.step LED_D3.0mm.wrlAhora lo importamos en FreeCAD 0.21.1

Vamos a comprobar las dimensiones, a ver si está a escala

He creado un cuerpo y he insertado el led dentro, por lo que aparece como una BaseFeature y puedo insertar sus elementos como geometrías externas en un boceto, y así obtener sus dimensiones
Efectivamente es un LED de 3mm, con una base de 3.8mm. La separación de las patas es de 2.54mm (el paso estándar)
Lo ejecutamos desde la línea de comandos:
obijuan@Hoth:~/Develop/Learn-Kicad/3D/LEDS
$ kicadLa primera vez nos aparece esta ventana:

Lo dejo como está y le doy al OK
Luego me pregunta si quiero que se consulten las actualizaciones de plug-ins al arrancar... Le digo que NO. Me aparece la ventana inicial, similar a la que tenía antes:

Esta es la versión instalada:

Es la última estable, del 8 de Noviembre de 2023
Creamos el proyecto 01-led, que simplemente es para trastear con el LED

Vamos a echar un vistazo a los footprints... Pinchamos en la herramienta FootPrint Editor. Nos aparece el siguiente diálogo:

Dejamos marcada la opción por defecto. Pincho en OK
Se abre el Footprint editor:

Buscamos el led y seleccionamos LED_D3.0mm-3:

Y ahora le damos a View/3D Viewer... y ... ¡¡Ahora ya SÍ QUE SALE!!! 😀️

Ayer a última hora estuve trasteando con kicad y empecé a recordar muchas cosas... La versión 7 no ha cambiado tanto, es similar a las anteriores
Abrimos el editor de esquemáticos pinchando en el fichero 01-led.kicad_sch. Se abre el programa y nos aparece el mismo diálogo que antes. Lo dejamos todo como está por defecto y le damos al OK
Dentro del editor vamos a echar un vistazo a los path y directorio de los componentes, para familiarizarnos con las bibliotecas. Pinchamos en Preferences/Configure paths y nos aparece esta información:

Son las variables del sistema que se pueden usar dentro de Kicad, y que apuntan a las rutas donde están todos los componentes
En el sistema todo está instalado en /usr/share/kicad' como ya habíamos visto. Pero veo que también existe el directorio local ~/.local/share/kicad/7.0`

Los directorios están vacíos... Entiendo que ahí es donde se guardan las bibliotecas locales
Ahora pincho en Preferences/Manage Symbol libraries:

Ahí es donde están los paths de TODAS las bibliotecas de símbolos para usar en el esquemático. Por defecto todos los símbolos están en el path /usr/share/kicad/symbols. Pero es ahí donde podemos añadir nuestras propias bibliotecas de símbolos. Si usamos la variable del sistema KIPRJMOD nos apunta al proyecto actual, y ahí podemos colocar nuestras bibliotecas
También he descubierto que en el directorio ~/.configu/Kicad/7.0 se encuentran todos los ficheros de configuración

En particular, ahí están los ficheros sym-lib-table y fp-lib-table que contienen el índice con las rutas de cada biblioteca (de símbolos y de footprints)
Nos vamos a la parte de la derecha y pinchamos en el icono de Add a Symbol (Shortcut A)

Se nos abre una ventana con todas las bibliotecas de símbolos disponibles

Podemos buscar manualmente viendo todos los símbolos que hay en todas las bibliotecas, pero lo mejor es hacerlo con la herramienta de búsqueda. Escribimos LED y vemos todo lo que sale:

El primero que aparece es justo lo que necesitamos. Desplazándonos hacia arriba vemos que este LED se encuentra en la biblioteca device. . Pinchamos en OK y lo colocamos. Por defecto queda seleccionado (en azul)

Como está seleccionado por defecto, en la parte inferior vemos su información. Efectivamente comprobamos que está en la biblioteca de símbolos device. También vemos que NO tiene asignado ningún footprint
Si nos vamos a la carpeta donde están las bibliotecas de símbolos (/usr/share/kicad/symbols) encontramos el fichero Device.kicad_sym que es el que contiene el led

Es un fichero de texto. Lo abrimos y buscamos el LED:

Ahí lo encontramos, en la línea 19371
Queremos utilizar un led de 3mm, en posición vertical. El footprint ya lo hemos encontrado previamente: es el led_D3.0mm. Para asignárselo a nuestro led en el esquemático hacemos doble click en el símbolo. Se abre la ventana Symbol properties:

Aquí encontramos todos los campos por defecto que tiene el componente: Referencia, valor, footprint... Se pueden añadir o eliminar campos
Seleccionamos el campo footprint:

En la derecha aparece un botón. Lo pulsamos. Nos aparece una nueva ventana con los footprints. Escribimos led en caja de texto de filtrado. Luego pinchamos en LED_THT, y en la nueva caja de texto escribimos led_d3

Pinchamos en el nombre del footprint: LED_D3.0mm. Ahora nos aparece el nombre del footprint en la ventana de propiedades

Pinchamos en OK. La asociación ya está hecha. Vamos a comprobarlo. Pinchamos en el LED del esquemático y vemos sus valores en la parte inferior

El símbolo LED está asociado al footprint LED_D3.0mm
El objetivo es crear una mini-placa con 2 LEDs, que tenga conectores para controlarla desde la placa Alhambra-II. Lo siguiente que hacemos el colocar un sgundo led, igual al primero. Así lo vamos a duplicar con copy-paste

Al hacer el copy-paste, la referencia se incrementa (Pasa de D1 a D2), y vemos que el footprint asignado se mantiene
Cada LED está conectado a GND por un lado, y al pin del conector por el otro lado. Vamos a colocar primero el símbolo GND. Pinchamos en la parte de la derecha en el icono de GND:

Se nos abre la ventana para seleccionar los símbolos asociados a la alimentación. Escribimos GND. Pinchamos en GND y luego en OK

Colocamos el símbolo de GND cerca del LED

En la parte inferior vemos su descripción. No tienen ningún footprint asignado (ni se lo vamos a asignar)
Duplicamos el símbolo de GND, mediante copy-paste, para usar uno por cada led

Para activar los LEDs necesitamos llevar la señal por un conector de 2 pines
Para añadirlo pinchamos en el icono de añdir componente y los buscamos escribiendo connector. Encontramos un conector hembra de 2 pines, cuyo nombre es Conn_01x02_Socket. Es el que utilizaremos.

Pinchamos en OK y lo colocamos

Ahora vamos a buscar el footprint del conector para los LEDs y asignárselo. Hacemos lo mismo que antes: seleccionar el conector, doble click, seleccionar el campo footprint y apretar el botón para buscarlo
Buscamos por conn. Encontramos la biblioteca Connector_PinSocket_2.54mm. Ahí están todos los conectores hembra, con paso de 2.54mm. Seleccionamos el que tiene 1 fila de 2 pinews verticales, pasante (thoughhole): PinSocket_1x02_P2.54mm_Vertical

Con el conector seleccionado, pinchamos en View/3D Viewer para verlo en 3D, y así comprobamos que efectivamente ese es el conector que queremos

Finalizamos la asignación y lo comprobamos

Añadimos un segundo conector para las señales de GND. Usamos el mismo conector: uno hembra vertical de 2 pines, de paso 2.54mm. Por ello hacemos copy-paste

Los leds los vamos a poner en vertical, y también los conectores. Los seleccionamos individualmente y los rotamos con la tecla R. Con la tecla M los movemos. Esto también aplica a los cambos de los símbolos, que se pueden rotar y mover de forma individual

Ahora hay que unir los símbolos mediante cables. Pinchamos en el icono de la derecha add a wire (También con la tecla W)

Este es el circuito resultante. He añadido otro GND para el conector de GND

Una vez que tenemos un primer diseño hecho, hay que comprobar que no tiene errores graves. Por ejemplo, hay que asegurarse de que no hay símbolos sin conectar. También que todos los símbolos tienen una referencia única... Esto lo hacemos pinchando en el icono de la parte superior Perform electrical rule check

Nos aparece esta ventana. Pinchamos en el botón Run ERC para comenzar las pruebas

Nos aparece un mensaje de error:

Error: Input Power pin not driven by any Output Power Pins
Symbol #PWR01 Hidden pin 1 [GND, Power input, Line]
El error se debe a que nuestro circuito no tiene especificados qué pines son de alimentación. En todo circuito debe existir una alimentación externa. Normalmente los circuitos tiene dos pines de alimentación: el positivo + y el negativo (gnd). En nuestro caso sólo tenemos 1 pin de alimentación: el - (GND)
En el esquemático nos aparece una flecha roja indicando exactamente dónde está el error. Resulta que ese símbolo de GND no está conectado a una fuente de alimentación

Tenemos que indicar explícitamente en Kicad cuál es este pin de alimentación negativo. Esto lo hacemos con el componente POWER_FLAG. Pinchamos en el icono de añadir alimentación (el mismo que usamos con GND) y buscamos flag:

Pinchamos en OK y colocamos el símbolo POWER_FLAG conectándolo a cualquier símbolo de GND. Yo lo voy a poner en el conector J2. El circuito queda así:

Ahora volvemos a pasar los test. En la ventana que aparece seguirá estándo el error anterior. Pinchamos en Delete all markers y luego en Run ERC. Aparecerá temporalmente la lista de comprobaciones y luego la pantalla se nos queda en negro, indicando 0 errores y 0 warnings:

¡Ya tenemos nuestro circuito listo!
Para crear el PCB abrimos la herramienta PCB Editor. Lo podemos hacer desde la ventana principal de kicad, pinchando en el fichero 01-led.kicad_pcb

Se nos abre la herramienta para crear PCBs

Pinchamos en la opción Tools/Update PCB from schematics. Se nos abre esta nueva ventana:

Se comprueba que no haya problemas. En nuestro caso está todo ok: Cada símbolo del esquemático tiene asignado su footprint. Vemos que hay 0 errores y 0 warnings. Pinchamos en el botón de Update PCB y cerramos la ventana
Se nos importan todos los componentes y los ponemos en el centro de la pantalla:

Hacemos zoom para verlo mejor, con la rueda del ratón:

Por defecto todos los componentes están seleccionados. Los deseleccionamos (ESC) y los vemos en 3D para ver qué pinta tienen. Pinchamos en View/3D viewer

Ahora tenemos que colocar los componenets en las posiciones que queramos. Para ello tenemos que tener claro qué placa queremos hacer... La placa que quiero hace es para conectarse a la Alhambr-II. Los conectores hembra tienen que ir en la cara inferior para conectarse a los pines machos de los pines (a los 2 de GND y los 2 blancos de señal). Los leds los quiero pone en la parte superior
Movemos los componentes con la tecla M y los rotamos con R. Este es mi placement original:

Y así se ve en 3D:

Nos fijamos en el error que aparece: Es debido a que no hemos creado la base de la placa
Los bordes de la placa se crean en la cada Edge.cuts. Primero seleccionamos esa capa. En la parte superior vemos cuál es la capa activa

Ahora Dibujamos el contorno (rectangular) de la placa. Pinchamos primero en el icono de añadir una línea

Si ahora lo vemos en 3D ya no nos sale el error anterior. La placa es exactamente esa:

Seleccionamos uno de los conectores (por ejemplo el J2) y editamos sus propiedades con la tecla E. Desmarcamos el check del valor: no queremos que se vea. Así el PCB queda más limpio. En la parte inferior cambiamos el componente a la cara de atrás (Back). Lo rotamos y movemos para alinearlo

Así es como queda la placa ahora. Vemos que la referencia del componente (J2) está al revés (como vista a través de un espejo) y que ha cambiado de color. Es porque se encuentra en la cara inferior, y no en la superior

Echamos un vistazo al modelo 3D para ver cómo queda ahora:

Efectivamente el conector J2 está en la cara inferior, y su referencia se lee bien desde la cara inferior
Repetimos el proceso con el conector J1
Así es como queda la placa. El valor de los LEDs se ha ocultado. También se han ocultado las capas F.Courtyard y B.Courtyard para que quede todo más limpio

Lo vemos en 3D:

Las referencias de los LEDs las movemos y rotamos para que queden mejor:


Cambiamos la posición de los LEDs en el 3D, para que su base toque con la placa. Seleccionamos cada uno de los leds y le damos a editar (tecla E). Cambiamos a la pestaña 3D Models y le damos al botón de meno para bajar el LED hasta que se quede a ras de la placa

Repetimos con el otro LED. La placa nos queda así:

El último paso es tirar las pistas para unir los componentes
Pinchamos en el icono Route tracks (Tecla X) y unimos todos los pines. Usamos el grosor que viene por defecto

En el 3D se ven también las pistas:

Vamos a comprobar el tamaño (anchura) de las pistas creadas. Nos situamos sobre una de las pistas y hacemos click con el botón izquierdo

En la parte inferior vemos sus propiedades. En este ejemplo hemos pinchado sobre el nudo llamado NET-(D1-A). La anchura de la pista es de 0.254mm, está situada sobre la cara superior (F.cu). El nodo pertenece a la clase default (Netclass)
Si pinchamos en el icono Mils nos aparece la anchura en milésimas de pulgada (mils). En este caso el tamaño es de 10 mils

También se pueden ver las propiedades con el botón derecho y la opción properties (o apretando la tecla E)

Uno de los problemas a la hora de hacer PCBs es que no se sabe qué tamaño usar para los elementos. Una opción muy buena es ver otros diseños que ya se han fabricado.... Yo por ejemplo, voy a mirar una de las placas que hice hace muchísimo: !
La versión inicial es del 2005...
Abro el proyecto con el freecad y miramos la anchura de las pistas...
He descubierto que una manera más rápida de ver el tamaño es abriendo el panel lateral apretando en el icono de propiedades y pinchando en cada una de las pistas

Hay dos tamaños de pistas:
- Pistas normales: 15mils
- Pista de GND: 25mils
Las letras en cobre tienen un tamaño de 10mils y las serigrafías de 5 mils
En la nueva placa que estamos haciendo vamos a usar también un tamaño de 15mils para las pistas normales y de 20mils para las de GND. Como son pocas pistas lo hacemos manualmente. Nos situamos sobre un segmento y apretar la tecla U para seleccionar la conexión completa (el nodo). Desde el menu de propiedades escribirmos el nuevo tamaño: 15 mils

Repetimos lo mismo para el nudo de GND. El PCB nos queda así:

Vamos a ejecutar los test para comprobar si se cumplen todas las reclas de diseño (DRC: Design rule checker)

Nos han aparecido dos warnings:
Warning: Footprint 'LED_D3.0mm' does not match copy in library `LED_THT`.
Footprint D1
Warning: Footprint 'LED_D3.0mm' does not match copy in library `LED_THT`.
Footprint D2
Y en el PCB nos aparecen dos marcadores, señalando a los Footprints que dan los Warnings:

Este error es debido a que hemos modificado la posición del componente 3D. Al compararse este footprint con el original de la biblioteca la herramienta detecta que ese cambio y nos lo notifica como Warning
Esto lo podemos solucionar como se indica en este post:
En nuestra placa seleccionamos el Footprint D1 y pinchamos en Tools/Update Footprints from Library. En la ventana que aparece pinchamos en la parte inferior en Update. Lo repetimos para D2
Ahora ya sí volvemos a pasar el DRC ya no salen los warnings...
Vamos a poner un plano de masa en la cara superior. Para que sea más fácil verlo y editarlo, cambiamos el grid a 10 mils:

Pinchamos en el icono de la derecha: Add a fill zone

Pinchamos en el primer punto del polígono a crear con la zona. En nuestro caso será la esquina superior izquierda de la placa (Bueno, no exactamente la esquina, sino 10mils a la derecha y 10mils abajo)
Se nos abre una ventana nueva para indicar a qué nodo pertenece la zona. Nosotros lo asignamos a GND

Ahora pinchamos en los otros 3 puntos del rectángulo para construir la zona. Cuando se cierra vemos el contorno con unas líneas rojas oblicuas

Ahora activamos la visualización de las zonas pinchando en el icono Show filled areas. Luego pinchamos con el botón derecho en la esquina superior izquierda de la zona, y seleccionamos zones/Draft Fill Selected zones

El plano de masa aparece, de color rojo porque está en la cara frontal

Las zonas también aparecen en el renderizado 3D

Vamos a ver cómo cambiar el modelo 3D por otro diferente. En esta primera prueba usaremos una caja de color rojo. Además, voy a aprovechar para instalarme la última versión de freecad de development
Lo lanzo:

Para entender bien cómo funciona la creación de componentes en Freecad y su paso a Kicad, voy a crear primero un componente muy sencillo: una esfera situada en el origen, y la voy a importar en kicad. Así me quedará claro dónde se mapea el origen de Freecad en Kicad
La esfera tiene de radio 50mils (de hecho en Freecad se puede poner 50mils directamente y te lo convierte a mm)
Esta es la esfera que he creado en Freecad:

La seleccionamos para ver sus parámetros: El radio es de 1.27mm (50mils)

Ahora nos vamos a Kicad, seleccionamos el footprint D1, abrimos sus propiedades con E, nos vamos a la pestaña del 3D
Añadimos el fichero creado: esfera-origen-50mils.step. Desmarcamos el check del LED anterior para que no se visualice

Y ahí nos aparece la esfera. Observamos que el origen en Kicad está en el pin 1. La orientación de los ejes de Freecad y Kicad coincide: El arco de la esfera está en dirección del eje x (rojo). El eje y es el verde y el z el azul
Primero obtenemos las dimensiones de las patas del LED original. Utilizamos el Metro de Freecad. Primero se seleccionan los dos vértices y luego se aprieta en el icono del metro. Lo hacemos para las 3 medidas de la pata: longitud (z), anchura (x) y profundidad (y)

Ya tenemos todos los datos para hacer nuestra propia pata y ponerla en el footprint para probar. Hay que hacer una caja de x=0.4mm, y=0.4mm y z=5.5mm
Este es el diseño inicial en Freecad. Uso Partdesign y creo un sketch para la sección del pin, que es un cuadrado de 0.4mm. Luego lo extruyo una distancia de 5.5mm

Se ha guardado en el fichero pin-cuadrado-0.4mm-5.5mm.step. Lo importamos en Kicad (y desmarcamos los anteriores)

Ahí aparece nuestro pin!!!!
Aprovechamos este diseño para practicar cosas de Freecad. Este pin está determinado por sólo 2 parámetro: El lado de la sección cuadrada y la longitud del pin: 0.4mm y 5.5mm... Bien.. vamos a meter esos valores en una hoja de cálculo que el diseño se realice a partir de esos números
También voy a añadir los offset para poder mover el pin con respecto al origen. ESto es útil sobre todo para el offset-z porque así se puede poner el pin más alto o más bajo
La extrusión la hago hacia en el sentido negativo de z (hacia abajo). Así es como queda:

He creado la hoja de cálculo llamamda Dimensions. En ella he creado los alias width, len, off_x, off_y, off_z. Desde el boceto de la sección accedo a la anchura del pin: <<Dimensions>>.width. En la extrusión accedo a <<Dimensions>>.len y en el cuerpo Pin-Master, en placement/position se accede a los diferentes offsets (<<Dimensions>>.off_x)
Así es como queda en Kicad:

Vamos a colocar ahora 2 pines. Es decir, será un fichero .step que contenga sólo los 2 pines del LED. Estos pines tienen que seguir siendo paramétricos (claro). Y lo ideal es que sea un fichero nuevo que invoca a un componente de otro fichero... No sé cómo se hace en freecad, pero voy a aprovechar para aprender sobre los Links!
Primero lo intentamos hacer todo en el mismo fichero. Este es el diseño en Freecad. He añadido un array de 2x1 al cuerpo Pin-master

Marcamos el Array y lo exportamos al fichero dos-pines-0.4x5.5mm-paso-2.254mm.step. Lo importamos en el Kicad:

¡FUNCIONA! Genial!!
Voy a aprender cómo linkar objetos situados en ficheros externos. Es algo que no he hecho nunca en Freecad... vamos al lío!
Voy a crear el fichero cubo.FCStd con un cubo... y luego el fichero cubo-test.FCStd que lo linke... y a ver qué pasa....
He estado viendo vídeos... y efectivamente, la idea de link es para tener diseños en ficheros separados y luego usarlos en otros ficheros... justo lo que yo quiero.. lo he comprobado con el cubo... y va bien... así que directamente lo voy a usar con los dos pines...
Este es el nuevo diseño de los dos pines:

El fichero test-dos-pines.FCStd contiene a los dos pines, que se han agrupado usando el contenedor part. Cada pin es un enlace al objeto pin-master que se encuentra en el fichero pin-cuadrado-generico. Estos enlaces se han desplazado para colocarlos en su posición
El objeto dos-pines es el que se exporta a Step y se añade en el Kicad. El resultado es el mismo que en el ejemplo anterior
Ya puestos, vamos a modelar la cabeza del LED, en el fichero led-head-generic.FCStd. Está hecho parametrizado, con sus valores en la hoja de cálculo. La cabeza se ha diseñado centrada en el origen, para que sea más fácil

Si este componente lo exportamos a STEP y lo añadimos a Kicad nos aparece centrado en el pin 1

Ahora que tenemos todas las partes en ficheros separados, vamos a crear el diseño del LED de 3mm en el fichero LED-rojo-3mm.FCStd

Simplemente se colocan enlaces a los componentes creados en otros ficheros: la cabeza del led y dos pines cuadrados. Se aplican los correspondientes offsets a las partes y listo. La cabeza está desplazada un offset de 1.27mm en el eje x. Y la pata derecha 100mils también en el eje x
Así queda en Kicad:

Y ahí queda el renderizado de la placa por el momento:

Voy a aprovechar ahora que hay una primera versión de la placa lista para hacer limpieza de los directorios.. Listo!!
Para que el modelo quede más realista, voy a incluir las soldaduras... Primero hay que modelarlas en freecad, de forma paramétrica, y luego se incluyen en Kicad
Este es el diseño 3D:

Y así es como queda la parte superior de la placa, una vez añadidas las soldaduras en Kicad:

Lo he añadido manualmente... una mejor solución es añadirlo al propio footprint. Pero para ello es necesario aprender cómo tener mis propias bibliotecas de componentes modificados
También he aprovechado que el led es paramétrico para acortar las patas. Así queda la parte trasera del PCB:

Normalmente los footprints se modifican. En nuestro caso los hemos modificado para añadir otros modelos 3D. También nos puede interesar cambiar las serigrafías. Por ello hay que tenerlos en nuestra propia biblioteca local... ¿Cómo se hace?... voy a investigarlo
Comienzo por el LED. Voy a meterlo en una biblioteca local. Seleccionamos el footprint y abrimos sus propiedades (Tecla E). Vamos a la pestaña General y luego pinchamos en Edit Footprints...*

Se nos abre el led en el editor de footprints

Le damos a File/Save As y se nos abre una ventana nueva. Pinchamos en New Library...

Seleccionamos la opción Project y le damos al OK. Queremos que sea una librería de nuestro proyecto, y no una global

La nueva biblioteca la metemos en el directorio principal del proyecto, y la vamos a llamar Library.pretty que es el nombre por defecto. Esto es la librería, pero lo que se crea es una carpeta con ese nombre, y dentro se guardan los footprint de esa librería

Ahora le ponemos nombre al footprint. Dejo el mismo, pero le pongo el prefijo LED_THT__ para indicar que es un footprint de la librería LED_THT. Pulsamos SAVE

En la carpeta del proyecto 01-led aparece la nueva carpeta Library.pretty

Desde el Editor de footprints vamos a comprobar las librerías. Pinchamos en Preferences/Manage Footprint Libraries...

Abrimos la pestaña Project Specific Libraries. Ahí aparece nuestra biblioteca. Aprovechamos y ponemos una descripción. Pinchamos en OK

Ahora en la parte inferior del editor de PCB aparece la nueva librería Library y el nuevo nombre del componente LED_THT__LED_D3.0mm

Miramos las bibliotecas de footprints, a ver si aparece el nuevo. Pinchamos en View/Footprint Library Browser

Vamos a meter el otro footprint en la biblioteca...

Listo! Ya los tenemos! Ahora voy a actualizar los footprints de la placa con los originales... Listo! Se hace desde el PCB Editor con la opción Tools/Update Footprint from Library
Cambiamos primero el footprint del LED. Abrimos las propiedades (Tecla E) y pinchamos en el botón Change Footprint

Marcamos la opción Change Footprints with library id: y luego en el botón de libraría para buscar el footprint que va a sustituir al actual, que será justo es de nuestra nueva librería

Seleccionamos el nuevo Footprint

Nos aparece el nombre del footprint seleccionado. Pulsamos en Change y luego Close

Hacemos lo mismo con los conectores... ¡Y ya lo tenemos!. Si ahora pasamos el DRC... no saldrá ningún warning porque los componentes se toman de la nueva biblioteca (y los 3Ds están actualizados)
Lo último que queda es actualizar el esquemático con las nuevas asignaciones de footprints. Esto lo hacemos dando a la opción Tools/Update Schematic from PCB
Para obtener el modelo 3D de la placa en Freecad, y poder así, por ejemplo, exportarla a STEP, utilizaremos la extensión de Freecad: KicadStepUp
Abrimos Freecad y vamos a la opción Tools/Addon Manager

Buscamos por Kicad. Aparece la extensión Kicad StepUp Workbench. Pinchamos en ella

Aparece información sobre la extensión. Pinchamos en Install y luego en OK

Comienza la instalación (No hay barra de progreso). Cuando está terminado aparecerá este mensaje:

La versión instalada es la 10.22.8. Es necesario re-iniciar Freecad para completar la instalación

Ya lo tenemos instalado! Para usarlo recomiendan ver la cheat-sheet
El KicadStep-Up se configura en las preferencias. El path donde se guardan los modelos 3D es este: '/usr/share/kicad/3dmodels/'. Lo he obtenido desde el project manager en la opción Preferences/Configure Paths

Para cargar la placa en Freecad pinchamos en el icono indicado: load board y seleccionamos el fichero 01-led.kicad_pcb

Aparece este Warning, indicando que no hemos establecido un origen en Kicad. De momento lo ignoramos y pinchamos en OK

Se abre la placa. Está perfecta, aunque sin las pistas y las serigrafías

El origen está muy lejos:

El origen del grid se establece con la opción Place Grid Origin. Y se muestra una 'X' blanca. Además, aprovechamos para establecer el origen de taladros y componentes. Se muestra con el símbolo '+' dentro de un círculo, en rojo

Ahora importamos la placa de Freecad. El origen ya ha cambiado

Pinchando en el icono Add tracks se añaden las pistas y las zonas de cobre

Añadir las serigrafías es un poco más complicado. Primero hay que generar los ficheros DXF. En Kicad PCB nos vamos a la opción File/Plot. Seleccionamos las capas F.Silkscreen y B.Silkscreen. También ES MUY IMPORTANTE cambiar las unidades a Milimetros. Por último pinchamos en PLOT

Pinchamos en el icono Add Silks from dxf y añadimos la serigrafía superior e inferior. Este es el resultado:

En Freecad he importado el 3D de la Alhambra-II y la placa de los LEDs. Así es como queda

Voy a hacer un poco de reorganización. Creo la carpeta Libreria.3DShapes para meter ahí los diseños 3D de mis biblioteclas OK, listo! También he añadido el footprint con el logo de openhardware
He creado también la serigrafía final

Ya lo tengo todo listo para empezar la placa AP-LED8-THT que es la que se mandará a fabricar a pcbway... y aprovecharé para documentar el proceso
Voy a comenzar a diseñar la placa AP-LED8-THT que incorpora 8 LEDs through-hole. Tengo pensado fabricarla en pcbway... Una de las cosas que quiero hacer es certificarla como OPEN HARDWARE...
https://certification.oshwa.org/
Lo interesante es que hay muchas cosas certificadas ya... Por ejemplo la placa 0.95" OLED PMOD:
Su github es este:
La licencia que tiene es CERN Open Hardware Licence v1.2. Así que pondré esa misma en la AP-LED8
No tengo claro el proceso de certificación, pero no creo que sea complicado
Las instrucciones para certificar están aquí:
https://application.oshwa.org/apply
En principio se rellena un formulario y listo!!!! Joder... lo voy a hacer...
Ya tengo un esquemático y PCB iniciales:
Ya tengo una primera versión casi lista... para completar las serigrafías tengo que ver el tema de la certificación... Me voy a basar en la placa pmod-rgb, con certificación se000004
Las marcas de certificación están en este repositorio:
En esta web se indica cómo es el logo:
Se puede usar una vez que la placa esté certificada...
Listo! Ya he enviado la solicitud de certificación... dicen que responden en menos de 2 semanas...
Para el tema del bom, hay un plugint cojonudo de Kicad: InteractiveHTMLBOM
Lo instalo usando el Plugin Content Manager de Kidad (accesible de la ventana principal de proyecto)
Aparece un icono nuevo en el PCB editor.... Listo! Basta con pincharlo, se genera el BOM interactivo y aparece en el navegador... ACOJONANTE! Fácil y muy muy sencillo!!!!!
Ya tengo generados también los 3D iniciales de prueba. He actualizado la documentación inicial de la placa en el repositorio, para que pase la certificación
Lo último certificado por oshwa está aquí: https://certification.oshwa.org/list.html
El último certificado se ha dado el 21-dic-2023...
Ya está añadido el plano de masa y actualizados los 3Ds. La placa ya se podría preparar para fabricar, pero voy a esperar a tener una respuesta de la certificación.... todavía sin noticias...
Si ordenamos la lista de placas certificadas por fechas, la última certificada es la 6800 Single Board Computer (CA000039), con Fecha 21-Dic-2023... Ya estamos a 15-Enero-2024 y no han aparecido placas nuevas...
Ayer recibí el mejor regalo de cumpleaños: ¡ya está la certificación!
Estos son los SVGs originales, con fondo blanco
Ahora hay que añadir la serigrafía a la placa AP-LED8-THT. En la OSHWA tienen este repo: https://github.com/oshwa/certification-mark
Listo! Ya lo tengo hecho. Me modificado la documentación del Readme, con las nuevas imágenes
Llegó el momento de la fabricación. He visto que existe un plugin para Kicad hecho por PCBway:
Arrancamos el Pluging and content manager. Primero buscamos PCBWAY. Luego pinchamos en el plugin. En la derecha nos aparece más información de este plugin. Por último pinchamos en Install

Una vez termina el proceso, podemos ver el nuevo icono de PCBWAY en el PCB editor:

Ahora pinchamos en el icono de PCBWAY. Se abre el navegador en la página de PCBWAY y se suben automáticamente los gerbers y extrae la información de la placa!!!! wow!!!

Por defecto aparece una cantidad de 5 unidades... Lo he cambiado a 20. El precio total que sale es de unos $40... Pincho en Save to cart
Y luego pincho en agree. Lo siguiente es crearse la cuenta... Listo!!
Ya he hecho el pago: unos 50€ aprox (por paypal). ¡¡ya está todo listo!! Parece que todo ha ido muy bien. Ha sido muy muy fácil. Ahora a esperar... Según ponen la fabricación se termina el 21 de Enero y luego lo envían por avión por lo que llegará el 24 ó 25 de Enero
Este es el estado al día de hoy:

La fabricación ya está terminada! Estamos al 100%!!

Tras la fabricación ha empezado el Envío. Lo pedí por DHL. En PCBWay te ponen el enlace para que realizar el seguimiento de DHL. Estado actual es que ya ha salido de la ciudad de ShenZhen (pero de moento sigue en china)

Fecha estimada de entrega el Jueves 25 de Enero... aunque no creo que llegue antes del viernes 26 (ojalá). Al final siempre hay retrasos...
¡Ya va por Hong Kong!

¡Ya está en Madrid! ¡Y ha pasado la aduana!

La información de DHL también está disponible en español:

¡¡Acaba de llegar el paquete!! (A las 13:20)

Dentro del paquete está esta caja:

Abrimos la caja. En el interior hay una bolsa de plástico envuelta en gomaespuma blanca de embalaje

Lo sacamos todo de la caja:

Detalles de la bolsa. ¡Dentro están los PCBs!

Abrimos la bolsa... aparece otro paquetito:

Y ya por fin... lo abrimos y ¡¡tachán!!!!! LOS PCBS!!!! oooohhhhhhh qué bonitos!!!!

Así es como ha quedado la cara frontal del PCB

Y así la cara posterior:

En total hay 20 PCBs

Ya he soldado el primer prototipo. Esta es la parte superior

Y esta la inferior

Y así es como queda conectada a la Alhambra-II:

