Vídeo 3: La Icezum Alhambra y otras placas con FPGAs libres - Obijuan/digital-electronics-with-open-FPGAs-tutorial GitHub Wiki
Vídeo
Haz click en la imagen para ver el vídeo en Youtube
Descripción
Las herramientas que usaremos en estos tutoriales son Icestudio y la placa Icezum Alhambra. Pero existen otras placas con FPGAs libres que se están desarrollando en la comunidad. La icezum Alhambra es una placa libre, y puedes ver sus tripas usando herramientas libres como Kicad. También puedes ver cómo están hechos sus componentes 3D y sus accesorios, con Freecad. Es importante ser conscientes de lo que implican las tecnologías libres: ¡Acceso total a sus planos! ¡Esto nos da un inmenso poder! Las empresas van y vienen, y con ellas sus productos. Pero lo libre permanece
Contenido
- FPGAs Libres
- Placas con FPGAs libres
- La placa Icezum Alhambra
- Ejercicios propuestos (11 Bitpoints)
- Ejercicios entregados
- Autor
- Licencia
- Créditos y agradecimientos
- Enlaces
- FAQs
FPGAs libres
Una FPGA libre es aquella que tiene disponible toda su documentación interna con tal detalle que sea posible hacer herramientas software que permitan la síntesis de hardware y su carga en la FPGA. Actualmente las únicas FPGAs libres son las de la familia ICE40 de Lattice. Disponemos de toda la documentación gracias a Clifford Wolf, que hizo ingeniería inversa y creó el proyecto Icestorm
El resto de FPGAs son privativas. Sólo las podemos usar con el softaware proporcionado por el fabricante, y sólo se puede hacer con ellas lo que el fabricante ha decidido que se puede hacer. No están disponibles sus detalles internos con el detalle suficiente, ni el formato del bitstream. Esto hace imposible, por ejemplo, que alguien que no sea el fabricante pueda crear un software para facilitar su uso, como Icestudio. O que se pueda sintetizar hardware desde una Raspberry pi o cualquier otra plataforma diferente a la decidida por el fabricante
Placas con FPGAs libres
Ya tenemos el software listo para diseñar circuitos digitales: Icestudio. Como este es un curso práctico, necesitamos una placa real con la que practicar. Al fin y al cabo, ¡Somos makers! y nos gusta mancharnos las manos construyendo cosas, y aprender haciendo. La placa que usaremos será la Icezum Alhambra, pero existen más placas con FPGAs libres, que están soportadas por Icestudio
Placas soportadas por Icestudio
Abrimos Icestudio y pinchamos en la opción Seleccionar/Placa
Ahí podemos ver todas las placas que están actualmente soportadas en Icestudio 0.3.1:
Lattice Icestick
Esta es la placa que utilizó Clifford Wolf para hacer ingeniería inversa, y por eso es una pieza de coleccionista: es la primera placa en la que se sintetizó hardware usando sólo herramientas libres
Ficha | |
---|---|
Nombre | Icestick |
Fabricante | Lattice |
Precio | $20 |
FPGA | ICE40HX-1K |
Frecuencia | 12Mhz |
Leds | 4 rojos, 1 verde |
Observaciones | Es la placa usada originariamente por Clifford Wolf para hacer ingeniería inversa |
Lattice Breakout Board
Ficha | |
---|---|
Nombre | Breakout Board |
Fabricante | Lattice |
Precio | $43 |
FPGA | ICE40HX-8K CT256 |
Frecuencia | 12Mhz |
Leds | 8 verdes |
Observaciones | Acceso a 40 pines de la FPGA |
Nandland Go Board
Ficha | |
---|---|
Nombre | Nandland Go Board |
Fabricante | Crowdfunding |
Precio | $60 |
FPGA | ICE40HX-1K |
Frecuencia | 12Mhz |
Leds | 8 verdes |
Periféricos | 4 leds verdes, 2 Displays de 7 segmentos, 4 pulsadores, 1 conector VGA |
Observaciones | El conector de VGA integrado da mucho juego :-) |
Kéfir I
Ficha | |
---|---|
Nombre | Kéfir I |
Autor | Salvador E. Tropea |
Institución | Instituto Nacional de Tecnología Industrial (INTI), Argentina |
Precio | Contactar |
FPGA | iCE40HX4K-TQ144 |
Frecuencia | 24Mhz |
Periféricos | 4 Capsenses |
Observaciones | Hardware libre. Kit educativo, inclusivo y reciclable. Compatible Arduino |
Icoboard
Ficha | |
---|---|
Nombre | Icoboard 1.0 |
Fabricante | Trenz Electrónic |
Precio | 90€ |
FPGA | ICE40Hx8K |
Frecuencia | 100Mhz |
Periféricos | SRAM 8Mx16, 3 LEDs, 2 Pulsadores |
Observaciones | Sombrero para Raspberry PI |
Otras placas no soportadas todavía
Placas con FPGAs libre, soportadas por el project icestorm, pero que todavía no están incluidas en Icestudio
Olimex iCE40HX1K-EVB
Ficha | |
---|---|
Nombre | Olimex iCE40HX1K-EVB |
Fabricante | Olimex |
Precio | 22€ |
FPGA | ICE40Hx1K |
Frecuencia | 100Mhz |
Periféricos | SRAM 256Kx16, 2 LEDs, 2 Pulsadores |
Observaciones | Hardware libre |
Mystorm BlackIce
Ficha | |
---|---|
Nombre | Mystorm Blackice |
Fabricante | Mystorm, UK |
Precio | 45€ |
FPGA | ICE40Hx4K |
Frecuencia | 100Mhz |
Periféricos | SRAM 256Kx16, 6 LEDs, 3 Pulsadores |
Observaciones | Hardware libre |
Placa Icezum Alhambra
Es la placa que usaremos en este tutorial
Ficha | |
---|---|
Nombre | Icezum Alhambra |
Autor | Eladio Delgado |
Fabricante | Mareldem Technologies, Pinos del valle, Granada, España |
Donde conseguirla | Alhambrabits |
Precio | 65€ |
FPGA | ICE40Hx1K |
Frecuencia | 12Mhz |
Periféricos | 8 LEDs, 2 pulsadores, 4 canales A/D |
Observaciones | Hardware libre. Compatible Arduino |
Eladio Delgado
Eladio Delgado es el diseñador de la Icezum Alhambra. Nos conocemos desde hace más de 20 años. Fuimos compañeros de estudios en la ETSIT-UPM. Eladio es una de las personas que más sabe de electrónica que conozco
En esta entrevista que le hizo Enrique Gómez de Rincón Ingenieril puedes saber más de él
Entrevista de Rincón Ingenieril a Eladio Delgado
Eladio vive en Pinos del Valle, un pueblo de la provincia de Granada, de 700 habitantes. Desde allí hace todos sus diseños. Su casa es conocida en el ambiente maker como el Rural Workshop. Es un sitio genial: estás frikeando con la última tecnología y luego sales y estás en el campo, en plena naturaleza :-)
En esta foto, de izquierda a derecha estamos Andrés Prieto-Moreno, Obijuan y Eladio, en el Rural Workshop. Todos los años, en verano, coincidimos un día en Pinos del Valle
Y por supuesto, aprovechamos para tomarnos unas cervezas juntos, y ponernos al día :-)
Kicad
La Icezum Alhambra es una placa libre. Todos sus ficheros fuente y de fabricación están disponibles. La versión 1.0 la hizo Eladio en Altium y yo la migré a Kicad, que es una herramienta libre de diseño de PCBs, impulsada por el CERN (La organización Europea de Investigaciones Nucleares)
La versión actual es la 1.1, que tiene unos ligeros cambios y correcciones, y se hicieron también con Altium, y están pendientes de migrarse a Kicad (pero el fichero fuente en Altium y los ficheros de fabricación (Gerbers) están disponibles en el repositorio)
Esquema
Para ver el esquema, clonamos el repositorio del github en nuestro ordenador. Nos vamos a la carpeta src-kicad y abrimos el fichero icezum.pro con Kicad.
Se nos abre la ventana principal de Kicad, con el proyecto de la placa. En la parte de la izquierda, hacemos doble click en el elemento icezum.sch para ver el esquema. Nos aparece primero la hoja índice
Podemos pinchar en cualquiera de los 6 bloques para ver los detalles. ¡Ojo! Esto no es un navegador. No pinchéis en el texto, sino en el fondo del bloque, para que se seleccione el bloque. Nos metemos por ejemplo en el bloque de alimentación (Power Supply)
Y ahí podemos ver todos los detalles, y curiosear lo que queramos. Para volver a la hoja índice pinchamos en el icono Leave sheet de la parte superior
Placa de Circuito Impreso (PCB)
Para ver el diseño de la placa de circuito impreso (PCB) hacemos doble click en icezum.kicad_pcb en la ventana principal de Kicad
Y se nos abre el diseño
Modelo en 3D
También podemos obtener el modelo 3D de la placa. Para ello nos vamos a View/3D Viewer
y se nos abre una ventana con el modelo virtual de la placa
Modemos rotar y desplazar la cámara para observar los detalles de la placa
FreeCAD
FreeCAD es una aplicación libre de Diseño 3D. Todos los componentes de la Icezum Alhambra se han modelado con Freecad, y están disponibles en la biblioteca de piezas de Freecad, en Github
No sólo disponemos de los modelos para usarlos en nuestras placas, sino que tenemos los ficheros fuentes para aprender cómo están hechos
En este enlace podemos encontrar una tabla con todos los componentes y sus ficheros fuente
Podemos descargar cualquiera de ellos y abrirlo con Freecad. Por ejemplo, vamos a ver el conector micro-usb. Descargamos el fichero USB-micro-B.fcstd
Accesorios 3D
Existen algunos accesorios 3D libres para imprimir, para la Icezum Alhambra, diseñados con FreeCAD
Soporte FPGAwars
Enlace | Soporte FPGAWars |
Autor | Juan González-Gómez (Obijuan) |
Descripción | Soporte para la Icezum Alhambra, con y sin las letras de FPGAwars |
Soporte con protección
![]() |
![]() |
---|---|
![]() |
![]() |
Enlace | Soporte con protección |
Autor | Antonio Andújar |
Descripción | Soporte para la Icezum Alhambra con protección de cortocircuito |
Soporte vertical
![]() |
![]() |
---|---|
Enlace | Soporte vertical |
Repo | Soporte en Github |
Autor | Julian Caro Linares |
Descripción | Soporte vertical |
Ejercicios propuestos (11 BitPoints)
-
Ejercicio 1 (2 Bitpoints): Instalar kicad. Bajarse el repositorio de la Icezum Alhambra y abrir el proyecto en Kicad. Sacar dos pantallazos, uno de una parte del esquema, y otro del PCB o del modelo 3D. Enviar las capturas por redes sociales (mención a @Obijuan_cube). Se concederá 1 Bitpoint adicional por subirlas al repositorio de entregas de github
-
Ejercicio 2:(2 Bitpoints): Instalar Freecad. Elegir un componente de la Icezum Alhambra y bajarse su archivo fuente en Freecad. Abrirlo y sacar 1 pantallazo. Enviar por redes sociales. Se concederá 1 Bitpoint adicional por subirlas al repositorio de entregas de github
-
Ejercicio 3:(2 Bitpoints): Seleccionar alguno de los accesorios 3D de la Icezum Alhambra, imprimirlo en 3D y enviar una foto por redes sociales (con mención a @Obijuan_cube). Se concederá 1 Bitpoint adicional por subirlas al repositorio de entregas de github
-
Ejercicio 4: (Hasta 2 Bitpoints): Ejercicio libre. Premiar la creatividad. Entrega por redes sociales o por github
Ejercicios entregados
Antonio Morales
![]() |
![]() |
---|---|
![]() |
![]() |
Diego Lale
![]() |
![]() |
---|---|
![]() |
![]() |
![]() |
Alberto Valero
![]() |
![]() |
---|---|
![]() |
Autor
- Juan González-Gómez (Obijuan)
Licencia
Créditos y agradecimientos
- Clifford Wolf es el Ingeniero Austriaco al que le debemos la aparición de las FPGAs libres. Todo este tutorial,y todas las herramientas creadas a su alrededor no habrían sido posibles sin su gran aportación: El proyecto Icestorm. ¡Muchas gracias!
- A Arduino, por la increible labor que han realizado en la popularización del hardware libre, y del acercamiento de las nuevas tecnologías a personas con perfil menos técnico. Ha hecho una democratización de la programación de microcontroladores, a gran escala. La placa Icezum Alhambra es un diseño derivado del Arduino uno ¡Muchas Gracias!
- Eladio Delgado, es el diseñador de la placa IceZum Alhambra. Y el encargado de la gestión de la fabricación de la placa. Todo lo dirige desde su Rural Workshop en Pinos del Valle (Granada) ¡Muchas gracias!
- Andrés Prieto-Moreno, es mi Maestro Jedi, y me ha enseñado todo lo que yo sé ahora ¡Muchas gracias!. Además, es el creador de AlhambraBits y el mecenas que ha financiado las Icezum Alhambras, para que todos podamos disponer de ellas. ¡Muchas gracias!
- Jesús Arroyo es el creador de Icestudio y su desarrollador principal. Gracias a su talento está consiguiendo que cientos de personas puedan acceder al desarrollo de circuitos digitales, de una forma muy sencilla. ¡Muchas gracias!
- A Salvador Tropea, del INTI, por donerme una placa Kéfir ¡Muchas gracias!
- Al proyecto Mystorm, por su donación de 2 placas Blackice, para Jesús y para mí. ¡Muchas gracias!
- A Enrique Gómez, de Rincón Ingenieril, por la foto suya de Eladio que he usado en el tutorial. ¡Muchas gracias!
- A Antonio Andújar por el soporte con protección de la Icezum Alhambra. ¡Muchas gracias!
- A Julian Caro Linares por el soporte vertical para la Icezum Alhambra. ¡Muchas gracias!
Enlaces
- Proyecto Icestorm
- Arduino
- FPGAwars: Explorando el lado libre de las FPGAs
- Tarjeta Icezum Alhambra
- AlhambraBits
- Icestudio
- Kicad
- Rincón Ingenieril
- FreeCAD
FAQs
- ¿Dónde puedo conseguir la placa Icezum Alhambra?
Pueden conseguir una desde Alhambrabits
- ¿Cómo aprendo a manejar github?
Hay mucha información en internet. En su momento hice este Tutorial: Github y FreeCAD para enseñar a manejarlo. Los ejemplos están hechos con ficheros de FreeCAD, sin embargo, lo que se enseña es genérico. También vale para las entregas de los ejercicios del tutorial de Electrónica digital para makers
- ¿Dónde aprendo a manejar FreeCAD?
Puedes probar con estos tutoriales de un tal Obijuan :-)
- ¿Dónde aprendo a manejar Kicad?
Prueba con estos tutoriales de Rincón Ingenieril