Today I set out toward something I've circled for a while: a raw-format 1080p DNG cine camera, built from parts, that writes real uncompressed frames instead of the baked, compressed video every off-the-shelf body hands you. No black box. Every step of the image path is mine to open up, break, and understand.
I'm building this alongside Claude as the co-engineer on the bench — reasoning through the sensor pipeline, the capture code, and the file format with me as we go. This log is where the work gets written down honestly: what worked, what didn't, and what I'd do differently. If you found this domain, you're early. Pull up a chair.
01What "raw" actually means here
Most cameras throw away most of what the sensor sees. They debayer, apply a curve, crush it to 8-bit, and compress — decisions locked in before the file ever hits the card. Raw keeps the sensor's own numbers: the untouched Bayer readout, full latitude, nothing thrown out. DNG is the container for that — an open, documented raw format — and CinemaDNG is simply a sequence of those frames, one per exposure, that grades like film and bends far further in post than any compressed clip.
1080p is the deliberate starting point, not a limit. At full 1080 I can chase a clean, honest capture path first and worry about resolution once the plumbing is solid.
02Why a Raspberry Pi 5
The brain of this first build is a Raspberry Pi 5, 8GB. It has the two things a raw pipeline actually needs: a CSI-2 camera interface that speaks straight to a sensor, and — new to the Pi 5 — a proper PCIe lane, which is the difference between "records a few seconds" and "records." Raw frames are heavy. Eight gigs of RAM gives the capture buffer somewhere to breathe while frames head to fast storage.
- Compute
- Raspberry Pi 58GB RAM · PCIe 2.0 x1
- Capture
- CSI-2 sensorlibcamera stack
- Format
- 12-bit CinemaDNGuncompressed Bayer
- Target
- 1080pframe rate TBD
- Co-engineer
- Claudeclaude.ai
- Status
- POWERED ONday 001
03The road from here
Here's the rough course. It'll change — that's the point of writing it down early, so I can watch it change.
- Get the sensor talking todayPi 5 booted, camera on the CSI-2 ribbon, libcamera seeing a live preview.
- Pull one true raw frameCapture a single uncompressed Bayer still and confirm the bit depth is really 12-bit, not silently clipped.
- Write a DNGWrap that frame in valid DNG that opens and grades cleanly in a real editor.
- Make it a sequenceFrame after frame to fast storage without dropping — the moment it becomes a cine camera.
- Give it a bodyPower, a monitor, a record button. Something you can actually hold and point.
Follow the build at www.x9camera.shop.