EE’s Dilemma – Design Parts or Boards

Most engineers would rather design PCBs than libraries. But how can you trust a library with other contributors?

Whenever I talk to electronics designers about what they dislike the most when it comes to creating electronics the answer is almost always the same. Part creation. It doesn’t matter if I’m talking to an experienced designer who’s been doing it for years or to a beginner whose been at it for 3 months, people don’t like “wasting” their time creating their components. Why is that?

There seems to be three basic reasons as to why people don’t like create their own components:

  1. Footprint, Symbol, 3D model Styles
  2. Trust
  3. Time

What if there was a way to solve all these issues and create a centralized database that we can all trust, agree on styling, AND not spend time creating? It may sound like a dream but I don’t think so, I think this is something completely within our grasp. Come with me and I will take you to the promised land.

Footprint & Symbol Styles

The first thing we need to do is to figure out how to solve the problem of style. We all have our preferred way of doing things, a way we like to view our schematics and boards. I propose we do the same thing that schools and the military do, uniforms. We take away the personalization of part creation and create a standard.

Now this isn’t a new radical idea, in fact its an old stale one but somehow it seems to be forgotten.  Way back in 1975 IEEE created the standard IEEE 315. This standard was made to fix this exact issue of how schematic symbols should look. I’m not sure exactly what happened but somewhere along the way people went their separate ways. It could be a new generation of designers or maybe people just didn’t want to change, either way that’s not the point. This standard was made for a reason and it should be followed.

The IEEE 315 standard is extremely comprehensive, so much so it includes schematic symbol elements allowing you to symbolize parts that haven’t even been invented yet. Let me explain. IEEE 315 gives a standard to construct any symbol, every line, dot, and feature has a meaning. With these tools available, one is able to construct any symbol for any possible component that does or does not exist.

IGBT Symbol Meaning

The next thing that we as designers need to come together on is the footprints / land patterns / decals for components. Just like with schematic symbols we don’t have a standard that we all are using despite there being a standard out there available to us. That standard is IPC-7351. IPC-7351 provides information on land pattern geometries used for the surface attachment of electronic components. This includes things like sizing and tolerance to insure there is sufficient area for all the appropriate solder fillets.

Caliper and CPU

So far we’ve taken a look schematic symbol and PCB footprint standards but there’s still one thing missing and that’s a standard for creating the 3D STEP model. And yes there is a standard for that as well, isn’t that great!? The standard for that is the JEDEC Publication No. 95. JEDEC 95 describes the dimensional and geometrical characteristics of “standard” component packages.



Okay, so we’ve talked about how to standardize on schematic symbols, PCB footprints, and also 3D models. But what about the trust and time issue. We solve the trust issue by applying these standards. Once everyone or most people apply these standards to part creation as they should, we can all have a higher confidence that we’ve all done things correctly.

Of course nothing a person does is without error all the time. This is why we need an online database with everyone uploading their component models. And to be sure all components are up to standard we can crawl and verify each component as they’re uploaded. In addition to software verification, having users review and use components will give everyone a solid indication of which part is good and which is not.


As you probably have guessed having this online database where users and professionals can upload their component symbols and models will save time, for everyone. It may surprise you but this isn’t a fantasy, well not completely. EE Concierge is a service that will create a complete component for you including schematic symbol, PCB footprint, and also a 3D model. The EE Concierge component making process follows the above industry standards so you know what you’re getting is correct and transferable to anyone. As for an online database filled with components, that’s where Octopart comes in. Octopart is a search engine for electronic components and industrial products. It includes things like a BOM scrubber, pricing and a bunch  more. It’s definitely worth checking out.


The Cost of Mistakes on Parts

Creating a proper schematic symbol and PCB footprint for a new part and meticulously checking it for errors can be a tedious task. But when you don’t have a trusted, verified parts library this task is exceptionally necessary due to what you’re risking if you don’t buckle down and verify yourself. A mistake in your part design can be very costly. We consulted a reputable manufacturer, Hooman Javdan from Circuits Central Inc., on the types and ranges of costs that result from part design errors. Let’s analyze what types of costs a mistake on parts could incur for you and your company.

Material and Equipment Cost

The most obvious cost, and possibly the worst case scenario is the cost of re-spinning more boards. If the paste mask is wrong a new stencil will cost in the hundreds of dollars. A new stencil will also extend the timeline of the project by a few days so the manufacturer has enough time to have it made. If the board is just plain wrong, fabbing and assembling a new batch of boards can cost in the thousands.If a particular component’s origin is incorrectly displaced off-center in a part design, then the pick-and-place machine will attempt to put the part on the wrong spot on the board. This will result in part losses, so the cost depends on which part is being improperly placed. If the part in question is a processor, an FPGA, a memory module or something similar, it can be a very costly mistake.

Rework costs can vary wildly in terms of both dollars and time. If a pin marking on the silkscreen is wrong, or possibly flipped because it is on the back of the board, then a part may need to be manually removed and resoldered correctly. For simple parts this may cost only a few minutes per board and a total of 1 day of delay. For more salvaging and reworking more expensive parts, such as a BGA, this may mean spending hours on each board to remove, clean, reball and resolder each BGA and take around a week in total. Expect to pay around $300 per hour for your rework time, making this an important costly decision.

For a small batch of prototype boards (5-10 boards), expect a re-spin to cost in these ranges:


The cost of PCBs are driven up by increased set-up time for the manufacturer due to higher component counts, higher parts costs for expensive ICs like processors or FPGAs, parts that require an conformal coating and thus curing time, and complex mechanical assemblies.

Testing & Debugging Cost

If a symbol or footprint has an error, any resulting malfunctions can take a long wild goose chase to track down the root cause. Hours and days of engineering time can be wasted before it’s determined that the malfunction is as a result of an unverified part design. If a part is placed in the wrong orientation, it could drive high current through a part of the board and damage further components on it. You might not notice this problem until you’ve noticed the cascade of damage on the board. These boards could initially pass quality control and then provide a challenging debug project for an engineer, or fail to work properly in the field. Assuming that engineering time costs companies around $50-100 per hour, it is definitely a huge financial risk to have engineers spending their time on debugging instead of on designing.

Expediency Cost

Usually, a small batch of prototype boards can be completed by a manufacturer in around 2 weeks. However, when an error is found and a re-spin is ordered, companies often want to avoid waiting another two weeks and will have their next batch of boards expedited. If you’re expediting from 2 weeks to 24 hours, expect to pay double for the second batch of boards.

Time to Market Cost

The alternative to paying expediency costs is to delay the launch of the project by a few weeks or months. The cost of the delay depends widely on your market and on your competitors, but it can easily become unmanageably large. Consider that many markets have seasonal milestones they must hit with their products, whether they are targeting a launch at a specific industry conference or trade show or whether it’s a large consumer electronics company trying to hit the Christmas deadline. These market windows must be hit.

There are several things to consider when evaluating the time to market cost, but know that it typically results in an increase in sunken research and development cost, a decrease in sales life, and a loss of market share.


You can find many calculators online that can help you determine the cost of going late to market, but a general optimistic estimate would be 2% of total profit is lost for every month a product is delivered late.

So if you shudder at the thought of throwing money away needlessly, know that using verified parts is far from needless – it’s essential.

Why EDA Component Creation is Broken

How painful and frustrating is it to stop working on a new hardware design because the component you need to add isn’t already in your parts library?  Not only do you need to switch your train of thought from being creative to being meticulous in transcribing the part details and designing a symbol and footprint, but you’re also aware of the fact that you’re going to have to check and re-check to make sure you did it 100% perfectly.  Since the design work and the sanity check are both prone to human error, there is a tremendous inherent risk involved with the undertaking of adding and using a new part.  This makes the whole process tedious and cumbersome, but necessary.

The first thought that then runs through your mind is, “Can I offload this work?” Of course, if you work for a large company with a big budget, you can just tell some intern to design the part for you, or outsource it to a company that specializes in part creation, but you’re still groaning inwardly at the prospect of re-checking the design once it is done.  Finding an online parts library to download will also sometimes save you some time, but again, re-checking the parts is necessary to maintain your sanity, especially from a mysterious online source.

Most people don’t have those luxuries, and if (and invariably when) they make a mistake and manufacture the PCB they have to eat the cost of a re-spin, delay shipping their product and have a difficult conversation with their manager.  Re-spins take time, cost money and as a result kill thousands of dollars in profit. This makes the risk of a re-spin kill a manager’s sleep.   This puts pressure on the design engineer to attempt to avoid that risk by spending more time manually re-checking designs and kills his or her life.  Working as a hardware designer tasked with designing parts is akin to working as a court stenographer, except even they are being automated out of business.

Maybe there are some easier “parts problems” to tackle… Like, why do we share part data sheets and not the designs for the schematic symbol and PCB footprint?  Or, if I go to the effort of finding the data sheet, why can’t my software magically create my part for me?  A standard file format is probably not in keeping with the business model for part suppliers or the various desktop EDA tool companies.  Speaking of which, why are so many people still using desktop software for this?  If more designers used a cloud-based tool that made collaboration and sharing this kind of information easier, wouldn’t that be a good first step?  In that collaborative forum, we could keep track of how many times a certain part was used which would give a numerical value to the risk in using the part design, saving time spent on re-checking it.

There has to be a better way.  A large majority of innovation has been centered around the idea of eliminating human error to drive efficiency and cost savings. Automated textile manufacturing in the 18th century helped drive the industrial revolution.  “Spell check”, something almost everyone with a computer takes for granted, first arrived on personal computers in the 1980s.  Google is now creating self-driving autos that eliminate the human error from driving a car! You’d think we could figure out a way to eliminate human error from designing schematic symbols and PCB footprints!

Self-driving cars? Yes.  Verified Parts Creation Service? No.


What do you think?  Does designing new components irk you the way it does me?  Do you find the work of designing a new part empty, hollow, tedious and wasteful?  Do you lie awake at night worrying if the pads on the PCB footprint you (or your intern) created are the wrong size?

Let us know in the comments section below…

Creating the Perfect Part (4/4)

If you need to make use of a component and it is not already in the parts library, what two things do you need to consider while designing it in your CAD tool?

  • How to make your part reusable in the future
  • How to make your part design practical for fabrication

The last part aspect worth perfecting, is the footprint of the part.  The footprint is used to describe the specific mechanical shape of the component.  The perfection of this aspect is crucial for the PCB layout design to ensure manufacturing goes smoothly.  This last entry in our Perfect Part series focuses on optimizing our design for manufacturing considerations.

We contacted Hooman Javdan from Circuits Central Inc., a manufacturing expert of more than 5000 designs, for his best practices on designing a footprint that will best position your layout design for a successful fabrication process.

There are some best practices to use while inputting the exact dimensions of your footprint.

  1. It is important to make sure the units that are used in the data sheet are the same units you’re using to design the part – avoid converting between metric and imperial yourself.
  2. For through-hole and surface mount components, the hole and pad size need to be chosen correctly.  Consult the IPC standard 7351 (here) and follow the guidelines for the component you’re creating.
  3. Likewise, for through-hole components that need thermal spokes, the spoke width should be set according to the manufacturer’s capability.  Your manufacturer will give you guidance on the maximum surface area of the copper spokes, which will in turn help you choose the spoke thickness.


It is important to have pad sizes chosen perfectly, and this takes careful consulting of the data sheet and some experience.

  1. If a pad is designed too large, parts can be pulled to one side of the landing area during soldering and not connect on the other side.  The effect is called “tombstoning”
  2. The choice between Solder Mask Defined (SMD) and Non Solder Mask Defined (NSMD) for Ball Grid Array (BGA) parts is an important one.  For standard BGAs it is okay to use SMD, but for parts with a fine pitch, such as a Quad Flat No-leads package (QFN), it is important to use NSMD.  SMD will usually protect better against pad lifting, while NSMD will protect better against connection bridging.  See here for a comparison.
  3. Know that having a via-in-pad can make the pads effectively larger and cause some problems.


According to Mr. Javdan, solder mask layer errors can be frustrating and costly.  If a BGA has an issue, the fabricator must remove the BGA, check its functionality, reball it, clean the board and solder it back on by hand which costs them time and you hundreds of dollars per board.  So be mindful of the manufacturing process in your designs.

For the practical “How-To” of creating the layout footprint of a new component in Upverter, see our YouTube video.

Creating the Perfect Part (3/4)

Part 3 – Footprints

If you need to use a component that’s not in your library, what two things do you need to consider while designing it in your CAD tool?

  • How to make your part design accurate and practical for manufacturing
  • How to make your part reusable in the future

The last part aspect worth perfecting, is the footprint of the part.  The footprint is used to describe the specific mechanical shape of the component.  The perfection of this aspect is crucial for the PCB layout design to ensure manufacturing goes smoothly.  We will split discussion of the footprint into two pieces, and this piece focuses on optimizing the readability of our silkscreen in our design.


There are a few footprint design tips that will get you more usability for your part in future projects.

  1. Ensure the package outline exactly matches the outline of the component (use the nominal size from the data sheet).  This helps you be aware of size of the actual body of the package during PCB layout so you can position it correctly on your board.  This is especially useful for placing connectors whose body position on the board must be precise.
  2. Have the package outline centred around (0,0) on the design grid so that if the part is rotated it doesn’t also drastically change position.  The part origin is where pick and place machines will grab the part during assembly so an exception to this rule is if you need to move the part origin to an area with a smooth surface.
  3. Also for usability of the design, it is important to have the Pin #1 of the part, or the positive pin of a two-pin polarized part (like a diode), marked on the silk screen.


The silkscreen design of our footprint needs to consider the actual fabrication and manufacture of the board itself.   We contacted Hooman Javdan from Circuits Central Inc., a fabrication expert of more than 5000 designs for his advice on designing a footprint that will actually result in the PCB you want. One example he gave was that when marking pins on the silk screen (such as for Pin #1 or marking polarity in unidirectional parts), make sure that the marking is not under where the actual component is going to be placed so that it remains visible after the component is mounted.  This sounds obvious but you’d be surprised how many designers make this mistake by accident.

Like This!



Not Like This…



Likewise, any part that has a grid array of pins (like a BGA) should have silk screen markings on the opposite side of the board indicating row and column so that someone probing a particular via can understand which BGA where to place their probe.  If you find that you’re doing this often with a part, it might make sense to include this back-side silkscreen design as part of your component design.  You can shift and adjust the back silk screen markings based on which way the via-in-pads go.

According to Mr. Javdan, the silk screen placement has some tolerance and will often be slightly misaligned.  If precise silkscreen locations are important to you, ask your PCB fab about their silkscreen tolerances so you can plan ahead.

Stay tuned for the next and final part of our “Perfect Part” series where we will focus on how perfecting the footprint of your component design will help you optimize your design for manufacturing considerations.

For the practical “How-To” of creating the layout footprint of a new component in Upverter, see our YouTube video.

Creating the Perfect Part (2/4)

Part 2 – Schematic Symbols

If you need to use a component that’s not in your library, what two things do you need to consider while designing it in your CAD tool?

  • How to make your part design accurate and practical for manufacturing
  • How to make your part reusable in the future

The second part aspect that requires perfection, and the focus of part 2 of our series, is the schematic symbol which is a logical (non-physical) representation of the part that emphasizes readability for the design engineer’s schematic.

Schematic Symbol

The main goal in designing the schematic symbol is to preserve clarity of the overall schematic, and to make your representation of the part helpful in accomplishing that.

1) Consider breaking up a part into multiple symbols, like a dual op-amp.



2) For ICs, their schematic symbol (typically a square) should be as large as necessary to be readable.

Like this!



Not Like This…     



3) It is better to avoid using pins on the top or bottom of the symbol, and that a left-to-right flow should be preserved (inputs on the left, outputs on the right).

Like this!



Not Like this….



4) Pins should be named in such a way that they indicate their function and uppercase letters should be used.

5) For clarity, all of the chip’s pins should be shown.  Pins that are unused should still be shown, but marked as such on the schematic (typically with a no-connect flag that looks like the letter ‘X’).  The thermal pad should have a pin on the symbol and should be connected to ground in the schematic.

This Arduino Micro, for example.



Consult Upverter’s style guide (here) for more suggestions on how to keep your schematic symbols and nets clear and readable.

For the practical “How-To” of creating the schematic symbol of a new component in Upverter, see our YouTube video.

Creating the Perfect Part (1/4)

This is Part 1/4 in an Upverter Blog series on creating the perfect part.

Most hardware designers, in their unique and innovative designs, encounter the problem that the part they want to use isn’t already included in their design software’s libraries.  In certain design programs, adding a new part can be tedious work.  Making a mistake can be very costly during manufacturing.  Furthermore, you may want to reuse the part in the future.  Thus it is worthwhile to spend the time to ensure that your part creation is “perfect”.

If you need to use a component that’s not in your library, what two things do you need to consider while designing it in your CAD tool?

  • How to make your part design accurate and practical for manufacturing
  • How to make your part reusable in the future

There are three important aspects that require a hardware designer’s attention to ensure part perfection.

The first, introduced below, is the part attributes, which contain relevant functional and reference information to explain to the basics about that part.  We’ll go into more detail later on exactly what information should be contained in there.

The second, and the focus of part 2 of our series, is the schematic symbol which is a logical representation of the part that emphasizes readability for the design engineer’s schematic.

The last aspect, is the footprint of the component, which is used to describe a specific mechanical shape of the part and is necessary for the PCB layout and manufacturing.  We will split discussion of the footprint into two parts, optimizing our design first for the layout design and then for manufacturing considerations.


The attributes should contain a few obvious but important notes.

  1. The full part number of the product you want to use should be included as well as the name of the manufacturer of the part.
  2. A URL to the part’s datasheet.  This can help someone quickly locate the information that was used to create the part in the part library.
  3. The package type (such as QFN, BGA, through-hole, etc.).
  4. Also to be included are any specifications necessary to understand what the part does.  For example, if the part is a crystal oscillator, the attributes should indicate the frequency it operates at.


For the practical “How-To” of creating the attributes of a new component in Upverter, see our YouTube video.

6 Steps to Verifying a Part you Didn’t Make

Saving time on your projects is what pre-populated parts libraries are all about, and they’re great at it.  But doing these quick checks will keep you confident that using parts you didn’t make are what you expect them to be.Ever heard your boss, or someone else in your industry mention the line “do a sanity check”?  I’ve also heard the term “do a smoke test”, or “run a warm/fuzzy test”.  To me, the “sanity check” line is a bit dramatic and implies your mental well-being is at stake, but in hardware design, these tests can mean the difference between being mildly upset over a part not being entered correctly in the library and losing hours of work or potentially thousands of dollars in fabrication costs.In an interview with Circuits Central’s Hooman Javdan, a contract manufacturer and PCB assembler of more than 5000 designs, he mentioned that selecting the wrong part or providing the wrong footprint for a specific application can mean hours lost and hundreds of dollars in remanufacturing cost overruns.

So before committing blindly to a complex part that you found already existing in your part library and doing a quick “cha-ching” in your head, it’s valuable to slow down and take a second look to make sure the part you’re selecting is really the part you think it is.  If the part attributes were properly populated and there is a URL to the data sheet, open it up and make sure it matches the data sheet of the part you’re hoping to use.  You’ll want to check both the schematic and the footprint against this data sheet next.  The good news is that a sanity check on a footprint can be done very fast with a bit of practice.

Some things you can quickly check on the schematic:

1) That the number of pins matches the number of pins on the data sheet.

2) That the names correctly match the pin designations in the data sheet.

With the footprint, you need to check the mechanical details against the data sheet.

3) Use your hardware design tool’s measurement tool to measure the package outline and compare that to the size of the device in the data sheet.


4) The pad pitch or the pin pitch needs to match the data sheet too so measure those as well.

Note, ‘pitch’ means centre-to-centre spacing between adjacent pads and/or pins.


5) Measure the pad size, both length and width and ensure they seem reasonably larger than the pads on the part you’re using.


6) Make sure the pin numbers match, and that pin #1 is in the position you expect it to be.


If you have any other details you like to check as part of your ‘Sanity Check’ let us at Upverter know!  We’d love to hear from you.

These might seem like mundane details to check, but in the event that the part you’re using in your design software doesn’t exactly match the part you’re using in fabrication, checking these details means you likely won’t run into any issues anyways. If you can do these really fast checks that cover ~90% of the aspects of a part, you might spend a few minutes to save hours and sleep better at night with a warm/fuzzy feeling in a smoke-free environment, thus preserving your sanity.

Your Parts, Your Way.

Parts are now even easier to manage in Upverter!

Over the last few months we’ve received a lot of amazing feedback from our customers about their daily workflow in Upverter.  We’ve listened closely and are excited to announce a few big enhancements to help you seamlessly manage parts and designs!

Today we’re introducing the personal Parts Library and Contexts.


Starting today, every user and team will have their own, private, personal Parts Library.  This Library is yours and yours alone.  You can get a great head start by adding components to your Library from Upverter’s large central Database.  In fact, this happens automatically as you add parts to your schematic.  How does all of this help you?  You now have full control over your parts.  You can edit them as you wish without impacting other users or being impacted by them.  If a part is corrected in the central Database, you’ll receive a notification and can choose to accept the change into your library or not.  This is especially useful to users who are very particular about how they style their schematic symbols.

Learn more details about using your personal Parts Library.

Today we’ve also enabled Contexts.  Many users work on designs as part of a team and/or individually.  The Contexts feature makes it easy to choose where you want to work.  You can switch to your team context to access all your team designs and your team parts library.  Similarly, you can switch back to your personal context to do personal work.  Your context is always displayed so it’s very clear where you’re working at all times.  This helps you stay organized.

Learn more about using Contexts.

We’re really grateful for the incredible feedback you keep sending us.  We carefully consider every email and live chat message, and continually strive to help you design hardware faster and with higher quality.

You may have also heard all the fuss recently about Google’s Mobilegeddon…

Well, we’re excited to announce that Upverter is now mobile-friendly!  Your Dashboard, Project Pages, Parts Library and more are all accessible and responsive on your phone and tablet.

Check it out on your mobile device!

Lesson #10: How to be a Part Picking Wizard


Now that you have a block diagram of your hardware and have built a proof-of-concept prototype using a development board (or two or three), it’s time to take what you’ve learned and start choosing parts for your custom hardware design.The ultimate goal of this step is to discover the best components to implement each block in your block diagram while making sure that all your components will interoperate with each other.

But there are millions of chips out there.  How do you go about finding the right one?  One way to do it would be to experiment with the several search engines that exist to help with this task.  But the reality of many parts search engines today is that they’re not comprehensive enough and I often find out later that I’ve missed a whole family of parts that I should have considered.

So instead, I am going to outline the most reliable method I’ve found over the years, along with some tips and tricks to turn you into a part picking wizard!

First, what’s an ideal part?

An ideal part can be loosely defined as one that:

  • Performs the required function at the required performance and quality
  • Has an interface that is compatible with the other relevant components in the design (ie: uses the same protocol, runs at the same frequency, same data width, etc.)
  • Has power requirements (ie: voltage and current) that can be met by the power system and are similar to the power requirements of other components in the design (ie: runs on the same voltage)
  • Has a small package and is conducive to a clean layout
  • Is in stock and widely available with acceptable lead times
  • Is low cost in accordance with your budget

Keep all these criteria in mind during your part selection process so that you end up with parts that are not only good for your project but are also in stock and cost-efficient for your budget. Let’s get started!

1. Cast a WIDE net and find all your vendors

The first, most basic step would be to find all your vendors. For a given kind of part (ie: a BluetoothLE chip, LED driver, LiPo battery charger), find all the companies that play in that space.  A great way to do this is through a combination of Google and distributor websites (like Digikey, Avnet, Arrow, Newark, Mouser, etc.).  Simply search for the kind of part you’re looking for and make a note of all the vendors that manufacture components in that area.

How I’ve learned this: On a few past designs, I was well into the design process and a colleague would later suggest a really great part from a vendor I hadn’t considered.  It was sometimes too late or a big pain to switch and I felt silly that I missed it in my initial search.  This happened because I wasn’t rigorous in enumerating all the vendors that make devices in a given domain.

2. Generate a list of part candidates

Visit each vendor’s website and use their parametric search to find potential candidates.  Be aware that these parametric searches are often missing many important parameters, resulting in a search that’s too broad.  From the results, make a note of parts that look like they might work based on their titles, descriptions, and parameters.  Your list may consist of anywhere from 5 to 50 parts depending on the type of part. That may sound daunting, but don’t worry: the list will shrink fast during the next step.

How I’ve learned this:  On some prior designs, I ended up finding out too late that my chosen vendor had other parts in the family that were an even better fit.  So these days I very much prefer to use the vendor website rather than some other parts search engine because I can trust that their list of parts is up-to-date and comprehensive.

Tip: One shortcut I often use to narrow down the list is to limit my search to parts that are currently in stock on distributor websites. This works if I know I need to build prototypes ASAP, or if I can’t afford to wait a few weeks for lead times and am okay with potentially spending more money on parts. Oftentimes, my search results from Step 1 on the distributor website will yield really good candidates that are in-stock, leading me to just pick the first one that’s close to “ideal”.

3. Trim to a shortlist

Quickly visit the product page of each part and skim through its feature list, while keeping the “ideal criteria” in mind to see if there are any glaring things that disqualify this part.  You’ll find them fast.  Most of the ideal criteria are typically listed in these product pages. This should distill your long list of parts to a qualified shortlist pretty quickly.

4. Do a little–okay, a lot of reading  (it’ll pay off)

At this point, you should have a small list of parts that look like good candidates.  The next step is to read the datasheet of each part to see if it meets your criteria.  Datasheets can be long and everyone hates reading them. It’s tempting to rush through this step but it’s one of the most important stages of the whole process.  Time and time again, I see people making design errors or spending hours on debugging, simply because they didn’t sit down and read the datasheet slowly.  To save time, you can limit your reading to only the sections relevant to judging your ideal criteria.  Every component has some quirks and this is the step where you should learn about them.  Some quirks are not a big deal while others can render your design useless.

How I’ve learned this: I have too many war stories to tell, but here’s one where I lucked out:  I was doing a complex design with a new FPGA family.  FPGA datasheets are 1000+ pages so I got restless and skimmed through the important sections rather than reading them slowly.  We picked this family because it had internal series termination resistors, which meant we didn’t need dozens of these on the PCB.  We were almost finished the schematic design and my colleague luckily discovered a critical detail in the datasheet that this feature only works for I/O levels up to 3.0V.  We were planning to use 3.3V I/O on several high-speed interfaces and not having terminations on the PCB would have been a disaster.  I always remember this incident when I feel resistance to reading datasheets.

Tip: As you read through datasheets, you’ll start noticing the common words and phrases vendors use to describe these parts.  You can go back to Step 1 and reuse these phrases to refine your search string.

5. Iterate: Rinse and repeat

As you learn about available parts, you may discover new constraints.  For example, the candidate parts may only support an interface that your processor doesn’t.  In this case, you have to find a new processor or change your design.  Or you may find an ideal part but its required power rail voltage is different than all the other parts on your board.  Expect to iterate on your entire part search and change other parts of the design to accommodate them.

Bonus tips! 

Outsource your search

There are many people in the hardware ecosystem who can help you find the right part.  Part manufacturers, distributors, and sales reps all employ technical people who work with these parts every day.  Their job is to help you find the right part and they often do a good job about it.  Email or call their sales office, describe your application, and ask them to suggest parts.  This has saved me lots of time and has introduced me to parts I didn’t know about.

How I’ve learned this: I’ve done a few designs with dozens of DC/DC switching regulators and LDOs.  But there are so many vendors in this space, each of which builds hundreds of components that differ only slightly.  Finding the ideal part was always a nightmare.  So I got fed up and tried emailing all the companies I was interested in and asked them to suggest the best part available for my specs.  Within a few days they all sent me detailed reports, came into the office to give presentations, and were overall very helpful.  I’ve used this method ever since.

Use FAEs as technical advisors

If you are working with technology that’s new to you, sometimes you don’t even know what tradeoffs to consider when choosing parts.  You could spend hours reading on the Internet to get familiar with the technology.  But I find there’s a much better and faster way.  Simply find one of the biggest vendors in the space, email/call the sales office, and ask to speak with a Field Applications Engineer (FAE) who specializes in this technology.  They will be happy to speak to you.  Then be honest with her that you don’t know anything and explain what you’re trying to build.  They will start asking you all the questions you should be asking yourself.  You may not have answers in that moment but you’ll learn what’s important to consider.

How I’ve learned this: I recently did a Zigbee design but I had never worked with Zigbee or any similar RF interface.  So rather than spending 30 hours reading about the intricacies of doing a successful Zigbee design, I simply read the Wikipedia article to get familiar with the basics then called a big company that makes Zigbee modules.  They put me in touch with an FAE and I told him what kind of product I was trying to build.  I asked him to explain all the things I should consider when doing a Zigbee design.  By the end of it, I knew what questions I had to answer and felt confident in choosing a module.  That single 45 minute conversation saved me many hours of frustrating research and also gave me a sense of confidence that only comes from talking to an expert who has helped several customers be successful.

Look legit

When reaching out for help it’s important that you look like a legitimate company.  This is because all these people are helping you in the hopes that you buy a chip that they sell.  But they don’t want to waste time if they think you’re a hobbyist working from your garage.  Make sure you have a professional company website or landing page and send emails from your company domain.

Lesson #1: What Type of Hardware Startup Do You Want to Build?
Lesson #2: Exploring Ideas
Lesson #3: Customer Discovery
Lesson #4: The Cardboard Prototype
Lesson #5: The Hardware Lifecycle
Lesson #6: Setting Up Your Business
Lesson #7: Division of Labor
Lesson #8: The Block Diagram
Lesson #9: The Development Board Prototype