Una cámara LEGO Studios de 26 años, lanzada originalmente en el año 2000, ahora puede funcionar como una cámara web en vivo en un MacBook Pro moderno. Al utilizar un controlador de espacio de usuario y la cámara virtual de OBS, el desarrollador Benjamin Kelly logró evadir el hecho de que no existen controladores oficiales de macOS para el hardware interno Logitech QuickCam Web del dispositivo.

Esta imagen identifica el hardware específico de 26 años que está siendo revivido por el nuevo controlador de espacio de usuario.
Eludiendo las restricciones del kernel
El macOS moderno dificulta la carga de extensiones de kernel por razones de seguridad, lo que normalmente impide que los dispositivos USB antiguos sean reconocidos. Para resolver esto, el desarrollador escribió un controlador llamado legocam usando libusb, el cual permite que un programa estándar se comunique directamente con el dispositivo USB sin requerir privilegios de kernel a nivel de sistema.
El proyecto consta de aproximadamente 400 líneas de C y Objective-C. Identifica la cámara por su ID de USB específico (046d:0850) y gestiona la comunicación de bajo nivel necesaria para activar el sensor y comenzar la transmisión.
Ingeniería inversa del protocolo
Debido a que el protocolo de comunicación específico de la cámara ya no estaba documentado para macOS, el desarrollador recurrió a la comunidad de Linux. Al analizar el controlador gspca_stv06xx, identificaron la secuencia exacta de escrituras de registros y la estructura de los paquetes USB isocrónicos necesarios para operar el puente USB STV0610 y el sensor de imagen VV6410.
La herramienta legocam une estos paquetes de datos sin procesar y entrega los fotogramas como un patrón Bayer crudo de 356x292 píxeles (bayer_grbg8) a stdout. Esto mantiene el procesamiento de datos inicial simple y desacoplado de la lógica de visualización final.
El puente de cámara virtual
Aunque los datos sin procesar pueden verse utilizando herramientas como ffplay, macOS requiere una extensión de cámara firmada para que un dispositivo aparezca en aplicaciones como Zoom o FaceTime. Para evitar esto, el desarrollador creó un segundo programa llamado obscam.
Obscam captura los fotogramas sin procesar del primer programa, los convierte a color usando libswscale y los envía a la cámara virtual de OBS. Debido a que OBS ya proporciona una extensión firmada, la cámara LEGO se vuelve seleccionable en cualquier aplicación de video estándar como 'OBS Virtual Camera'.

Esta imagen demuestra la integración exitosa del hardware antiguo con el software moderno de macOS.
Limitaciones y restricciones de hardware
La configuración enfrenta importantes compromisos de rendimiento debido a la antigüedad del hardware. La tasa de fotogramas está limitada a aproximadamente 5 fotogramas por segundo, una limitación impuesta por el ancho de banda original USB 1.1 y el reloj interno del sensor, en lugar de la implementación del software.
Además, la cámara carece de exposición automática, lo que requiere que el usuario configure manualmente los valores de exposición y ganancia mediante argumentos de línea de comandos. Actualmente, el micrófono y el botón de captura física en el ladrillo LEGO permanecen no funcionales.