After looking through many suggested reasons for error 20 I almost gave up.
I started out with a water damaged 7D. I managed to get it to at least switch on after chasing the visible corrosion hot spots. Including the corrosion in the hot shoe and its micro switch.
As soon I had got it to switch on initially I ran it through my SPT software which reported a 220 error described as an "unusual shutter charge signal after recovery charge" and pointing to either an electrical or mechanical error with the shutter or mirror. I was then unable to get the back buttons to respond so I checked for further corrosion by removing the contacts from the back cover and checking and cleaning underneath them. It was after this that I had my first error 20 message. Taking out the batteries and leaving the body for a few hours I was able to get the back buttons to respond. In fact I would get as far as half way through the set-up menu before error 20 would kick in.
On switching on and operating the shutter button it was if the shutter motor was jamming. In desperation I pulled out the shutter motor and replaced it with a spare I had from a 5D MkII. Then on putting in a new and freshly charged generic main battery one day, I got as far as fully setting up the start-up menu and firing off 4 shots even with the flash operating before the dreaded error 20 returned. This made me think that although error 20 is attributed to either a mechanical shutter or mirror problem, this could not be so in this instance.
Anyhow, in the meantime I had acquired a 7D with some minute sensor blemishes but otherwise fully operational. Again in sheer desparation (hate opening up a working body) I thought I would swap the main pcb's of each and lo and behold error 20 disappeared altogether. Instead error 20 transferred to the newer 7D acquisition!! I had considered trying a replacement main board as well as a DC/DC board and bottom board as a (expensive) trial and error exercise. But having a board already, this motivated me to give it a try at least. I have now a replacement used board in the mail and hopefully will end up with two fully operational 7D.
I am still trying to figure out what part the main PCB has in all this. I have a suspicion that the FPC from the mirror side has a corroded socket on the main board which is not easily visible to the naked or magnified eye. There was corrosion at this spot but I tried very hard to clean it away thoroughly. Who knows