Hardware Manufacturing: First, Be Perfect.

This article was initially published on Medium as part of my job at Supplyframe running the Supplyframe Hardware group.

“Perfect” is not an absolute requirement. But every step away from perfection moves you closer towards failing to deliver a working product on time.

I recently made a foray back into the manufacturing world for the Hackaday Superconference badge. I was not the hardware designer, I was simply helping coordinate the manufacturing of a product. And only 300 pieces at that. In reality, I was playing the role of purchasing agent for a small run of manufacturing.

This task involved evaluating a range of possible Contract Manufacturers (CMs), finding all the required parts and finally coordinating orders to get them delivered to the CM. Past getting the Bill of Materials (BoM) in order, we had to worry about the programming, testing, and final assembly of the badges. There were many opportunities for failure, especially among 300 individual boards.

Below I will describe a few of the problems we encountered on this journey and how we dealt with them. I will also discuss the ways we communicated throughout the process, as that introduced even more friction into an already hectic manufacturing process; this is a common problem throughout the manufacturing world and we will attempt to discuss and solve these issues in future articles.

Reality Problems


In a normal manufacturing environment, there would be prototypes and pilot builds and first articles and many other more rigid, process-based tasks. As we were going straight from a few hand assembled prototypes to 300 required units, the ability to tweak the process was much reduced. Whereas we might have had some leeway for “not so perfect” on the first run in a different scenario, it instead meant that we had to repair or scrap any boards that didn’t work.

Past History

Another way to refine a manufacturing process is to not only iterate on manufacturing methods as you move towards higher volume production, but also taking advantage of past products and processes. Manufacturing is really meant for high volume product creation, as the “overhead” costs are amortized over a longer time period (spread out over 1000s instead of 10s of products being made). One way to make up for not having volume is to utilize the knowledge of past builds, even if the costs for setting up a new low volume product will be higher. Our issue was that we had not sent a board out for production in the US (a previous badge had been made in Serbia for the Hackaday Belgrade conference back in April). As such, we were essentially starting the manufacturing process from scratch.

Parts available in distribution

The badge was designed by Voja Antonic, who is based out of Belgrade, Serbia. Another interesting (and slightly problematic) situation was that the parts used to design the prototype were from a particular distributor in the Balkans (Comet is a distributor in Serbia and Bulgaria). These parts were from a range of manufacturers, but the stocking distributors were different than the available parts in the US. The meant certain types of components were essentially unavailable, as we understood it.

That’s not to say all parts were from Comet; the majority of components were sourced from Digikey, actually. But the same problems exist with any centralized distribution mechanism: the amount of stock in any given location at any given time is a possible show-stopper, especially as you move up in quantities (128 LEDs per board x 300 boards = 38,400 LEDs — before accounting for ‘wastage’). Since we were attempting to source all components from distribution — instead of placing an order for longer lead time parts from the factory — we were at the mercy of available stock. The inability to source a sufficient quantity of components from distribution means that there would not be enough components to complete the build.

Yes, Supplyframe makes many of the best online tools that track distributor stock. But those numbers can rapidly change from day to day. For example, we bought 40,000 LEDs in one fell swoop, clearing out the inventory of that part (in distribution, throughout the world) for the following few days! Without a secured source of components (and no component is ‘secured’ until it hits your loading dock), you are at the mercy of whether other strangers are planning to use the same parts as you.


Another way to get around sourcing issues is to simply redesign a board or to find functional equivalents. For a product like this badge, whose form was largely based around the component types, this was not possible. If it was a product with an external case, the components would be obfuscated by plastic or another type of enclosure. However, for this product the raw view of the components was one of the best parts! The large scale of the red push buttons was critical to the look and feel of this product.

Another non-mechanical example of non-swappability was the LEDs. The chosen LEDs were a particular brightness that was tied to the capacity of the AAA batteries. Yes, we could have sourced other LEDs, but the cost in terms of batteries would increase, in addition to affecting the user experience.

Dealing with reality

Almost all problems in manufacturing can be solved with time or money.

Some of the above problems really required us to build more time into the project; with that extra time we could either redesign in a creative manner or we could sourcing components directly from the manufacturer (and factor in the 8+ week lead time of components).

Since we were not able to extend the “time” aspect of the project, we instead opted for money. This usually translates to ordering things on rush (PCBs, faster shipping speeds from distributors). In our case, the solution was simple: if the parts you need are only available from overseas, order them from wherever they are available. This may seem obvious, but there was a concern about the parts getting stuck in customs or being allowed to ship at all to the states. A phone call or two later, we realized this distributor was like many others: well versed at shipping parts all over the world. After all, if a customer really needs a part to complete a build, they are likely to pay a large premium to get that part in-hand. Sure, there was a higher shipping cost than normal, but this was small compared to the cost of needing to respin the board or find alternate components.

Reducing Risk

One other way that we reduced risk was our CM (Small Batch Assembly) did a test run of 2 panels (5 boards per panel) and sent them to us for testing before taking on the remaining boards. While this slowed down the process (because we needed to do a full suite of in-circuit testing before moving on to manufacturing), this approximated a single cycle of manufacturing before pulling the trigger. Otherwise we could have created 290 boards that didn’t work at all.

Our communication (and how to improve it)

One thing that surprised me about getting back into the manufacturing side of things is the inefficiency of communication. These were the same struggles I had when manufacturing products as a design engineer at a large organization. The overhead for talking about how a product will be manufactured, especially when finding and starting up with a new CM can involve a lot of churn. Internal communication about the process also can be tough to track, as multiple stakeholders need to understand the status of products as they move towards manufacturing. As such, I will outline some of our methods and how we might move towards fixing them in the near future.


For this small, seemingly simple process, I had a couple of 20+ email chains with multiple people adding to each. In an attempt to keep everyone notified, more opinions are added along the way. To be fair, sometimes these added participants reminded us of a possible pitfall or a required task. But as a general rule, more people means a longer decision making process.

In a perfect world, communication about a certain piece of the assembly process would only be visible to those making decisions about that piece of the assembly. The group for testing the board might be different people and the communication should then be limited to only that group. It would also be useful to have some kind of summary, in case a member outside those groups needs to get an overview for high level discussions (and decision making).


This is the basic tool of sourcing agents and engineers alike. The spreadsheet provides a logical and rigorous way of tracking costs; this is especially true for things like Bills of Material, where the costs are multiplicative and a change in particular quantities needs to propagate throughout the sheet to update final costs. However, most spreadsheets are not only used for cost estimates and BOMs; they also get re-purposed as schedule trackers, to-do lists and more.

In a perfect world, there would be tools available to track to-do lists and what needs to be done, outside of the window of spreadsheets. Tracking costs is already possible (and enhanced) with tools like FindChips Pro, because it not only rolls up costs but looks up cost of components dynamically; however, the best case scenario would be continually tying into the pricing APIs and tracking costs over time. Also continually checking the status of stock if we are relying on distribution and tracking the progress of part shipments if we are waiting on longer lead time parts from manufacturers.


Internally, we use Supplyfx chat to keep track of the status of the project. While we are well acclimated to this method of communication (including using group chats to track particular pieces of the process), it still can be tough to understand the status of individual pieces required to get the product out the door:

  • Have all of the critical components been secured?
  • Have we checked on quantities available in distribution (especially as the number of total units we wanted shifted)
  • Has the testing plan been formulated?
  • Are any mechanical pieces being integrated and have those been sourced (in the case of the badge, a lanyard and a laser cut bevel were required)

In a perfect world, we would be able to break each of these conversations out to sub chats, with each stakeholder included. We would also be able to update the official stance on each issue with a top line status, which could then be reported on a daily basis (“Test plan still being formulated, last updated 11/30/16”). Stagnant items would be flagged, especially if there was a due date attached to them.

Lessons Learned

The “startup costs” and mental overhead required for manufacturing is not to be taken lightly. The purchasing agents, engineers and manufacturing professionals who are cranking through products on a daily basis will be the best suited to optimizing and refining their process. Supplyframe already makes a bunch of tools for this group, and many of them are used to manufacture products all over the world (Quotefx, PolyDyne, FindChips). We have learned throughout this process that there is an opportunity for tools that target not just the high volume, high speed manufacturing (where tools are required) but also for people working as a solo engineer/designer or working with a small team. We will be talking more about that soon, especially with regards to Supplyfx, another tool from Supplyframe.

We want your opinion

We are interested in talking to others who are somewhere between prototyping and high volume manufacturing in their product development. As mentioned above, developing tools to get towards the “perfect world” is already in motion. However, we understand we have limited experience. We want to continue refining and defining tools that will help you build a reliable, profitable product. Get in touch with me if you’d like to add your voice and get early access to new tools.