guidebook

The Internet of Things, as defined by Wikipedia, is a “network of physical objects - devices, vehicles, buildings and other items embedded with electronics, software, sensors, and network connectivity, enabling for the collection and exchange of data”. With over 20B connected devices by 2025, including your coffee machine (automatic capsule refill anyone?), your toothbrush (no more hiding from your dentist), your car (à la Knight Rider) and everything in between, IoT is driving a new world order of hyper-relevant, friction-free, real-time information delivery. If your organization is considering IoT enablement, the below guidebook will provide you with all the basics you will need to get started!

Vocabulary
  • IoT appliance – an appliance equipped with the ability to connect to an external device directly or remotely, allowing for data collection, device monitoring, automated event triggers, and more.
  • Microcontroller/chip – the heart of your IoT device, the microcontroller is the H/W component that enables connectivity and control between server and appliance.
  • F/W (Firmware) – the brains of the IoT system, the firmware is essentially the code that runs locally on the microcontroller providing instructions for proper operation and timely communication.
  • Server – a processor tasked with the management of data traffic between the IoT appliance and mobile application.
  • IoT Cloud platform – cloud hosted software that serves as a hub to gather, analyze, and process data sent by IoT enabled devices.
  • Mobile app – client application running on a mobile device.
  • UI (user interface) – interaction space between machine and user including mobile app interface design.
  • UX (user experience) – process of enhancing user satisfaction through simplified on-boarding, intuitive cross-device interaction, and personalized output.
  • IoT protocol – an IoT protocol is a pre-defined language machines use to communicate with each other. Common protocols include:
Protocol Direct connection to smartphone Need gateway Distance Popularity Battery operated devices
Bluetooth (BT) yes yes short high yes
BLE yes yes short high yes
WiFi yes no high high no
ZigBee no yes high medium yes
Z-Wave no yes high low possible

Product Definition

USE CASE

A use case is a definition of a specific objective that the target system needs to accomplish. Identifying your objective and ensuring that the primary system features support the defined objective is the first step to a successful IoT on-boarding. The following are some of the more common types of IoT system objectives:

Appliance configuration assistant via mobile app

Many new appliances come with a rich feature set. However, when coupled with minimal display real estate and physical button interfaces, this can at times lead to a complex and confusing configuration experience. In such scenarios, a complimentary smartphone application delivers a simple and user-friendly configuration panel and operating experience. Examples: recipe uploads for cooking appliances and air conditioner setup and control.

Critical system data storage

Cost-efficient gateways and timely communication of data are critical enablers of many IoT use cases. However, in the event of a network or power malfunction, configuration logs and recent event notifications can be stored locally. When coupled with automatic re-connecting, your data is streamlined to the server as soon as the network is back up. Examples: security detectors.

Remote control

For devices operated by multiple users, it is strongly recommended to display appliance’s real time status before allowing any command to be executed. Admins can manage user privileges for status monitoring and control with optional command overwrite/blocking functionality. Examples: heater, water boiler.

Entertainment

There are many exciting IoT applications in the realm of entertainment, for example, leveraging a kettle’s built in led lighting system to activate a “disco” mode when all lights are off in the kitchen. With a relatively straight forward set up and implementation over wi-fi or BT (BLE is generally not recommended for maximum compatibility applications), fun gimmicks like this are limited only to one’s imagination.

UI

IoT products with minimalistic user inputs (i.e small screen, one button) can at times be challenging to design in a simple and intuitive manner. Primary interactions to consider when designing the User Interface:

Connecting to appliance

  • Smartphone OS compatibility and feature support
  • 3rd party gateway interoperability (i.e. Zigbee, Zigwave, and lora)
  • Registration requirements from end-user (name, password, email, etc)

Notifications

  • In real-time
  • Direct to phone or via network
  • Local backup if user’s smartphone is unavailable

Automation

Configuration of automated events (i.e. weather change) and scheduling triggers (i.e. every morning at 8am)

Cloud

Whether remote or on premise, dedicated servers should always be under direct management providing full ownership and control over the application servers, data, and backup routines.

From a security standpoint, domain names are typically hardcoded in the appliance’s microcontroller with edits and changes enabled via firmware updates. Best practice is to have two domain names hardcoded – one primary and one secondary, automatically activated in the event of a primary domain failure.

Eco system

The IoT ecosystem is the combination of devices, applications, and processors that when combined through common standards and protocols, provide a specific output triggered with or without human intervention.

While many product ecosystems are built on proprietary protocols (i.e. iOS) that enable a seamless cross-device experience (within the ecosystem) and increased security, open source software environments (i.e android) typically allow for more flexibility with regard to 3rd party integrations and APIs. Considering which approach is most suitable for your application at the design phase will be key to its long-term success.

Security

As more and more devices get connected to the internet, they also become unprecedently exposed to the threat of cyberattacks. When planning your organization’s IoT enablement, the adoption of effective and up-to-date security measures will go a long way in keeping your and your users’ data safe.

Primary areas of vulnerability to consider:

  • Smartphone - Exploitations through a user’s smartphone are quite common and typically result from human error. Ensuring a BT based physical presence pairing system to compliment, or replace altogether, traditional password setups, will significantly reduce the possibility of a successful security breach.
  • Device firmware - Keeping a device free of vulnerabilities is highly challenging. With every line of code or added functionality new attack vectors are made possible emphasizing the criticality of stress tested 3rd party code and frequent firmware updates.
  • Cloud platform – Less common, but far from inexistent, are man in the middle penetrations along the communication network between the cloud platform and IoT device. Strong wi-fi security wi-fi security and encrypted communication protocols will generally eliminate this type of threat altogether.

Prototype

The prototype is a minimally viable product (MVP) that serves as the first step in visualizing the outputs of your intended application as they pertain to the end user.

Prototype can be done in several levels of complexity:

  • Development of demo mobile application
  • Development of demo mobile application with short-range appliance control
  • Development of demo mobile application with long-range appliance control

While the result of this process will certainly not be a commercial-ready product, it is certainly the most rapid and cost-efficient approach to understanding the framework and design constraints of your target product without committing to its full development and production.

Opportunities to reduce features and simplify the prototyping process:

  • Disregarding algorithm accuracy and efficiencies, that while critical for optimal results, are less relevant to the actual user experience (i.e cooking program in a multi-cooker)
  • Omitting multiple-user support
  • Omitting simultaneous control from the mobile device and appliance control panel
  • Employing hard-coded configurations designed for specific networks

Opportunities to minimize the development process and speed up time to market:

  • Using more expensive, but more powerful and versatile components for development may potentially increase the prototyping costs but generally save valuable time and resources on the development cycle as a whole

User Experience

The UX ensures that the user’s cross-device experience is both functional and delightful and will typically include the following aspects:

Intuitive usage of the appliance through a mobile app

High tolerance to human error and simultaneous inputs from multiple users

Convenient and burdenless monitoring of device status and notifications

Robust user privileges management including the restriction of critical functions for non-admins

Easy on-boarding and first-time registration experience

Simple interface to seamlessly add more users to the system

Productization

Mass production

Once the evaluation phase is successfully concluded, the next step is to prepare for mass production. This process will typically include a detailed plan for H/W cost reduction, PCB miniaturization, S/W optimization, back-end cloud integration, and where relevant, housing design.

When enhancing existing appliances with IoT functionality in general, and Wi-Fi communication in particular, several design changes to the appliance microcontroller need to be taken into consideration.

Wi-fi integration methods

Most modern kitchen appliances have built-in PCBs with dedicated microcontrollers. The onboard CPU is designed to receive input signals from manual control buttons or sensors and consequently controls output signals to executing elements (i.e heating elements or displays).

Wi-Fi communication is usually executed via microcontroller with a built-in Wi-Fi module. The two primary methods for retrofitting existing appliance PCBs with a Wi-Fi microcontroller are:

  • Replacing the existing appliance microcontroller altogether by porting all code and logic to the new PCB.
  • Adding a Wi-Fi microcontroller to the existing PCB while monitoring all input signals. When control signal input is via Wi-Fi (i.e. smartphone), the Wi-Fi microcontroller translates the command to a manual input signal that the host PCB is designed to receive.

Replacing the microcontroller

Replacement of the existing microcontroller with new mc that also supports Wi-Fi is the most optimal approach from a deployment cost and H/W miniaturization perspective. Additionally, it allows for seamless and real-time synchronization between input, be it manual or over wi-fi, and output, be that on the appliance display or smartphone application. More specifically:

  • Any manual control change is immediately reflected on the smartphone app
  • The smartphone interface can be significantly different (i.e. UX) from the manual interface
  • New features, not supported by manual controls, can be easily added to the smartphone interface

With that said, there are several challenges with this approach, notably the many complexities associated with porting the original algorithms to the new microcontroller. Moreover, it is hardly uncommon to encounter F/W that is not portable by design or source code locked under intellectual property rights.

In such scenarios, the target appliance can be reverse engineered. While the underlying code of many of the in-kitchen appliances currently available in the market were developed by Syncleo, our rich experience and deep expertise in reverse engineering serves as an essential complimentary skill set needed to enhance most non-Syncleo developed in kitchen appliances with IoT capabilities.

Adding a Wi-Fi capable microcontroller

When replacing the appliance microcontroller is not an option, adding a complimentary Wi-Fi microcontroller is certainly worthy option for consideration. While there are some disadvantages to this approach (namely cost and size), one clear advantage for appliances with input sensors and physical buttons, is that there is no need to redesign the original PCB or port the original microcontroller logic and functionality to a new mc.

Development challenges with this approach include:

  • Manual inputs to the appliance must be simultaneously updated on the smart phone interface to avoid conflicting commands and inaccurate readings. For example, if appliance temperature control is incremental, the current temperature setting can be sent to the smartphone by continuously monitoring the signal to display transmissions. Adding a watch dog function between signal and display can potentially increase the BOM costs significantly.
  • Alternatively, when a temperature change command is initiated, the temperature knob can be electronically changed to the min or max value before enabling a controlled incremental update to the desired value. The downside of this approach is that it takes longer to execute the command which may in turn negatively impact the user experience.

Either way, the optimal solution ultimately depends on the specific appliance.

Integration logic when adding a complementary Wi-Fi capable microcontroller – Physical input signals from appliance buttons are rerouted to Wi-Fi mc and from Wi-Fi mc to original appliance mc in one of two methods:

  • Manual control - signals are rerouted through new microcontroller
  • Smartphone control - signals are interpreted by Wi-Fi microcontroller and transmitted to original microcontroller

Quality Assurance

Rigorous quality assurance is critical to any successful deployment. The IoT ecosystem and application components are certainly no exception to the rule.

While all aspects of the QA process are important, particular consideration should be given to:

Simultaneous control by different users via mobile app and/or appliance panel

Mobile app compatibility across all types of smartphones and OS variants and versions – iOS and Android

The primary reason to focus on the above within the overall QA process is that the described use cases generate a large amount of testing edge cases. To overcome this, it is recommended to employ one or both of the following test methods:

  1. Crowd testing – a practical method supported by “alpha/beta” users and/or paid testers. To monitor the output quality of crowd testing, an automatic monitoring system that collects user input, actions, and output failures is installed on all user phones and host appliances.
  2. Random testing - Another very powerful testing method that generates random and independent inputs to be tested against a target set of pre-determined software specifications. The value of this method’s output is highly dependent on the accuracy of the defined testing parameters and expected functional behaviors.

Maintenance

The constantly evolving requirements, standards, and technologies across the fast-changing IoT ecosystem command timely product maintenance, system upgrades, and compatibility updates.

Primary ecosystem components to be maintained on a regular basis include:

IoT module: 3rd party firmware upgrades and feature updates
Cloud/server: Protocol standardization and security enhancements
Mobile app: iOS/Android version compatibility and privacy compliance

Encouraging regular user feedback through an intuitive app integrated form will facilitate early indications of any UX issues, bugs, or communication failures that may arise as a result of any changes across the product ecosystem.

Data Mining

IoT introduces a wealth of opportunities through continuous post-point of sale customer / vendor interaction. Examples include:

  • Personalized customer relationship management via real-time diagnostics and preemptive troubleshooting
  • Creation of new revenue streams and innovative business models
  • Leveraging generated data to derive unique and actionable consumer driven insights
  • Targeted and customized advertising of new products and services
  • New product definition and design via usage analytics and feature ranking
  • Anonymized data collection and commercialization
Reach out today to learn more about how IoT can benefit your organization.