Electrónica en Linux
En GNU/Linux a disposición una modesta gama de software multiplataforma, tanto de simulación, programación y diseño de circuitos, como de placas o circuitos impresos. Todo bajo licenciamiento GPL y Open Source. Veamos entonces las herramientas o soluciones que podemos aprovechar de electrónica en Linux.
En este artículo veremos 29 aplicativos que conforman todo un ambiente electrónico para propósitos profesionales, académicos o de aficionado. Aunque el número es mayor, con estas es suficiente para comenzar. Todos los procedimientos de instalación aquí descritos se ejecutaron sobre Ubuntu 18.04.
Electrónica en Linux – SimulIDE
SimulIDE es un entorno de desarrollo integrado para la creación y simulación de circuitos electrónicos generales. Incluye simulación de microcontroladores tales como PIC, AVR, así como un ambiente de trabajo virtual para Arduino.
Para instalar SimulIDE solo es suficiente descargarlo de su sitio oficial y descomprimirlo:
Luego, creamos un acceso en nuestro Escritorio haciendo clic derecho -> Crear un lanzador… En la ventana que se abre le ponemos un nombre a nuestro lazandor, y en el campo «Comando:» le ponemos la ruta donde dejamos el ejecutable de SimulIDE
Puede que antes de ejecutar a SimulIDE necesitemos instalar una librería llamada libfuse.so.2, la instalamos con el comando sudo apt install libfuse2
En este post puedes ver a SimulIDE como simulador de Arduino.
Electrónica en Linux – KTechlab
KTechlab es un buen entorno de diseño y simulación de circuitos electrónicos, digitales y de microcontroladores. Tal como SimulIDE, KTechlab ofrece todo lo necesario para una simulación completa: compuertas lógicas, flip-flops, multiplexador, un codificador de decimal a binario, etc.
Para instalarlo, debemos descargar su tarball de instalación desde su ubicación en SourceForge (la versión 0.40.1), y seguir el procedimiento explicado en el siguiente vídeo (Amplía a pantalla completa):
Cómo instalar software en Linux desde un tarball
PICSimLab
PICSimLab es una emulador en tiempo real de entrenadores para microcontroladores de la familia Microchip. Con este software podemos emular proyectos basados en el PIC16F84, PIC16F628, PIC16F648, PIC16F777, PIC16F877A, PIC18F452, PIC18F4520, PIC18F4550 y PIC18F4620. También podemos emular microcontroladores simavr (ATMEGA328) y Arduino.

PIC16F877
Descargamos el paquete picsimlab_0.7.5_amd64.deb, y lo instalamos con el siguiente procedimiento:
STM32 en Linux
Con el paquete de herramientas Stlink-GUI podemos flashear nuestros desarrollos en placas de la familia STM32. Lo instalamos así:
sudo apt install stlink-gui sudo apt install stlink-tools
Snagboot
Diseñado para restaurar y flashear dispositivos integrados que han dejado de arrancar, por ejemplo, debido a la corrupción del firmware.
Snagboot nace debido a que la mayoría de las plataformas integradas proporcionan interfaces USB o UART para la recuperación y la transferencia de imágenes de arranque en caso de corrupción del firmware, pero estas interfaces son específicas de cada plataforma y requieren el uso de utilidades de recuperación asociadas con productos de fabricantes individuales.
Por ejemplo, la primera versión de snagboot se puede usar para recuperar dispositivos basados en ST STM32MP1, Microchip SAMA5, NXP i.MX6/7/8, Texas Instruments AM335x, Allwinner SUNXI y Texas Instruments AM62x SoC.
Placas de Desarrollo en Linux – Mu Editor
Mu Editor es un editor de código Python. Aunque no es un entorno de desarrollo integrado de electrónica, podemos usarlo para programar placas electrónicas de desarrollo, tal como la Adafruit Playground Express. Suele usarse ampliamente entre los estudiantes como iniciación en dicho lenguaje de programación.

Placa de desarrollo Playground Express con múltiples sensores y salidas
Tenemos un artículo de iniciación que explica la programación básica de la Playground Express, con Mu Editor en Ubuntu (puedes tocar la imagen para abrir el artículo):
Lo mismo sucede con Jupyter Notebook, el cual podemos instalar en una Raspberry Pi para programar sus puertos GPIO. Hasta podemos programar su bus I2C para comunicarlo con otros dispositivos, y elaborar con esto soluciones industriales (trabajar con I2C en Raspberry):

Raspberry Pi 3+
Orange Pi
Esta placa electrónica para IoT es la competencia reducida y económica de la Raspberry Pi. En la página de Orange Pi en español podemos ver su proceso de instalación y puesta en marcha, desde GNU/Linux.

Orange Pi
Placas de Desarrollo en Linux – Odroid
Otra alternativa a las Raspberrys Pi son las placas de desarrollo Odroid. Estas vienen en familias tales como EXYNOS5 OCTA, AMLOGIC y ROCKCHIP. Se le puede poner a funcionar con GNU/Linux y son una poderosa opción para implementar proyectos industriales, aunque estos dispositivos no son 100% hardware libre.
Qucs (Quite Universal Circuit Simulator)
También es un simulador de circuitos electrónicos. Es de licenciamiento GPL. Los datos de simulación pueden presentarse con varios tipos de diagramas, incluyendo el cartesiano, tabulares, diagrama de Smith, diagramas cartesianos en 3D, diagramas temporales, tablas de verdad y más.
Podemos descargar la versión para compilar, qucs-0.0.019.tar.gz, desde SourceForge. También podemos probar la nueva versión qucs-0.0.20.tar.gz. Y hablamos de descargar la versión para compilar, porque el último paquete binario DEB de instalación es viejo (del año 2014).
Antes de compilar e instalar Qucs, debemos compilar e instalar la librería ADMS. Esta librería (Automatic Device Model Synthesizer) es un traductor de código abierto de Verilog-A.
Instalación de ADMS
sudo apt install libtool m4 automake git clone https://github.com/Qucs/ADMS cd ADMS sudo ./bootstrap.sh sudo ./configure sudo make sudo make install sudo ldconfig
Instalación de Qucs
El procedimiento es el siguiente (si falla por alguna dependencia, instalela):
sudo ./bootstrap sudo ./configure --disable-doc sudo make sudo make install
En el siguiente enlace, puedes ver el modelado de una celda fotovoltaica con Qucs.
Arduino
El proceso de instalación del IDE de Arduino en GNU/Linux es muy parecido al de SimulIDE. Descargamos el paquete para Linux desde el sito oficial de Arduino. Luego descomprimimos, vamos al ejecutable y listo.

IDE de Arduino

Placa de Arduino
Puedes ver un data logger de temperatura que realicé con Arduino, software sibre y programado desde Linux.
M5Stick
El M5Stick es un módulo de desarrollo muy completo con pantalla incluida para soluciones IoT. Se le puede trabajar con programación scratch y con código microPython. También vienen en presentaciones más grandes y potentes. El procedimiento de instalación en GNU/Linux lo puedes ver en el siguiente artículo.
MyOpenLab
Es un entorno de simulación y modelado físico, y electrónico, capaz de conectarse con Arduino a través de la librería Firmata. Su potencia de cálculo y procesamiento de datos la hace una herramienta valiosa. MyOpenLab es la competencia Libre y gratuita de NI Labview. Aunque NI Labview también es una buena herramienta de simulación, se restringe a plataformas Windows y distribuciones Linux basadas en Red Hat, y además, no es Libre ni OpenSource.
Podemos ver un par de vídeos que muestran su instalación y conexión con Arduino, en Ubuntu:
Sitios web en español sobre MyOpenLab:
Fritzing
Es una iniciativa Open Sorce pensada para estudiantes, aficionados, artistas, etc, pues su estilo de trabajo es más recreativo. Su instalación es similar al IDE de Arduino. Solo es descargar el paquete para Linux desde el sitio oficial de Fritzing, descomprimir, darle permisos al archivo parts.db y listo. También podemos usar el siguiente comando para Ubuntu:
sudo apt install fritzing
KiCad
Es un paquete de software libre que facilita el diseño de placas electrónicas, circuitos impresos, o PCB. Consta de un administrador de proyectos, un editor de esquemáticos, un entorno de diseño PCB, visualizador de archivos Gerber y un convertidor de imágenes a footprint.
Su instalación es muy sencilla, solo ejecuta el siguiente comando:
sudo apt install kicad
Circuit Simulator
A este modesto simulador de circuitos lo veo bien ubicado en un ambiente académico. Circuit Simulator nos puede simular de forma predeterminada el comportamiento de la tensión, la corriente y las señales, en los componentes que configuran nuestros circuitos.
Podemos descargarlo desde el sitio web http://www.falstad.com/circuit/ y ponerlo a funcionar en modo offline, en cualquier plataforma Linux, Mac y Windows.
Electrónica en Linux – Analizador de señales
Quizás un visualizador de señales maduro y open source es sigrok-cli y su interfaz gráfica PulseView. Se usa para visualizar las señales provenientes de algunos osciloscopios, multimetros y de Analizadores Lógicos, suficientes para monitorear protocolos como I2C, Serial, CAN, SPI, SMBUS, etc.
Para asegurarnos que la versión instalada de sigrok-cli tenga soporte para cierto modelo del multímetro UNI-T, usamos el comando sigrok-cli -L | grep uni-t
Podemos instalar este dúo con el comando sudo apt install sigrok-cli pulseview. También podemos seguir esta guía de instalación de sigrok-cli y pulseview.

Visualización de señales provenientes de un Analizador Lógico
Qucs-S (Qucs con SPICE)
Qucs-S es un spin-off ó desarrollo independiente de Qucs. Esta hecho para integrarse con el programa de simulación SPICE, aunque también acepta la integración con su alterno open source NGSPICE.
Instalación de NGSPICE
Instalación de Quc-S
AVRDUDE
AVERDUDE es un programa desarrollado para leer o cargar (programar) microcontroladores Atmel (ATmega). Podemos instalarlo en Ubuntu con el comando sudo apt install avrdude
Puedes ver una guía básica de uso bajo Linux en el blog de Vida Embebida, también en la página de PenTestPartners, o aquí.
GKmap
Es un programa muy sencillo que expresa la simplificación matemática del mapa de Karnaugh. Su desarrollo se quedó hasta el año 2008, pero todavía sirve. Puedes ampliar más sobre el mapa de Karnaugh aquí.
Instalación de GKmap
Más opciones de electrónica en Linux
Xoscope
Osciloscopio digital para audio, que trabaja con la señal que le proporcionemos por el jack del micrófono. Su tarball en SourceForge.
gEda
Para ampliar más este tema, puedes revisar el proyecto de software libre gEda.
Programación de FPGA
La Matriz de Compuertas Programables, o FPGA, es un dispositivo al que podemos describirle un circuito digital, usando un lenguaje específico como el VHDL y Verilog. Es un dispositivo que puede programarse para casi cualquier cosa. Tiene un conjunto muy grande de componentes digitales combinacionales y secuenciales, tales como compuertas AND, OR, NOT, FLIP-FLOPs, etc.
Puedes simular su programación con Icarus ó Verilator, que es un simulador libre (GPL) y potente de Verilog HDL (documentación Verilator y Verilog). Con Icarus y Verilator podemos aprender y jugar con Verilog. También puedes revisar GHDL.
Sitio web sobre FPGAs libres. También FPGAs libres en la web de Obijuan.
Qflow
Qflow es un conjunto de herramientas utilizadas para convertir un circuito descrito en lenguaje Verilog o VHDL, en un modelo circuito físico pensado para su fabricación.
Logisim
Logisim es una herramienta libre de diseño y simulación de circuitos lógicos digitales, que puede puede ser utilizado para el diseño de CPUs con propósitos educativos. Puedes instalarlo con el comando sudo apt install logisim

Logisim
QElectroTech
Software para creación de diagramas eléctricos. Sitio oficial de QElectro Tech.
GNUSim8085
Simulador y ensamblador del microprocesador Intel 8085. Puedes descargarlo del sitio oficial de GNUSim8085.
DrMIPS
Es un simulador gráfico de procesadores MIPS. El programa es libre, bajo licencia GPLv3, por lo que se puede usar sin restricciones, modificar, redistribuir, etc. Y entre sus características se pueden destacar:
- Puede simular versiones de monociclo y de pipeline de procesador MIPS.
- Se muestra el datapath en forma gráfica para ver cómo se mueven los datos a través de la arquitectura.
- Permite ejecución paso a paso y dar paso atrás.
- Puedes editar registros y memoria de datos durante la ejecución.
- Posee un modo de rendimiento donde se simulan también las latencias y se muestra la ruta crítica del procesador.
- Se pueden crear rutas de datos y conjuntos de instrucciones gracias a su capacidad de configuración.
- Componentes personalizados.
- Editor de código integrado, con resalto de sintáxis y autocompletado (solo en la versión para PC).
- Datos presentados en binario, decimal o hexadecimal.
- Varios temas claros y oscuros para elegir el aspecto del entorno.
- Esto implica que no se puedan mostrar instrucciones que tienen su propia ruta de datos, además, instrucciones como JAR, JR, SYSCALLs y de coma flotante no están soportadas, solo un set muy básico para uso educativo.
LibrePCB
Sofware EDA, de licenciamiento GPL, para el desarrollo de circuitos impresos. Sitio oficial de Libre PCB.
Horizon EDA
Horizon EDA es un sistema para automatizar el diseño de dispositivos electrónicos, y está optimizado para crear circuitos eléctricos y placas de circuitos impresos.
Pinguino
Pinguino es un ambiente de desarrollo de hardware y de software similar a Arduino, pero para microcontroladores PIC. Existe amplia documentación al respecto la cual puedes revisar en los siguientes enlaces:
Página oficial del proyecto https://github.com/PinguinoIDE
gpSim
El gnupic Simulator, o gpsim, es un simulador de software para microcontroladores PIC de Microchip. Está diseñado para ser lo más preciso posible. Puedes descargar el proyecto desde SourceForge.
Gresistor
Es un identificador óhmico de resistencias codificadas en colores. Puedes instalarlo con el comando sudo apt install gresistor
Linsmith
Linsmith es un software para la generación de cartas de Smith en Linux.
GNU Radio
Es una herramienta de desarrollo libre y abierta que nos permite implementar sistemas de radio definida por software. Puede utilizarse con hardware de RF de bajo costo, o sin hardware en un ambiente de simulación. Es utilizado en ambientes académicos, aficionados y comerciales para dar soporte a la investigación en comunicaciones inalámbricas y en sistemas de radio en el mundo real.
Procedmiento de instalación de GNU Radio
Hardware para trabajar con GNU Radio
Experimentos virtuales
En la página web de PhET projects podemos encontrar una buena cantidad experimentos básicos virtuales sobre electricidad, magnetismo y física en general. Todos elaborados en Java.
Para usarlos, solo debemos descargarlos y ejecutarlos, bien sea por comandos o en entorno gráfico. Debes tener Java en tu sistema. Puedes instalar Java en Ubuntu con el comando apt-get install default-jre, o desde el repositorio de webupd8team, así:
sudo add-apt-repository ppa:webupd8team/java
sudo apt update
sudo apt install oracle-java8-installer
Finalmente ejecutamos el java del experimento:
OpenSCADA
Es la versión open source de SCADA, un software de computador para la supervisión, control y adquisición de datos. Entonces facilita el control y la supervisión de procesos industriales a distancia. Podemos revisar su documentación en la página oficial de OpenSCADA.
Existen más soluciones tipo SCADA para Linux que puedes revisar en la página Linux SCADA, o en la página de Automation Forum.
Robótica en Linux
Fedora Robotics es una distribución GNU/Linux para profesionales y aficionados, que nos proporciona las herramientas y librerías para el estudio y desarrollo de robótica.
Esta distribución incluye librerías de accesorios de hardware para los scanner lasers Hokuyo, o el brazo robótico Katana para marcos de software como Fawkes o Player, y entornos de simulación como Stage y RoboCup Soccer Simulation Server 2D/3D.
También ofrece frameworks listos para ser utilizado, incluyendo OpenCV, un sintetizador de texto a voz y MRPT
Multimetros compatibles con Linux
Son pocas las marcas de multimetros que ofrecen software compatible con Linux. Aquí algunos que sí ofrecen compatibilidad:
https://github.com/martin-bochum/Multimeter?tab=readme-ov-file
https://sigrok.org/wiki/Main_Page
Instalar Software con Gnome Software
Siempre podemos acudir a la tienda de software, Gnome Software, para instalar nuestras aplicaciones en Ubuntu. Podemos instalar a Gnome Software, así:
sudo apt install gnome-software
Electrónica en Linux – Antecesores
Hasta hace unos 18 años (más o menos, al momento de escribir estas líneas) existían dos distribuciones GNU/Linux orientadas a este campo. Una se llamaba CEELD (Cyler’s Electronics Engineering Linux Distro) basada en OpenSUSE Studio. La segunda era Fedora Electronic Lab (su sitio web era https://spins.fedoraproject.org/fel/). Digo que existían porque su desarrollo se detuvo.
Quizás alguien de la comunidad del Software Libre (podrías ser tu, como podría ser yo) pueda convertir todo este articulo en una nueva distribución GNU/Linux totalmente Libre y open source, orientada a las necesidades de la nueva generación de chicos, estudiantes, profesionales y aficionados de la electrónica.
Valora este artículo:



















Pingback: 🥇 Windows a Linux - Migrar a Linux y al Software Libre
Pingback: 🥇 Mapa de Karnaugh - Procedimiento de simplificación de circuitos
Pingback: 🥇 Simular Arduino con SimulIDE en Linux Ubuntu