Reverse Engineering Services

We offer reverse engineering services in the following areas

  • application software
  • drivers
  • firmware
  • RF communications
  • wired communications
  • component level hardware
  • PCB reverse engineering

We do not have equipment to uncap  and reverse engineer chips. We are familiar with the techniques and can refer clients to the right firms.

Reverse engineering is a time consuming and costly process and is usually  a tool of last resort. In our experience, very rarely does a complete system need to be reverse engineered. We focus on the objective of reverse engineering and try and accomplish that in the least time consuming and costly way.

If you are trying to recreate the functionality of an old part, very often the components used on it are obsolete. In this case we can redesign the part with new components.

Some samples of our reverse engineering

  • Reverse engineered a  USB Windows bnary driver and re implemented it in a cheap microcontroller.
  • Reverse engineered application software on PC whose source code was not available. This allowed a multimillion dollar DoD program to proceed.
  • Used RF equipment to reverse engineer a RF communication protocol.
  • Satellite controller board for NASA

For more details look at our technical site .

Posted in Uncategorized | Leave a comment

Services and capabilities

When Time is of the Essence; When Lives are at Stake; When it Simply Has to Work

We deliver working systems fast.  How?  We locate the hard to find parts that you need.  We redesign modules to accommodate changing requirements and to design out irreplaceable parts.  We reverse engineer parts when the original specifications are lost or unavailable.  We perform the following test categories in-house (with formal certification available from independent test labs): functional, environmental, electromagnetic radiation and susceptibility, electrostatic, and vibration.

We make your repairs easy and affordable.  How?  We provide replacement parts that allow the government to sever long term monopolistic supply sourcing.  We eliminate the need to procure through large business bureaucracy.

We manufacture parts in the National Capital Region in ISO9000 certified facilities.  Why?  Our lean processes and organization enable our design and manufacturing to be globally cost competitive while delivering all the advantages of being “made in the USA.”  When you call us, you get access to a real live design engineer with commercial and DoD experience.  We comply with DoD standards for manufacturing.

We are a one-stop engineering shop.  Why?  We design and manufacture electronics assemblies, power and energy systems, radio frequency (RF) equipment, data acquisition modules and mechanical assemblies.

We deliver working systems and parts, not Powerpoint presentations!!

Posted in Uncategorized | 2 Comments

Field Proven Methods for Effective Obsolescence Management

We present here a few methods that have helped us keep systems and products working, manufacturable and relevant to users. These methods start from the design phase and continue over the entire lifecycle of the system. Nobody likes to think about the end of a marriage while they’re planning their wedding, but a smart, disciplined, well-prepared businessman will insist on a prenuptial agreement anyway.

Good designers design systems that work, while great designers design systems that work and are also manufacturable for a long time. A part of this craft only comes from experience, of knowing which parts are likely to go obsolete and which parts have a long life. For example, displays and their drivers often go obsolete within a couple of years; so experienced, great designers use displays that are being used in the automobile industry.

It is important to capture ALL communications relating to the system – formal and informal This includes formal design and test documents, as well as informal emails, chats and meeting minutes. In our experience, formal documents rarely capture all the issues and informal communications provide the context in which key design decisions were taken.

Both build and test environments should be virtualized as far as possible, and the virtual machines archived. Later versions of compilers and test tools will differ from the original and may introduce variations that will be difficult to track down. If the machines are not virtual, components necessary to rebuild the system should be archived. This may include hard drive clones, compilers, test jigs and test programs.

When the design is complete, it may be advisable to hand off the design to an obsolescence management team at the same time as the design team is being given to manufacturing. The obsolescence management team can be made up of individuals from the design team or be a separate obsolescence management laboratory. In our experience, top designers want to do another design and not be tied down to maintaining the design.

It is important the obsolescence management team is able to test inexpensively and test quickly. External test laboratories and testing organizations tend to be slow and costly.  In our experience, they should only be used for system acceptance testing. Earlier test phases should be carried out in-house using less expensive and more effective methods. An obsolescence management laboratory should have the ability to carry out all relevant tests relating to:

  • Electromagnetic compatibility
  • Electrostatic Discharge
  • Temperature cycling
  • Humidity
  • Vibration

Proactive parts and sources monitoring should be done to ensure their availability.  It is important to  know where to get parts.  There are specialized distributors of hard to find parts that can be used. It is also important to know how trustworthy the parts obtained from the distributors are. Some distributors pull expensive parts from discarded equipment. These parts while being indistinguishable from new parts often fail in the field.

It is also important to know which parts to use and substitute. For example, automotive grade parts often have better specifications and availability and are cheaper than military grade parts. They are also less likely to go obsolete!

Requirements obsolescence is another factor to keep in mind while doing obsolescence management. User requirements ALWAYS change. Sometimes the requirements change so rapidly that design work on the next version must begin while the current version is still being taken to manufacturing. In other cases, requirements change more slowly. This case is much harder since the design team and their knowledge is long gone when design changes need to be made.

It is important that the obsolescence management laboratory be able to carry out design changes cost effectively. Sometimes the part required is not available or the requirements change so that a design change is often the only way out. The obsolescence management laboratory should be able to carry out the necessary modifications whether they be mechanical, electronics, hardware or software.

The obsolescence management laboratory must also ensure that the modified design meets the requirements – functional, environmental, electromagnetic immunity, power budget, thermal budget, and so on.

Obsolescence management may seem like a costly and involved process. However having a centralized obsolescence management laboratory may help.  A centralized obsolescence  has well defined processes for checking parts for availability.  Since it maintains many designs for obsolescence, the effort of checking vendors and sources for parts can be amortized over multiple products. The same design and test facilities can be used for multiple designs. The individuals at a centralized obsolescence management laboratory are more productive since they since they do the similar tasks day in day out and build up their expertise. This results in a cost savings for each design.

Posted in Uncategorized | 1 Comment

Simply Works is Important and Hard!

What does it take to for a solution to simply work? It has to be

  • reliable under all design conditions
  • intuitive and easy to use
  • only the features needed are exposed and rarely used features are hidden away from casual use
  • easy to maintain
  • easy to extend to meet needs not covered

We are surrounded by systems and solutions that simply work. They range from deceptively simple like the clothes we wear to incredibly complex  like the automobiles we drive at.  Even though we take these simply working systems for granted,  the simplest of them is the product of thousands of hours of design, usage and trial and error.

It takes discipline to design a solution that simply works – the discipline to ignore the clamor to include features that are useful to only a small set of vocal users, the discipline to withstand the temptation to demonstrate one’s technical virtuosity by including bleeding edge technology, and the discipline to go through long testing cycles.

It takes a strange  combination of perceived arrogance and  real humility from a good designer to eventually have a simply works design.  The  Chief Designer  often appears as arrogant because he/she often rejects ideas that would damage the sanctity of the vision they have for the solution. Shigeru Miyamoto of Nintendo and Steve Jobs of Apple are designers whose visions drive their companies.

And it takes humility to recognize that despite the effort and personal investment put in the solution, it might still fail in certain conditions and need improvement. It takes humility to realize that the key design idea one came up and is personally invested in will not work.

Mindlessly adding features trying to keep ALL users happy in all situations does not lead to an elegantly simple solution that works.  At the heart of a solution that simply works are intelligent feature choices based on usage.

Unneeded exposed features create negative value for users making the system difficult to understand and use Extra features take design, development, testing and documentation time. The extra features may break often causing the  entire solution to stop working and reducing reliability.

For solution to simply work it has to be reliable in all usage conditions.  Reliability comes only after extensive usage and testing.

The original design of C programming language embodies this simplicity. The modern automobile is a marvel of engineering. It is an incredibly complex system with a relatively simple user interface that has remained unchanged for the last few decades. Similarly the simply works characteristic of the AK-47 assault rifle has led to it becoming the most widely used assault rifle.

Posted in Uncategorized | 1 Comment

Turning Government Pain Points to Pleasure Points!

At SWS we turn government client pain points to pleasure points.  Government clients often have the following pain points

  • Contractors try and make themselves indispensable by using proprietary closed architectures, witholding documentation and technical data
  • Systems and equipment delivered by the contractor do not work as they are supposed to work
  • Systems and equipment cost far more than the cost of similar equipment commercially
  • Systems and equipment delivered have major security vulnerabilities.

Our approach is outlined in the following paragraphs.

Use of Open Architectures
Our systems and products are designed to be open. All interfaces are specified allowing additions and changes to be made to the system.

In addition, where appropriate, we use open source systems.

Delivery of all documents
We deliver all documents associated with the system necessary to operate and maintain the system. All relevant interfaces are specified and documented.

Comprehensive testing
Each system is tested to ensure performance in all specified conditions before delivery.

Realistic, commercial cost
Our government practice is an offshoot of our successful commercial practice. We offer the government the same commercial rates.

Posted in Uncategorized | 2 Comments

We are here! Congratulations team!

We are are here!

Congratulations “Simply Works” team!

Posted in Uncategorized | Leave a comment