Electrónica en Linux
En GNU/Linux podemos trabajar perfectamente con modestos y muy buenos aplicativos del campo de la electrónica. Aquí tenemos a disposición toda una 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.
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
KTechlab
KTechlab es un buen entorno de diseño y simulación de cirtucitos 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:
Mu Editor
Mu Editor es un editor de código Python. Aunque no es una 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 inicació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 una versión reducida y más 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
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
_# git clone https://github.com/Qucs/ADMS
_# cd ADMS
_# ./bootstrap.sh
_# ./configure
_# make
_# make install
_# ldconfig
Instalación de Qucs
El procedimiento es el siguiente (si falla por alguna dependencia, instalela):
_# ./bootstrap
_# ./configure --disable-doc
_# make
_# 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
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 con la electrónica. Su instalación es similar a la del 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.
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
Analizador de señales
Quizás el visualizador de señales más maduro y OpenSource, 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, 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.
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 www.pinguino.cc
Programación del PIC18F4550 y PIC18F2550
Introducción a la Plataforma Pinguino
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 ohmico 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, ó, 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 OpenSource de SCADA, un software de computador para la supervisión, control y adquisición de datos. Entonces facilita el control y la supervició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.
Antecesores
Hasta hace unos 9 años (más o menos) existían dos distribuciones GNU/Linux orientadas a este campo. Una se llamaba CEELD (Cyler’s Electronics Engineering Linux Distro) basada en OpenSUSE Studio. Y la segunda era Fedora Electronic Lab (su sitio web era https://spins.fedoraproject.org/fel/). Digo que existían porque su desarrollo de 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 totalemente Libre y OpenSource, orientada a las necesidades de la nueva generación de chicos, estudiantes, profesionales y aficionados de la electrónica.
Valora este artículo:
Excelente aporte
aficionado a la electronica
Muy buen software
Comparte esto en
Pingback: FLISOL 2019 Cali - Beneficios éticos y sociales del Software Libre