Assume that you have a couple of ideas that you think are good enough to prototype into demonstrable devices. What option would you take and why?

Option 1 - Build everything from scratch including designing and soldering the circuit, embedded software and finishing / packaging touches. Basically in this option, you do everything and don't source ready-made circuits from elsewhere. For e.g., you can easily get ready-to-use PCB's for power supplies, motor drivers and so on. Instead you build your own.

Option 2 - Figure out the common or readily available blocks in your schematics and source them from third parties. You work on only the parts that you think add value / novelty to your prototype (or one's that aren't readily available). These may include the electronics and/or the software.

There are obvious costing implications but I am asking to ignore those since they are easy to arrive at and analyze against. I am also not touching on obvious IP implications on getting stuff from 3rd parties - again assuming that these are taken care of legally. Also, please sensitize your answers to commercialization of these prototypes - that is, assume that these will be available as custom or off-the-shelf products in the future.



  • \$\begingroup\$ It depends, it's one thing making something with a 6 pin MCU and some LEDs - quite another to try and build your own graphics card. The choice depends on your skill level and aims. \$\endgroup\$ Sep 29, 2010 at 10:08
  • 2
    \$\begingroup\$ Depends how complicated the circuit is, and whether you have more time or money. \$\endgroup\$
    – endolith
    Sep 29, 2010 at 14:08
  • \$\begingroup\$ Quote: "there are costing implications but I am asking to ignore those". That seems outright silly to me. Costing is (and ought to be) one of the prime criteria! \$\endgroup\$ Sep 15, 2011 at 19:25

4 Answers 4


I think it's a combination of both. When starting out, you have a core idea that differentiates your product from others on the market. You'll start out breadboarding the idea to see if it works, how well, etc. During this phase you should buy ready-made components - I'm thinking mainly of something like a breadboard power adapter. There's no sense in making EVERYTHING from scratch to test one idea; get the idea down in code/circuit, make sure it works and is feasible.

Now, after this point if you want to make a standalone product you'll have some work to do. The breadboard power supply may not be useful because it only does 5V, and you want to use 3.3V to lower power consumption, etc. So you pick a regulator IC, design the circuit, test that, etc. Once everything is pretty well set in stone I would make a PCB and solder up the prototype myself and create a testing scenario to make sure everything works. You'll find problems, fix them, respin the boards, etc.

In general, I wouldn't put a module sold from Sparkfun or some other place in my finished product. You could and I don't think there's any major legal hurdles - my hesitance is mainly cost and usefulness-related. If this is going to be sold in any major numbers you don't want to have to buy headers to plug the modules in, pay the markup on the boards, or have to figure out workarounds for the drawbacks of the modules. For instance, I used an Arduino Mega in a serial bus tester. However, not all of the pins on the uC are brought out to headers, so I had to have a tech solder a magwire to the right pin so we could use it. If I had been making more than two of these then I would have just soldered the uC onto the PCB for the device instead of connecting the Arduino to the PCB via headers.

In general I don't think that much of the functionality of the modules you see in places is that hard to reproduce. Some of them are just straight implementations of reference designs for the chips they integrate. These are easy enough to reproduce on your own and very legal as far as I know.


It would depend on the goal, maturity, and duration of the project.

Putting together building blocks for a final design is:

  1. Fast.
  2. Easy.
  3. Dependable.
  4. Expensive (in volume).
  5. Hobbyist-oriented.

In contrast, a final design from scratch is:

  1. Time intensive.
  2. Difficult.
  3. Vulnerable to failure of concept.
  4. Cheap (in volume).
  5. Professional quality.

In general, I'd start with blocks for a prototype. Sometimes, I'll substitue something I have on hand for a given block (i.e., lab PSU for a power supply circuit, or a PC/overpowered dev board for a smaller micro). Then, I'll use that working prototype for a reference as I seek to find cheaper parts, simpler circuits, and implement the design on a custom PCB.

When designing a custom solution, however, remember not to reinvent the wheel. This is an especially potent doctrine when it comes to software. If a library or circuit is available, tested, refined, and proven, don't fix what ain't broke!


Option 1. I am a pedantic masochist who wants to control everything and either own all the IP or give the whole design away freely under creative commons licensing.

  • 1
    \$\begingroup\$ Should that read "a pedantic masochist suffering from NIH syndrome" (NIH = Not Invented Here)? \$\endgroup\$
    – Amos
    Sep 29, 2010 at 9:36
  • 1
    \$\begingroup\$ No, I just like doing things the long way sometimes. \$\endgroup\$
    – user1307
    Sep 29, 2010 at 10:39
  • 3
    \$\begingroup\$ Many of us create projects to learn as well as make money. If we do it all ourselves we get to make money and learn at the same time. It's not always NIH syndrome. \$\endgroup\$
    – AngryEE
    Sep 29, 2010 at 15:24

I build from scratch. modules are more expensive and you have to deal with third parties who change designs, go out of business or may have licensing issues you'll have to contend with. Boards aren't difficult or expensive to design and fab out (although I hand-assemble most prototypes and low-volume production boards) and the resultant design is often much smaller than something built out of modules.

If there's an overly complicated piece, I may use a module. For example, I use Gumstix COMs for a design, but only for the prototype and first 50 or so; I'll incorporate the OMAP3530 on my board for production. They're expensive and support is poor but they are very nice in the sense that I don't have to worry about the OMAP/SDRAM/support circuitry and can focus on verifying that the other bits of the design work properly.

  • 1
    \$\begingroup\$ RF modules are one part where I might want to avoid own design. \$\endgroup\$
    – XTL
    Sep 29, 2010 at 16:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.