Skip to content

Repository files navigation

What is it?

Cinemate is a boilerplate cinema camera system for Raspberry Pi 5. Builds upon CinePi-raw, authored by Csaba Nagy for enabling 12 bit Cinema DNG recordings using off-the-shelf components.

Cinemate provides a minimal starting point that you can extend with your own controls and accessories.

The project combines a Python UI with a custom fork of cinepi-raw.

New features in version 3.3.2

Dual sensors

Dual sensors improved

  • Improved automatic dual-camera — two connected sensors are each detected and driven by their own cinepi-raw process. Frame capture is synchronized by libcamera (cam0 server, cam1 client).
  • HDMI preview switching — new command set preview cycles side-by-side preview → cam0 → cam1 → picture-in-picture.
  • Per-sensor recording — record both sensors or just the previewed one (lock_dual_recording can be set in settings.json), or target sensors with rec cam0 / rec cam1 / rec both. Each sensor writes its own ..._cam0 / ..._cam1 clip folder.

libcamera

  • Cinemate now uses its own fork of libcamera.

imx283 driver

  • Cinemate now uses its own fork of the imx283 driver.
  • 2 additional modes: 3840 x 2160 (4K UHD, native crop) and 2736 x 1538 (2.7K 16:9, binned).

imx585 driver

  • Cinemate now uses its own fork of the imx585 driver.

CinePi-RAW recorder updates

  • Frame-rate phase lock — DNG timecode and frame capture is locked to the Pi's wall clock, making audio sync more accurate.
  • Correct Pi 4 RAW — CSI2-packed frames decode correctly on Pi 4-family boards; raw packing (P/U) is chosen per Pi model automatically.
  • Compiles on 2GB version of Raspberry Pi 4/5
  • Camera model — set the camera model manually for each attached sensor.

Cinemate

  • Storage / media — multi-drive RAW hot-swap with a standby drive and automatic promotion. Default format is exFAT.

Raspberry Pi / Bookworm

  • Boot / install — faster boot-to-preview on Pi 4/5 (about 10-15 seconds).

Compatible sensors

  • IMX477 (official Raspberry Pi HQ camera)
  • IMX296 (official Raspberry Pi GS camera)
  • IMX283 (OneInchEye by Will Whang)
  • IMX585 (Starlight Eye by Will Whang)

Preinstalled hardware

Camera stack

Camera stack exploded
Apps change settings by updating Redis keys. CinePi-RAW listens for those updates and captures frames accordingly while Cinemate provides the camera user interface.

Hardware

For a basic Cinemate setup you need:

  • Raspberry Pi 4 or 5. The 2GB RAM version works with the prebuilt image, but 4GB is recommended if you plan to compile cinepi-raw on the Pi.
  • Official HQ or GS camera module
  • SSD drive such as a Samsung T7 formatted as exFAT or ext4 and labelled RAW
  • HDMI monitor or a phone/tablet connected to the Pi hotspot for preview

Installation

There are three options for installing Cinemate:

1. Use the prebuilt image file

See the releases section for the preinstalled image and Quick Start Guide.

2. Clone the repo and run the one-click installer

Start from a fresh Raspberry Pi OS Lite Bookworm image. SSH to the Pi (Terminal on macOS, PowerShell on Windows):

ssh pi@raspberrypi.local

Replace pi with the username configured in Raspberry Pi Imager if you used a different user. If raspberrypi.local does not resolve, use the Pi's IP address instead:

ssh pi@<pi-ip-address>
sudo apt update
sudo apt install -y git
git clone https://github.com/Tiramisioux/cinemate.git
cd cinemate
chmod +x cinemate-install.sh
./cinemate-install.sh

The installer defaults to an imx477 on camera port cam0 and writes a stock-style managed /boot/firmware/config.txt section with camera options for IMX477, IMX296, IMX283, IMX585 color, and IMX585 mono. To install directly for another sensor, pass SENSOR_MODEL and CAM_PORT inline:

SENSOR_MODEL=imx296 CAM_PORT=cam0 ./cinemate-install.sh
SENSOR_MODEL=imx283 CAM_PORT=cam0 ./cinemate-install.sh
SENSOR_MODEL=imx585 CAM_PORT=cam0 ./cinemate-install.sh
SENSOR_MODEL=imx585_mono CAM_PORT=cam1 ./cinemate-install.sh

After installing, reboot the system and Cinemate should start automatically.

3. Manual install

For the full manual install, configuration steps, and CLI reference, please see the documentation/manual installation steps.

Customization

GPIO buttons and switches, rotary encoders and oled display for controlling camera settings such as recording, iso etc. are configured in the ~/cinemate/src/settings.json file. On the Pi, type editsettings in the terminal to open this file.

Documentation

Full manual installation instructions, configuration guides in the documentation.

Community

Join the CinePi Discord for discussions and sharing builds.

Acknowledgements

The Cinemate stack is built on top of several open-source projects. Special thanks to all authors!

Also thanks to Simon at Altcinecam for support and assistance!

Get your sensors and CFE Hats here: https://www.tindie.com/stores/will123321/

Supporting the project

ko-fi

About

Manual controls and simple GUI for cinepi-raw

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages