Why, When and How: The basics of embedded systems prototyping - Embedded.com

Why, When and How: The basics of embedded systems prototyping

In today's competitive environment, prototyping is necessary to understand customers, create a new market or attend to what has been ignored by industry leaders. The big problem is that most engineers don't see the benefits of prototyping and are not convinced that it is an effective way of developing and using a prototype.

This article covers the basics of why, when to and how to prototype (Figure 1, below ) and discusses the main reasons why dedication to creating a prototype will prove to be fruitful in both gaining visibility for your product and also getting an early taste of whether your idea will resonate with targeted consumers.

Figure 1: Why Prototype?

Why Prototype? There is a huge pool of great ideas with no material to show for it. A prototype makes an idea a reality and makes investors or partners confident by showing them that the idea could actually work. Creating a prototype can be a tough hurdle to jump because it converts an idea to something that has value and requires some dedication.

Most engineers understand the benefits of prototyping, but don't have a good grasp of its importance and how it can be used to develop a better product effectively in a short amount of time. To fully understand the benefits of prototyping it is necessary to look at the process from two different perspectives, the business and technical.

Business Benefits
Provide value to the idea for funding. Building a prototype shows determinism and a passion for further developing the idea. To an investor, execution matters more than an idea. Having a prototype in hand shows the execution and provides a layer of functionality to the idea.

Alternative ways to present ideas. It is always a difficult task to present the full picture of an idea which typically involves trying to transfer information that's on your mind to paper or directly to an investor.

Information can easily be lost when verbally described or written down. A prototype puts the idea physically in front of the user, providing an upfront experience and helps visualize an idea that is just too hard or complex to describe on paper.

Reduce production cost and determine initial costs. Developing a physical prototype will help determine a detailed cost distribution that will be involved in manufacturing. Factoring in the cost earlier in the development process will help with predicting feasibility of the product for production.

It's also essential to understand that a prototype can be used to reduce the cost that's involved down the line in production (Figure 2, below ) and speed up product deployment. With a prototype, you can determine more effective ways of designing a product for production and streamlining the product to lower the cost involved in manufacturing.

Figure 2: Reduced Production Cost

Most engineers find that creating a prototype usually incurs high initial cost in the product development process. This may be true, but there are ways of reducing this initial time and cost involved by making use of the right tools. This will be addressed later by presenting a variety of high-level tools to help create prototypes effectively, while saving time and cost.

Figure 3: Reduced Cost of Prototyping

Getting upfront feedback . Prototyping will foster constructive feedback faster and more effectively. It's always easier for users to get a better picture of your product by helping them see it and feel it.

This will bring their understanding of the idea to another level which in turn allows for you to harness more constructive feedback. This direct feedback will help perfect the idea for the target consumer.

Technical Benefits of prototyping
Determine design flaws earlier . Fixing design flaws will always be a part of bringing an idea to product form. Almost half of the costs involved in projects are attributed to rework due to design flaws that were determined far too late in the design process.

Traditional methods of getting information from customers without a functional prototype do not provide informed feedback because customers generally don't get the full concept of the idea and hence will not add value to the feedback that you may already know. Identifying these flaws earlier in the design process will help gather solid requirements that can be applied swiftly to the development process.

Testing your ideas. Creating a prototype is not only a great way to show venture capitalists what you're thinking, but it's also an easy way to test your product. Prototypes are used as tools to get through initial design flaws and give the inventor a chance to see through problems clearly.

Having a prototype on paper or a 3D rendered model is a great way to get some visual feedback of the prototype, but it will not give you a real world perspective of the product. The prototype should be functional, showing off the initial goals of the idea for testing and weeding out potential issues the final product may have.

Understanding product feasibility. With innovation and idea creation there is always a risk of failure. The hard part is trying to weed out the approaches quickly and understand the feasibility of the idea as a product.

A prototype can be used to narrow down the idea to a potential solution for a product and make sure the idea is viable in the first place. A prototype does not bring in revenue and is only there to hash out different approaches for your idea so it is important to put in enough work to get an initial vision of the idea without overusing your resources.

Streamlining the design . A product design can change immensely depending on the type of materials used and how it will eventually be manufactured.

A prototype will help determine ideal materials by making it possible to perform initial hardware testing, and it will help develop an efficient manufacturing process by streamlining the design for specific material types.

The value of innovation can easily be measured by the amount of prototyping that's involved in developing a product. A prototype provides customers with a whole new level of understanding which leads to an informed feedback channel.

The great thing about a higher level of feedback is that you're more likely to get unforeseen information. A prototype brings this information to you in a short amount of time and will help you better develop a product to directly address the problem and the target market.

When developing a new product for a targeted segment, timing is of the essence. Developing a prototype helps identify flaws and design advantages early. Most engineers shy away from concentrating on a prototype as part of the product development cycle because of its high initial cost.

The main aspect to take away is that the initial cost is short term and will help streamline a cost effective product in the long term. The ideal situation would be to reduce the cost of developing the prototype by using higher level tools that have a wider range of upfront functionality.

Prototypes are definitely great initiators to a solid product development cycle, but there's a lot you can do before you get into the process of creating a prototype.

Five things to consider before prototyping
An idea always starts off as something premature and untouched. Jumping the gun and getting into prototyping too quickly will hurt the development process by not working through some basic analysis.

Figure 4: Streamline the Idea

Usually an idea could be directed to multiple market segments but the prototype is usually very specific to one market. It is important to streamline your idea (Figure 4 above ) for the specific market you are wanting to prototype for. Here's are five high-level aspects to consider before embarking on a prototype.

1. Define the problem and goals . Ideas usually sprout to address a problem that currently exists. The problem could be something big or small but it's essential to define the problem because without a defined problem you'll have no direction to develop your idea. When creating an idea it is useful to have a set of goals to serve as guidance from going too wayward or in-depth into idea development.

2. Gathering market analysis. When an idea gets handed to you, you will quickly realize that the idea could be useful in a lot more areas than what it was intended for by the initial vision of the creator.

To efficiently harness the most out of the idea, you need to garner focus by targeting the idea to a specific market. Analyzing areas where the idea would be highly sought after will prove useful in focusing idea development and gathering a feedback group.

3. Gathering competitive analysis . The interesting thing about idea development is that no matter how unique your idea may be there's usually an existing product that it will be replacing. Understanding other products in the market and how they were implemented is a great way to identify potential flaws in your idea.

4. Getting quality feedback . Getting the perspective of others is always a great way of knowing where you stand, but the hard part is choosing which feedback to follow.

A useful way of filtering feedback is by looking at your goals and matching them with the feedback. One very important thing to keep in mind is that not all feedback is quality feedback. Always be in pursuit of avenues that will help you get feedback that you don't already know.

One way of targeting a quality feedback pool is making use of market analysis. This can easily be used to separate out the generalists and experts within the target market and structure a way of extracting feedback that aligns with your initial goals and creates a community of contributors.

5. Assessing the initial goals . Ideas are extremely fun to play around with and analyze with no absolutes. It's very easy to lose control of the initial idea by changing it too much. This is the point where you look back and ask yourself, “Have my goals been achieved in the most basic form?”

If so, move on and start thinking about creating a prototype. If not, go back to the drawing board to further narrow down your market and gain additional quality feedback. An important point to remember is that there isn't a perfect idea and you will need people around you to help develop the idea and achieve your goals.

Idea development is a very delicate process of streamlining. Do not restrict ideas too much, but at the same time determine a point where consistently changing your idea may not be efficient anymore.

Setting goals early on will help you find the point where the time to move on to the next step will be clear. Once you find that point and decide to create a prototype, start looking into which tools will be suitable to achieve a prototype that will show off the most important aspects of the idea.

How to do prototyping
The embarkation into developing a prototype is the start of a very exciting journey. A prototype is essential for defining a product and making sure that all the needs of your customers are being attended to.

When developing an idea you are essentially incorporating your vision into the idea. When developing a prototype you are looking for people to provide their vision which is outside your idea realm.

The cost of creating a prototype can vary depending on what design platform and equipment are used. It is very important to remember that a prototype is there to be changed and adopted to achieve the final product.

There's no need to spend a lot of capital on getting the exact equipment to develop a prototype as things are guaranteed to change. This is where simulation and using high-level software helps reduce t he cost by providing the capability of implementing different design platforms quickly.

The high potential cost of prototyping can be reduced by using tools that are flexible and have the capabilities of adopting to different embedded platforms. Three levels of prototyping with which you should concern yourself include:

1.Doing a paper design . Do not code and design the electronics too quickly. It's always a good idea to plan out a quick paper design such as a flow or state chart. Diving straight into coding without considering the base design factors can lead to rework and confusion.

For a user interface or Web software prototype, most of the design can be planned out effectively on paper. This will help get through some basic functionality by getting peers and customers to give feedback on where images, text, buttons, graphs, menus, or pull-down selections are located. Paper designs are inexpensive and more valuable than words.

2. Using a software tool . There is an abundance of software tools to help display your idea, whether it's a 3D model or a simulation of your embedded system. The great thing about software is that any prototype is absolutely moldable.

It doesn't place any risk in your development, but instead provides the freedom to keep streamlining. The perfect software for a prototype should have the functionality to display the most important aspects of your idea that was described in your initial goals.

3. Functional prototype with software & hardware. Dealing with just a software model can be a great tool, but for further idea development there comes a point where you'll need to understand the feel of the idea. This can only be done by providing a real-life functional prototype.

Adding real life functionality will provide a whole new perspective of the idea with a higher level of quality feedback. Adding the functionality of feel will provide the complete picture to you target market and therefore you can garner a pool of users that will provide well informed feedback.

Tools for prototyping
High-level software simulation .There are many tools that have specific functionality which requires some low-level programming and there are also tools that use a graphical development environment that are more flexible requiring higher-level programming.

The key is looking into the availability of tools that can be used to cost effectively develop a prototype. There are tools that help make use of graphical development to simulate electromechanical environments, model control environments and develop a human machine interface. Look for the following components when choosing a software set:

* Graphical development: High-level programming that uses graphical object oriented programming rather than manipulating textual elements.

* Software open to custom IP: Make use of third party intellectual property to easily implement pre-built applications such as FPGA IP.

* User interface: Have the ability to seamlessly create a human machine interface to achieve a functional prototype quickly.

Off-the-shelf hardware . In time critical situations such as product development, it is always useful to make use of off-the-shelf hardware with some sort of programmable DSP, FPGA or microprocessor for reconfiguration during the prototyping stages.

It is important to make use of a system that has appropriate I/O implemented with flexibility and documentation to guide you seamlessly. Hardware functionality should include:

* Modular I/O: Make use of the ability to exchange or add I/O to your prototype as it develops.

* Integrated Signal Conditioning: Provides the functionality of connecting directly to sensors for accurate measurements out-of-the-box.

* Integrated FPGA: Make use of the ability of accessing onboard FPGA to provide the flexibility for code development.

Use tools that integrate software with hardware
When developing a product that makes use of I/O and uses an embedded platform, it is essential to have the ability to quickly move from a software model to integrating hardware with I/O.

One of the biggest hurdles of embedded design is the time and effort required to validate driver-level software stacks to integrate all hardware components. When you're looking to integrate, make sure the following are provided:

* Board Support Package Development. Get hardware and software that's ready to run out-of-the-box with reference architecture and common ports such as USB and serial.

* Easy to use I/O API Libraries. Make sure there's built-in API and documentation on implementing API. This will make it easier have quick access to I/O.

* Prebuilt Low-level Middleware Drivers. Make sure there's validated driver-level software stacks to integrate all of the hardware components of the embedded system.

Unlike most hurdles, prototyping is a hurdle that needs be cleared cleanly in order to achieve a successful product. It is easy to pass off prototyping due to the high initial costs of the process, but it's important to understand how much a prototype can reduce the cost of production later down the road of product development.

Prototyping will help bring a well rounded product to the market faster without going through large cost intensive changes when you're deep into the production cycle.There is more you can do with an idea, such as market analysis, competitive analysis and gaining initial feedback.

With the world moving at a fast pace and a constant demand for high quality products, prototyping naturally becomes a necessary step. It will provide a quick way of streamlining your product for the target market and reduce cost for production.

There are many tools that are easy to use, but it is important to invest in tools that make use of high-level graphical programming and that can be integrated easily with embedded systems for an efficient prototype. The only way to really get the feel of prototyping is to try it out yourself and break the barrier by creating your first design.

Aashish Mehta is an Applications Engineer at National Instruments with a focus on Reconfigurable Controls. He holds a bachelor of science degree in mechanical engineering from the University of Wisconsin.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.