You are here: Home / Journal / A modular Debian GNU/Linux digital camera. Feasible or farcical?

A modular Debian GNU/Linux digital camera. Feasible or farcical?

Following on from a discussion on a photographic forum who which I belong, an old hobby horse of mine raised its head again. Namely the possibility of building one’s own Debian GNU/Linux digital camera, using Raspberry Pi 5 single-board computer, or similar, and one of the camera modules that’s available for it. Or indeed some of the UVC-compatible video modules and capturing stills from those. This is a long term project, not something I intend to start tomorrow. I know we have a few Pi enthusiasts that visit here from time-to-time. So, for now, I’m just throwing some ideas at the wall and seeing what sticks. 

We all have our various views on what makes a ‘good camera‘, but for me it’s like this…

Problem with today’s digitals is not that they are “too digital“. It’s that they are “not digital enough“. By which I mean they fail to take full advantage of working in the digital domain. This is mostly due to the constraints of manufacturers not wanting to give away their proprietary secrets. I want to build a camera that’s 100% open source, with no such glass ceilings. Where every component is publicly documented, and adjustable, tweakable, repairable or replaceable by the user.

Unlike normal proprietary digitals, this thing would give the user total control over whatever it does, at quite a deep and fundamental level. And when it wasn’t capturing or processing images, it would be a powerful and secure hand-held, touch-screen Debian computer, in its own right.

For those unfamiliar with the Raspberry Pi 5, This is a powerful single board computer, with a very efficient quad-core ARM microprocessor. Its default “Pi OS” operating system is basically Debian GNU/Linux for ARM processors. Which means this thing would integrate elegantly with all my other Debian-based systems, sharing a common Unix file system. But importantly, it would also talk to any modern computing device, running virtually any modern operating system.

Key features I’m hoping to include, in no particular order…

  • Based on Raspberry Pi 5 single board compute – or similarr.
  • Decent connectivity – comes with the Pi. Wi-fi plus Gigabit Ethernet. My workstation, my media server and any other device, regardless of OS would see it as just another server on the network. Providing they have the correct log-in credentials, of course.
  • HDMI – comes with the Pi.
  • Does video and stills.
  • Decent sized, decent quality capacitive touchscreen on the back. 
  • Service friendly – well obviously!
  • Sensor of similar quality (or ideally better) than the µ4/3 cameras I’m currently using. Granted, this may be the hardest part.
  • Ability to mount at least some of my old vintage glass on the front.
  • 2TB or perhaps even 4TB NVMe SSD. No more buggering about with crappy, easily-lost camera cards. Lots of other possibilities here too, such as a backup and display for one’s entire photo library, c/w display via a local Piwigo instance. In fact it could easily morph into a sort of camera-cum-media player.
  • Decent-sized, generic, easily-replaced lithium ion or LiFePO4 battery, chargeable via a standard USB3 port. This is to counter a persistent annoyment with EVERY digital camera I’ve ever used: pisspoor battery life. Besides the camera will need it for the much bigger rear screen!
  • Considering wireless charging too – like on modern mobiles.
  • Metal case. I’ll probably build my first attempt in a generic die-cast aluminium project box. Probably similar type to the one I used for the switched-mode power supply unit to the right of this photo…
It's roughly 180 mm x 120 mm x 50 mm. They are a bit "industrial" looking but I've used them many times for various electronic projects. Why? because they are cheap, tough and make excellent heat-sinks. I'll need to keep the sensor cool somehow. And it's dead easy to drill and tap small metric threads threads into them - which makes construction fairly simple. And the corners are slightly rounded, so no sharp edges. Ideally, I'd quite like to build the final version into a large old metal rangefinder housing. But I think that may be impractical. 
This particular aluminium case is roughly 180 mm x 120 mm x 50 mm. It is a bit “industrial” looking but I’ve used such enclosures many times for various electronic projects. Why? because they are cheap, tough and make excellent heat-sinks. I’ll need to keep the sensor cool somehow. And it’s dead easy to drill and tap small metric threads threads into them – which makes construction fairly simple. And the corners are slightly rounded, so no sharp edges. Ideally, I’d quite like to build the final version into a large old metal rangefinder housing. But I think that may be impractical. 

Why not start simple and build a lomo camera?

I briefly considered doing some sort of lomo thing but quickly decided against it. If I am going to invest a lot of time, money and intellectual effort in something, I want it at least to have a reasonable chance of delivering something I can actually use, and importantly enjoy using. Thing is, I’m not trying to make a robust camera that uses GNU/Linux. I want to make a robust hand-held GNU/Linux computer that takes good pictures. A seemingly small but very significant difference in ethos and rationale.

Without boring your pants off, to be of real value to me, this thing has to integrate fully with all my other Debian GNU/Linux systems. E.g. Piwigo, our media servers, the web server etc. In fact as I hypothesised earlier, this thing could quite easily morph into an integrated media recorder/player  – recording, storing and playing back audio, stills and video. Subsuming many of the features of our ‘Linux Media Server’. Hence why I’m going to use Pi5 16GB – or better if something new comes along.

That said, there are no sacred cows and nothing is chipped in stone. Well, not yet, anyway. If you think my objectives are daft, please feel free to say so in the comments box below.

Questions

  • Will it be cheap? Probably not – particularly considering one is likely to make some disastrous wrong turns with a project such as this!
  • Will it be easy? Definitely not.
  • Will it be worth it? I don’t know until I built it! But considering since I’ll be root, with access to all the available documentation, many of its final technical capabilities will mostly be limited by my own capabilities – or lack thereof. 

Here are some links which some folks might find interesting…

So what do you think? Feasible or farcical?

Thoughts in the comments box below, please…

Slightly similar posts...

Leave a Reply

Your email address will not be published. Required fields are marked *