To My Readers



If this is the first time you're visiting my blog, thank you. Whether you're interested or just curious to find out about PCB reverse engineering (PCB-RE), I hope you'll find something useful here.

This blog contains many snippets of the content in my books to provide a more detailed overall sampling for my would-be readers to be better informed before making the purchase. Of course, the book contains more photos and nice illustrations, as evidence from its cover page. Hopefully, this online trailer version will whet your appetite enough to want to get a copy for yourself.

Top Review

I started doing component level repair of electronics with (and without) schematics more than 40 years ago, which activity often involves reverse-engineering of printed circuit boards. Although over the years my technical interests have shifted into particle beam instrumentation, electron microscopy, and focused ion beam technology fields, till this day——and more often than not——PCB repairs have returned multiple multi-million-dollar accelerators, FIB, and SEM instruments back to operation, delivering great satisfaction and some profit.

Many of the methods described by Keng Tiong in great details are similar to the approaches I've developed, but some of the techniques are different, and as effective and useful as efficient and practical. Systematic approach and collection of useful information presented in his books are not only invaluable for a novice approaching PCB-level reverse engineering, but also very interesting reading and hands-on reference for professionals.

Focus on reverse engineering instead of original design provides unique perspective into workings of electronics, and in my opinion books by Keng Tiong (I've got all three of them) are must-read for anybody trying to develop good understanding of electronics——together with writings by Paul Horowitz and Winfield Hill, Phil Hobbs, Jim Williams, Bob Pease, Howard Johnson and Martin Graham, Sam Goldwasser, and other world's top electronics experts.

Valery Ray
Particle Beam Systems Technologist

Saturday, June 17, 2017

More PCB Layout Examples

Learning the Microsoft Visio diagramming tool is just the start of an exciting journey in creating professional quality illustrations for your engineering work. You have the option of representing the same PCB using different approaches, just like the HP power supply module example found in my book, from this:

to this with more information:


You might think that only the pros are able to produce this kind of work fit for publication. But I can assure you that if you keep at it, you will only get better with time. Skill is something that is refined through constant practice. But you've got to start somewhere. Better still, if you have someone or a book to guide you along.

Tuesday, June 13, 2017

Laying Out the PCB Artwork

If you think Microsoft Visio is only good for doing flowcharts, organizational charts, or floor plans using its supplied stencils, I hope the earlier layout drawing will change your mind set. As far as I'm concerned, Visio does a pretty amazing job with 2D technical illustrations.

I won't go into details in my blog on describing the Visio workspace, how to configure its initial settings (user and developer modes, ruler and grids, guide lines and guide points, font, text, line and fill styles, etc.), the various quick maneuvering tricks (zooming, panning, scrolling) and manipulating objects (aligning, distributing, arraying, sizing and positioning). These are all covered adequately in my book.

For simplicity's sake, I use a simple example to illustrate the steps involved in creating a PCB layout of a SCSI host adapter, as shown below:


There are four specific steps to creating the PCB layout:

1. Prepare the drawing page
2. Draw the PCB outline
3. Create the component layout symbols
4. Populate the PCB

Each of these steps are also detailed in my book so that you'll be able to replicate exactly what I've drawn, using the X-Y coordinates and the size and position properties of each object that you create, including the SCSI connector itself. As you work through the exercises, you'll come to appreciate the beauty of breaking down a seemingly complex object into basic building blocks, and then assembling them together. You will also be taught how to create sophisticated objects such as the various SMT ICs (PLCC and its socket) and their footprints in a later part of the chapter.

You'll learn the trick of creating impressive PCB layout illustrations that are professional to look at and captivate your audience in your report presentation.

Friday, June 9, 2017

Why PCB Layout Diagram?

You may be wondering why you need a PCB layout diagram for doing RE work? Well, that depends on your style of working or preference. Some might think it's a hassle and prefer to just photocopy the PCB and use it as the basis to work on the schematics. I won't stop you from doing that, but allow me to give you a word of caution from my own experience—it'll get messy and confusing as you progress, and the less than ideal resolution of most photocopy printout might prove too much for your eyes, especially if the PCB is densely populated; also, if there are missing reference designators, you'll have to manually label them. And each time you screw up and need to redo the printout, it's going to be a perpetual pain you'd wish you had a decent layout diagram to print on demand.


A PCB layout diagram serves the following purposes:

1. Proper documentation of the PCB, including missing reference designators and additional data you might care to put in, such as the BOM side by side for quick reference.

2. Ease of locating specific components since it is in electronic form and therefore searchable even across multiple pages.

3. Facilitate marking (highlighting) of probed points to allow you to view your progress and cut down on repetitive probing, saving time and reducing wear or possible damage to the PCB.

Tuesday, June 6, 2017

Why Microsoft Visio?

As the blog URL suggests, I use Microsoft Visio for all my technical illustrations. It it the tool of choice for me ever since I first used it back in 1996. The versatility of this 2D diagramming software in terms of its functions and user interface makes it easy to learn compared to other CAD or CAE programs. This has to do with its initial design concept when the original maker (Shapeware) produced and marketed it in 1992. When Microsoft acquired it in 2000, Visio was given an overhaul and integrated with Microsoft Office. Though it suffered performance issues in the earlier Microsoft releases (as usual), from the 2007 version onward the software has become better in terms of usability and programmability with an improved smartshape structural definition.

Because Visio is a general vector-based graphics editor, it is suited for a wide variety of purposes, not just limited to flowcharts, processes or organizational hierarchies. It's multiple-page feature allows flat or hierarchical representation of schematics just like most CAE tools, less the steep learning curves and rigid component representations.

Besides the PCB layout diagram which you've just seen in the previous post, below is a full-blown schematic diagram of the DS203 nano mini digital storage oscilloscope which I've redrawn from the original using, you guess it, Visio:


This drawing, along with many more illustrations, will be featured in my upcoming book PCB-RE: Tools and Techniques, the sequel to The Art of PCB Reverse Engineering. It features many experts from different fields of the PCB-RE discipline, who will share their experiences and practices on the various aspects related to this niche topic. If you have bought and enjoyed reading my first book, then it might please you to know that the best is yet to come.

So keep a look out for its release in the not too distant future.

Monday, June 5, 2017

Creating a PCB Layout (Introduction)

The first thing you need to do after the preparation work (see the aforementioned ABCDs in my previous posts), is to create a PCB layout of the board you intend to reverse engineer on. The thought of creating a PCB layout, however, may seem daunting, especially to those who do not have the experience of using a CAD program. Consider the following example from my own portfolio:


Yeah, I know what you're thinking right now. Some of you might be thinking, "Wow! Is it possible for me to draw THAT?" Others might be contemplating about giving up the idea of doing reverse engineering, "You gotta be kidding! I could never do what you did even if I try..." Hopefully there'll be some who'll respond, "I like what I'm seeing and I'm gonna give it my best shot and see what I can come up with!"

Well, it's not as complicated as the first impression you might have. The book will show you how to create these professional PCB layout diagrams using Microsoft Visio, one of the best diagramming tool out there you can find. And believe me, in the process of learning how to use this amazing piece of software, you'll be able to create virtually any kind of engineering and artistic illustration your mind can imagine. And it gets even better: Visio has a hidden gem that many casual and frequent users often missed, avoid or overlooked - Smartshapes. This too is covered in the Advanced Topics of my book, which one reader commented:

Just received my copy of your book from Amazon. Amazing! This is going to be one of the most useful books I have ever bought. Visio has always been one of my favorite tools, and I would consider myself quite an expert, but you have shown me some wonderful new tricks!

Ken Howard
Configuration Manager
Wide Area and Space Surveillance Systems Program Office
Department of Defense | Capability Acquisition and Sustainment Group

Monday, May 29, 2017

Missing Reference Designators

Sooner or later, you are going to come across PCBs with components that do not have their reference designators printed on the silkscreen layer, either due to congestion of space or by design. What then?

Well, you can do the following steps:

1. Take note of component designators that are available on the component and solder sides' silkscreen layers of the PCB. Note down the largest number for each of the group designators (e.g. R123, C99, U68, etc.).

2. Determine the arrangement or layout of the components, paying attention to the way the reference designators run on the PCB, horizontally or vertically, from left to right or vice versa. Then follow the flow by adopting either a row or column numbering pattern accordingly.

3. Make a photocopy scan of the PCB, grayscale and inverse it, and then segment it into grids as shown below. Start numbering the unmarked resistors based on the grid reference: R1A, R1B, R1C, etc.


The above example uses column numbering pattern due to the layout of the components which makes it suitable for this scheme. Sometimes the components' layout maybe haphazard or random, in which case you can still produce a grayscale-inverse artwork of the PCB, print it out and manually write on the hardcopy. This is the fastest way to assign designators, but is quite messy and error prone.

A better way is to wait till you complete drawing the Visio layout diagram of the PCB before assigning the designators (what this book teaches). This will save you a lot of trouble in case you miscount or miss-count the components and need to white-out or erase the errors and re-number the designators on paper.

Tuesday, May 23, 2017

Components Without Markings

As the size of components get smaller, it becomes impossible to label them intelligibly, or even to label them at all. 

Some manufacturers do provide laser markings on their chip capacitors to prevent surface degradation or induced micro-cracks; these codes are based on the EIA RS 198 standards which use 2- or 3-digit alphanumeric codes to represent capacitance values. With these codes, you can then look up their product datasheet reference to determine the values. For example, A5 = 100,000pF or 100nF, where N denotes the vendor NovaCap.



But what do you do with SMD components without markings?

While you're more likely to encounter chip capacitors with no markings than chip resistors, resolving the latter is a much simpler and straightforward affair. A normal digital multimeter can usually measure resistors in-circuit quite accurately without interference from adjacent components, unless there are parallel resistors or low impedance path across the resistor in question.

Unfortunately there's no way you can measure a capacitor in-circuit due to PCB track capacitances as well as induced lead and bond-wire capacitances of components around it. For the most part, you can get some hint from the usage of these SMD capacitors. You can find out more on this and other topics in the book The Art of PCB Reverse Engineering.

Saturday, May 13, 2017

Component Classifications (Part 5)

Integrated Circuits

Integrated circuits (IC) are by far the most diversified and interesting of all electronic components, from small- to medium-scale (SSI/MSI) integration like the TTL/CMOS chips, to the large and very large-scale (LSI/VLSI) peripherals and microprocessors, and finally to the ultra large-scale (ULSI) containing over one million transistors, and the wafer-scale integration (WSI) that uses the entire silicon wafer to fabricate a super-chip.


And if you think you've seen enough possible varieties of component packages in the earlier sections, think again! As of April 2014, the existing list of integrated circuit packages can be grouped under eight major categories:

Through-hole SIP, DIP, CERDIP, QIP, SDIP, ZIP, MDIP, PDIP
Surface mount CGA, CCGA, CQGP, LLP, LGA, MCM, Micro SMDXT
Chip carrier BCC, CLCC, LCC, LCCC, DLCC, PLCC
Pin grid array OPGA, FCPGA, PAC, PPGA, CPGA
Flat pack CFP, DFN, QFN, PQFN, TQFN, QFP, BQFP, CQFP, LQFP, PQFP, TQFP
Small outline SOIC, SOP, CSOP, MSOP, PSOP, QSOP, SSOP, TSOP, TSSOP
Chip-scale CSP, TCSP, TDSP, COB, COF, COG, Micro SMD
Ball grid array CBGA, FBGA, LBGA, PBGA, SBGA, TBGA, μBGA

The above list is by no means exhaustive, but it gives you an idea of the extent the world of integrated circuits encompassed. 


Note:

My book's Appendix C contains sample isometric illustrations of popular IC packages which might be useful in identifying these myriads of ICs you may come across on a PCB. Of course, it does help to know that ICs are mostly designated as U or (you guess it) IC on the PCB's solder mask.

Friday, May 12, 2017

Component Classifications (Part 4)

Had been pretty tied up with my next engineering book lately, as well as family commitments. Well, here's the next installment:


Transistors and MOSFETs

The transistor—from its humble beginning as a discrete entity in 1947 at AT&T's Bell Laboratory, to its present highly integrated forms numbering in the millions—is the basic building block of all modern electronic devices.


Transistors can be broadly classified into two types: bipolar and unipolar (also known as field-effect transistor, or FET). The bipolar transistor has three terminals labeled base, collector and emitter, and utilizes a small base current to control or switch a much larger current between the collector and emitter. As such, the BJT can function as an amplifier in the linear range, or as a switch under saturated condition. The FET also has three terminals labeled gate, drain and source, but uses a gate voltage to control the current between the source and drain. The FET can be further divided into junction FET (JFET) and insulated or metal-oxide semiconductor FET (MOSFET).

Like the diodes, military grade transistors are similarly prefixed with JAN, JANTX, JANTXV, or simply JX before their usual 2Nxxx commercial part numbers. Likewise, SMD transistors are marked with 2 or 3 alpha-numeric codes. For example, the Fairchild MMBT2222A is the equivalent of a 2N2222A TO-18 NPN transistor. There are also transistor array ICs used mainly for driving/sinking high current loads, such as the ULN2803A.

Wednesday, April 19, 2017

Component Classifications (Part 3)

Generally, passive devices have no functional gain or control over voltage or current, their controlling function is basically linear as in the case of a resistor. Active devices on the other hand has the ability to electrically control electron flow to manipulate and transform a signal's properties. For a circuit to be considered electronic, it must contain at least one active device.

Diodes and Zeners



A diode, by definition, is a two-terminal non-linear device that works on the p-n junction principle that exhibits forward and reverse biasing characteristics. There are many types of diodes, from the common rectifier to the varactor, the light-emitting to the photo-laser, and the step recovery to the zener, etc.

So what is the difference between a diode and a zener?

While a diode operates on the forward voltage region and may suffer catastrophic failure if subjected to voltages that exceed its reverse breakdown limit, the zener can safely operate on the reverse voltage region. In other words, while a diode conducts current in only one direction, a zener, by virtue of its heavy narrow junction doping, can conduct current in both directions with the ability to maintain a stable voltage in the reverse bias condition. This makes the zener ideal for applications such as voltage references in comparator circuits and voltage stabilizers in low-current circuits.

As you'd probably realized by now, unlike the axial-lead diodes, SMD packages can contain more than one diode per package type, such as the BAV99 example just mentioned. Things can get really tricky, however, when you work on PCBs with many of these SMD type components present, so it's good to download a copy of the SMD Codebook and keep it handy for quick reference.


Ps: While there are many editions of free SMD Codebook online, readers who buy my book will get a copy of the SMD Code Reference Book, which contains over 500 pages listing of more than 23,000 SMD type component markings.

Tuesday, April 11, 2017

Component Classifications (Part 2)

Before going into active components (semiconductors and ICs), let's take a look at one type of device
that is widely used in many digital and processor-based PCB designs—the crystal oscillator.


Crystal oscillators, whether excited by the host ICs which they are connected to, or powered by external sources, exhibit high quality factors (Q) above 10,000 and are suitable for use as resonators and in high stability tuned circuits.

In its simplest form, a crystal oscillator has a fixed frequency vibration with accuracy up to ±30ppm, but greater accuracy and stability can be further achieved in mission critical system using special variants like the voltage-controlled crystal oscillator (VCXO), temperature compensated crystal oscillator (TCXO), and the oven-controlled crystal oscillator (OCXO).

Tuesday, April 4, 2017

Component Classifications (Part 1)

Components are the basic building blocks in electronic circuits. They come in all shapes and sizes and perform different functions based on their electrical characteristics, some of which are simple and straightforward, while others are complex and cascaded in nature,

Generally, components are classified into discrete and integrated, the former being a single entity or unit, while the latter is made up of multiple discrete entities ranging from a few to over a million, depending on the manufacturing process and technology. These are further differentiated into passive and active components, the former requiring no external sources to power or operate, whereas the latter uses and manipulates energy to effect gain or change in a signal's condition.


Passive Discrete Components

Some examples of passive discrete components are shown in the photos below:


The resistor is one of the most basic element in an electrical circuit. Types of resistor include carbon composites, chip SMDs, PTC thermistors, aluminum clads, and networks. Second only to resistors, capacitors are one of the most common components you'll find on PCBs. Types of capacitor include electrolytics, micas, chip SMDs, radial-lead ceramics, and axial-lead tantalums.

Together with resistors and capacitors, inductors belong to the same passive linear circuit elements found in electrical circuits. Inductors and capacitors are two types of energy storage elements—the former deals with current while the later with voltage. Types of inductor include axial-lead, radial-lead, torroids, ferrite-cores, unshielded and shielded SMDs.

A fuse is a kind of resistor with low resistance and built to tolerate a certain amount of current, which if exceeded, will cause it to blow up and become an open. In other words, it's a protection device. Types of fuse include axial-lead, glass cartridges, radial, SMDs, resettable and blade.

Most relays are electro-mechanical in structure in which contacts make-and-break by means of a relay coil being energized or de-energized by a control voltage. For this reason, they are also called electrically operated switches. Types of relay include electro-mechanical, reeds, TO-5, SMDs, solid-state and hermetically sealed.

It is important to be able to identify these discrete components when doing PCB reverse engineering, especially with modern surface-mounted boards where such components are shrinking in size and their markings on the PCB are kept to a minimum.

Friday, March 31, 2017

Datasheets

We now come to the last part of the basic preparation work—collecting component datasheets. I cannot emphasize enough the importance of having the necessary information ready on hand as you work on the PCB. There is nothing more frustrating than getting stuck with a component and not knowing its pin-outs or functions to meaningfully relate its role to that part of the circuit it is located at. Doing PCB reverse engineering is more than just blindly tracing out the inter-connectivity of the components on a PCB, it is the ability to make sense of the board's topology and organize the various pieces of the puzzle as they form, and finally to recreate the schematic diagram as close to the original design, and as usable (and readable) as possible.


In this respect, component datasheets serve a number of purposes:

*  In terms of PCB layout, provide the physical dimensions of the package so you can:
    a. Create the layout symbol if it's not found in the Visio stencils,
    b. Accurately represent the component to scale on the layout diagram.

*  In terms of the PCB schematic:
    a. Provide the component pin-outs to help you determine possible connecting points, and whether
        the traced out paths are logical and correct,
    b. Provide the truth-table functions or signal properties (input, output, bidirectional, etc.) should
        the pin-outs are not obvious or self-explanatory in themselves,
    c. Provide design application notes that give hints on how the component can be used in relation
        to other components.

Monday, March 27, 2017

Conformal Coatings

As the term implies, a conformal coating is a thin film (25-75μm) of protective chemical substance (or membrane) that coats over a PCB or electronic assembly by conforming to its contours and components. Conformal coating in effect applies a layer of insulation on the PCB against moisture, dust, heat, fungus, and corrosion, etc.

Not all PCBs are conformal coated—motherboards found on personal computers and laptops usually aren't, including circuit boards that are installed in most mobile phones. In fact, many PCBs found in commercial household products like TV, washing machines, fridges, and hi-fi sound systems seldom are, except in countries where the weather and environment warrant its use. Military circuit boards and PCBs used in aeronautical designs, on the other hand, because of the harsh and often extreme conditions in which they operate in, must of necessity be conformal coated to ensure they continue to be functional and reliable.

PCBs that are conformal coated usually have a glossy shine on both the component and solder sides, and will exhibit a luminous blue glow when placed under ultraviolet (UV) lighting. The table below lists five types of material you will most probably encounter:


Most conformal coated PCBs I worked on so far use some form of acrylic resin as the medium, which is quite easily removed with solvents like the Humiseal 1080, a VOC-compliant, non-ozone depleting
chemical.

There are rare instances where the coating is epoxy or polyurethane, in which case I resorted to running a fine-pitch file gently over the tips of the component legs to lightly scrap off the coating to expose the conductive solder, and then brushing off the flakes using an anti-static brush.

Thursday, March 23, 2017

Bill of Materials

The bill of materials (BOM) associated with a PCB provides a complete listing of the components present on that board, as well as possible optional ones depending on the PCB revision and configuration. It would be great to have the BOM readily available as it definitely cuts down the amount of work to create one yourself, and eliminates guess work and further effort to determine the values of components such as resistors, capacitors, and other surface-mounted devices (SMDs) which are too small to be marked.

On top of that, most military-grade PCBs have one peculiarity—the ICs used are of military specification (MIL-spec) type that do not exhibit the familiar standard industrial part numbers (e.g. SN74LS00), but have cryptic and hard to decipher NATO or national stock numbers (NSN), or MIL-STD-883 part numbers (e.g. M38510/30001).

To create a BOM for the PCB, you need not go into details the way the manufacturers do for their products. It's meant to be for your reference so keep it simple with just the two essentials—part number and reference designation. Below is a sample BOM which I made from a military PCB:


Notice the MIL-STD-833 part numbers for most of the ICs ending in /833 or /833B? Even the discrete components are MIL-spec grade! The values of the resistors can actually be determined from their part numbers, but the capacitors will need referencing to the manufacturer's look-up tables based on their groupings (i.e. M39003/01, /03 and M39014/01, /02).

Identifying the components on a PCB, however, will require some knowledge and familiarity about their appearances and takes a bit of practice.

Tuesday, March 21, 2017

Assessibility

Generally, PCBs can be grouped into four types: through-hole, surface-mounted, mixed, and flex-print. Prior to the appearance of ball-grid-array (BGA) components, majority of the PCBs have little or no accessibility issues since the component leads or pins are visibly soldered to the board by machine or by hand. There are exceptions, however, when a manufacturer decides to apply some kind of epoxy compound over certain parts of the PCB to provide support for weak spots or socketed components, or simply to mask off sensitive information to keep prying eyes away or discourage repair and rework.

SMT technology has, however, evolved to the point where even more precious board space savings can be achieved on the PCB, by transforming the through-hole pin-grid-array (PGA) a step further to the surface-mount BGA. Such progress is seen as inevitable and necessary in engineering expediency and business sense, but not necessarily appreciated and welcomed by the test and repair communities, since it severely hampered the ability to test and repair this type of PCBs using traditional methods and equipment.

The often hyped alternative solution to this predicament is boundary-scan or JTAG testing. Granted, many new ICs including the BGA types have in-built JTAG circuitries, but ensuring that a PCB meets the JTAG requirement will take additional efforts on the designer's part to implement to realize the design-for-testability (DFT) goal.

Accessibility of probe points is thus an important factor to consider before reverse engineering work can commence. You should therefore make an estimate of how much of the PCB's component leads or pins are accessible, compared to those that have been obstructed, hidden, or even buried intentionally. One other factor that adds to the problem of accessibility is conformal coating; we will look at it separately since it's quite a broad subject in its own right.

Monday, March 20, 2017

Basic Preparation Work

"If you know both yourself and your enemy, you can win numerous (literally, a hundred) battles without jeopardy."
Sun Tze, The Art of War, c. 544-496 BC

The same is true when it comes to reverse engineering a PCB. I have mentioned previously the background that is expected of you—that's knowing your abilities and the areas you may be lacking for a start. Not that you can't start right away. It'll be good though to make an inventory list of the areas you need to brush up and get back up to speed, and where you really need to put in effort to build up that knowledge.

As for knowing your enemy—well, that's what Chapter 2 is all about!


Getting to Know Your PCB

I don't know about you, but as an electronics engineer, being able to look at a PCB and appreciate the ingenuity of the designer that brought it into existence, from initial ideas to implementation, from its baseline specifications to its intended functions, and from the choice of components to its final layout to achieve the best possible use of limited board space, it's more than just engineering and planning. There is an artistic beauty that is visible only to the initiated, and a hidden gem that is revealed to the keen-eyed. In every PCB there is a treasure to be discovered, some coveted design knowledge to be gained; and that is a strong enough reason and motivation for the hard work ahead.

Here are the key areas you need to pay attention to and gather as much information as you can before launching into the deep:

1.   Accessibility (probe points)
2.   Bill of materials
3.   Conformal coating
4.   Datasheets

I call these the ABCD's of preparation work. By working through these key areas, you'll gain a better overall picture of a PCB, which may help you decide if it's feasible to attempt, if you have the time and ability to do it, and whether it's worth the effort or not.

Wednesday, March 15, 2017

The Three D's of RE

PCB reverse engineering is by no means an easy task. Very often, it is laborious because of the repetitive nature in finding and ascertaining the electrical connections between components. Also, being able to constantly visualize the schematic diagram that is slowly taking shape and having to realign the various portions of a circuitry to ensure readability requires certain artistic affinity—a skill that can usually be picked up and refined only with practice.

Ultimately, it comes down to three essential traits that a person who wants to engage in such a work must possess in order to be able to successfully complete the task:

Determination

A 'never say die' attitude is important especially when faced with the constant frustration of not being able to locate the electrical connections to make sense out of the partial schematic diagram. This is not to say that one must be insistent on finding the 'missing link' and gets stuck on one particular part of the PCB, and not able to make further progress. Working smart is just as important as working hard!

Discipline

Being focused, systematic and maintaining a careful work practice are necessary to avoid unwanted mistakes that can prove to be both time–wasting and confusing, perhaps even to the point it demoralizes you. Many engineers have the habit of diving straight into a project or task without giving thought to at least some planning or preparation work. This is a BIG mistake that will pay grave dividends—believe me—I made them myself and thankfully survived to regret (and learn from) it!

Dedication

Nothing can replace the satisfaction of seeing a task complete if a person does not take ownership of the work and prides himself or herself in the thing he or she is doing. After all the end product bears the signature of the craftsman!

Monday, March 13, 2017

My Stand on Copyright

Whilst copyright laws exist to discourage or keep at bay would-be competitors (or even pirates) from stealing the designs and ideas for their own commercial gains, PCB reverse engineering services are still very much sought after, more as a desperate attempt to resolve the genuine problems of obsolescence or lack of support, and in such cases the PCBs reproduced are usually intended for internal consumption and not external circulation. Confidentiality and non-disclosure agreement (NDA) will also ensure that only the customer and the service provider are the only parties in the know.


It's a fine line we're treading when we do reverse-engineering of any sort. We need to ask ourselves why we're doing what we're doing, and whether we're doing it out of necessity on a personal capacity to get our job done, or out of curiosity when a certain PCB design so intrigued and interests our engineering senses that we couldn't pass it by without knowing what makes it tick. Frankly, troubleshooting and diagnosing PCBs without documentation invariably involves some degree of reverse-engineering, albeit in a less systematic and perhaps haphazard way. Prior to taking up reverse-engineering using Visio, I did what many repair technicians or engineers would do when stumped with a PCB without schematics—create partial sketches of the circuits I was analyzing, hand-drawn or with the help of primitive graphics editor.

Having said that, I personally do not endorse PCB reverse engineering to be used as a tool for anti-competition or theft of design, in which the end result is the financial lost of the rightful designer or company concerned. I believe that as an engineer, there is a code of honor to live by and uphold, by which personal enrichment and knowledge can be gained and shared, but not at the expense of others.

Thursday, March 9, 2017

Legal and Copyright Issues

Probably one question you have in mind when approaching the subject of PCB reverse engineering is copyright issues.

So to what extent is PCB reverse engineering legal, and under what circumstances is it a violation of the copyright law? Given the complexities of legal terms involved, there are simply no straight answers. Still, the fact is there are companies out there openly advertising and providing PCB reverse engineering services, as well as selling software tools that perform such tasks. To my personal understanding, such services exist for some of the following reasons:

1. The PCB is obsolete and no longer supported by the original equipment manufacturer (OEM) or in some cases, the OEM is out of business and supply of the PCB is unavailable in the market. In such instances, the only recourse then is to engage these companies to reverse engineer and reproduce the PCB in sufficient quantity to extend the useful life of the system.

2. The company or OEM that designed and produced the PCB lost their design files (whether by accident or through catastrophic causes) and are still under contractual obligation to support their product before its end-of-life (EOL) period.

3. Modification to the original PCB design is required for extended capabilities but due to nature of confidentiality, the OEM cannot be involved or have foreknowledge of such changes, in which case obtaining the OEM's design files will be out of the question.

For those interested to know more about copyright issues pertaining to this subject, a good article can be found in the paper written by David C. Musker in which he presented at "Protecting & Exploiting Intellectual Property in Electronics", IBC Conferences, on June 10, 1998.

Wednesday, March 8, 2017

My Personal Story (Part 3)

You can see from the photo that the infrared matrix sub-assembly is quite a big board with a rectangular cutout in the middle for an array of horizontal (40) and vertical (30) pairs of infrared emitter and sensor diodes. These fit nicely around the tinted bezel display frame in which the brightly orange-lit plasma display of the display driver sub-assembly shows through.


The infrared matrix sub-assembly (top view)                                              Layout drawing

If you work often on surface-mounted or mixed PCBs, you'll notice that apart from the ICs and bigger component parts, the miniature SMT resistors, capacitors, and even semi-conductors such as the SOT package3 diodes and transistors may not have reference designators assigned to them on the silkscreen layer, and this is expected with densely populated SMT boards due to the difficulty and impracticality of doing so. The book explores how to give these nameless discrete devices their reference designators to facilitate the drawing of the schematic diagrams.

To cut the story short, in total I spent about a month drafting the parts list, gathering the datasheets, creating my first collection of Visio symbols for both the layout and schematic entities, drawing the PCB layout, and finally tracing out the schematic diagram.

Monday, March 6, 2017

My Personal Story (Part 2)

The next consideration was what CAD software to use for this endeavor. It so happened that there's an old copy of Visio Technical 4.5 lying around, so I installed and fired it up to do some fiddling around. It made an instant connection that persuaded me this was the best tool for the job! The first thing I did was produce a mechanical drawing of the front panel, as shown below, which took me just slightly over half an hour. Not bad for a start, eh?

The rear view of the unit was more complicated with the CPU board and the display driver sub-assembly visibly in view, but I managed to draw that too though at a much later date when I had the time to do so. However, I will not be showing it here since that is not the main focus of the story. Still, I'm sure you'll agree that Visio fared pretty well for illustration purposes (and we're just warming up!).

After disassembling the unit, I proceeded to analyze the infrared matrix sub-assembly and gathered whatever information I could find on its components. What intrigued me was the primitive yet beautiful design of this multi-layered PCB—the making use of narrow-angled beam infrared emitter and sensor diode pairs—to achieve the X and Y coordinates mapping for the touchscreen effect that was the usual practice back in the mid-1990 era. It had many of the elements that made reverse engineering particularly interesting and challenging, such as the peculiar shape and size of the PCB, the presence of through-hole and surface-mount components that are mounted on both sides, and the thick conformal coating. That's quite a handful for my virgin attempt but I went ahead anyway.

Saturday, March 4, 2017

My Personal Story (Part 1)

As a principal engineer working in a defense industry company supporting the military, notably the air force and navy, in the area of local depot-level repair involving weapon systems that are, well, rather dated, it is inevitable that many defective PCBs that are sent to my workshop lack the necessary schematic diagrams to carry out troubleshooting analysis and repair work. Sounds familiar to some, if not many of you who are repair technicians and engineers by profession, isn't it?

My first serious attempt at PCB reverse engineering happened in the spring of 2001, about six months before the fateful 9-11 event. It was a Monday morning when I came in for work and as usual a trip to the pantry to get a cup of hot water. As I passed by the meeting room, I noticed a 16 by 12 square inches by 3-inch high item lying face down at one corner of the conference table. In the course of the day, some of us went in and out of the meeting room, taking curious peeks at the item but no one could figure out what it was doing in our work centre. It was only near lunch time when my manager came back from a meeting that he beckoned me to the room and said, "What do you think—can we repair this unit?" Suddenly it dawned on me that I was tasked to take up the challenge, being one of the senior and more experienced engineers at that time.

After examining more thoroughly I remarked, "It seems to be a high voltage display unit of some sort. We've done PCB repairs all along but this is the first time we're looking at a whole unit." Well, my hunch was right. It's a plasma touchscreen display unit used on-board naval ships. My manager related that the navy had approached him for a solution to their repair predicament—they had been sending these defective units overseas to be repaired by the OEM, and being end-of-life (EOL) items, there's no more contractual support so the cost of repairing each unit was ridiculously high. Lately the frequency of breakdowns had increased due to aging, and the navy desperately needed a solution to cut their overseas repair cost, and fast.

"Let me take this baby apart to study it. I'll get back to you in three days." And so it was that on the third day I reported my findings to my manager.

As shown in the partial cross-section, the touchscreen display unit comprises five sub-parts:

1. CPU control board
2. Display driver high-voltage sub-assembly
3. Infrared matrix sub-assembly
4. Touchscreen display frame
5. Front panel mounting

Defect symptom for this unit was no display so I worked on the display driver sub-assembly and found some faulty power MOSFETs. The parts were ordered and replaced but no testing could be carried out since there's no electrical drawing to show connector pinouts and what power to apply. The item was sent back to navy for site test and surprisingly it passed!

I was told that more such units would be coming in from the navy's back logs with quite a number of them having touchscreen with no response failures—an indication that the problem might have something to do with the infrared matrix sub-assembly. It therefore prompted me to consider doing reverse engineering for this particular sub-assembly.


Friday, March 3, 2017

Types of PCB

Printed circuit board (PCB) technology has seen a tremendous jump since its humble beginnings in the early 1900s. From simple discrete, single-sided through-hole to the complex fine-pitch, multi-layered surface-mounted board, the amount and density of components for a given PCB area have increased manifold while the overall size of PCBs have reduced substantially.


Such rapid advancements in PCB design not only present problems and difficulties to the test engineer who is responsible for writing test programs for the board, they also pose seemingly insurmountable challenges to those daring enough to re-create the schematic drawings. PCB reverse-engineering is indeed not for the uninitiated nor the faint-hearted. But for those who are willing to devote their time and energy to learn this art, the end results can be rewarding to say the least; it may even put you a cut above your fellow engineers because in the process of doing it, you not only unravel the beauty of the PCB itself, you actually gain engineering insights and ideas from the original designer's expertise and ingenuity on how a particular circuit is designed, how certain difficulties are overcome, as well as the sound practices and design techniques that are applied in the real world.

Tuesday, February 28, 2017

Why Bother?

That's a reasonable question. After all, there are machines out there in the market that can do the work more quickly, accurately, and reliably in a week or less, such as those shown below:


So why even bother to learn how to do PCB reverse engineering by hand? Firstly, flying probe test systems are expensive test equipment. A basic system easily costs over $100k and that's not including the software license for the reverse engineering option. Even if your company could afford it, nobody would stick out his neck to buy one unless there is strong business justification for the purchase. And we have not yet consider the training and learning curve to familiarize its process and utilization, the yearly calibration and maintenance of the machine, and the cost of ownership just continues to add up.

What about benchtop versions with semi-automated learning of circuit traces? I can think of a number of vendors that supply such a product, namely Abi Electronics, Diagnosys, and Qmax. These products may be cheaper than a flying probe test system, but not necessary affordable, easier to use, or better in delivering quality results.

As for the simpler and lower cost pizza-box system, a basic configuration with 128 channels will set you back by about $5-7k at the time of my enquiry. Abi Electronics also sells their more powerful cabinet systems that support from 1024 to 2048 channels to reduce the amount of test clipping on the PCB, but again the cost will invariably go up too. In terms of usage, after defining the components and placement the RE software will guide the operator to clip or probe in clusters, depending on the available channels, and then learns the connectivity of the PCB. The netlist generated is then exported to another EDA tool called EdWin from Visionics, a much more user-friendly and feature-rich schematic editor.

While it sounds simple enough to clip and probe circuit clusters, my experience with Abi Electronics equipment taught me the challenge is in ensuring good electrical contact between the test clips and the component pins. This means that the PCB must be stripped clean of any conformal coating, and the test clips must also be free of oxidation and the grip must be good and not weaken as a result of mechanical fatigue from frequent use. If the PCB is surface-mounted or mixed type, you'll need an assortment of SMT test clips to do the job as well, and these QFP and PLCC test clips are by no means cheap!

So the real question is, are you prepared to fork out the money up front for a one-time or ad hoc PCB repair job that requires you to do a bit of reverse engineering? I think the answer is pretty obvious.