I have about 17 years experience as a computer engineer, in both hardware and software, and I have been writing software since the 7th grade. I came up with this idea of Sabertron (foam swords with electronic scoring) a little over a year ago and got to work prototyping it immediately. I was able to demonstrate the basic premise of the game within two weeks. I used an off-the-shelf Ardruino general purpose microcontroller coupled with an Xbee wireless "shield" that easily plugs into the Arduino. This worked fine for the proof-of-concept, but was not a manufacturable product. That is where the pain started.
The road from proof-of-concept to production is VERY LONG. It is much more difficult than I imagined, and I was already very familiar with the process. There is simply NO WAY that I could have completed the design by myself without my extensive background in computer engineering. I was amazed that I had to reach so deep into my past experiences to pull this off. What started as a fun little "hobby" microcontroller turned into a tough, grind-it-out engineering effort.
There are a couple of key issues in the industry right now that really hinder hardware projects:
- There are no standards regarding how to write a hardware spec. Every vendor has their own style and conventions, and it really smells like they are written by engineers who have way more experience than you in their particular fields. They don't hold your hand and spell things out. You can read a line in a spec and scratch your head as to what it means. Sometimes information is simply not there. Sometimes you will miss a FOOTNOTE in a table and it will stall your progress for weeks. I once missed a single letter "k" for kilohoms and it stalled me for two days. The details will kill you.
- The chip manufacturers cater to their large customers, almost exclusively. The large customers get great support but everyone else gets starved. Who can blame them?! Their large customers account for the majority of their sales, and the rest of their revenue comes from a WIDE field of small companies and inventors. Since the specs suck, they get inundated with support calls. They do the best they can, but it just slows down progress for the small inventor.
- Information overload is a HUGE problem. There are a billion hardware chips out there. You haven't really seen online shopping until you have shopped at mouser.com and digikey.com. Their search engines are INCREDIBLE, but you get back so many results that it is hard to know where to start. No one can answer your question of, for example, how to run a circuit off a rechargeable battery and handle recharging. You just have to download a million specs and read through them. It's a tedious thing. Then you have to purchase the parts and experiment to make sure that you really understand the spec!
- The chips are tiny and getting smaller. No one is making larger easy-to-handle parts for hand-built circuits anymore. It is hard to find evaluation kits for the chips that you want to evaluate. So you have to learn how to build them yourself. You will need a microscope, a fine tip soldering iron and and a steady hand.
- This is a very specialized field and there just aren't many people doing this stuff before you blaze the trail. You don't find as many answers to your questions in Google searches or on Stack Overflow. There is a huge difference between programming Python and building/programming hardware. It is a huge leap.
These are the biggest issues. If you want to follow my story and hear more about my challenges and solutions, sign up for my mailing list at sabertron.com. I will post an update this week with more technical details. I am also working on a book on Embedded Development to help in this critical growth area.