I have just finished reading this book from cover to cover.
I am pleased to report that it is a most excellent read that is written in a style that is friendly and engaging. It covers its topics very well and with excellent pictorial support.
I have been reverse engineering PCB’s for all of my 40 years working with electronics, 27 of those years were in the professional world. I would be the first to admit that I am self-taught, and have improved my techniques with practice rather than formal training. I have a large array of diagnostic equipment that helps me in my reverse engineering challenges, but many are just luxuries or ‘time-savers’.
My need to reverse engineer PCB’s has normally been driven by the lack of OEM schematics and the presence of an expensive piece of equipment that requires repair. I have normally undertaken limited reverse engineering of a PCB in order to identify key areas of interest, in pursuit of a fault. This scenario normally results in a pile of hand drawn schematics, or partial schematics, from which I am able to diagnose the fault and its cause. In more recent cases I have reverse engineered whole PCB’s ‘for the record’ rather than just the repair. That is to say, I wanted a decent schematic as reference material for future needs, and not just the present situation. This has paid great dividends when repairing the FLIR PM Series thermal cameras that I collect and repair.
The schematic diagrams for FLIR PM series thermal cameras are protected under ITAR regulations, making it a Federal Offence for the OEM to release them to the public. My only option was to draw my own. Having the schematics of one sample camera (the PM570) has enabled me to service and repair several others in the series with ease as they all have very similar PCB's. If I had not properly documented the original reverse engineering work on the PM570 I would have had to repeat it on each subsequent ‘patient’. I am getting older and the memory isn’t what it used to be, so good documentation is even more important these days.
Having read this book, I realise that I am still in the ‘Dark Ages’ when it comes to documentation. I always work in pencil on paper and had not used VISIO in any part of the process. This book has shown me how useful a technical drawing package can be in producing decent documentation and also for mapping progress. The use of the layers option is an excellent idea. I already own VISIO so I will be using the techniques detailed in the book during my next reverse engineering challenge.
The reverse engineering process is well explained in the book and covers most of the techniques that I employ. It will not make you a master ‘Reverser’ over night as that comes only with practice on a lot of different 'patients'. It does provide the knowledge that is needed to take on such a task however. One skill that is essential in RE work is that of being methodical. Poor method and a ‘flitting’ here and there approach leads to errors, confusion and missing data. The challenge of reverse engineering a modern PCB should not be underestimated, but then it should not be feared either. Correct approach and patience will pay off. I get a real kick out of completing an RE task and then reviewing the whole 'picture' via the schematic. Some designs are things of beauty whilst others are, to be frank, 'Dogs'.
I was pleased to see that the book clearly identified the limitations that exist when reverse engineering a PCB. If a complex IC is a custom part or its ID cannot be cross referenced to a datasheet, you are basically stuffed when it comes to detailing the contents of the silicon die. As stated, however, you can treat it as a ‘black box’ and document its connectivity. It may also be possible to identify its function when the whole schematic has been drawn and live testing is carried out on its pins. The book details the challenges of the PAL, GAL, and high density programmable arrays such as those from Lattice etc. Glue logic is common on modern PCB's but does not stop the schematic making sense as the interconnectivity needs of the other IC's on the board is often understood.
Well I think I have written enough here, but if you are new to PCB reverse engineering, or even if you already have some experience, this is a great read that I am happy to recommend. It is obvious that a lot of effort has gone into writing it, and the fact that the author continues to release free additional useful material via his web site is testament to his commitment to his readers.
I hope others will support this Gentleman's efforts by purchasing this book.
Aurora
(Fraser)