hn.today

Legocam: My Lego webcam from 2000, working on a modern Mac

blog.benjamin.ie24 points20 comments
Screenshot of Legocam: My Lego webcam from 2000, working on a modern Mac

A childhood LEGO Studios webcam from 2000 still works, but its internals are a Logitech QuickCam Web with USB ID 046d:0850, and modern macOS has no usable driver for it. To revive it, Ben Kelly wrote legocam, a roughly 400-line program in C and Objective-C that communicates directly with the camera through libusb, avoiding a kernel extension. The device contains an STV0610 USB bridge and VV6410 image sensor; by adapting the protocol documented in Linux’s gspca_stv06xx driver, legocam initializes the sensor and receives its image stream. It reassembles the isochronous USB packets into raw 356-by-292 Bayer-pattern frames, which can be viewed with ffplay.

Raw frames alone do not make the device available to video-call software, because macOS requires signed camera extensions and a free Apple developer account cannot sign one. The companion program obscam instead sends color-converted frames to the already signed OBS Virtual Camera, making the LEGO camera selectable in Zoom, FaceTime, browsers, and other apps without running OBS itself. The result works on an Intel MacBook Pro with macOS 15.7.3, but delivers about five frames per second, has no automatic exposure, and does not support the built-in microphone or snapshot button; apps identify it as OBS Virtual Camera rather than LEGO. The project is released under GPL-2.0 and credits the Linux driver’s maintainers for making the revival possible.

Read on blog.benjamin.ie20 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Programming

Ggml v1.0.0

Ggml v1.0.0

ggml 1.0.0 removes deprecated public APIs and legacy DIAG_MASK operations, while adding configurable YaRN truncation and FP8 support. It also improves backend performance with quantized matrix multiplication, fused MoE operations, and new attention and scheduling paths. (github.com)

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.