Closed Digital Cameras - Does Anyone Care?
Karamchand asks: "Free Software and open standards are ubiquitous in the server and even desktop area. But why does nobody seem to care about openness in digital cameras? I couldn't find a single hint as to what main processor my camera uses (I guess many use ARMs and others use TI DSPs), and while searching for information about (re-)programming digital cameras, I had to give up (apart from the scriptable Digita OS which was used by some discontinued cameras by Kodak, HP et al). Do you know of any efforts in this direction, whether they are actual disassembling/programming of cameras or asking vendors to get more open?" I still have my Kodak DIGITA-based camera from several years ago and I loved the flexibility, even though the performance is poor by today's standards (long cycle times, poor battery life, etc). Why are digital camera manufacturers keeping the lid on the capabilities of their products, when digital cameras could be so much more than their film-based counterparts?
Why are digital camera manufacturers keeping the lid on the capabilities of their products
I'm guessing any for-profit companies will be keeping the lid on the capabilities of their products, so that they can slowly roll out "new" features every quarter, and consumers will be attracted to upgrading.
when digital cameras could be so much more than their film-based counterparts?
Seriously? I would rather digital cameras function like, and only like a camera. I'm already having hard time finding a standard mobile phone that makes calls, and that's all it does.
Rock that crushes, Paper & Scissors that don't matter.
They dont want you to port mario 3 to it. I guess
Are you planning on writing some custom software to run on your camera? Heh, I'll never stop to be amazed by the creativity of some people! Digital cameras are like Macs - they 'just work'. I haven't heard of any efforts to customize them, or build an open one.
I store my recipes online (the way nature intended)
They already are so much more than their digital counterparts. And personally, even though I am a super-techno-gearhead-whatever, I don't really care to mess with the internals of my digital camera as long as I can get the pictures off of it.
Ummm, good luck with that. I'm still trying to figure out how to get pictures off of my cell phone without paying @#$%ing Verizon $0.25 every time. Weak.
(Score:-1, Wrong)
Two words: "Unintended uses"
The camera manufacturers want to control how their cameras are used, within the realm of what control they can have. Imagine camera hackers adding functionality with the new software, creating software that uses the hardware more efficiently, adding new compression formats... People wouldn't upgrade nearly as soon as they otherwise would.
There are probably some bad examples too: a virus that detects when a camera is connected, updates the firmware, and then without a complete reflash of the ROMs, every time you turn on your camera it starts zooming in and out and you can't stop it. Who wants the bad publicity of being the first camera to be virus infected?
Last, and probably most importantly, the trouble of publishing the specs and documenting the hardware so that programmers could actually really dig into the system... well, it's an expensive proposition. Convince them that enough people who wouldn't have bought the camera would change their minds if there was a programming interface - make it make financial sense - and they might do it.
- Greg
Start a happiness pandemic
Instead of trying to fuck up your camera, why not just give it to me? I'm sure I could use it. :)
Answer: no. Where's my open source cell phone, playstation 2, ipod, microwave oven, roomba, etc? Most people are only concerned that the product they use functions as it was intended.
What is it you want access to change? The camera really has 2 or 3 base functions that can only be improved within the confines of the hardware. Why does everything have to be open? Just because it's there and you like to hack?
I'm not flaming/trolling, I just don't see the point of your question...
I don't care how my digicam does it, as long as the files are available to me in a format that I can use.
.jpgs and .avis that I can get via a USB cable. It makes no difference to me how they end up on the flash memory device.
My visioneer camera gives me
LK
"Hi. This is my friend, Jack Shit, and you don't know him." - Lord Kano
I'm still trying to figure out how to get pictures off of my cell phone without paying @#$%ing Verizon $0.25 every time
easy, just use your digital camera to take a snappy of your phone's screen, voila!
Because the vast majority of people just want to take pictures, and the last thing camera companies want to do is spend lots of time documenting stuff and answering support questions from the ten or so people who might want to do this.
The cake is a pie
Seriously, if manufactures let people hack/rewrite their firmware, how much does that increase their support overhead? (don't give me "users are on their own, it still costs $$)
I wonder about that. I've never tried anything but my CF reader either. Can digital cameras (like my powershot G5) act as really nice quality webcams if hooked directly with usb?
Morphing Software
Well, I had a Canon G2 that required a firmware upgrade to solve a "blue screen of death" type of problem.
I would imagine because nobody cares...
If you are starting from scratch, there is a lot to screw up. First of all, you need to get the metering right, which is far from trivial. You also need to be able to auto-focus, which is also far from trivial. And this is AFTER you figure out the interface to the CCD, LCD, and buttons. Plus, you have to know how to control the zoom motor, auto-focus motor, and flash.
If you DID re-invent the wheel (and did a good job of it), what do you gain at the end? Sure, you might be able to improve metering a little. You might be able to improve the user interface. But if a camera has a raw file format, you are already getting all of the quality that the hardware can deliver. And JPEG already has pretty good compression, so it is hard to improve on that.
I saved the best part for last. You go through all of this work on a 5MP camera, which is discontinued after one year and replaced by a 7MP model with a different architecture. So, you decide to upgrade, and throw all of your work in the trash.
If you want to, feel free. But include me out.
"-1 Troll" is the apparently the same as "-1 I disagree with you."
If you are interested you should look here: http://groups.yahoo.com/group/canondigicamhacking/
Personally, I try to concentrate on the artistic aspect of photography rather than the technical one. It's much more fun.
What phone are you using? I went through a couple of them, and had good luck with third-party cables and software. I had an LG-VX6000 before i moved to Sprint, if i remember right. A $25 cable and the freeware bitpim software allowed me to pull the pics off without paying verizon. I believe it supports quite a few brands and types of phones.
I'm not a big photography nut, and don't personally own a digital camera, but what neato effects can the little ARM do in the camera that cannot be done later on a 3+ghz desktop running photoshop?
I still have my Kodak DIGITA-based camera from several years ago and I loved the flexibility, even though the performance is poor by today's standards (long cycle times, poor battery life, etc). Why are digital camera manufacturers keeping the lid on the capabilities of their products, when digital cameras could be so much more than their film-based counterparts?
Because they don't want you keeping their cameras for several years. They want you to upgrade every year or, at most, every two. Most digital cameras are all-in-one affairs -- a one-time purchase. It's not like the days of old when Kodak could sell a 35mm point-and-shoot and count on film sales for years to come. Nor is it like the SLR market, where the camera body is just the initial sale and the consumer will buy multiple lenses, expensive flashes, and filters.
Even in the digital SLR market, the manufacturers still have not introduced replaceable "film" backs that allow consumers to upgrade the CMOS sensors as higher resolution comes out. And that's probably why the digital SLR market is not taking off faster. No one wants to spend over a grand on a digital SLR and then, a year later, find that $300 point-and-shoot cameras have double the resolution. It's not like my Nikon 6006, where I can "upgrade" the camera's performance by purchasing newer, better film.
I don't know why camera companies make their camera's locked down, but it might have something to do with support costs. Make the software easy and limited and you don't have to worry about people fucking them up.
The other thing is, I think that the majority of people who buy a camera, digital or otherwise just want it to 'work'. The low-cost of actually using digital cameras, as opposed to their film counterparts has lead to a lot more people taking pictures as a hobby (I regularly see people randomly walking around snapping pictures of buildings and stuff now), which means more people are going to be interested in messing around with the shutter, etc.
But not many people are going to want to try hacking the CCD driver to to take prettier pictures. Not many people are going to want to play video games on their cameras when they could buy a gameboy or something, and really there aren't that many interesting applications to put on a camera.
(the few I can think of involve automation, for doing things like time-lapse photos and such, but you could always just hook a camera up to a regular computer to do that)
ReadThe ReflectionEngine, a cyberpunk style n
The difference between digital cameras are often the software. The same camera can be sold in different packges (Canon IXUS/Elph vs their S-series vs G-series), and they are basicly the same camera with different sensors and packaging.
The cheap cameras has very bad image processing algorithms, so they would gain from open software. They would still use an old plastic bottle for molding the lens though.
The famous example of camera hacking is the Russian hack for the low-end Canon EOS 300D. 2 bytes changed enabled the custom functions menu of the big brother, the 10D. Then there were a few more mods. Think the best firmware had 20 bytes changed, and closed the gap between the 2 products.
The is also lots of things that are the same between the Canon 20D and the Canon 1D Mk II. If the extra features were enabled in the 20D, there would be even less reason to pay 3 times as much for the 1D Mk II. (It also has more buffer RAM + weather sealing).
So it is there in the hope they can sell the same product as 3 different ones.
...just are not visionary enough. For all this talk of "innovation" from the closed side of the technology world, they sure can't see farther than their own faces. Here are some really good reasons why you would want to reprogram your camera:
1. Turn it into a temporary USB data storage device if it has a USB port on it
2. If it has audio capability, turn it into a digital audio recorder that works kind of like a mini-cassette recorder (ie. shitty quality, but lots of record time)
3. Make it into a "cam" that can be attached to your PC for live web cam stuff
4. Turn it into a video recorder for short clips in a format like MJPEG
5. Make it into an e-book reader that can read PDF or Postscript docs (after all many digital cameras have scroll wheels and multiple menu buttons, etc...)
6. Play some old school video games on them: Space Invaders, Pac Man, maybe even Doom. Doom's been done before...
7. Set it up for motion sensitive mode. It will span a picture only when something in the field of view moves
8. Or similar to above, in motion sensitive mode with USB, it could just dump the image straight to your PC whenever there is motion. Imagine combining this with a laptop to work as a spycam...
9. MP3 or Ogg Vobis player the works from CD or Flash media (again if your camera has audio capability)
10. A USB video monitor. Combine your camera with a Mac Mini and a foldup KB and mouse and you have a pretty compact but powerful system for travelling. (Yes, I don't mind squinting at small screens)
That's just ten ideas to get you started. I'm sure I'm not the only person with any imagination here... Note, I didn't say that these ideas would work for every camera, but they are feasible for at least some models. I'm pretty sure my Sony CD Mavica could do a lot more than it does right now. But I'm also pretty sure they probably have the OS on a ROM...
-"...bad old ideas look confusingly fresh when they are packaged as technology" - Jaron Lanier (Digital Maoism on Edge.o
Here's the main info page that gives an English overview of all the hacked features: http://www.bahneman.com/liem/photos/tricks/digital -rebel-tricks.html
PepperHacks - Hacking the Pepper Pad
You can get a hacked bios for the dRebel, and some of the missing features are added. Many of the interesting ones aren't though, because the hardware is not the same, regardless of what some people may have you believe.
---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"
First the problem. Just to give you some walking around numbers, typical desktop displays offer about 7-8 stops of contrast (e.g. 100:1), high-end plasma TV's offer 10 stops (1200:1), typical natural scenes have a dynamic range of about 18 stops, and the human eye, at a single pupil dilation, can appreciate about 17 stops (well matched to natural, sun-illuminated scenes, not by accident!). When you allow for the adjustment of human vision to illumination conditions, the human brain-eye system can appreciate about 30 stops of dynamic range (a factor of 1 billion:1!), from the faintest star to full-on sunlight. Needless to say, it is impossible to come anywhere close to this with consumer imaging technology.
An interesting way to expand dynamic range and alleviate the problem is to take several exposures with an increasing sequence of exposure times. Typically, to maintain focus and field depth, you'd keep the aperture fixed, keep the CCD gain fixed, and only vary exposure time. With a simple programmable interface to a digital camera, you'd be able to roll your own HDR mode, "scripting" the camera to e.g., take a quick succession of 5 frames separated in exposure time by 1 stop, and store them all in an aptly named sub-directory on your flash card. Trivial to implement, if provided the hooks. Combining the 5 exposures with suitable post-processing can then simulate much large contrast than normally available. An example of this technique is here. As it is, we just have to hope the camera manufacturers provide something like this for us (at whatever price point they find compelling).
One possible use for an Open camera would be capturing High Dynamic Range images.
Debevec has a method where you take multiple shots of the same image at different F-stops, and through some post-processing magic, extract a reasonnable HDR approximation (sorry, you'll have to Google it, I don't have the link handy).
An Open camera would allow someone to program the camera to take the required shots automatically (and possibly even generate the HDR image, though it's probably best to do it offline where CPU power and battery life aren't an issue).
Another possible use is to extract raw data even if your camera only exports JPG images, for those extra bits of precision (I seem to remember some Canon cameras that allow you to get at the raw, 11- or 12-bit image).
I'd like an Open camera, not to run Linux or MAME on it (that's probably a running joke by now) but to add capabilities that the original manufacturer won't bother with due to a limited market, etc.
Of course a decent scripting language could do this as well without "opening" the camera...
gcc: no input sig
-use it as a tethered HDTV camera, probably. (If the exposure is -Make timelapse movies, like those nifty cloud motion pictures.
-Use it to do automated functions like live webcam snapshots. What elese could you program it for?
I have to do something with my old digital camera, now that I don't feel like shelling out $70 for a battery that would hold a charge...
But, the camera people (a) don't want to give secrets to the competition and (b) why let someone else show you how to upgrade your features without buying anything?
I do think they're missing the boat here. Popular "hacker" products - TIVO, Apple II, IBM PC clones, etc. - became popular specifically because you could do extra things to them.
Your camera already works, so why fix something that's not broken? I couldn't imagine tinkering with the code or hardware of a late-model digital camera -- it'd be way too complex. Most of the functions are probably implemented in hardware, too, so modifying any sort of firmware is unlikely to get you anywhere. The level of integration is sure to be extremely high.
The only cameras that have been looked at and disassembled are the Dakota Digital/CVS "one-time-use" cameras. It's because they're cheap, and hold the promise of extended reuse. They don't have very many features, and probably can't have any more added to them. The attraction is the challenge of breaking a "closed" system, and getting something for (close to) nothing.
The original blue Dakota was based on a custom Sunplus chip. So far there's been one modified firmware release that fixes bugs and extends the picture limit. This model has been discontinued, however. More info here, here, and here.
The newer models have been looked at in depth as well, and they're based on SMaL chipsets. So far methods of reading and writing have been uncovered, and a method of downloading pictures via hacked drivers is documented. The eventual goal is a GPL driver and sofware, and possibly firmware upgrades. Current progress here, and background info here and here.
How many crappy cell-phone pictures do you need? Is it more than 100? If it's not, it makes more sense to email them to yourself for $0.25.
My other first post is car post.
Digital cameras are actualy conciderd "consumer devices" and as such are closed to optimize reliability, performance and cost (Much like the recently hotly argued Mac Mini, only more so).
Cell Phones didn't used to be open either, and it's only the cross-over into dual purpose PDA/Phone land that has opened them up. So the question is does your toaster make tell you what alloy it uses in the heating elements? No! Because you aren't supposed to care, and if you did there is probably little you could do to improve upon whay they already have.
Also remember that Digital cameras are rife with proprietary hardware, we're not just talking a hefty RISC CPU crunching numbers on raw data, we're talking about screens that use non-standard resolutions and refresh rates and have proprietary drivers, image optimization ICs that run in combined digital/analog mode to eek the most possible performance out of a given sensor device, etc etc. In most cameras the only things that are even remotely standards based are the flash-card controllers.
If someone were to build a standards-based digital camera that could contain user-upgrable parts/software it would end up either sacrificing a great deal of performance over a device thats not constrained by standards or cost twice as much as the competition.
I for one, as a photographer, appreciate that my digital camera never crashes, (almost) never needs a software update, and gets the most possible performance out of the hardware that they could cram into it.
A Call For A New Slashdot Moderation Level!
Linux schminux, we all know what he wants to do!
the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff
Some of the internals on the Rebel (300D) are different as well, it isnt just hte construction. For example the Rebel has a penta mirror instead of a glass pentaprism like the D60 (the model up you are talking about), and the D60 has a much larger image buffer allowing for quicker shots. There ARE differences between the models, it isnt simply a case of the firmware being the difference (I have also heard of horror stories with updating the 300D to the D60s firmware - it isnt 100% compat). Dammit, I HAVE learnt something from sitting between two Photography buffs (one has a 300D to play with, the other has a 20D after upgrading from a D60 - he does track days etc).
Doesn't quite make it into a 10D -- as you note, the body is very different, and the FPS and buffering just aren't there. However, certainly the firmware hack does enable some very useful functionality. I store only a small JPEG in my RAW files and sometimes use mirror lockup; flash exposure compensation is also very useful.
The limitations of the Rebel aside, it's a great camera. In addition to the landscape work I enjoy, I also do event photography for a club that I belong to. As limiting as 2.5 fps and 4 frames may seem to be, I rarely run into problems with that, despite a distinctly run and gun shooting style (usually flash recharge gets me first, even at ISO 800). I wouldn't consider a 10D; it just doesn't have enough over the Rebel to justify it, and the Rebel has one objective advantage -- the ability to use EF/S lenses. The 20D is another matter, although the Rebel's easily good enough that I'm not about to shell out $1400 after only a year.
My Sony DSC 717 takes infrared photos. You can hear the "clunk" as it moves the IR hot mirror out of the way for "Night Shot" mode. It would be perfect for a low-cost scientific aerial mapping application (e.g., http://www.soils.wisc.edu/~wayne/aerial_photos/aer ials_2003_06_14/), replacing custom-built cameras worth thousands of dollars.
But, because somebody once took naughty pictures with a Sony Handicam (http://news.com.com/2100-1001-214389.html?legacy= cnet, Sony crippled the IR function. Now it only works at wide apertures and slow shutter speeds, leaving aerial IR pictures hopelessly overexposed (yes, I tried ND filters) and blurry (I can only slow to about 70 MPH or the nose rises, as do the passengers' gorges).
A simple "don't do that" hack to the firmware would suffice. You *know* that the cripplage is only a couple of lines of code:
But, when asked formally and with the full references to the scientific research we were doing (the lead prof, BTW, is internationally renowned in the field, we ain't just grubby grad students looking to save a buck and peek at Auntie Bowdler's bra), Sony blew us off.
Open source firmware? You bet we'd go for it.
- Canon D30/D60/10D/20D: 8086 microcontroller running ROM-DOS
- Canon 1D/1Ds: PowerPC running VxWorks
- Canon 1D/1Ds Mark II: ARM running VxWorks
- Canon Powershot Sxxx/Axxx cameras: MIPS, some may use ARM.
- Nikon D-SLRs (D2X, D2H, D100, D70): Fujitsu FR-V, running FR/OS (some FR-V chips run Linux too!)
- Nikon Coolpix cameras: SPARC, uses Sierra OEM toolkit
- Sigma/Foveon SD10/SD20: ARM, running Foveon toolkit on custom FPGA
From the web site description...
"The Olympus Developer Program is a collection of tools that allow the software developer to control and access OLYMPUS digital cameras and digital voice recorders. With these tools developers can, for example, remotely capture and download a picture from a compatible Olympus digital camera or convert DSS files from a compatible Olympus digital voice recorder to WAV."
The showcase section shows several companies that have rolled the SDK into full applications. And why arent these Open Source? Because the people at the company want to earn money to pay for their toys.
The Kodak DC range absolutely rock. Not only are they open with the OS, allowing 3rd party extensions, but they use a standard card and standard batteries. This means that they hold their value a lot better than other cameras with expensive batteries, less available cards or no way to update them for newer techniques or standards.
I just wish my camera would name my photos with something that means something to a human like me like a date stamp.
t ead of MsomeMeaninglessNumber.tiff
05-01-22.220059.tiff
05-01-22.220102.tiff
ins
If it were "open" I could control how this worked.