1 puntos por GN⁺ 2025-11-27 | 1 comentarios | Compartir por WhatsApp
  • KiDoom es un proyecto que renderiza en formato vectorial el clásico juego de disparos DOOM de 1993 dentro del editor de PCB KiCad
  • Usa las pistas del circuito PCB (trace) como ruta de salida gráfica y funciona a una velocidad de 10 a 25 cuadros por segundo
  • El mismo desarrollador también ejecutó DOOM en un osciloscopio con ScopeDoom, aprovechando el conector de audífonos de una MacBook como DAC
  • Además, desarrolla diversos proyectos de electrónica y software como CircuitSnips.com, una app de chat con IA, disparadores basados en MQTT y un simulador de motor
  • Ha llamado la atención como un proyecto de experimentación interactiva basado en ingeniería electrónica que combina diseño de hardware y creatividad de software

Resumen de proyectos principales

  • KiDoom es una implementación experimental que renderiza DOOM en modo vectorial dentro del editor de PCB KiCad
    • Usa las pistas del PCB como ruta de salida gráfica
    • Funciona a alrededor de 10~25 FPS
  • ScopeDoom es una versión que ejecuta DOOM en un osciloscopio
    • Usa el conector de audífonos de una MacBook como DAC de doble canal para mostrar gráficos vectoriales a 4~8Hz

Otros proyectos públicos

  • CircuitSnips.com: plataforma para compartir subcircuitos de KiCad, una especie de versión de Thingiverse para circuitos
  • HIT Impact Android App: app de Android basada en Kotlin para sensores de lesión cerebral traumática
  • MQTT Duration Trigger: herramienta de integración de disparadores por duración basada en MQTT para Home Assistant
  • TheDuck.chat: aplicación de chat impulsada por IA desarrollada para T3 Cloneathon
  • bitwise-mcp: servidor de documentación MCP para desarrolladores embebidos, que extrae definiciones de registros desde PDF RM para ofrecer búsqueda semántica rápida
  • KiCad Netlist Tool: herramienta que reduce la cantidad de tokens LLM en archivos KiCad SCH para facilitar la documentación automática
  • Claude Code Comm Bot: bot de comunicación para Discord con integración para VS Code
  • Agent Tool (deprecated) : frontend web con streaming en tiempo real para herramientas CLI y servicios web de LLM
  • Engine Simulator [WIP] : proyecto que simula mediante cálculos físicos un motor diésel de 6 cilindros
  • Vitamin/Supplement Price Comparison [WIP] : sitio para comparar precios entre suplementos de marca y productos genéricos
  • Fuel Injector Characterizer: sistema de validación de rendimiento de inyectores de combustible usando Arduino y Webserial

Entorno personal de desarrollo

  • VS Code Server: entorno de desarrollo remoto a través de Tailscale VPN
  • Home Assistant: plataforma de automatización para hogares inteligentes que requiere autenticación

Resumen de trayectoria

  • Experiencia en proyectos basada en 3 desarrollos de ECU, más de 10 años de trayectoria y más de 28.5 millones de millas de datos de conducción

1 comentarios

 
GN⁺ 2025-11-27
Comentarios en Hacker News
  • Este proyecto es mucho más interesante por cómo está implementado que por el meme en sí
    No es que renderizar DOOM sea lo impresionante, sino que lograron secuestrar el pipeline de renderizado del editor de PCB para hacerlo funcionar como un motor vectorial en tiempo real
    Extraen directamente la geometría de la estructura interna de DOOM, mapean los sprites a footprints de componentes reales y actualizan en tiempo real el modelo de objetos de KiCad sin recalcular todo por completo
    Y hasta existe la idea de enviar ese mismo flujo vectorial al DAC de audio de un osciloscopio
    Está genial este tipo de conexión creativa de “usar una herramienta para algo distinto de su propósito original”
    En adelante, la dirección de ScopeDoom podría ser todavía más interesante. Las pantallas vectoriales cambian por completo la forma de pensar el renderizado, y que DOOM se dibuje como señales de voltaje analógicas tiene algo poético
    Yendo más allá, si se combinan DACs rápidos, osciloscopios analógicos con persistencia y simplificación dinámica de sprites, podría acercarse a una estética de shooter vectorial suave

  • Me hace pensar si se podría imprimir el esquema en papel y pasarlo como un flipbook
    A ese paso, algún día hasta podría convertirse en una presentación de PowerPoint

  • Es un proyecto realmente asombroso. Se siente como algo que haría tom7 o su canal de YouTube

    • Es un honor escuchar eso
  • Al leer la parte de “extraer directamente los datos vectoriales del motor”, me pregunté si habría ejemplos implementados en un osciloscopio
    DOOM tiene limitaciones por estar basado en sprites, pero el fondo al menos sí parecería renderizable
    Ya había ejemplos de usar osciloscopios rápidos como pantallas ráster monocromáticas de baja resolución
    Encontré un video de Quake ejecutándose en un osciloscopio, y como usa modelos 3D, la sensación de profundidad se mantiene
    Edit: Me sorprendió ver ScopeDoom más adelante en el artículo. Pensé que este tipo de intentos habrían existido mucho antes, pero curiosamente son difíciles de encontrar

    • Soy el autor. Me inspiré en un video del port para Vectrex
      Hay muchos ejemplos de DOOM corriendo en equipos como el Keysight MXA, pero eso no pasa de usarlo simplemente como una PC
      Me pregunto cómo sería Spectrum DOOM. Tal vez podría hacerse usando snapshots de waterfall plots
  • El siguiente paso tal vez sea jugar DOOM renderizado en un PCB real
    Me imagino al jugador mandando fabricar cada cuadro, insertando la placa al llegar dos semanas después y replanteándose su vida

    • Si se introduce ejecución especulativa (speculative execution), se podría acelerar. Aunque haría falta un buen predictor de saltos
    • A 15 FPS costaría unos 80 a 100 euros por segundo, y como la mayoría de las fábricas de PCB tienen una cantidad mínima de pedido de 5 placas, eso permitiría jugar a 5x de velocidad
  • Hace poco empecé a aprender KiCad, y como trabajo en un coworking de desarrollo de videojuegos, siento que mis dos mundos se unieron perfectamente. Está buenísimo

  • No sé por qué, pero siento que esto hace del mundo un lugar mejor

  • Como idea de expansión, estaría divertido agregar nuevos mapas basados en archivos CAD de diseño de chips
    El chip sería la habitación y las líneas de soldadura serían los pasillos

  • Un proyecto que siempre quise intentar algún día es crear un sistema de visualización por jack de audio basado en microcontrolador
    Estaba pensando si usar señales XY directas o decodificarlas desde la web con un soft modem

    • En ese caso, quizá valdría la pena probar con barrido ráster analógico, o sea Slow-scan TV (SSTV)
      Incluso en las misiones Apolo se transmitía la imagen de TV de esa manera
      El SSTV moderno puede funcionar incluso con anchos de banda de unos pocos cientos de Hz, pero si se usan por completo los 20 kHz de un canal de audio, podría transmitirse algo como 100x100 píxeles a 1 fps
  • Me pregunto si esto usa la nueva API de sockets de KiCad v9
    Yo hice mi propia librería s-expr para inyectar footprints y símbolos, pero tenía muchos bugs y era inestable
    Me gustaría pasarme a un método más oficial y estable

    • No usé la API de sockets. Es un plugin normal que funciona en v6 o superior
      Me interesa tu librería s-expr. Puede que se superponga con mi otro proyecto, CircuitSnips
      CircuitSnips es como un Thingiverse para circuitos electrónicos, e implementé por mi cuenta la forma de suministrar hojas completas al renderizador de KiCanvas
      Cuando lo compartí en el Discord de KiCad, también recibí comentarios de que la función de Design Blocks de KiCad 9+ podría estar relacionada