Making a full spectrum camera — Canon EOS-M teardown

I recently found out about the Canon EOS ‘M’. It’s a very lightweight, cheap (~$350) Canon camera that can accept all the standard lenses (with an adaptor). I was about to write ‘DSLR’ there instead of camera, but technically it isn’t as the EOS M doesn’t have a viewfinder, mirror, flash or any of those other fripperies that bump up the price and size of cameras.

I’ve been wanting a full spectrum camera for ages, but I didn’t want to risk performing surgery on my ‘proper’ DSLR to get one. But for $350, I’m just comfortable with my tinkering skills to risk the attempt.

What exactly is a full spectrum camera? Well, a standard CCD or CMOS sensor is  actually sensitive to more than just ordinary visible light. Camera manufactures well know this and try to avoid it, since to their customers it’s a nuisance if their photos don’t match what their eyes see. Even worse, since all lenses have some element of  chromatic abberation, and don’t focus IR or UV light as well as they focus visible light, the extra light can often just show up as a ‘haziness’ rather than a clear image.

Camera designers use two ways of combating this problem.

  • Hot mirror‘ — This filter blocks infrared from reaching the sensor. It’s located inside the camera, and is sandwiched just above the sensor chip.
  • UV filter‘ — This blocks the UV in sunlight from creating unexpected effects on the image. It’s usually an optional extra that’s placed on the end of the lens. They’re so ubiquitous and cheap that many photographers recommend leaving one on your lens all the time, so that any scratches damage a $20 filter rather than a $400 lens.

I wanted to remove the hot mirror and leave myself with a camera that’s suitable for infrared, UV and also general astrophotography.

This website was an absolute godsend for info on opening up the EOS M:

Here’s the camera, 3 hours old and already having terrible things done to it:

photo 1

I laid everything out on this magnetic whiteboard (picked up from here).  It’s a beautiful way to do it, and allows you to systematically work through the disassembly process.

The camera is starting to look decidedly unhealthy now: photo 2

An hour in and the first trouble emerges. I need a torx screwdriver that’s not in my home kit, so I have to pack up and change venue. photo 3

The optical assembly is held onto the main frame by those 3 torx screws, which oppose 3 springs. This allows canon to dial in the flatness of the sensor relative to the frame, and ensure the entire sensor is in focus. Sadly that meant that in order to get to the sensor, I have to destroy the calibration:

photo 4

I didn’t take any photos of the filter, sorry, but I eventually got it removed succesfully and started putting the camera back together:

photo 5

It was starting to look good, but I’d changed around a lot of cables and parts, and I needed to test the camera still worked. I slipped in the SD card and battery, and installed the EF adaptor and my stock lens. Powering up revealed the screen didn’t work, but the camera seemed to respond otherwise (trying to autofocus, etc). I turned it off, carefully took the back off again to reseat both cables to the LCD, and put the case on again.

This time the screen came on beautifully and everything seemed to work fine. Right up until I hit the shutter button, and the camera made a funny noise and went blank. Crap.

I popped the battery out and in again, and tried a couple more times. Seemed like the screen and all the buttons were working, along with autofocus and almost every other feature, but whenever the trigger was pressed it shut down. Hmm… how to troubleshoot. OK, these symptoms could mean it’s a fault in one or more of:

  •  the SD card,
  • the trigger button assembly,
  • the sensor, or
  • the shutter.

How to disentangle these options? Aha! I put the camera to movie mode and hit record. It worked beautifully and I was able to record and play pictures with no problems. That gave a clean bill of health to everything on the list except the shutter mechanism.

Now I had my hint as to where the problem was. I carefully opened the case again and inspected the cables, but everything seemed to be seated correctly. Using a fine tip screwdriver, I carefully advanced the gears I could see on the shutter motor until I heard it click, then moved it around a bit to check it wasn’t getting jammed.

When I reassembled and powered up next, everything was working fine and I was able to take a couple of shots:

First light from the modified camera

First light from the modified camera

After stress testing the camera in a bunch of different modes, shaking it and ensuring that I hadn’t left anything loose, I was pretty satisfied that my evening’s work was done correctly.

Now the sad thing about IR modding your camera at night is that everything looks pretty much the same.

However the next day I managed to have some fun grabbing these pics. These were taken with the modified camera, but with an infrared-only filter added to stop visible light from entering:


Almost all the foliage seems white. This is know as the Wood Effect (after Robert W. Wood, not cellulose)


Here’s what the river looks like when I don’t put the 850nm IR only filter on the camera. Note the pinkish tinge of the sky, which is the exact effect that the IR-blocking filter I removed was there to stop:IMG_0055


So, for $350 and an evening’s tinkering, I managed to get a very flexible sensor that I should be able to use for lots of projects in the future. I’m pretty happy with the outcome.

This entry was posted in Uncategorized and tagged , . Bookmark the permalink.

10 Responses to Making a full spectrum camera — Canon EOS-M teardown

  1. Mike says:

    Hi Thanks for the great post!
    You didn’t have any problems with focusing after putting it back together did you? I’m having trouble achieving focus on things past about 5m away. I figure it will be something to do with the 3 torx screws taken off near the sensor. Thanks


  2. Hi Mike,

    Darn, I forgot to mention that part, sorry. I looked at the sprung focus assembly and figured it’d kill me if I had to adjust, spend half an hour assembling then tear it down again each time I wanted to move the screws a fraction.

    After scratching my head for a bit, I found a feeler gauge used for setting spark plugs, and adjusted the screws till it was sitting flat with a very thin feeler between the base and plate. From memory that was easy with 2 out of 3 of the screws, and required some careful manouvering for the third. My rationale here is that the base will be flat enough to be a good reference, although of course that isn’t 100% trustworthy as the entire point of the screws is to compensate for bad base alignment.

    After reassembling it, it seemed to work nicely and the focus looked good, and certainly wasn’t immediately weird enough for me to tear it down again. (Before I tested it, I had nightmares of having to use a tilt shift lens just to focus straight..)

    I haven’t done a proper comparison of the ‘flatness’ of the focal plane after the teardown, but I’d imagine it’s changed a bit. I have noticed the camera is a lot ‘pickier’ about autofocusing after the mod, though. Sometimes it’ll need 2 or 3 goes before it selects a target to focus on.

    Removing the filter will change the focus slightly, since there’s less glass in the optical path. Some people have had problems with other cameras not being able to achieve lock afterwards, but mine worked pretty well.

    Hope this helps, and I’d love to see what shots you’re getting.



  3. Pingback: Building a Full-Spectrum Digital Camera on the Cheap | Hackaday

  4. Pingback: Building a Full-Spectrum Digital Camera on the Cheap | BH

  5. Pingback: Building a Full-Spectrum Digital Camera on the Cheap –

  6. Pingback: Building a Full-Spectrum Digital Camera on the Cheap – HackerWorld

  7. Pingback: Building a Full-Spectrum Digital Camera on the Cheap – Cynical Parrot

  8. Pingback: Constructing a Full-Spectrum Digital Digital camera on the Low cost | Cultismo

  9. Leinhardt says:

    Is there a way to store images not as RGB (?) but rather as IRGBUV so that you can tell pink from IR? Or since the imaging chip is RGB can you not differenciate IR from R+B light?


  10. I’m pasting the relevant parts from an email exchange I just had with Philipp who did the same mod, and also got stuck with the shutter mechanism like I did. Hopefully this will give some hints for the next person attempting this:

    I followed the instructions
    ( and removed the IR
    filter. Funnily, after reassembling the camera, everything that went
    wrong when you did the modification happend in my case too. At the
    moment, the shutter seems to be my problem. Your fix was described as
    “Using a fine tip screwdriver, I carefully advanced the gears I could
    see on the shutter motor until I heard it click, then moved it around a
    bit to check it wasn’t getting jammed.”
    I don’t know whether it was jammed with swarf from the dissasembly, and my moving the gears freed it up, or alternatively that the gear mechanism wasn’t where the camera thought it was, which caused problems for the software?

    I seem to recall kind of ‘winding it up’, until I heard a click, and it worked after that, but honestly it’s been too long and my memory’s not likely to be a reliable guide without pulling it apart again.
    thank you very much for your quick help. It worked! While turning the gear, the shutter was released. This seems to be (as you said) a defined state, so the camera should recognize it.

    BUT, the real fault was actually a screw which was at the wrong place. It was too long and thereby hitting the flex-cable connecting the shutter with the logic board. Fortunately, it didn’t cause permanent damage. After exchanging this screw with a shorter one, it works now perfectly again…Next time I should be more careful 😉


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s