It is sometimes difficult to notice, but if you were to open and examine a technology-based product in the market today, you will discover that under the hood these devices are a collection of embedded systems. Embedded systems are a combination of computer hardware and software designed for a specific function.
For example, you might find that a product contains a single real-time microcontroller for the main application, a Bluetooth module, Wi-Fi module and maybe even a graphical user interface module for interacting with the user, as well as a set of sensors, actuators, motors and periphery.
We help companies across all industries with embedded and IoT product development
Technology products are highly dependent upon developing and integrating embedded systems together to create the end product. Whether you are a first-time tech entrepreneur, or a seasoned one, there are four main stages to the IoT product development process that the innovator needs to take in order to successfully bring their product from concept to production (which can be seen below):
- Note: This is the optimal approach – but each project is different and may require adjustments as necessary.
Stage #1 – Concept Discovery and Market Definition
Every great product starts with an idea, a concept for a product that can fulfill a market niche and solve a problem. In its early stages, the product idea can be as simple as something that was drawn up on a cocktail napkin, but the concept needs to be much more well defined before any development is started.
Expanding the concept often requires that the entrepreneur identify and define their end market – a vital yet often overlooked part of the IoT product development process.
Defining the market requires a careful look at the who, what, when, where and why’s that are associated with the target market. There are plenty of questions to ask in these categories but below are a few example questions to ask yourself:
- Who will use the product?
- What are the user’s demographics? (age, tech skill level, location, etc).
- When is the product needed? How often is it used?
- Where will they use the product? (And just as importantly how will they use it?)
- Why does the user need the product? What need is being met or problem is being solved?
As you think through these questions, you can more carefully define your market, your users and even start to identify who potential competitors or collaborators may be. Once you have identified the target market, you can take the time to perform additional market research to understand how well your idea will be received, what price point the market is willing to pay for it and then calculate whether the idea can generate a business that is worth pursuing.
People often shun failure but in business, most businesses do fail within five years so if you are going to fail, you want to fail as early as possible with the least time and monetary investment so that you can move on to an idea that will be successful.
As you start to flesh out your concept and market, you also must recognize that there are different types of entrepreneurs. In general, there are two types of technology entrepreneurs; the tech savvy and the marketing savvy. The tech savvy entrepreneur is someone who understands the technologies and has a pretty good idea on how to build the device.
The problem though is that the tech savvy entrepreneur usually is not very good at marketing. On the other hand, the marketing savvy entrepreneur understands the market really well and how to sell the end product into the market. Their problem though is that they may not understand the technologies that go into the device, making it easy for them to sell it, but very difficult for them to design and build it.
At this stage, it’s important that the reader refine their concept, identify their market and determine which of the two entrepreneur categories they fall in. This will help as the product moves into the research and development stage and will guide them in identifying the resources that they need to not just build the product but also launch it.
Stage #2 – Research and Development
There are two key facts that entrepreneurs should leverage when they reach the research and development stage. First, 80% of the features can be completed in 20% of the time while the remaining 80% of the time is used to implement the final 20% of the features. This is the typical 80/20 rule. Second, 20% of businesses fail in their first year and only half last to the 5-year mark.
These two facts reveal that technology entrepreneurs need to carefully understand the different approaches to design and test their idea with minimal costs. As mentioned earlier, if they are going to fail, they want to fail sooner rather than later to conserve cash and time investment.
There are several steps that can be used during the IoT product development and design process to minimize costs and improve the chances for success. The entrepreneur needs to carefully identify the resources that are needed to develop a proof-of-concept that can be used for market research, investment pitches and concept refinement.
This requires identifying the skillsets necessary to build the proof-of-concept which can come in the form of the entrepreneur themselves, hiring employees or outsourcing the work to a trusted technical partner.
There is always the temptation to do things yourself, but the more the entrepreneur gets involved in the proof-of-concept and implementation details, the less time they are spending on the business aspects which can increase the chances for failure.
There are several different technical resources that will be needed IoT product development process. These resources at a minimum include:
- An embedded software engineer who can develop the software architecture and write the code that runs on the microcontroller.
- A hardware engineer who can identify components, develop the hardware architecture and develop the schematics.
- A PCB layout engineer who can take the schematics and build the Gerber files that are necessary to manufacture the product. On smaller projects this role is often covered by the hardware engineer.
- A mechanical engineer to design the product enclosure, create the industrial design and create a manufacturable product.
Depending on the product and the resources, it may be necessary to have more than one of each of these engineers. For IoT product development, it may also be necessary to have access to engineers with knowledge about:
- Developing cloud-based applications for storing data, performing over-the-air (OTA) updates and data management.
- Securing embedded products.
- Managing a secure device through-out the secure device life cycle.
Trying to bring all these resources under one roof out of the gate, especially during the IoT development process, can be expensive. This is why the use of contractors and strategic technology partners can help to reduce the start-up costs while ensuring that the product is designed and implemented properly.
With the right resources identified, the least expensive approach is to not go straight to building prototype PCB’s and designing the product but instead to build a proof-of-concept. A proof-of-concept would be a device that provides the minimum viable product (MVP) features based completely on development kits.
Development kits are off-the-shelf, pre-built hardware platforms that usually also come with software that can be used to jump start a project. Embedded systems programming can be quite complex. However, development kits can be purchased inexpensively and then wired together to get a bench top prototype that exhibits the core features (remember the 80/20 rule) and can be used to determine whether the product should move forward or be canceled.
It can also be used to estimate the total effort, time and costs that will be necessary to create a commercialized version of the product. The proof-of-concept however can often be created at a fraction of the cost and time.
There are several different types of development kits that can be used to develop a proof-of-concept. These include:
- Microcontroller kits for real-time applications.
- Application processor kits for more general computing type applications (often running Linux).
- Processor modules which contain all the compute power out of the box and allow just an application specific carrier board to be used (these scale to production quite easily).
- Breakout boards that are used to provide access to sensors, actuators and memory capabilities.
When selecting a development board for the embedded processor, it’s important to examine several key features of the development board which include:
- The peripherals available on the microcontroller.
- The connectors used to bring-out the microcontroller pins such as Arduino shield connectors.
- On-board sensors and communication peripherals such as Wi-Fi, BLE, accelerometers, etc.
- The mechanical form factor and how it might mount in a prototype enclosure.
In general, the entrepreneur will discover that the development boards often fall into two distinct categories; Linux based systems and baremetal / RTOS based systems. Linux based systems require a microprocessor with more horsepower such as a Raspberry PI or a Toradex module.
These systems are often developed in a higher-level programming language such as Java, but it may be necessary to customize the Linux kernel depending on the application. Linux based systems are often used in more general computing-based products and are used in resource heavy applications such as machine learning applications.
Baremetal / RTOS based systems are often used for real-time applications such as connected medical devices and real-time controllers. These can vary in complexity from simple sensor nodes to safety critical equipment. The trade-off is often performance versus cost. Linux based systems are more expensive but have more capable CPU’s and often can leverage a large array of open source software.
With all these things in place, the entrepreneur can develop a low-cost proof-of-concept product that can be used to test the market, prove to the entrepreneur the product is viable and perhaps most importantly, be used as an example to pitch investors. Once the proof-of-concept is successful and any investment has been secured, the product is ready to move on to the third stage which is the actual implementation.
Stage #3 – Implementation
You may have thought with the proof-of-concept that the next step would be to go straight to commercialization. The proof-of-concept is usually a quick and dirty implementation that just proves out the idea.
Taking the market feedback, lessons learned from building the proof-of-concept and turning it into a real product that can be commercialized may still take quite a bit of work. The implementation phase is where the development board concepts, and software are converted into production intent hardware and software.
There are several activities that occur during the implementation phase. First, all those development boards that were wired together to create a working bench top product now need to be fully integrated together into a manufacturable PCB. It’s important to recognize that this is not a one spin endeavor.
Whenever processors and sensors are integrated together on a board for the first time there are generally small issues that come up that requiring tuning and adjustments to the schematics and the PCB. It’s a good rule of thumb to plan for at least two spins of a board. Even then that may be optimistic. Using three spins is a good conservative estimation and if things work out faster than that saves planned schedule and development costs.
In general, we refer to these PCB’s as alpha prototypes, which is the first time all the hardware components are put together on a PCB(s) and then beta prototypes which are the production intent designs.
Second, the embedded software engineers will need to undoubtedly add new features and improve the quality of the product. For a proof-of-concept, developers usually do not include test harnesses, integration testing, fault detection, continuous integration and so forth. These features help to ensure the product is rock solid and that the product will work in the field as expected and be able to recover if there are issues.
At this stage of the IoT product development process, developers will apply marketing feedback and improve their implementation so that the software is scalable, maintainable and that it meets any regulatory requirements.
During this stage, there are also important considerations such as how to update the software in the field, how the devices will be maintained, how to ensure the updates are secure and so forth. During the prototype phase these things may have been considered at a high-level, but they were probably not implemented.
Again, don’t forget the 80/20 rule. You can get 80% of what you need in 20% of the time but going to production then requires 80% of the time to move the last 20% to production!
When you are first launching a product, you want to implement the most used features that will provide you an MVP. This will help you to generate cash flow which can then be reinvested into developing new features that the customers want.
Once the developers have performed their magic and integrated the development boards into a single manufacturable product and the embedded software is up to par, the entrepreneur can start to look at the commercial launch.
Stage #4 – Commercial Launch
The first-time entrepreneur will often believe that as soon as their beta prototypes are complete the IoT product development process is over and they can instantly launch their product and can start to ship it the next week. Unfortunately, this is not the case.
When building a hardware-based product, the entrepreneur needs to line up a manufacturing facility that can take their Gerber files, the design files for their PCB, and manufacture them. The PCB itself can often be manufactured and shipped quickly but the bottleneck is often the facility that takes the hardware components and places them on the PCB.
Depending on the components that have been selected, a manufacturing facility may require a 90-day notice to start procuring the components and setting up the manufacturing line. This means that if you want to launch a product in late November, you need to be talking to the manufacturer you selected and ordering components at the end of August!
While this can seem daunting, it is also why it is important to select the right technology partners who can help you navigate through the commercialization process.
The IoT product development process is complex, and having an experienced hardware or software outsourcing partner can make a world of difference.
When the day comes that the first line of boards is built, keep in mind that you will have to also program those boards, either after manufacturing them or having the code preprogrammed on the microcontroller or flash memory.
Each board should be tested after manufacturing and provided with a minimum “burn-in” time that will help detect any defects in the manufacturing process. Those boards can then be assembled into their enclosure, tested one last time before being boxed and then shipped to their end location.
IoT Product Development Conclusions
Launching a new embedded product can be an exciting and challenging time. The IoT product development process is not much different than the typical product development life cycle, there are just more pieces to manage. Technology products have also become more complex due to the larger number of features that they need to support.
In this post, we have examined the four-step process that can be used to go from concept to commercialization. Following these steps and the details that we have discussed in each will help you along the path to successfully launching your own product.
- SaM Solutions is a proud sponsor of Startup Boston Week, and through our Startup Support Program we aim to help startups build their technology – all the way from idea to commercial launch.
Dmitry KoshkinManaging Director, SaM Solutions USA
Are you looking for outsource software development? Get a free consultation and estimate from tech experts