It's a shame that, being based on a full-blown Linux SBPC, it has an absolutely unacceptable boot time for a camera. 22 seconds. I can have my iPhone camera out and ready to capture an ephemeral moment of child's play in under 3 seconds, most commercial cameras boot in seconds as well. A film camera can be ready to go the second the lens cap is off. 22 seconds is an eternity in the world of photography. It's a shame that the SoC the Raspberry Pi line is based on has no kernel support (or IIRC hardware support) for S3 or anything similar.
It's unfair to compare an idling deep sleep device with a cold boot.
However, there is a shortcut: Just don't boot a full OS (thinking of custom firmware which boots in fractions of seconds, standard in the Microcontroller world). Or boot an optimized Linux user space. I am confident with a bit fiddling one can bring down a standard SBC Linux to a few seconds from cold to ready.
Functional comparisons among devices within a category are always fair. Pointing out a device’s perceived shortcomings is not an attack on the people that made it. One crucial role designers play (ideally) in product development is seeking out honest feedback, filtering it, and figuring out if that feedback can help make the product better for end users. The FOSS landscape needs a lot more of that.
> Functional comparisons among devices within a category are always fair
When they have the same prerequisites, yes.
But then you need to count in the time the iPhone needs to boot as well, which will probably mean you are at a similar range.
i built my own camera out of a Zero 2W [0] and by disabling Picam2 and letting the OS (Debian Bullseye) idle, i can get 2 days of shots and some videos while i walk around the city/hiking out of 3 18650 batteries... bringing 3 spare batteries in my backpack never put me needing battery in any situation! starting Picam2 takes a fraction of a second
Things lost to time: The Minolta Dimage A1 had contacts for detecting when gripped, so it could ready itself without any button pressed: https://en.wikipedia.org/wiki/Minolta_Dimage_A1 (You see it in the pic, but its not described in the article).
Sub 2-second booting Linux is generally possible, either by bundling everything into a big image or by creating a fixed hibernation file and resuming from it. That's what they do for real embedded systems, but the downside is that they tend to be monolithic and not so update or modding friendly.
Comparing that to a real camera: I can "quick draw" pick up a Nikon DSLR that's off, flick the power switch and hit the shutter button one handed in one motion as fast as I can move and there's a good picture on the screen as soon as I let go of the trigger. Double click trash can and it's gone. Either will take less than half a second. Battery life is so long I usually forget to charge it. I suspect the power switch is just a "key lock" that prevents triggering anything because there's no delay. Either that or it's a wakeup in the microcontroller range of timing.
(You can easily get jank by filling up the buffer or slow memory card or autofocusing on something impossible, possibly in the dark etc, of course.)
I bet this could be changed to seconds if a unikernel type approach were used. There’s no need to boot a full OS. I understand the developer starting with Linux, though, as I’m sure it’s easier for debugging.
yeah it's pretty fair if you compare them apples to apples.
an iphone boots in 15-20s depending on how stale things are, you'll presumably need to unlock it, and then navigate to the camera app however you do so.
it's just presumed you wont have to boot your phone.
No disrespect to the project here, of course, but I'm wondering why there's no truly high-quality camera for Pis. I have the so-called "high-quality camera" and it still blows. I use it to monitor my 3-D printer with OctoPi, and that's about what it's good for.
There's Will Whang's boards - IMX585 [1] (16:9 1"-ish) and even IMX283 [2] (1") and even IMX294 [3] (Micro 4/3). But just those camera boards run $199 to $399, and released in "artisanal quantities" (I think their hand-assembled!)... so you have to pounce when restocked. Soho Enterprise has some IMX585 boards as well and I've seen some IMX585 MIPI CSI boards on aliexpress afair but never tried them
I'm experimenting with and have built a rangefinder-style camera [4], built around the IMX585 or IMX283 (the only boards I got my hands on) but using a CM5, this thing gets hot. It works though! Not too much bigger than my Leica Q. Haven't released anything yet but I tend to work on it and the model is in OnShape. Currently planning a complete screen-less redesign in FreeCAD... so that's _really_ different and slow, but I'm so over proprietary software :/
There's also the CinePi project using those sensors on a full-size Pi with a pretty active discord server.
iPhone camera's do not currently use off the shelf sensors.
Other brands do use IMX* sensors, but not the ones listed in this comment, they are larger than the ones typically found in phones such as the IMX712 IMX787 IMX890 etc...
Note than a lot of the phone sensors aren't actually that impressive, but instead rely on an insane amount of computational photography algorithms to improve the image.
> No disrespect to the project here, of course, but I'm wondering why there's no truly high-quality camera for Pis.
Not Pi specific on the camera interface ribbon cable, no, but most any raspberry pi 3b or 4 will work with almost any 'high end, high quality' USB webcam type camera for still image capture using all the same software tools that exist for any debian-based CLI environment.
While many camera sensors use MIPI/CSI, you need enough lanes to transfer the data, the driver support in the kernel and other pipeline bits to get good images from the bayer. Almost all “real” cameras use ASICs or FPGAs to clock out the images. Additionally sensor companies are miserable to deal with in small volume and datasheets are under NDA. You’re much better off buying a camera from a machine vision company over USB3 or Ethernet, but you need one which properly enumerates as a video device (many do not). You can still do nice stuff like hardware sync/trigger from the Pi.
The one I was impressed with that came out recently is this one https://github.com/Yutani140x/saturnix-camera this one (optocam) is cool it has heart/soul on an aesthetic perspective
Honest question: why would one switch from a much more capable "carry everywhere" smartphone camera to this? Especially since phone is truly carry always & everywhere and that computational processing squeezes out insane amount of photo quality from already excellent phone cameras.
I have a box full of film gear and development equipment because, one day, I want to hang a picture of my kids on the wall that I _made_. My photo, on film I developed, printed manually by my hand, hung in a frame I built. I'll get to it some day!
The idea of building a camera like this tickles me the same way. It's fun!
In fact I recommend doing that for EVERYTHING you can! You don't need to do it more than once in your life but it's worth going through the actual process to learn.
That being said I also have a FujiFilm Insta to print polaroid size photos for the fridge or to give to guests.
Those though are 2 different processes, one is about learning the other about convenient usage.
Photos aren't only about quality, especially there days where it's popular to use lower resolution cameras, with worse optics. Specifically for portraits, it's common to use diffusion filters that reduce a bit details/contrast or do that in editing so you don't see every little "defect" on someone's skin.
Some people specifically want something other than their phones because they don't want to always have their phone or use it all the time, others want better controls or a different experience.
This is very cool, it would be huge if this camera could go on fields "traditional cameras" didn't go in, and iphones cannot give. Like an inbetween both where you can add an objective, and send photos to your phone via BLE or something. This would allow for a "professional camera" where you can edit your photos you just took
I loved this project the first time it came around. As much as I wanted to build it out myself, I was shocked at how much the components actually cost to put together. It definitely seems like an improvement on the charmera though, so it all comes out in the wash.
I was looking around but either I missed it or it’s not spelled out. Do you recall a ballpark cost for the components? I didn't feel like individually pricing out the many components.
I wonder why this doesn't use the 4608x2592 resolution the sensor is capable of. It produces cropped 2592x2592 images. Stylistic choice, hopefully not too hard to reconfigure?
The output reminds me a little bit in fuzziness of the earliest 640x480 digital cameras from the mid to late 90s that stored images on a 4MB compactflash card.
It's a shame that, being based on a full-blown Linux SBPC, it has an absolutely unacceptable boot time for a camera. 22 seconds. I can have my iPhone camera out and ready to capture an ephemeral moment of child's play in under 3 seconds, most commercial cameras boot in seconds as well. A film camera can be ready to go the second the lens cap is off. 22 seconds is an eternity in the world of photography. It's a shame that the SoC the Raspberry Pi line is based on has no kernel support (or IIRC hardware support) for S3 or anything similar.
https://mitxela.com/projects/thermal_paper_polaroid talks about making a camera with a raspberry pi, and by using Buildroot they got it down to acceptable boot times
There have been attempts to make the Pi boot faster (by disabling the initialization of various subsystems), e.g.:
https://github.com/IronOxidizer/instant-pi
https://himeshp.blogspot.com/2018/08/fast-boot-with-raspberr...
https://kittenlabs.de/blog/2024/09/01/extreme-pi-boot-optimi... (previously featured here too https://news.ycombinator.com/item?id=41420597)
It's unfair to compare an idling deep sleep device with a cold boot.
However, there is a shortcut: Just don't boot a full OS (thinking of custom firmware which boots in fractions of seconds, standard in the Microcontroller world). Or boot an optimized Linux user space. I am confident with a bit fiddling one can bring down a standard SBC Linux to a few seconds from cold to ready.
Functional comparisons among devices within a category are always fair. Pointing out a device’s perceived shortcomings is not an attack on the people that made it. One crucial role designers play (ideally) in product development is seeking out honest feedback, filtering it, and figuring out if that feedback can help make the product better for end users. The FOSS landscape needs a lot more of that.
> Functional comparisons among devices within a category are always fair
When they have the same prerequisites, yes. But then you need to count in the time the iPhone needs to boot as well, which will probably mean you are at a similar range.
Ok, now read the other three sentences that explain why I said that.
You turn a dedicated camera on as you grab it, cold boot, and most of them will be functional before you manage to put your eye to the visor.
>It's unfair to compare an idling deep sleep device with a cold boot.
Sure. My Fuji X100 is ready to shoot in about a second after a battery swap.
i built my own camera out of a Zero 2W [0] and by disabling Picam2 and letting the OS (Debian Bullseye) idle, i can get 2 days of shots and some videos while i walk around the city/hiking out of 3 18650 batteries... bringing 3 spare batteries in my backpack never put me needing battery in any situation! starting Picam2 takes a fraction of a second
[0] https://happort.org/camera
Things lost to time: The Minolta Dimage A1 had contacts for detecting when gripped, so it could ready itself without any button pressed: https://en.wikipedia.org/wiki/Minolta_Dimage_A1 (You see it in the pic, but its not described in the article).
The early Sony Alpha A7 cameras run Android (really: you could jailbreak and write your own PlayMemories apps)
https://github.com/ma1co/sony-pmca-re
https://photo.stackexchange.com/questions/59226/does-the-son...
So there must have been a way to do this at that time. (I suspect a simpler subsystem does initial boot response).
I did contemplate building something around one of the Arducam modules and an RP2350.
They always ran Linux and Sony ported AOSP userland to it. So it's slightly different to real Android, and those cameras are not always in that mode.
> So there must have been a way to do this at that time. (I suspect a simpler subsystem does initial boot response).
They heavily use suspend-to-flash.
Sub 2-second booting Linux is generally possible, either by bundling everything into a big image or by creating a fixed hibernation file and resuming from it. That's what they do for real embedded systems, but the downside is that they tend to be monolithic and not so update or modding friendly.
1: https://www.youtube.com/watch?v=TTcP3xeLrEY
Comparing that to a real camera: I can "quick draw" pick up a Nikon DSLR that's off, flick the power switch and hit the shutter button one handed in one motion as fast as I can move and there's a good picture on the screen as soon as I let go of the trigger. Double click trash can and it's gone. Either will take less than half a second. Battery life is so long I usually forget to charge it. I suspect the power switch is just a "key lock" that prevents triggering anything because there's no delay. Either that or it's a wakeup in the microcontroller range of timing.
(You can easily get jank by filling up the buffer or slow memory card or autofocusing on something impossible, possibly in the dark etc, of course.)
My kid has a Fisher-Price Kid Tough camera. It's excellent for us but the pictures are so bad even the kid is disappointed.
It would be fun to repace the guts with something like this project but a long boot time is a deal breaker.
Perhaps the software can be optimised or a DIY friendly pi pico project is the way.
Nice, my Google 10 I feel boots rather fast but I'd say 5sec to boot, unlock, camera +5 secs so it would be 10 for me - 3 seconds I envy you.
It’s possible to boot Linux in seconds, it’d just be a terrible developer experience.
The problem is RPi though, and all the junk it runs before booting Linux.
I bet this could be changed to seconds if a unikernel type approach were used. There’s no need to boot a full OS. I understand the developer starting with Linux, though, as I’m sure it’s easier for debugging.
you can get a zero booting under 10 seconds fairly reliably.
still slower than a hot phone with an app, but it's faster than 22s.
I agree with the premise but that's a bad comparison. If you have your iphone off, do you get to the camera in 3 seconds as well, after booting?
Not from off state, though? Granted I still expect the iphone to boot quicker than 20 seconds.
yeah it's pretty fair if you compare them apples to apples.
an iphone boots in 15-20s depending on how stale things are, you'll presumably need to unlock it, and then navigate to the camera app however you do so.
it's just presumed you wont have to boot your phone.
Cameras shouldn't need to boot at all.
Pretty much everything has a boot sequence of some kind, it just might be very quick.
No disrespect to the project here, of course, but I'm wondering why there's no truly high-quality camera for Pis. I have the so-called "high-quality camera" and it still blows. I use it to monitor my 3-D printer with OctoPi, and that's about what it's good for.
There's Will Whang's boards - IMX585 [1] (16:9 1"-ish) and even IMX283 [2] (1") and even IMX294 [3] (Micro 4/3). But just those camera boards run $199 to $399, and released in "artisanal quantities" (I think their hand-assembled!)... so you have to pounce when restocked. Soho Enterprise has some IMX585 boards as well and I've seen some IMX585 MIPI CSI boards on aliexpress afair but never tried them
I'm experimenting with and have built a rangefinder-style camera [4], built around the IMX585 or IMX283 (the only boards I got my hands on) but using a CM5, this thing gets hot. It works though! Not too much bigger than my Leica Q. Haven't released anything yet but I tend to work on it and the model is in OnShape. Currently planning a complete screen-less redesign in FreeCAD... so that's _really_ different and slow, but I'm so over proprietary software :/
There's also the CinePi project using those sensors on a full-size Pi with a pretty active discord server.
[1] https://github.com/will127534/StarlightEye
[2] https://github.com/will127534/OneInchEye
[3] https://github.com/will127534/FourThirdsEye
[4] https://cad.onshape.com/documents/29c9488b2d4b80b73bcf3980/w...
Does iPhone use IMX?
iPhone camera's do not currently use off the shelf sensors.
Other brands do use IMX* sensors, but not the ones listed in this comment, they are larger than the ones typically found in phones such as the IMX712 IMX787 IMX890 etc...
Note than a lot of the phone sensors aren't actually that impressive, but instead rely on an insane amount of computational photography algorithms to improve the image.
> No disrespect to the project here, of course, but I'm wondering why there's no truly high-quality camera for Pis.
Not Pi specific on the camera interface ribbon cable, no, but most any raspberry pi 3b or 4 will work with almost any 'high end, high quality' USB webcam type camera for still image capture using all the same software tools that exist for any debian-based CLI environment.
Thanks. I should have specified "using the Pi's camera interface."
By “high quality” you mean big sensor? 1” is possible - https://github.com/will127534/imx294-v4l2-driver and see OneInchEye based on the IMX283.
While many camera sensors use MIPI/CSI, you need enough lanes to transfer the data, the driver support in the kernel and other pipeline bits to get good images from the bayer. Almost all “real” cameras use ASICs or FPGAs to clock out the images. Additionally sensor companies are miserable to deal with in small volume and datasheets are under NDA. You’re much better off buying a camera from a machine vision company over USB3 or Ethernet, but you need one which properly enumerates as a video device (many do not). You can still do nice stuff like hardware sync/trigger from the Pi.
Thanks. Mainly I mean low-noise, so whatever sensor can provide that is what I'm after.
I really meant using the Pi's camera connector. I'll take "only" HD resolution over something higher any day if the payoff is better image quality.
Interfacing is too complicated and manufacturers are too secretive with secret sauces to make sensors not just behave but to look not potato.
There's the Arducam IMX519 with 16 megapixels, Sony IMX 519 sensor
https://www.arducam.com/imx519-autofocus-camera-module-for-r...
pixel count is one of those things... arducam has 64 mp cameras too but is it the same as a Sony A7 R3...
The one I was impressed with that came out recently is this one https://github.com/Yutani140x/saturnix-camera this one (optocam) is cool it has heart/soul on an aesthetic perspective
Sounds like a fun project.
Honest question: why would one switch from a much more capable "carry everywhere" smartphone camera to this? Especially since phone is truly carry always & everywhere and that computational processing squeezes out insane amount of photo quality from already excellent phone cameras.
I have a box full of film gear and development equipment because, one day, I want to hang a picture of my kids on the wall that I _made_. My photo, on film I developed, printed manually by my hand, hung in a frame I built. I'll get to it some day!
The idea of building a camera like this tickles me the same way. It's fun!
I've done that and I recommend it.
In fact I recommend doing that for EVERYTHING you can! You don't need to do it more than once in your life but it's worth going through the actual process to learn.
That being said I also have a FujiFilm Insta to print polaroid size photos for the fridge or to give to guests.
Those though are 2 different processes, one is about learning the other about convenient usage.
It would be great for kids who you don’t want to give a phone to. I got something similar for my young kids and they love it.
But also there doesn’t always need to be a “why” beyond it being fun for the creator to create.
True, makes total sense for kids
Oh my god if you’re asking that question you’re on the wrong site
Photos aren't only about quality, especially there days where it's popular to use lower resolution cameras, with worse optics. Specifically for portraits, it's common to use diffusion filters that reduce a bit details/contrast or do that in editing so you don't see every little "defect" on someone's skin.
Some people specifically want something other than their phones because they don't want to always have their phone or use it all the time, others want better controls or a different experience.
This is very cool, it would be huge if this camera could go on fields "traditional cameras" didn't go in, and iphones cannot give. Like an inbetween both where you can add an objective, and send photos to your phone via BLE or something. This would allow for a "professional camera" where you can edit your photos you just took
I loved this project the first time it came around. As much as I wanted to build it out myself, I was shocked at how much the components actually cost to put together. It definitely seems like an improvement on the charmera though, so it all comes out in the wash.
I was looking around but either I missed it or it’s not spelled out. Do you recall a ballpark cost for the components? I didn't feel like individually pricing out the many components.
The electronics alone are at least €100
Thanks, yeah that's past my personal limit for a very niche project. I like the concept, though.
I wonder why this doesn't use the 4608x2592 resolution the sensor is capable of. It produces cropped 2592x2592 images. Stylistic choice, hopefully not too hard to reconfigure?
Edit s/camera/sensor/
Cool project. Would be nice to have some unfiltered example photos to gauge the sensor quality w.o. more googling.
The photos aren't half bad. I was expecting something along the lines of the first cameras on mobile phones.
It's using a IMX708, which is used as a secondary sensor on some modern smartphones.
The output reminds me a little bit in fuzziness of the earliest 640x480 digital cameras from the mid to late 90s that stored images on a 4MB compactflash card.
Huh. 90 minutes of use isn't very much. Is the battery easy to swap out or do I have to unscrew the case to do it?
there is one with esp 32 too !!
[flagged]