Otros proyectos personales además de este blog.
WiFi Telnet Serial Console

Servidor de consola serie con un ESP32-C3.

Expone la consola serie de un servidor Linux mediante un servidor Telnet. Útil para tener un acceso out-of-band al servidor si la interfaz de red principal falla.

Todo el hardware está en una placa ESP32-C3 Super Mini. La provisión inicial del dispositivo (IP, puerto, WiFi, contraseña de sesión) se hace con su propia consola serie. Se necesita un conversor USB-UART o un segundo ESP32-C3. Ver conversor USB-UART.

  • Servidor Telnet compatible para suprimir el echo local y soportar varios formatos de salto de línea (LF, CR-LF, CR-NUL).
  • Autenticación de la sesión con contraseña; y bloqueo temporal tras varios intentos fallidos.
  • Entrada/salida de USB CDC a bajo nivel debido a que el driver usb_serial_jtag driver de ESP-IDF 5.5.2 tiene un bug. Ver USB Serial JTAG Read Bug.
  • Lectura de mensajes en modo desconectado: almacena hasta 64kb de mensajes del sistema y los envía en la próxima conexión para un análisis post-mortem si fuera necesario.

TNC Telnet

Simulador de sockets AX.25 para conexiones TCP.

Se trata de una capa que emula una interfaz compatible con una TNC con The Firmware de WA8DED. El tráfico normal TCP/IP aparenta ser una comunicación AX.25 por puerto serie.

Así podemos utilizar programas clásicos como Graphic Packet o TSTHOST con BBS actuales por Internet via Telnet.


ATECC608 Tools

Herramientas en línea de comandos para trabajar con los chips Microchip Crypto-Authentication.

Incluye configuración de ejemplo para probar y aprender, comandos básicos, ejemplos y casos de uso.

Código fuente: ATECC608-Tools

Artículo: Chips criptográficos de usar y tirar


Verilog VGA

Varios proyectos para aprender cómo usar una FPGA.

Basados en la placa Sipeed Tang Nano y una pantalla LCD VGA.

Los proyectos van en grado de dificultad creciente:

  • Patrones simples
  • Imágenes desde la ROM
  • Texto
  • Terminal serie

Cada subdirectorio del proyecto principal tiene su propio README con los puntos clave y ejemplos (en inglés). Así como un artículo con una extensa explicación (en español).

Artículos:


Easy MCP2221

La librería en Python más completa para usar los chips MCP2221 y MCP2221A.

Totalmente documentada y con muchísimos ejemplos.

Código fuente y ejemplos: Easy MCP2221.

Artículo: Electrónica y Ciencia - El integrado MCP2221/A


Web Padlock

Prueba de concepto para permitir o denegar el acceso a dispositivos conocidos. Se basa en la instalación de un certificado local y un agente que actua como API REST. El navegador puede llamarlo y comprobar las credenciales.


Plot Scope

Gráficos de Matlab simulando un osciloscopio.

Tiene en cuenta la velocidad de barrido para hacer gráficos más realistas tal y como se verían en un osciloscopio analógico.


Librería en C para LCD

Librería en C para manejar una LCD I2C (basada en el chip PCF8574). Prinicpales características:

  • Funciones simples muy básicas (posicionar el cursor, escribir texto).
  • Integración con printf para formato de texto y texto multilinea.
  • Soporte de caracteres personalizados.
  • Tabla de reemplazo para carácteres UTF8 anchos (ñ, tildes, etc).
  • Lectura de datos desde el controlador LCD.
  • Control de iluminación posterior (atenuación con PWM).

Pensada en un primer momento para Raspberry Pi utiliza la librería wPi_soft_i2c. Se puede portar fácilmente a otras plataformas como ESP32.


I2C por software para Wiring Pi

Implementación en C del protocolo I2C. Pensado en un primer momento para Raspberry Pi utiliza la librería WiringPi. Se puede portar fácilmente a otras plataformas.


Pure Perl ssdeep (CTPH) fuzzy hashing

Implementación en Perl del paper de Jesse Kornblum Identifying almost identical files using context triggered piecewise hashing (CTPH).

Gracias a Christoph Biedl por generar un paquete Debian de este módulo: libdigest-ssdeep-perl.