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:

 

play-sharp-fill

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

electrónica en linux

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.

Simular Arduino con SimulIDE en Linux

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):

 

 

play-sharp-fill

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.

pic en linux

PIC16F877

Descargamos el paquete picsimlab_0.7.5_amd64.deb, y lo instalamos con el siguiente procedimiento:

play-sharp-fill
play-sharp-fill

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.

Fuente: https://blog.desdelinux.net/snagboot-una-excelente-utilidad-para-restaurar-y-flashear-dispositivos-integrados/

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):

Instalar Mu editor

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.

electrónica en 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.

electrónica en linux

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
play-sharp-fill

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.

sensor de temperatura

IDE de Arduino

sensor de temperatura

Placa de Arduino

Puedes ver un data logger de temperatura que realicé con Arduino, software sibre y programado desde Linux.

Sensor de temperatura con 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.

Configurar el módulo IoT M5Stick-C en Ubuntu

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

play-sharp-fill

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.

electrónica en linux

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

play-sharp-fill

Instalación de Quc-S

play-sharp-fill

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

play-sharp-fill

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

electrónica en linux

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:

play-sharp-fill


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:

Electrónica en Linux
4,3 rating based on 12.345 ratings
Overall rating: 4.3 out of 5 based on 3 reviews.
Nombres
Email
Titulo
Calificanos
Contenido

Excelente aporte

★★★★★
“ Pondré en practica esta información”
- Jefferson Martinez

aficionado a la electronica

★★★★☆
“ Muy buena colección de programas de electrónica, pero no pude instalar ktechlab en linux mint 19.04 y myopenlab me genera errores con java al instalar, cambié el paquete java JRE8 y no funcionó, luego instalé JDK8 y sigue dando los mismos problemas. saludos desde Fusagasugá, cundinamarca, Colombia”
- Jaime Orozco

Muy buen software

★★★★☆
“ Estuve 3 o 4 dias luchando para instalar Ktechlab. Al final lo consegui en Q4OS. En linux mint y ubuntu no pude. O igual lo hice mal. Pero valió la pena, porque vaya pasada desimulador. Incluso mejor que electronic workbench 5, que era el que usaba, tambien mucho mas facil de usar que qucs u otros simuladores. Por cierto, donde puedo descargar librerias de componentes para ktechlab??? Gracias”
- Tolo
Comparte esto en
Publicado en Lógica Digital.