Skip to content

Repository files navigation

Kurokesu camlab

CI REUSE status Release OS Platform GUI libcamera picamera2 Python

Kiosk app for live preview and testing MIPI CSI camera modules on Raspberry Pi.

onsemi AR0234 onsemi AR0822 Sony IMX283 Sony IMX462 Sony IMX477 Sony IMX585

Camera modules based on these sensors are available at kurokesu.com

camlab GUI

Setup

camlab runs on Raspberry Pi 5 or CM5. Any RAM size works, 2 GB is enough.

Prepare Raspberry Pi

Flash Raspberry Pi OS $\color{#CA2031}{\textbf{\textsf{Lite}}}$ (Trixie 64-bit) to an SD card using Raspberry Pi Imager:

  • Select your Raspberry Pi device: Raspberry Pi 5
  • Choose operating system: Raspberry Pi OS (other) --> Raspberry Pi OS Lite (64-bit)
  • OS customization: set hostname, username and password. Enable SSH to install remotely. Configure Wi-Fi unless using Ethernet

Note

SSH is optional. With a keyboard every step also works from the console.

Connect and boot:

  • Connect your camera module to either CSI port (CM5 needs extra steps, see CM5 IO board)
  • Attach HDMI display (1920×1080 recommended, other resolutions untested) or a DSI touch panel (see Touch display)
  • Connect keyboard and/or mouse
  • Connect Ethernet, unless Wi-Fi was configured in Imager (install needs internet)
  • Insert SD card and power on your Pi

Warning

Connect or swap camera modules only when Pi is powered off and unplugged.

Note

App needs a display and one input device.

  • Log in on the console or over SSH (ssh <username>@<hostname>), update OS and reboot:
sudo apt update && sudo apt full-upgrade -y
sudo reboot

Install camlab

curl -fsSLO https://apt.kurokesu.com/setup.sh
sudo sh setup.sh --update
  • Install camlab and set up kiosk:
# skip desktop extras that picamera2 recommends
sudo apt install --no-install-recommends camlab-rpi
sudo camlab-setup

Note

Installing from apt is what makes in-app updates work. A copy unpacked by hand gets none.

  • Start camlab when install finishes:
camlabctl start

App starts with sensor defaults (AR0234 on a free CSI port) and no live image, sensor overlay loads on next boot.

  • Open Select sensor --> pick your camera and CSI port --> Apply & Shutdown

  • Once Pi powers off, power it back on. App starts automatically on boot, choices persist across reboots

Note

First power-on auto-reboots once to init read-only root.

Install details

By default camlab-setup:

  • Enables Kurokesu apt archive
  • Installs Kurokesu libcamera fork
  • Installs Kurokesu sensor drivers
  • Keeps one kernel, so drivers build once
  • Enables kiosk service
  • Locks root read-only on next reboot

Optional flags:

  • --no-readonly keep root filesystem writable, for development.
  • --display <overlay> enable a DSI touch panel on CM5 (see Touch display).

CM5 IO board

Install flow matches Pi 5, with these differences:

  • On eMMC variants, flash OS to eMMC using usbboot. CM5 Lite boots from SD card as on Pi 5
  • Fit both J6 jumpers (route I2C to CAM/DISP1)
  • Default wiring: camera on CAM/DISP0 (cam0 in Select sensor), optional touch panel on CAM/DISP1. Swap them with --display vc4-kms-dsi-7inch,dsi0

Touch display

A DSI touch panel serves as both display and input device. Supported panels:

Setup:

  • Pi 5: plug and play, firmware loads overlay and Select sensor shows touch display as auto-detected
  • CM5: pick it in Select sensor dialog together with the sensor, one Apply & Shutdown covers both
  • CM5 without HDMI: install with --display vc4-kms-dsi-7inch, reboot and continue sensor selection on touch display

Development

Development and debugging notes - DEVELOPMENT.md.

About

Camera preview and test bench GUI for Raspberry Pi. Easy-install kiosk viewfinder for Kurokesu and other MIPI CSI camera modules (AR0234, AR0822, IMX283, IMX462, IMX477, IMX585), built on libcamera / picamera2

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages