IoT Basics Part 3: Designing, Building, and Deploying IoT Devices
This is the third article in our four-part series on IoT Basics. Our first introduced IoT devices, while the second explained the ins and outs of IoT device management. If you’ve stuck with us so far, you might be ready to start your IoT development project. That’s what we’ll cover here – from device design to deployment.
A lot of companies that build IoT devices start as legacy manufacturers. Say you have a product on the market already. Soon, it’s bound to fall behind a “smart” version of the same thing. So you need to add a little “internet” to your “thing,” updating your product for the IoT age.
You might think your experience with product and device design and manufacturing gives you an advantage as you move into IoT. Maybe it does. But don’t make the mistake of applying standard design principles to connected devices. An IoT product requires a different approach.
Why? Because you’re not just building a product. You’re also creating a computing ecosystem. Whether you’re adding IoT capabilities to existing products or building smart devices from scratch, here’s what you need to know about designing, building, and deploying IoT products.
The 4 Elements of IoT Product Design
By definition, IoT products connect to networks. They share data and make that data useful. They consist not just of a product, but also of the user platforms, back-end data infrastructure, and connectivity that create powerful new capabilities. That requires at least four areas of development—and expertise in each of these areas.
In short, IoT product development is interdisciplinary by nature. Here are the four areas of development you need to bring an IoT device to market, along with the experts you need on your team.
“In short, IoT product development is interdisciplinary by nature.”
- IoT Hardware
It’s a truism because it’s true: IoT hardware puts the “things” in the “internet of things.” This is the physical product you’ll sell.
Many of the principles of good product design apply to IoT hardware. You must take a holistic, user-centered approach. You must imagine how users will interact with the device, and build it to make these experiences pleasant. You must design for the manufacturing capabilities available within your budget.
But, unlike a non-connected device, you must plan extra space for sensors, radios, and chipsets that enable data collection and transmission. IoT hardware engineers must also consider security at every step of the design process, with tamper-proof design and chipsets with built-in secure encryption. (These are called cryptoprocessors.)
Who handles IoT hardware design? IoT hardware engineers.
- IoT Software
Your IoT device will need a few types of software to operate:
IoT device firmware. Technically, firmware is distinct from software. It’s the microcode that controls your device’s basic functionality: start-up processes, basic input/output systems (BIOS), and basic security, for instance.
Embedded device software. IoT device software adds additional functionality, including essential functions like applying over-the-air (OTA) updates and communicating effectively with your broader IoT ecosystem.
Web/mobile application software. Users interact with IoT data through platforms, which may operate over the web or on mobile devices. To complete the IoT product experience, you’ll need to design these applications, as well.
Each of these fields requires specialized knowledge and expertise with different programming languages and frameworks: React, Ruby on Rails, Python, Elixir, Phoenix, and Nerves, for instance.
Engineers must learn each of these tools separately. That means you need a full team of developers, each with a different speciality, working in concert to create an IoT device.
Who handles IoT software design? Firmware engineers, software developers, app designers, and web developers.
- Connectivity Solutions
Connectivity is the core of IoT functionality. Early in the IoT development process, you must establish the connectivity and networking technologies your product will use. There are lots of options, from Bluetooth to Wi-Fi to cellular low-power, wide area network (LPWAN) systems.
You don’t have to pick just one—but your choice of connectivity technologies will govern which radios and chipsets you build into your device.
Who handles connectivity solutions for IoT products? Network engineers and connectivity providers.
- Data Infrastructure
An IoT product can only collect, process, and transmit data. Your back-end data infrastructure is responsible for turning that data into insight. Data scientists can help you make decisions about how to build your IoT product, but you also need them to guide the process of building the systems that fuel your IoT ecosystem.
Here are a few of the areas of expertise your design team will need in the data department:
Machine learning and AI
Who handles data development in IoT projects? Data scientists, cloud developers, and, often, AI engineers.
As you can see, IoT product development requires a diverse set of skills—and the team to match. All of these experts must work collaboratively to design an effective IoT product. The good news is that you don’t need to have all this expertise in-house to start producing IoT devices. The right IoT development partner can provide the team and the strategy you lack, so you can focus on
the customer experience. Once you have your plans in place, of course, the challenge becomes building and deploying your device.
Understanding the IoT Device Deployment Process
There are a few competing methodologies for developing IoT products out there. We’d recommend an Agile approach, which we’ll discuss in more detail soon. Regardless of your development methodology, however, all IoT product deployments follow a few key steps. Assuming you have your design and plan in place, these include:
- Prototyping. The purpose of a prototype is to see if your product behaves the way you hope it will. You don’t need a fully designed model of your hardware; there are multiple prototyping platforms available to work with instead. At this stage, you’ll develop a prototype and connect it to your network.
- Testing. Laboratory testing can’t tell you everything about how your product will act in the wild, but it’s a necessary first step. Connect your prototype to the network, make sure it’s sending and receiving data, and see how it responds to a variety of situations it might encounter after deployment.
- Initial production. IoT product development is a series of small steps. Your first production run shouldn’t be for the market. Instead, produce a small number of devices based on your designs. Give them to beta testers. Plenty of problems will arise through this real-world testing, and now you have a chance to fix them before making larger manufacturing runs.
- Scaling up production. Say you produce 100 devices for beta testing. Once you get the kinks ironed out, you might increase that to a manufacturing run of 1,000 devices. Get feedback from testers or early adopters before progressing, eventually working your way up to go-to-market production.
To be sure, this list is an oversimplification. As we mentioned, IoT projects tend to succeed more often when you develop them through the Agile framework. Agile methodology breaks the development process into smaller, iterative phases — each delivering a minimum viable product. Over time, these build into a successful deployment.
What does that look like? Read the fourth and final entry in our IoT Basics series—The Agile Approach to IoT Product Development—to find out.
Source: IoT For All