I have more than 5 years experience working on embedded programming on several architectures and micro-controllers for different companies, so I feel confident about my skills. All the experience is on a corporate environment where there are a bunch of electrical engineers designing something and I am with them concurrently taking care of the software part. Although I have some electronics background and I understand most of the process of electronic design it still is a big black box for me.
The other day a friend which owns a marketing company ask me If I was able to convert an idea into an embedded product. The product is very simple one, and the electronics should be very easy for an electronic engineer to accomplish, but not for me. I started talking with some electronic engineers friends of mine about the process and they started talking about a lot of issues I didn't have in mind before.
On the other hand I started looking a sites like alibaba.com and I found some products with the similar functionality and the same hardware I will need and they are already designed and tested and of course they are a lot cheaper than If I start a design from scratch. I don't know how to proceed. I have three options:
- Simply say no to my friend.
- Start conversations with one of these companies in China to check if they could sell me a development environment for an specific product, develop a custom firmware and then let them take care of everything (Is this even possible?)
- Hire an electronic engineer that will charge a lot, and the design phase will take months and months.
Are there models for stand-alone embedded programmers to build our own products? Is there such things as best practices for this kind of work? Do we need to always depend on new electrical designs, or we could have something like a menu and make an order somewhere?
I understand this question is no necessarily programming related, but I don't see it fits on the other sites neither.
EDIT : Just to clarify. My question is not about "How could I start an embedded design?". Of course I know about evaluation boards. I am asking if there is a way for an embedded programmer to develop a full product (including electronics) by having references designs that you could buy and if there manufacturing are companies which let modified the functionality of their hardware so you could produce a different product from their hardware.