Project: Numbering

Hardware version numbers

This page describes my standard way of creating hardware version numbers. For small projects, things might be handled different, because there is some amount of administrative overhead caused by this procedure. However, for larger electronics projects, this document serves as a reference for me.

Part numbers

Project code

For a new project, a unique project code consisting of two capital letters 'XY' and entered into the project code listing.


For each hardware part to be developed for the project, or elements of a part that may need to be referenced specifically in the project's lifecycle, a part number is assigned. This is constructed as XY-TNN with T being the type designator letter (as given in the following table, and NN a number counting parts of this type in this project.

Part type designators

Designator Part type
A Assemblies
B Circuit boards
C Cables and wires
D CAD drawings, assembly plans, manuals
E Chassis parts and assemblies
F Mechanical parts
I Interface definitions
M Memory
P Programs


A revision number is added to the part number to uniquely designate a specific version of the part. This is added to the part number as XY-TNN.RR with RR being the revision number. Revision 01 is assigned to the first revision already in development stage. Further revision numbers are incrementally assigned. Assignment of the next revision number takes place once the current revision has been published as stable.

Development, test and release cycle


Design changes after release

If after release of a part revision changes to the design are neccessary, an Engineering Change Order (ECO) is created. An ECO number is assigned to each Engineering Change Order in the format ECO-XY-TNN.RR-MMM, where MMM is the count of ECOs in this project, starting at 1. An ECO registry is kept in the project Wiki for each project that has published ECOs. An ECO template is available in the projects Wiki.


Last page update: 2009-09-16