Question

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.

Was it helpful?

Solution

Hardware: You might want to start out with hobbyist-grade equipment, which is generally fairly easy to understand and reasonably inexpensive. For a totally random example, look here: http://www.parallax.com.

Many of these kits are designed to be used as analog or digital sensors, or as controllers, so there's a chance you'll find one that suits your needs fairly closely.

References: The same way you'd build a software library, electronics engineers have built "libraries" of basic circuits that perform simple functions and can be combined into larger designs. Search your library or the web for an "electronic circuit reference/archive/cookbook" like this: http://amasci.com/elehob/elehobcr.html to find oodles of circuits that may be helpful for your particular project.

Options: If you don't want to do this yourself, you might offer a small fee to an EE major at a local college (some colleges allow seniors to do a "Special Project" for college credit, in which case it may cost you nothing), or offer a professional a percentage of the profits if your product takes off.

Good luck!

OTHER TIPS

For embedded development Product development model comes in the form of eval boards.

The trick lies in selecting the eval board with all the features we are looking for.

The things I would care are

  • Cost of the eval board
  • Availability of supporting tool chains for the eval board
  • Complexity of the schematics

First, you buy the eval board and modify it (simulating some of the components).

Understanding the schematics, especially in digital design may not be difficult for engineers.

And one more thing, if the eval board lacks some component that is already present in the eval board, and when you ask your electronics engineer for an add-on to the current eval board you have selected, it may be easy for them to answer.

BTW, I do not know anything about the China stuff.

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.

Talk to your friend about this. Unless your product has some feature that lifts it above the crowd you can't win.

[Are there] companies which let modified the functionality of their hardware so you could produce a different product from their hardware.

In general, even small hardware modifications are fairly expensive, so most companies will probably be willing to do that only if you agree to buy quantities of hundreds or thousands or pay for the retooling costs.

On the other hand, you never know until you ask. Years ago our tech support received an email from a hobbyist who'd bought one of our (old, used, unsupported) products from a third party and wanted help getting it running again. He became our electronic pen-pal, and we sent him the parts he needed as a gift.

I'd be interested to know more about your project if you don't mind sharing. In any case, consider some form of a non-disclosure agreement before discussing it with anyone who has the ability to build it before you do.

What sort of hardware are you looking to design?

As an embedded developer myself, if I wanted to become self employed, I would start by using as much as possible off-the-shelf components:

  • PC motherboards or small existing devices such as Apple iPhone or Nintendo DS
  • linux or open source RTOS
  • a standard PC with open source SDE such as Eclipse.

I know various embedded software programmers. Most work on-site at electronics OEMs, usually on an hourly basis. That has the advantage of using their tools and equipment (typically), working with the hardware/FPGA team and not having to bid on (possibly changing) requirements. If your friend's idea has merit she/he should consider hiring/contracting a person such as yourself. If it isn't worth their money, then they probably don't have much hope of making enough money off it.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top