Phone camera without the phone?
July 2, 2024 5:08 PM   Subscribe

I have a weird very specific need: a flagship-phone-style digital camera, but without a phone attached to it because a phone is too big.

I'm trying to take photos inside 1:12 scale dioramas. The dioramas are entirely enclosed (like, 4 walls, a floor, and a ceiling), and I need to take photos from various angles. I can, of course, remove the ceiling to position the camera, but I need to put it back so that the lighting is correct on the photo (and also sometimes the ceiling will appear in the shot). For the bigger dioramas, my phone would fit. For smaller ones, like an 8-foot- (meaning, 8-inch-) wide hallway, if I place my phone horizontally, it's too wide to center the camera. If I place it vertically, I get a vertical image (which I could of course crop, which would be a shame, but it's my backup plan).

I can't just use a SLR, because they're too deep -- by the time I get to the minimum distance from the lens, I've used up more depth than there is in my diorama. (Even if they weren't too deep, it would be hard to find a lens with a small enough minimum focal length).

I tried using an IMX519 with a Raspberry Pi, but that gave really grainy results even with insanely long shutters and stacking multiple images. I suspect part of the problem is the relatively low light inside the diorama, but my Pixel 5 camera does fine. Should I be using the 64MP arducam camera (OV64A40)? I don't actually need the higher resolution, and it has smaller pixels (1.0 um vs the IMX519's 1.2, vs my Pixel 5's 1.4 -- but really square these to get the area), which seems like it would just be noisier.

I would be happy to buy a replacement flagship phone camera and hook it up to the Pi, but it doesn't seem like there's a way to do this.

Is there another option? It needs to support (a) wireless remote picture-taking (since snaking a wire into my dioramas from every direction would be a major hassle, and the time to install/remove the ceiling is enough that I don't want to fuck with a timer), and (b) either built-in focus-stacking or manual focus (and if manual focus, being able to see the image and adjust the focus wirelessly is necessary).
posted by novalis_dt to Media & Arts (11 answers total) 4 users marked this as a favorite
 
Could you use one of the small "action" cameras? The GoPro Hero11 Black Mini and this Insta360 Go 3S are really small, high quality cameras. The GoPro can shoot in linear mode, so there's no fisheye effect. Not sure about the Insta360. Both cameras can be controlled wirelessly via an app on your phone.
posted by malthusan at 5:42 PM on July 2 [1 favorite]


There are borescopes that connect to smartphones; if you have a window or another small enough opening and a way to secure the position of the lens, it might be the thing you’re looking for.
posted by Mister Moofoo at 6:23 PM on July 2 [1 favorite]


Response by poster: Sadly, the action cameras have fixed focal lengths and 12 inch minimum focus distances. There's a third party macro lens for the GoPro, but that only gets me down to six inches (my Pixel 5 does 4), and it doesn't solve the fixed focal length issue. But it was definitely an idea that I hadn't considered.

Mister Moofoo, it looks like all the borescopes have their own cameras rather than attaching to a phone camera. Have you used a particular one that can shoot non-grainy images at least 3k pixels wide?
posted by novalis_dt at 7:07 PM on July 2


I was thinking a gimbaled action cam such as the Feiyun Pocket 2 which is inspired by DJI Osmo Pocket
posted by kschang at 8:04 PM on July 2


Tbh I did a quick search for “flexible camera,” and found a lot of results for something that seemed like it would let you put the lens where you wanted without too much trouble.
posted by Mister Moofoo at 3:21 AM on July 3


Perhaps a WiFi connected camera like the Canon PowerShot V10 Vlog Camera for Content Creators. The small ones will probably fixed focus and not interesting to you. The category would vlog cams.
posted by SemiSalt at 5:48 AM on July 3


Best answer: I develop applications for camera modules attached to Raspberry Pis as my job. The picamera2/libcamera framework is incredibly flexible, but there's a lot of trial and error you have to do to get the photos you need. My concern for your application is that the cameras may not be able to focus close enough to make a 1/12th scale look real.

We use the Arducam OwlSight (ov64a40, 64 mpx). It's a little more bulky than the other camera modules, but it is good in low light. It's also incredibly sensitive to electrical interference, which appear as magenta glitches down the image. The shielded cables can help. The lens on this camera isn't very wide angle (standard lens, at best) and Arducam have suggested to us that they're stuck with those optics. They can do more lens options with the older HawkEye 64 mpx camera, but those cameras still need the custom Arducam kernel drivers (aka pivariety). Note that the ov64a40 won't work on anything but the most up-to-date Bookworm system, and eats gobs of memory. I wouldn't attempt to run it on anything less than a 2 GB Raspberry Pi 4 running a 64-bit OS.

The 12 mpx Raspberry Pi Camera v3 (imx708) is pretty decent, and it makes most of our revenue. We mostly use the wide variant, even if it does have significant distortion at the edges. Arducam make a whole bunch of compatible clones: I like their 120° super-wide fixed focus variant as it has surprisingly close focus and doesn't distort as much as you'd expect.

(I don't recommend the Raspberry Pi HQ camera at all. If you are infinitely patient about finding the right lens and getting the back focus settings juuust right, you can get fantastic results. It can also be bulky, depending on the lens you have)

The 16 mpx Arducam AF camera is good, and its sensor is supported by the stock kernel now, even the PDAF focusing.

What's your lighting situation for these dioramas? I know it's hard (well, $$) to colour-match LED lighting, but I'm guessing there's not much movement in your scenes. Getting long exposures (even ones corrected for lighting flicker banding) using picamera2 is a bit of a faff, but it's doable and scriptable for repeat use.

All of these modules are very static-sensitive, btw, and the imx708 cameras are very easily permanently glitched by static damage.
posted by scruss at 6:03 AM on July 3 [2 favorites]


Have you looked into probe macro lenses? Might be hard for some situations but will get you DSLR/Mirrorless results in very tight spots. Recently some of the video on commercials that looks like CG is being shot with a probe macro.

I had real trouble getting my Raspberry Pi Camera Module 2 (IMX219) to shoot pictures that I thought looked like a DSLR/Mirrorless. With the Raspberry Pi HQ Camera I've managed to get good results, but it's been very fiddly to get everything right. I ended up making a lens profile for Adobe Camera Raw and bought a Color Checker Passport to get the color right. The HQ camera does have the advantage of being able to shoot 239 second exposures, so low light becomes less of an issue.

Are you shooting raw?
posted by gregr at 6:15 AM on July 3 [1 favorite]


Response by poster: Scruss, thanks for the reply. The lighting on my first one is a cheap ring light through an acrylic skylights and off a bounce through acetate "stained glass" windows. I do plan LED lighting for later ones -- perhaps through light pipes to avoid fiddly wiring. Also I want to try glow sticks, but there are only a couple of places those might work aesthetically. There's no movement, so long or multiple exposures are fine.

The minimum focal distance on the IMX519 isn't bad. But it doesn't seem to offer a lot of focal length granularity at low end. It's really the graininess that's the biggest problem. And a general lack of detail compared with my Pixel 5. Do you find OwlSight to have better low light performance?

You mention the flexibility of the libcamera framework. I'm running libcamera-still, manually setting the exposure time and lens position. Are there other settings that might help? I tried messing with the tuning json, but it didn't seem to have any effect, so maybe I was doing it wrong.

Where does the electrical interference enter into the system? I don't have a shielded cable handy, but the cable I'm using is like 2 inches long. I tried wrapping the camera in (insulated) aluminum foil, and that didn't seem to make much if any difference.
posted by novalis_dt at 8:36 AM on July 3


Best answer: If you're not seeing magenta glitches, then interference isn't a problem. The OwlSight uses some ridiculous clock rate to get the data from the sensor to the SoC, and sometimes regular electrical background noise (at least in my test location) seeping in through the camera cable could trigger a little line of magenta pixels. It was usually fixable by re-orienting the camera or turning off the offending RF noise maker.

The OwlSight is particularly good in low light. Whether it can focus close enough for your application, I don't know.

You can do almost everything with the rpicam-still application, but there are a few features that are only accessible via the picamera2 Python interface. Setting particularly long exposures with custom AE compensation seems to be something that only picamera2 can do. Still, rpicam-still can use a custom tuning file (we've done wizard-mode feats by fiddling with the AE matrix shape for demanding clients) and picamera2 currently can't. Also, programming picamera2 is horrid.
posted by scruss at 10:43 AM on July 3


Response by poster: Thanks. I've ordered an OwlSight and will try it out!
posted by novalis_dt at 11:53 AM on July 3 [1 favorite]


« Older What people talk about when the censors are...   |   What editions of the Oz books have the original... Newer »

You are not logged in, either login or create an account to post comments