Introduction

I was recently looking for a replacement for my ageing (ancient?) entry level Canon 600D. I came across a cheap 7D Mark II body (7d2 from now on) that was sold as “broken, for parts only”. This repair was a fun and rewarding experience requiring no spare parts.

The Canon 7D Mark II

The Canon 7D Mark II is a high-end 20.2 megapixel APS-C size DSLR that was released towards the end of 2014. It is part of their advanced/professional range of cameras and could be regarded as similar to a 5D Mark IV with a smaller CMOS. At the time of release it was positively received. The body I purchased was sold for €180 as “broken, for parts only”. Let’s hope not.

Initial checks

The body arrived as described by the eBay seller: in good cosmetic condition but broken.

  • The camera would start up without anything on the LCD.
  • Pressing the shutter halfway would not trigger the autofocus but pressing it all the way would cause it to take a picture.
  • No output on the HDMI connector.
  • Dmesg would not show anything after making a USB connection.
  • Manually forcing the camera to autofocus by pressing the matching button would cause the lens to refocus.
  • Interestingly, when powering off the camera, it would display the “cleaning the sensor” image. Clearly the LCD and the driver were functioning to some extent.

I suspected that “somehow” the processor evaluated the shutter button as half-pressed the whole time. When simulating this with my 600D, I got similar behaviour: a black LCD, no autofocus but possible to take pictures. Not exactly a perfect test, but promising.

Searching online, I found references to grains of sand getting stuck between the button and the outer shell. However, this seemed mostly related to some other cameras, not the 7d2. Would it be as simple as a small particle blocking the button? While the 7d2 has weather sealing, it was quite possible for small particles to cause mechanical issues at some places…

Disassembly

I found a parts list describing the position and size of all the screws, definitely helping reassembly afterwards.

Even though I “kind of” knew what to expect, I kept being surprised by even more flex circuits, time after time. There are two types:

  • FFC (Flexible flat cables) are a type of very thin, light and flexible plastic (usually Polyimide or Polyamide) films with embedded conductive traces. They are used as interconnects, replacing conventional cables and connectors. An additional benefit is that it is possible to embed multiple controlled impedance connections on one connection. While more complicated to manufacture, their properties make them a very versatile alternative. See this Molex product page.
  • FPC (Flexible printed circuits) are similar, but somewhat resemble PCB’s in that they not only contain traces, but also components. More on them on this page from Dexerials.

Many flexible things Many flexible things

A couple of hints:

  • The rubberized grips come of easily and no additional glue is needed afterwards to stick them back on.
  • While the parts list tells you which screw goes where, seeing the difference between M1.7 and M2 screws is rather difficult. Don’t rely on the the list alone and document the origin of screws.
  • The main PCB alone has 19 (!) connectors. Be careful as some are easily damaged and -unless you are lucky- you will need to (dis)connect them more than once.

Troubleshooting

At this point, I decided to put a post on the Magic Lantern Discord to describe my symptoms and ask if this behaviour was a known issue. While my issues was not related to Magic Lantern, this group of people likely have the best knowledge about the inner workings of all things Canon DSLR 1. Maybe they wouldn’t mind.

They did not. At all. Almost immediately I got advice and questions from Walter Schulz, Kitor (a very active developer of Magic Lantern) and someone called “**names_are_hard**”. I cannot thank them enough for their time, support and -most of all- willingness to share their knowledge. They pointed me to the “N3” connector on the side of the camera, which allows you to use an external trigger.

The N3 connector The N3 connector. Source: Marty Bugs

The N3 connector board The N3 connector board

This connector has three pins, one ground, one to trigger the AF and another one to trigger the shutter. Normally both signal pins are around 3.3V, but on my camera the one for AF was at 1.027V, dropping to 0 when half-pressing the button.

Maybe a low resistance path to ground? A bad contact or dirt in the button? Or a bad pull-up resistor? As an additional test, I connected the AF and the trigger pin through a 1k resistor. Instantly the display came on and showed the expected data (aperture/exposure/…). Progress!

Following the AF signal back to the MPU

For high-resolution pictures of the main PCB’s and FPC’s in the 7d2 -and many other cameras- go to photo-parts.ua. Search for the correct camera and in the left column, click on the yellow folder. Apart from scans/images, there is a treasure of other details (chipsets, similar parts, …) for a long list of cameras.

So… Where to start looking for a damaged pull-up resistor or short? We know it most likely goes to one of the Renesas SH7231 MPUs on the main board (top one marked F74964A, bottom one F74966A). One of these should handle the button states. I started tracing the AF pin, starting at the connector:

Connector board routing Connector board routing. AF and trigger have the same components.

As no schematics are available for the 7d2 and there are little to no reference designators on the PCB, I can only describe connectors/parts by location and providing pictures.

Connections from the N3 connector go through a short FPC to the board. Trigger on pin 1 (left on the picture), AF on pin 2. GND on pin 4 and 5. Then (for both the AF and the shutter signal) there’s a reverse diode to GND for ESD and reverse polarity protection, a 0R that seems to have no purpose and then a 1k resistor as additional isolation/protection. There is one more capacitor to GND before the signal moves to the back of the PCB and goes up to the next FPC (which takes it to the main PCB).

Continuing on the main PCB, the signal arrives on the fourth pin (counting from the top) on the white vertical connector top left. There, it disappears from the top layer. Almost all components on this board are 0402 and vias are the tiny filled-and-capped type, often underneath components or pins, making following signals tricky.

The only place where I could find the signal is next to the top MPU, on a filtering capacitor to ground. There was no trace leading to the tiny 0402 capacitor, so the signal must be coming through a via in the pad or underneath the component itself. It seems to be routed straight to the connector and then to a ball underneath the MPU.

This seemed a dead end.

Following the “other” AF signal

Let’s go back and attempt to start from the shutter button. There’s a 100k resistance between this signal and the AF signal coming from the N3 connector. While this is a lot, I figured this -maybe- could be for protection. Looking back, this was a clue I should have thought about longer, but didn’t.

Top section, on it's back. Shutter button is on the top left. Top section. Shutter button is on the top left.

Through a couple of FPC’s and FFCs, the signal arrives vertical connector at the top right, on the sixth pin (left side, starting from the top). Here also, it disappears (“without a trace”?) to another layer. Strangely enough, this signal surfaces again on the other side of the board, on a resistor right next to the connector that connects the N3 signal. While the signals are close to each other, there seems to be no connection other than the 100k that must be “somewhere”.

The signal passes through a 100R protection and then to a 100k pull-up resistor. I cannot find the signal anywhere else on the board. Most likely there is a hidden via underneath the 100R or 100k resistor that goes to the MPU.

Top section, on it's back. Shutter button is on the top left. Quick notes.

Making sense of what (I think) I’m seeing

Only at this point I realised that the signal from the shutter button and the N3 connector don’t have to be connected to each other. The MPU’s likely have more than enough pins to route individual signals to GPIO pins.

Checking the shutter button line between the 100R and the 100k resistors shows a clear 3.3V. At this point, two things finally became clear:

  1. The MPU’s likely have enough GPIO for individual signals lines to be handled separately. The AF signal from the connector and the shutter button needn’t be connected together anywhere. This turned out to be true.
  2. While I found a pull up resistor for the shutter button AF signal, there might not be one for the N3 connector. The Renesas SH7231 does have internal pull-ups. See the hardware manual (table 1.1, page 9).

Besides the 1k input resistor and the reverse diode, I found no input protection for the external AF signal. There is almost nothing to protect the MPU from external signals.

Top section, on it's back. Shutter button is on the top left. Annotated overview of the main PCB. High resolution. Original from photo-parts_ua.

Patching up

Overview

The AF signal from N3 is available on the capacitor between the MPU and the flash chip. 3V3 can be found on multiple decoupling capacitors around the IC. Above 2.2k, I only had a 0402 100k resistor on hand, so I tried that.

Getting 3.3V trough the 100k resistor is easy:

100k pull up resistor to 3.3V 100k pull up resistor to 3.3V

The AF signal is more… challenging. It is inconveniently located on a 0402 capacitor between others. There is just enough room between two components to guide the patch wire through:

3V3 pull up to AF 3V3 pull up to AF

At least, there’s enough free space to route the wire between the two connections:

Patch wire overview Patch wire overview

A small length of Kapton tape temporarily secures the wire to the board until the fix is tested.

Patch wire temporarily secured, just above the left IC Patch wire temporarily secured (just above the left IC)

I reassemble the camera just enough to test and find out that it works. Victory.

Further testing shows no other issues. USB and the HDMI output work as they should. I used the camera for a few days before securing the patch wire in place with a small dab of 2-component epoxy.

So… [TL;DR]

There seem to be two AF signals, routed to separate pins/ balls on the top MPU. While there was no issue with the signal coming from the button, the signal coming from the external connector wasn’t pulled up properly and floated at 1.2V. Most likely this was due to a damaged pull-up inside the MPU (possibly as a result of poor input protection). This was low enough for the MPU to handle as a triggered AF.

Adding a 100k resistor to a 3.3V point on the board raised the signal to 3.3V, restoring full functionality.

References and footnotes

  • Review by Ken Rockwell
  • Dexerials FPC information page
  • Molex FFC product page
  • Parts list with exploded views describing the position and size of all sub-assemblies and screws
  • Magic Lantern is “a free software add-on that runs from the SD/CF card and adds a host of new features to Canon EOS cameras that weren’t included from the factory by Canon.”
  • The Magic Lantern Discord group
  • Homepage of Kitor, one of the active developers of Magic Lantern
  • Photo-parts is (was?) a Ukranian shop selling camera parts. Although most of their site is either in Ukranian or Russian, the linked page contains a wealth of information about many models. Click on the folder icons to open excellent high-resolution images of parts.
  • The Renesas SH7231 hardware manual

  1. Magic Lantern is a custom firmware available for many Canon DSLRs. It adds pretty cool functionality not available in the official firmware. ↩︎