It is quite typical for companies to outsource their embedded design and other electronic and board design needs to other firms. Sometimes companies have innovative ideas they want to bring to market but not the internal electronics expertise, sometimes larger firms don't have the internal capacity or don't do enough electronics or embedded design to justify the dedicated staff.
Own Your Design
There are two major business models that embedded design firms use. Some firms make their money by selling you the boards and have a very low or non-existing up-front engineering fee. If you don't have a need to reduce your per-unit cost and don't expect to make changes to your design in the future, this may be an option. However, they usually require you to buy a minimum number of boards to recoup engineering costs and make a good profit.
Other firms charge you engineering fees for board and software design and allow you to shop out the fabrication to anyone. Often these firms allow you to own the source code for the board design and software they develop for your system. While up-front engineering costs are greater, you can significantly reduce your per-unit costs and have the peace of mind that comes with knowing you aren't beholden to your design firm for future hardware and software updates.
Documentation Matters
Know Your Needs and Their Capabilities
With microprocessors and micro-controllers in just about anything you might touch (vehicles, buildings, appliances, phones, toys), embedded and electronics design has become a very broad field. Understand the needs of your design and make certain you select a design firm with appropriate expertise. Things to consider include:
- Communication networks
- Power consumption (mobile, etc.)
- Durability and environmental concerns
- Overall complexity
- Other circuit design needs (motor drivers, audio amplification, signal conditioning, etc.)
More Than Just Circuits
In our interconnected world, It's very common for the capabilities of embedded devices to go beyond the device itself. Often times devices can interface with networks, central services, peripheral devices, databases, etc., through WiFi, Ethernet, phone lines, USB, Bluetooth, ZigBee, etc. The reasons for doing so could include remote automated firmware updates, data collection for failure analysis or client support, parameter setup, etc.
Depending upon your needs, it may make sense to hire a firm with a track record of developing solutions for the systems your device will interface with, for example web based applications, server based applications, or database applications.
Bringing an Old Design to a New Firm
For whatever reason, sometimes the original designer is no longer an option for future system updates, in which case it is common for a client to bring their design to a new firm. There are a couple things to keep in mind should you find yourself in this situation. While most firms have a preferred design environments, just because they don't use the environment your board was designed in doesn't mean they cannot support you. Most of the bigger name packages these days, such as Altium Designer have sophisticated import tools. Make sure to keep your original source files for the board layout and software, because this will save the firm a significant amount of development time. Any documentation you have may also be a big help.