JW-Serial es una aplicación de escritorio para Windows orientada a lectura, visualización y documentación de datos por puerto serial. Está pensada para trabajar con microcontroladores, sensores, tarjetas electrónicas y sistemas embebidos durante pruebas cortas o sesiones largas de varias horas.
La aplicación combina un plotter en tiempo real, monitor serial, capturas PNG automáticas, exportación CSV, plantillas de configuración y registro de sesión.
- Lectura de datos por puerto serial.
- Plotter en tiempo real con múltiples gráficos.
- Monitor serial integrado.
- Variables configurables con nombre, color, estilo y grosor.
- Asignación de señales por drag and drop hacia X, Y1 o Y2.
- Menú contextual por gráfico para asignar, quitar y configurar señales rápidamente.
- Ejes X, Y1 y Y2 con modo automático y manual.
- Escalas canónicas para ejes y grillas legibles.
- Capturas PNG manuales y automáticas de cada plot.
- Capturas funcionando incluso con la ventana minimizada.
- Nombres de captura con lote, prefijo y subcarpeta.
- Registro
session_log.csvpara documentar sesiones de prueba. - Marcadores de eventos durante la adquisición.
- Cálculo de métricas de recepción desde el software.
- Modo claro y modo oscuro.
- Plantillas internas de configuración.
- Guardado y carga de configuración por archivo JSON.
- Exportación CSV de datos capturados.
- Instalador y versión portable para Windows.
En la sección de releases de GitHub se publican dos opciones:
JW-Serial-Setup-1.1.0-x64.exe: instalador para Windows.JW-Serial-Portable-1.1.0-x64.exe: versión portable, no requiere instalación.
Para la mayoría de usuarios, la versión portable es suficiente: descarga el ejecutable, ábrelo y conecta tu dispositivo serial.
- Conecta tu placa o dispositivo serial al PC.
- Abre JW-Serial.
- Pulsa Refrescar para listar puertos disponibles.
- Selecciona el puerto y el baudrate.
- Pulsa Conectar.
- Arrastra variables hacia un plot.
- Asigna cada variable a X, Y1 o Y2.
- Usa Capturar plots para guardar evidencia visual.
- Usa CSV si necesitas exportar datos.
JW-Serial espera líneas de texto separadas por salto de línea. Cada línea debe contener valores numéricos separados por coma o tabulador.
Ejemplo con coma:
12.3,45.6,78.9
12.4,45.8,78.7
Ejemplo con tabulador:
12.3 45.6 78.9
12.4 45.8 78.7
La aplicación detecta automáticamente si la trama usa coma o tabulador.
Por defecto, JW-Serial puede usar el índice de muestra como eje X. Si tu firmware envía un timestamp como primer valor, puedes activar Incluye timestamp en X desde Configuración.
Ejemplo:
1250,3.31,7.52,0.14
1262,3.32,7.51,0.16
En ese caso, el primer valor puede usarse como X y los demás valores como variables.
La ventana principal está organizada en dos zonas: panel lateral y área principal.
Incluye:
- Estado de conexión.
- Selector de tema claro/oscuro.
- Puerto y baudrate.
- Botones de conexión.
- Métricas de recepción:
- SPS calculados por el software.
- Tiempo promedio entre muestras.
- Jitter aproximado.
- Lista de variables detectadas.
- Acciones rápidas:
- Configuración.
- Pausar.
- Limpiar buffer.
- Exportar CSV.
- Evento.
- Capturar plots.
- Configuración de capturas.
- Guardar y cargar configuración.
Incluye:
- Vista Plotter.
- Vista Monitor.
- Botones para agregar o quitar plots.
- Gráficos con título, leyenda, ejes, grilla y controles de escala.
Cada plot puede trabajar con:
- Una variable en X.
- Una o más variables en Y1.
- Una o más variables en Y2.
Puedes asignar variables de varias formas:
- Arrastrando desde la lista de variables del panel lateral hacia el eje correspondiente.
- Soltando sobre el área del plot para que JW-Serial pregunte dónde asignarla.
- Usando el menú contextual del gráfico con click derecho.
En el menú contextual, las variables pueden arrastrarse hacia las zonas X, Y1 o Y2, lo que permite reasignar señales rápidamente sin recorrer toda la pantalla.
Desde el menú contextual de cada plot puedes activar curvas de referencia por señal:
- Promedio.
- Mínimo.
- Máximo.
La ventana de cálculo puede definirse por cantidad de muestras o por segundos.
JW-Serial usa pasos de escala legibles y consistentes, por ejemplo:
0.05, 0.1, 0.5, 1, 5, 10, 50, 100, 500
Los ejes pueden trabajar en modo automático o manual. En modo manual puedes desplazar la vista con la rueda del mouse o arrastrando sobre la zona correspondiente.
JW-Serial puede guardar una imagen PNG de cada plot. Las capturas incluyen:
- Título del plot.
- Leyenda.
- Ejes.
- Grilla.
- Curvas visibles.
Las capturas pueden ser:
- Manuales, con Capturar plots.
- Manuales, desde la ventana Capturas con Capturar ahora.
- Automáticas, usando un intervalo configurable.
El botón Capturar plots también muestra el tiempo restante para la siguiente captura automática. Si las capturas automáticas están activadas pero el puerto está desconectado, la intención del usuario se conserva y el sistema espera hasta que el puerto vuelva a estar conectado.
Desde Configurar capturas puedes:
- Elegir carpeta de salida.
- Abrir la carpeta configurada.
- Activar o desactivar capturas automáticas.
- Definir intervalo en minutos.
- Definir un identificador de tarjeta o lote.
- Usar ese identificador como prefijo.
- Guardar dentro de una subcarpeta con ese identificador.
Ejemplo usando subcarpeta:
Capturas/PCB_0116/Plot01_260510-120203-00.png
Capturas/PCB_0116/Plot02_260510-120204-00.png
Ejemplo usando prefijo:
PCB_0116_Plot01_260510-120203-00.png
PCB_0116_Plot02_260510-120204-00.png
Formato del nombre:
PlotXX_AAMMDD-HHMMSS-NN.png
Donde:
XX: número de plot con dos dígitos.AAMMDD: fecha.HHMMSS: hora.NN: contador para evitar sobrescrituras si hay más de una captura en el mismo segundo.
Cuando se usa identificador y subcarpeta, JW-Serial crea un archivo:
session_log.csv
Ese archivo registra eventos importantes de la sesión, como:
- Conexión.
- Desconexión.
- Capturas manuales.
- Capturas automáticas.
- Eventos agregados por el usuario.
- Métricas de recepción.
Esto ayuda a documentar pruebas largas y asociar capturas con momentos concretos.
El botón Evento permite anotar sucesos durante una prueba.
Ejemplos:
Inicio de prueba
Se conectó carga
Lectura estabilizada
Se movió sensor
Fin de prueba
Los eventos se guardan en session_log.csv cuando la sesión está configurada con subcarpeta de lote.
Las plantillas guardan configuraciones reutilizables dentro de la app.
Pueden incluir:
- Configuración serial.
- Baudrate.
- Puerto seleccionado.
- Configuración de canales.
- Colores y nombres de variables.
- Plots creados.
- Asignaciones de ejes.
- Configuración de capturas.
No guardan:
- Datos recibidos.
- Buffer de muestras.
- Historial del monitor.
Las plantillas se guardan internamente en el perfil de usuario de Electron. En Windows, normalmente se ubican dentro del espacio de datos de la aplicación:
C:\Users\<usuario>\AppData\Roaming\JW-Serial
La ventana de plantillas muestra las plantillas existentes, por lo que no necesitas recordar los nombres exactos. Las acciones Guardar como y Eliminar piden confirmación antes de modificar una plantilla.
Además de las plantillas internas, JW-Serial permite guardar y cargar configuración como archivo .json.
Esto es útil para:
- Respaldar configuraciones.
- Compartir configuraciones entre PCs.
- Guardar una configuración junto con la documentación de un proyecto.
JW-Serial incluye modo claro y modo oscuro. El modo oscuro está pensado para sesiones largas, pruebas nocturnas o ambientes de baja luz. El modo claro es útil para oficina, capturas limpias y documentación.
- Usa un identificador de lote, por ejemplo
PCB_0116. - Activa Guardar en subcarpeta.
- Activa capturas automáticas.
- Define un intervalo adecuado, por ejemplo 10 o 15 minutos.
- Agrega eventos cuando ocurra algo relevante.
- Al finalizar, revisa la carpeta del lote y el
session_log.csv.
Instalar dependencias:
npm installEjecutar en modo desarrollo:
npm run devCompilar renderer:
npm run buildGenerar instalador y portable para Windows:
npm run dist:winLos archivos generados se ubican en:
release/
Este proyecto usa licencia MIT. Consulta el archivo LICENSE.