Strategies for Using Third-Party Programming

When a company moves into volume production, the part-inventory requirements increase both in quantity and aggregated value. Some of the parts used are off-the-shelf components, while others are custom, or programmable, parts. While program code is being developed and tested, an engineering lab will often buy or rent an EEPROM, PROM, or other type of memory programmer for R&D low-part counts where turnaround for prototype purposes is very fast.

Generally speaking, this one-up programming is not a time consuming or particularly difficult task. However, when the production is in full swing, thousands or hundreds of thousands of programmed parts may have to be installed during a single day's build. Obviously, the requirement for high capacity programming becomes mandatory.

Whenever value is added to a part or subassembly, the term “value added” can be applied. Many distributors offer volume programming as part of their value added listings. Some crystal manufacturers sell programmable oscillators and the equipment to set the required frequencies. This would also be listed under the value added category. Cable harness preparation and even some elemental assembly operations have also been offered by distributors. Of course, there is an upcharge for the extra labor and materials, but for high volume, low mix operations, value added is the way to go.

In the Item Master, there is a category where the purchasing department or engineer can stipulate if a part is a “Make” or “Buy.” This simply informs the buyer that the part is either purchased as listed on the description and part number on the approved vendor list (AVL), or there is a value-added service required to obtain the part as needed for the build operation.

An example of a “make” part might be a 2×5 pin header made from a breakaway 2×40 pin header listed under another part number in the Item Master. In that event, there should be a small, nested bill of materials (BOM) that shows the final part, 2×5 with the 2×40 pin header, a labor part number and cost specific to the operation, a routing reference for the work station assigned to the operation, and a work instruction.

Some companies will change the part type from “P” (for part), to “A” (for assembly). Now, when the buyer sees an “A” as a type indicator, he or she knows that a work request has to be scheduled and factored in to the overall lead time of the higher level assembly operation. More often than not, the 2×40 pin headers are broken down and in inventory long before the build plan calls for them.

I prefer the “M” and “P” for buy operation delineation because often, as in the case of the header, the 2×5 can also be purchased directly. The “M” status may have been assigned early on in development, where engineering had bins full of 2×40 breakaway headers from which they could build header pin count configurations like 2×2, 2×3, 2×5, etc., on the fly.

But things are not so easy with programmable parts. In the course of software development, there are changes made to code to either enhance the product performance, or fix something that wasn't fully tested during software quality assurance efforts. What you do not want is to have 10,000 one-time programmable (OTP) parts that have already been programmed, written off, and scrapped because the program has changed. Enter the rapid turnaround value added programming house.

For the best management of programmable memory, have all changes under engineering change order/engineering change number (ECO/ECN) control. Keep the necessary buffer stock of un-programmed parts in the stockroom, or at your value-added service provider, and have some cognizant software authority sign off on every programming operation. Also, make sure that the program used has its own in-house part number under revision control. Now, make a small, nested assembly as mentioned with the pin header above. The programmed part has its own BOM with the un-programmed part and the software reporting to it. Give it both a routing number and a programming cost for direct labor, and when you expand the entire product's build requirements, you will capture the labor and materials for the programmed part.

Remember, most program houses have printing capability, but you may want to furnish your own naming and numbering artwork so the programmed chips match your part numbering and revision scheme.

Lastly, let document control handle the files after engineering releases them to the factory. When a programming operation is required, the file should be checked out from document control just like a mechanical or PCB Fab drawing. As mentioned earlier, it never hurts to call the cognizant engineer and have him verify that he has not made any critical changes and was about to issue an ECO or ECN.

Click here for a reference for the procedure for programming with a third party. Modify it at will to fit your company's needs.

5 comments on “Strategies for Using Third-Party Programming

  1. SP
    September 9, 2012

    Very well detailed out procedure. I remember when we were working in development, and the production was in full swing we used to keep programming the EEPROMs and microncontrollers continously. And if any of the engineers happened to be on leave the delay were very uncomfortable. If the companies follow some of the points laid out in this article or develop startegies around it, I am sure it would be easier to manage both development and production pressures.

  2. t.alex
    September 9, 2012

    Very good recommendations. In fact when it comes to production, well maintained procedure and and system is the key. I have experienced a few situations where R&D engineers are pushed to work day and night for doing mundane programming problems due to lack of proper planning. Some if them quit after running into the same situations a few times.

  3. SP
    September 10, 2012

    Agreed Alex, I can very well relate to what you are referring.

  4. prabhakar_deosthali
    September 11, 2012

    The idea of clubbing the EEPROM part number alongside the software version with which it will be programmed is really a good one. So the EEPROM along with different version software programs – each will get a unique identity and the BOM will remain accurate. No confusion on the production floor as to which program to use and no confusion for the testing people what to test.



  5. t.alex
    September 14, 2012

    Yep, versioning is so important we can't miss out. It is a reference for everything.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.