Have you ever gone into a situation thinking that you’re totally prepared, only to come out of it feeling like you are totally clueless? Unfortunately, I have experienced this more times than I would like to recount. This was especially the case when I started designing products for serviceability or design for repair. There are many factors to consider before you decide whether your product should be designed for serviceability, and you should take the time to consider their feasibility. If design for repair is your final decision then the bottom line is, you need to include features that make your product easy to service and troubleshoot. Since my initial design errors, I’ve learned how to optimise my design for serviceability. Here are some helpful tips.
1. Add Visual Indicators
Servicing electronics on-site can be overwhelming for a support team, especially the malfunction is causing a delay in critical operations. Having a few well-placed visual indicators, like LEDs or LCDs, can help the support team quickly hone in on the problem. You can use LEDs to indicate that the board is being powered, that the microcontroller is alive, or that the board is properly transmitting and receiving data.
2. Label your PCB
Your tech support team can be armed with the latest schematics, but if you are not labeling onboard components properly then they will spend a lot of time hunting for the right part. Use a system to designate components according to their module and make sure that silkscreen labels are placed next to the right components. You’ll also want to add meaningful labels beside designators for wire to board connections. Labels like “PC” easily tell technicians that a particular connector is connected to a PC. You’ll also want to add polarity signs like “+” and “-” when incoming wire connections are polarity sensitive.
3. Implement Error Logging Capability
You can’t neglect error logging when you are designing complicated embedded systems. In most cases, problems and bugs that escaped lab testing are difficult to track on site. Those problems are often triggered by a combination of variables and cannot be reproduced easily. To make matters worse, the system may have been reset by the time the support team attends to the problem. At the very least, a basic error logging mechanism that involves nonvolatile memories like electrically erasable programmable read-only memory (EEPROM) or Flash should be incorporated into the design. An error code is definitely better than making a wild guess when troubleshooting a problem.
Instead of hunting for a hardware or software bug, log the error when it occurs.
4. Ease Of Firmware Update
While this is really the responsibility of the firmware engineer, it helps to know that leaving the debugging pins after the prototyping phase can help the design team to sometimes run diagnostic test code on site when that appears the best way to locate bugs or perform on the field firmware update. In a more elegant method, adding a microSD card circuitry can allow firmware upgrade by merely inserting a card with the latest version of the firmware.
5. Use Pluggable Connectors
Often the best way to identify a problem is to isolate and rule out other possibilities. When you have tens of digital inputs connected to a PCB and you’re not sure which are the problematic ones, you need to systematically test them. Pluggable connectors allow the support technician to quickly remove a connection, instead of wasting time in screwing and unscrewing every single wire.
6. Mount components on IC Socket
There is a reason why certain components like optocouplers and serial communications chips are still available in the plastic dual in line (PDIP) packages. For applications where your PCB is connected to wires that are exposed to lighting strikes, the first components that come into contact with those wires often suffer the brunt of the strike. This is why opting for PDIP packages and placing components on IC sockets could save you the time of dismantling, desoldering and resoldering to replace the damaged components.
Use IC sockets for surge-prone components.
7. Ensure that your components are arranged properly
Proper component arrangement might seem intuitive to someone with experience, but it is good advice for less experienced engineers who are designing their first PCBs. This will help your technical support easily identify single components. Also, it is often a bad design practice to have your components strewn across your board. Remember to group connectors that belongs to the same module together. For example, you’ll want to have all the connectors for optocoupler inputs together in a sequence followed by relay outputs. The same applies to placing all the components for power module in a section and not having one or two parts in the analog sections.
Before you start to route your PCB, check if it is designed for serviceability. Professional PCB software, like Altium’s CircuitStudio, can help get you started designing your products for serviceability.
Have a question about design for repair? Contact an expert at Altium.
Reading this but don't use Altium yet? Be sure to check out your own free trial to find out for yourself why Altium is the best professional PCB Design software.
Share your feedback in the comments below and remember to share.