The vanity of "Having A Lot Of Parts"

Tags: electronicsSDIY

It is often said that the secret of Taco Bell's success is that they only use six ingredients:  refried beans, seasoned ground beef mixture, cheddar cheese, sour cream, lettuce, and corn tortillas.  Everything on their menu is just some combination of these six ingredients, and the ingredients are all cheap to begin with and more so when bought in huge bulk quantities, so Taco Bell's cost is very low and their profit margins incredibly high.

This legend isn't actually true.  Making the whole Taco Bell menu requires many other ingredients, most of which aren't so cheap - and more importantly, even if you could reduce it a lot, the cost of buying ingredients is only a small part of the total cost of running a fast food restaurant and doesn't make a big difference to Taco Bell's bottom line.  When you buy a meal in a fast food restaurant you're not paying just for the ingredients.  You're paying for rent on the building, salaries for the staff, utilities, non-food consumables like napkins and packaging, depreciation on the equipment, borrowing costs involved in running any large business, insurance, and so on.  Having just six ingredients (which, I emphasize, isn't even true) would not, if true, make a significant difference to those other costs.  But many people firmly believe that the legend which isn't true about Taco Bell must actually be true after all about synthesizer do-it-yourself construction.  The people who believe this are not at all shy about lecturing me on how my business really works.

I've lost count of the number of times I've heard someone say,

"What, $140 for a Eurorack module kit?!  That's outrageous!  I Have A Lot Of Parts already.  And besides, it probably only costs the manufacturer like $20 to make the kit.  So I should be able to buy just a partial kit of the uncommon parts in this project for like $10 and Save Money.  That would be more reasonable!"

Another common line, somewhat less personally offensive to me as a vendor of $140 kits still losing money every quarter, goes like this:

"Hi, I'm a newbie to SDIY but I plan to build a lot of modules, so I'd like to build up a stock of commonly-used parts so that I can Save Money.  Can someone give me a list of the commonly-used parts I should Have A Lot Of?"

(Off-topic, but you also may wish to consider Having Alot Of Parts.)

I will probably give some suggestions on commonly-used parts in a future posting here (as a follow-up to my earlier posting about tools for getting started), but today I want to talk about the realities of the money side.  You shouldn't get your hopes up.  Trying to Save Money By Having A Lot Of Parts is simply a losing proposition.  It may be worth keeping a stock of general-purpose parts for a different reason, namely convenience; and the considerations are different if you are a commercial manufacturer making and selling many copies of a relatively small number of different products, or again if you are doing your own designs and have the opportunity to redesign circuits around the parts you have.  But for the home hobbyist building projects designed by others and not tens or hundreds of the same project over and over, there are three important things to understand, which together kill the Having A Lot Of Parts And Saving Money concept.

The Three Laws Of Parts Sourcing

  1. Every project requires a few parts unique to that project, which you will not have in stock and must buy.
  2. The parts you don't have in stock and must buy are exactly the most expensive ones in the project.
  3. Some of the most expensive parts in the project aren't even on the Bill Of Materials, because it usually only lists electronic components as such.

If you Have A Lot Of Parts, there are basically only three ways you could have gotten them.  You could have stolen them, but I won't consider that further here.  You could have bought them from some sort of manufacturer or distributor, and in that case you may have gotten a discount for buying in quantity, but you'll still have paid some money which you must count as part of the cost of using those parts, and you also had better really use them in this or some future project, else the money you paid for unused parts will be wasted.  So, if you're buying parts to Have A Lot Of them, you only save at most the quantity discount amount, and you'd better limit yourself to quantities and part types that you really will use (else the waste will outweigh the discount), implying either careful long-term planning or a limited selection of the very most common part types.

Finally, you could Have A Lot Of Parts by somehow getting them without paying, but in an honest way.  Usually it comes down to some form of salvage of somebody else's leftovers or discards.  That's great when it works, but you don't get to choose the parts which will become available for salvage, and that narrowly limits how applicable this technique will really be.  The parts you get by salvage will usually either be cheap and low-quality (else they would've been sold instead of given to you), or theoretically valuable but quite specialized and unlikely to be used in any given existing design you want to build (or, again, they would've been sold instead of given).  Use of salvaged parts is different if you have the opportunity to change your project's design, or create a new design, specifically around rare parts you've been able to obtain; but that's not the scenario I'm primarily considering here.

Many people won't believe my thesis without numerical proof, and many others won't believe it even with numbers, but I'd like to work through an example in detail anyway.  Let's look at the MSK 002 "Asuka and Shinji" distortion module; full details of this project are on my SDIY page at the link.  I chose this one as an example for a few reasons.  One, it's my own design and not one I'm selling commercially, so I'm neither picking a fight with someone else over their prices, nor disclosing any commercial secrets of my own here.  Another reason to use this as an example is that (up to some considerations I'll go into below) there is nothing really weird in this design.  It's just a straight transistor and op amp distortion amplifier.  All the parts on the Bill Of Materials look quite ordinary.  There are no special ICs to buy or exotic hardware components.  I used some rare New Old Stock capacitors and transistors that I had - indeed, designing the project to use them because I was a hobbyist myself, trying to Save Money Because I Had A Lot Of Parts, and not selling modules commercially at the time - but it's not necessary to do that.  The MSK 002 is deliberately a very forgiving design with respect to component substitutions.  You can swap out most of the components for whatever you have on hand and it'll still work fine.  So if you can save real money on any SDIY project by Having A Lot Of Parts, you definitely ought to be able to do it on this one.  How much can you really save?

I've worked out the price of building an MSK 002 module as a hobbyist in a few different scenarios.  All of them involve some assumptions which are certainly open to debate, but I think (for reasons which I will explain) that my assumptions are valid ones and present a realistic picture of what it really costs to do this sort of thing.  Some of the resulting numbers may seem shocking but that's my point:  people have terribly unrealistic expectations about the cost of DIY and are shocked and disbelieving when confronted with the real numbers.

A frightening worst case

First of all, suppose you want to build the module, just one of them, and buy everything outright in just enough quantity for this one project.  This is a sort of worst-case scenario and baseline to compare against.  I priced out all the parts at Mouser (most components), Front Panel Express (for the aluminum front panel), and OSHpark (for the PCBs).  This project requires two identical PCBs, and the OSHpark price is for three.  That is about the smallest number of PCBs you can buy anywhere.  All prices are in Canadian dollars and shipping is to me in Toronto.  I put in $2 for the Eurorack power cable and listed it in the Mouser column, but the assumption is actually that I'm making it from parts on hand; that is about what it costs to do so and a reasonable lower bound on buying it pre-made.  Note that this scenario includes nothing for the cost of doing the design in the first place; it is assumed you download that from my Web site and you don't pay for it.

You can download a PDF file containing this table and the others from this posting.

Other assumptions:  for most items on the list I simply used the cheapest components Mouser sells that would be able to work with the existing circuit, PCB, and panel designs.  I chose 2N3904 and 2N3906 transistors, typical of what people who Have A Lot Of Parts would have a lot of (in the real project I used special antique parts that would have been worth more, but for which I didn't pay); swapping film caps for the ceramic discs I used in real life because ceramic discs that size are unobtainable now and the film caps were actually cheaper than modern ceramic multilayer caps to fit on the board; and a TL072 op amp (typical of what people have in stock when they try to keep stocks of common ICs) instead of the (again antique) legacy part I used.  The knobs, similarly, are the cheapest ones Mouser had that would work with 1/4" smooth shaft pots.  In real life I buy cheaper knobs from China, but those can't be had in quantities of just 6, and they're like half the price, not like 1/10th of the price.

One can easily object to the choice of Mouser in particular; there are cheaper distributors.  But other large-catalog distributors in rich countries (your Digi-Key, your Farnell, etc.) are just as pricey; cheaper places do not stock all the items on the list, making it necessary to deal with more than one distributor; and if you use more than one distributor you're looking at paying shipping again for each additional distributor.  And, as I'll say again and again, the parts on which you can really save money by cheaping out are the least expensive ones anyway.  Paying $0.01 for a resistor instead of the $0.138 above is plausible... but resistors are not where the real costs come in.

Bargaining it down

So, $213.29 to build a simple distortion module!  Not including anything for labour or the cost of developing the design - this is assuming you're doing all the construction yourself, pay nothing for solder or miscellaneous supplies, and you're using my design for free.  Most people would, probably rightly, say that $213.29 is an insane price tag for this project.  Let's look at where the costs in that number really are.

Quick reality check:  people who say they Have A Lot Of Parts, to a first approximation, really just mean "I have a lot of fixed resistors."  There are $2.84 worth of fixed resistors in this project; you save $2.84.  Whoop-de-doo.  And that is at the inflated tiny-quantity price, from an expensive distributor, used in this first estimate; people who really buy resistors never actually pay that much but my point is that even if you did, it wouldn't make a real-money difference.  You're not going to Save Money By Having A Lot Of Parts in a way that makes a difference when you can only do it on resistors because they aren't where the money goes.

So the aluminum panel, with shipping, is $90.91 out of the $213.29, about 43% of the total.  That's a lot, and it's probably a cost we can cut a fair bit because buying engraved aluminum and having it shipped one piece at a time from Front Panel Express is pretty much the most expensive way you can possibly get a front panel for a synthesizer.  You could pay OSHpark-type prices instead of FPE-type prices (about half as much) if you settled for a lower-quality fibreglass panel made on a PCB production line.  You could probably save a lot more if you made your own panel with a chunk of sheet aluminum and hand tools (or even, good grief, cardboard).  You could hope that someone will sell you a ready-made panel for this project at a much lower price than $91, but that hope depends on the person having access to panel manufacturing at a much lower price, and on their not marking up their cost very much before selling the panel to you.  And charging you nothing for shipping.  Let's say $20 is realistic, with quality compromises but not extreme ones.  To summarize the panel:  you can probably save a fair bit of the $91 price tag, but the panel is unique to the project and will have to be made specifically for this one project one way or another, so it is not an item on which you can Save Money By Having A Lot Of Generic Parts.  These savings come in a different way.

The next biggest single item is the PCB manufacturing from OSHpark, at about $48 (shipping included) for three boards (the smallest order they will accept) of which you need two to build the module.  (This module is designed to use two identical boards with different per-board part populations, to save money.)  There are much cheaper PCB manufacturers, but very few of them sell boards in such small quantities with free or reasonable international shipping.  Given that you're likely to end up paying for unneeded boards or shipping or both, you're not coming out of that for much less than $48.  But you could consider etching your own board (fixed costs and safety issues, but people do it), milling it on a milling machine (works if you have one; most people don't) or hope for someone to sell you a board at a lower price through a group buy or something.  And charge you nothing for shipping.  The quantity discounts on PCBs are a lot bigger than on most electronic components so hoping for a group-buy or retail board kit makes more sense than with some of the other items.  Really, the smart thing to do would be to not use a board specifically made for this project at all, but instead build the circuit on generic stripboard or perfboard.  It's a simple enough project that that would work well and the cost might realistically be $2 instead of $48, and maybe you have generic boards in your stock.  This is a point on which it's reasonable to expect to save real money, though it'd be less true for a more complicated circuit.

The next biggest cost centre is the panel potentiometers (lumping together the log and linear pots into one item) for $31.56.  That's a lot of money to pay for six potentiometers; most people expect them to be less than $1 each (and they don't think about quality, shipping, or the fact that they are imagining US dollars when all the prices I mention here are in terms of smaller Canadian dollars).  The ones on the BOM are good panel pots with a much longer lifespan and better feel than the $1 kind you expect to buy from Thailand.  But maybe you want to compromise and save $25.56 on cheap Thai potentiometers anyway.  Great!  Except... the PCB was designed for the expensive pots, and the cheap ones you want to use won't fit on it.  If you are buying PCBs that someone manufactured in large quantity from the existing design for a discount, then you're stuck with using the expensive pots to fit on it.  If you redesign the PCB to use cheaper pots (note: only a simple matter because I distribute an editable Kicad version instead of just the Gerbers; others who publish PCB designs often don't make it so easy and you'd have to start over with a new layout from scratch), okay, but then you may be stuck with paying high prices to manufacture very small quantities of PCBs.  And the cheap $1 pots have solder lugs that won't fit nicely on your $2 stripboard or perfboard either (the expensive ones actually will) so if you want that $46 saving on PCBs you're either stuck with the expensive pots or you're having to deal with "flying wires" or something to make the connections.  And if you find cheap $1 pots with the required 0.1" lead spacing to fit on stripboard, they'll be a different height off the board which makes trouble for the panel design.  This kind of physical-design issue - what will actually be able to plug into what, and the correct physical distances between things - is a huge headache for me when designing modules and it's something most people completely ignore when estimating how much they think a module ought to cost to build.  I spend many hours doing detailed mechanical drawings to get the physical design right.

The next biggest single item is $20 for Mouser shipping.  This, you can reasonably save if you're a serious hobbyist, by combining this project's order with other projects until you get over the $100 threshold, not hard to do, at which point they offer free shipping.  So, $20 off, and that's a genuine saving without any serious compromise or inconvenience.  It still doesn't have much to do with Having A Lot Of Parts.

After that, there are the six MJ-3536 jack sockets for $6.92.  These are not the very most common type of jack sockets but they're a pretty common type so it's reasonable you could have a stock of them.  Great, the first item on the list for which you can truly Save Money By Having A Lot Of Parts!  I don't know how much you think you can save, but let's say you think you don't have to pay for common parts at all, so, $6.92 savings.  These parts won't fit on stripboard or perfboard, but in such a build you could reasonably mount them off-board and use flying wires... as long as you're not also mounting the pots off-board, because then there'd be nothing left to support the board and you'd need to do some more careful physical design.  Again, these are issues you need to think about if you're serious about saving money by not buying a commercial kit.

I think you have to buy the 0.47uF capacitors with 0.4" spacing, or something equivalent, especially for this project; $3.99.  They're pretty important in the circuit, and if you want to substitute these you need to change the board design or do enough kludging around with bits of wire and compromises to the circuit, that I think it realistically goes beyond "saving money on this project" and into "designing a different project of your own with this one as inspiration."

Everything else in the project together comes to $11.93 (rounded to cent).  That includes all the stuff like fixed resistors, generic transistors, the op amp chip, and so on - parts that really are common and generic and you might Have A Lot Of.  We'll ignore the mystique of germanium transistors, etc., because that's really kind of silly, and assume 2N390x is good enough for you.

So, where are the savings?  Assuming you want to build this project, and you Have A Lot Of Parts, and you're willing and able to make some moderate design changes and compromises, but you still only want to build one of them, here's the breakdown:

  • Front panel: $90.91 in the initial estimate but you could convince yourself that it might get down to $20 by depending on someone else to do a group buy of a fibreglass version.  $70.91 saved, but not by taking parts from stock.
  • PCBs:  initial estimate $47.98 and not really realistic to get it much below that in this quantity if you want a real etched board made by someone else.  Realistic to hope to drop it to $2 by forgoing a PCB entirely and using stripboard or similar instead, which you might realistically have in stock (save $2).  (This does increase the skill level of the project because you'll need to work out the layout and physical design yourself.)
  • Panel pots:  $31.56; you might pretend that it should be $6 but this involves a real compromise in quality and screws up the physical design in ways that may cost you money elsewhere.  Let's say, though, that it's $25.56 savings from the quality compromise and then (because you Have A Lot Of cheap generic pots) you also expect to save the $6 by not paying for the cheap pots.
  • Mouser shipping:  $20, easily saved; this is a gimmie but it has little to do with IHALOP.
  • Special capacitors:  I'm assuming you have to actually pay for these; $3.99, no saving.
  • Everything else:  total $18.85 and let's say you can save it all by Having A Lot Of Parts that you never had to pay for.

All told, in quantity of one, you can hope to drop the price by something like $189.30 (cutting the total to just $23.99: the panel and the special capacitors, everything else coming from stock), which is a pretty good saving from the initial estimate of $213.29... but only $26.85 was saved by taking items from stock that you Have A Lot Of, and that's assuming you never have to pay for those items at all, which is unrealistic.  And it involves a lot of compromise and additional work in making substitute parts of lower quality than the originals, or different physical parameters, serve in place of the ones in the initial estimate.  Most of the real saving ($118.59 of it) came from finding ways not to have to pay full price for the PCB or panel.

How many of us have said "I want to pay for just the PCB and panel, so I can Save Money on the other items?"  Right.

How much do you have to spend or salvage in advance to be able to get a 100% IHALOP discount on every single item mentioned, all just to save $26.85 (Canadian)?

Here's another what-if scenario:  assuming you Have A Lot Of almost everything, but you don't want to compromise away quality on the panel, PCB, or pots.  How much savings do you get on just using stock of common parts at 100% quantity discount without also redesigning the module?  This is typical of what a beginner to intermediate do-it-yourselfer might attempt.

The pink cells mark the parts in the original design that I think it's really reasonable to expect to have in stock... and the total price drops from $213.23 to $194.44.  The greater savings described above come from substituting other parts and changing the design to have those also be in stock; this table here is assuming no substitutions but only saving on parts in the original design.  It's easy to understand why the saving is so small, and it's what I said right at the start:  the parts you Have A Lot Of are always the cheap ones and don't make much difference to the total.  The parts specific to one project are always the expensive ones that account for a lot of the total.  You save time and effort sourcing all the many different items by keeping an inventory of common parts, and that's a good thing and may make it a very good idea to keep an inventory.  But it is not a way to Save Money.  If you want to Save Money, you have to do that by finding ways to pay less for the big, expensive parts.  Those are what matter.

I Bought A Lot Of Parts

Let's look at that 100% quantity discount.  Is it realistic?  Sure, if you can find a way to just not pay for parts at all.  Salvage is great!  But if you're hoping to get common parts you can really use in specific designs and not have to modify the designs, then it's likely that you will have to actually pay for most of your parts, and at best you can save some, not all, of the cost by buying larger quantities in advance.  The tiny quantities in my estimate above are understood to be unrealistically expensive.

It's hard to predict exact patterns of use, but as an estimating exercise which I think is honest and realistically representative, let's expand the quantities in the above to the point that we can build 20 modules.  This is about the best case scenario for quantity discounts, because with 20 modules all the same, all the parts become "frequently used."  Here's the result.

I switched the PCB manufacturer from OSHpark (which I think is in Ohio) to Elecrow in Shenzhen.  The price for 40 actual boards from Elecrow is slightly less than OSHpark's price for just 3 - very much less per board - but (because of shipping costs and quantity discounts) it remains that OSHpark costs less in the smaller quantity.  Maybe you could order like 10 from Elecrow and have a smaller total with shipping than OSHpark's price for 3, but the details of that are beyond the scope here.  There's a minor quality compromise here because I selected the cheapest options at Elecrow (in particular, tin-lead plating instead of gold), but they're still decent boards.  I also chose Elecrow's cheapest shipping.

I didn't cost out every individual resistor value but just grabbed a typical price for general purpose 1% resistors from Mouser (Yageo brand, I think) at the different quantity levels.  The discounts work out so that 100 resistors cost less total than 80, so I bumped up the quantity on the 6.8k value to take advantage of that.  One can easily say that it'd make sense to buy all the resistors in quantity 100 because they are common values and we want to Have A Lot Of Them for future use too, but second-guessing the parameters of the experiment would destroy its validity.  I'm trying to estimate as accurately as is reasonable the cost of building exactly 20 MSK 002 projects with the compromises a hobbyist would realistically make but still not merging it with a general "buy for the future too" effort.  Remember, anything you buy and don't eventually use or sell on is money lost, and there's an opportunity cost on investing that money in inventory even if you do eventually use the parts.

Comparing these numbers to the quantity-of-one case:  quantity discounts mean about 57% off, and that's great.  But that's assuming the quantity discount is uniform across all parts of the module - including the custom-made parts like the PCB and panel, which account for most of the price tag in both scenarios.  Really, you only get a quantity discount on the parts you Have A Lot Of - and without doing a detailed calculation, note that the Mouser column only went from $74.40 down to $45.20 per module, including the removal of the shipping charge.  The quantity discount isn't a full 57% there.  Most of the quantity discount, both as a percentage and as an absolute number, is on the PCB and panel, which you aren't buying in quantity in real life anyway.

In conclusion:  if you think you can save a lot of money by Having A Lot Of Parts you're probably fooling yourself.  The parts for which Having A Lot Of Parts really works are not expensive parts; it doesn't really work well on expensive parts; and expensive parts account for most of the cost of building things, so the real money you save by maintaining an inventory of common parts is disappointingly small at best.  Achieving that best case in a situation where you're building many different projects instead of multiples of the same project, entails significant extra work redesigning the projects to use the parts you have, and often compromises on quality.  Saving larger amounts of money is possible, but it doesn't come from keeping an inventory; instead, you have to find ways to save money on the few expensive and unique parts in each project.

Nonetheless, because people do keep asking, I plan in some future posting to talk about common parts that it does make sense to keep in stock - not as a way of saving money, but a way of saving time and effort.