5 common pitfalls to avoid in IoT project

by Sandi Slonjšak, CEO & Founder

Reading time: 10 minutes

Introduction

Effectively building an Internet of Things (IoT) project can be challenging, with impact of early decisions often being felt years down the line. Trust me, I’ve been there. Opting for the wrong service level communication protocol or forgetting to version messages are some of the crucial things that you must avoid right from the beginning, since they are hard to change when the project reaches production stage. I will always remember knowingly and decisively not using Apache Avro and then having issues with multiple versions of my microservices messages out there. At that point it was either – let’s force our users to always be on the same version of mobile app or let’s refactor 25% of project currently running in production.

No bueno.

Avoiding this requires meticulous planning and understanding some constraints of system. This guide will explore five critical considerations, supported by real-world examples, data insights and cited sources to show you how we lay a foundation for an IoT project.

We’ll consider messaging protocols, network architecture, standardization of messages, leveraging cloud computing and security. Bonus point awaits those who are patient and can read until the very end.

Pitfall 1: Not considering all aspects of IoT Protocols

Choosing the appropriate IoT protocol is pivotal as it dictates the effectiveness of device communication. The right protocol selection hinges on specific use case requirements like power consumption, range, and bandwidth. Opting for well-supported and widely accepted protocols such as MQTT (Message Queuing Telemetry Transport), CoAP (Constrained Application Protocol), AMQP (Advanced Message Queuing Protocol), HTTP (Hypertext Transfer Protocol), Zigbee or Z-Wave is crucial for ensuring the efficiency and reliability of IoT devices.

MQTT is renowned for its lightweight nature and is particularly effective in scenarios demanding low power consumption and bandwidth. CoAP is tailor-made to meet the unique needs of IoT devices. AMQP provides robust messaging capabilities suitable for various IoT applications. HTTP offers simplicity and familiarity, making it suitable for web-based IoT solutions. Zigbee and Z-Wave are specialized protocols designed for low-power, short-range wireless communication in home automation and similar applications.

Let's delve into each major protocol and explore their respective use cases:

MQTT

Overview

Recognized for its lightweight design and efficient message delivery, MQTT is an ideal choice for scenarios demanding minimal data packets and energy consumption. Its widespread adoption stems from its effectiveness in powering devices with limited battery life and operating over unreliable networks. Employing a publish/subscribe model, MQTT facilitates intermittent data transmission, making it suitable for various IoT applications.

According to a survey conducted by IoT Analytics, MQTT is employed in over 30% of global IoT solutions due to its low power usage and reliable real-time communication capabilities. Moreover, the IoT Analytics 2023 report reveals that MQTT is utilized in over 40% of IoT projects, emphasizing its efficient data transmission and ability to maintain stable connections even in challenging network conditions.

Advantages

MQTT excels in low bandwidth and power scenarios, making it ideal for large gatherings or bad internet situations. Imagine a large gathering, like a bike race on a mountain with really bad internet, this is where MQTT will shine. Its efficient message delivery system ensures that commands are executed swiftly, even with intermittent connectivity.

Disadvantages

While MQTT is efficient for intermittent messaging, it lacks built-in encryption, necessitating additional security measures. Therefore, it's not suitable for applications requiring constant, high bandwidth communication, such as live streaming of video feeds from security cameras. MQTT is designed for sporadic messages rather than continuous streaming.

AMQP

Overview

Designed primarily for enterprise-level solutions where reliability, interoperability, and security are a must. Ideal for enterprise-level solutions where reliability and interoperability are crucial, AMQP supports flexible messaging with robust security features. Its ability to handle high-throughput and complex processing makes it suitable for industrial IoT applications.

Advantages

Offers guaranteed message delivery and robust security features, making it suitable for critical enterprise-level applications. Supports interoperability between various systems and platforms, facilitating seamless communication in complex environments. Capable of handling high-throughput scenarios, making it suitable for industrial IoT applications with demanding processing requirements. Perfect for financial services where transactions and trading systems require guaranteed message delivery with robust security. AMQP's feature set ensures that messages are reliably synchronized between systems without message loss. Not ideal for simple, low-power IoT applications like soil moisture sensors in agriculture due to its relatively heavier protocol overhead and complexity. AMQP offers robust security features to protect data integrity and confidentiality, essential for sensitive enterprise applications such as financial transactions. It’s well suited for industries such as financial services, where transactions and trading systems demand guaranteed message delivery and stringent security measures. AMQP's capabilities ensure reliable synchronization of messages between systems, minimizing the risk of message loss. Particularly well-suited for industrial IoT applications requiring high-throughput and complex processing capabilities. Supports flexible messaging along with robust security features to ensure reliable and secure communication.

Disadvantages

Compared to lightweight protocols like MQTT, AMQP may have a steeper learning curve and higher complexity, requiring more resources for implementation and maintenance.

The protocol is relatively heavier and may not be justified for simple IoT applications, where lightweight communication protocols are preferred to conserve resources. Not recommended for simple, low-power IoT applications such as soil moisture sensors in agriculture. The protocol's relatively heavier overhead and complexity may not be justified for such applications, where lightweight and simplicity are preferred.

HTTP(s)

Overview

HTTP(s) is a widely used protocol designed for communication over the internet. It is well-suited for various IoT applications, particularly those involving web-based interactions. HTTP(s) facilitates communication between clients and servers, enabling the exchange of data and commands. Its simplicity and familiarity make it accessible for developers and compatible with a wide range of devices and platforms.

Advantages

HTTP(s) offers simplicity and familiarity, making it easy to implement and integrate into IoT applications. Its widespread adoption and support across devices and platforms ensure compatibility and interoperability. Suitable for web-based IoT solutions, where communication with servers or cloud services is required for data exchange and remote control. HTTPS, with its added security layer through SSL/TLS encryption, provides data integrity and confidentiality, crucial for sensitive IoT applications. HTTP(s) enables seamless integration with existing web infrastructure, allowing IoT devices to leverage existing web services and APIs.

Disadvantages

Compared to lightweight IoT protocols like MQTT, HTTP(s) may introduce higher overhead and latency due to its request-response nature. This can be a limitation for real-time or latency-sensitive applications. HTTP(s) may not be ideal for scenarios requiring low-power consumption or intermittent connectivity, as it requires continuous connections for communication. The protocol's reliance on TCP/IP can lead to higher power consumption, making it less suitable for battery-operated IoT devices. While HTTPS provides security benefits, implementing SSL/TLS encryption adds computational overhead and complexity, which may not be justified for all IoT applications.

CoAP (Constrained Application Protocol)

Overview

Mirroring HTTP functionalities but optimized for constrained devices, CoAP operates over UDP and is designed to be simple enough for minimal hardware implementations. It is specifically tailored for simple electronic devices and is highly suitable for constrained networks. CoAP significantly reduces data packet size compared to HTTP, making it efficient for very low-bandwidth environments.

Advantages

CoAP is lightweight and built for M2M (machine to machine) applications, supporting features like discovery and OBSERVE for real-time updates. It operates over UDP, making it efficient for constrained devices with minimal hardware resources. CoAP's reduced data packet size enhances efficiency, particularly in low-bandwidth environments. It is suitable for wearable health monitoring devices that require low power consumption and operate over potentially lossy networks. Ideal for wearable health monitoring devices that need to operate with low power consumption and over potentially lossy networks. CoAP's lightweight nature allows these devices to efficiently transmit health data such as heart rate and steps to smartphones or directly to the cloud.

Disadvantages

Potentially less reliable than TCP-based protocols due to UDP usage, although mitigations like confirmable messages exist. CoAP may not be ideal for large-scale enterprise environments that demand reliable message delivery over TCP, as UDP does not guarantee message delivery. Less appropriate for large-scale enterprise environments that require reliable message delivery over TCP, as CoAP operates over UDP, which does not guarantee message delivery.

Zigbee and Z-Wave

Overview

Both Zigbee and Z-Wave are primarily used in smart home applications, creating mesh networks that allow devices to communicate indirectly through one another. They are well-known for their efficiency in home automation, offering low energy consumption and strong network reliability.

Advantages

Both Zigbee and Z-Wave excel in home automation with their low energy use and strong network reliability through mesh networking. They are suitable for creating large-scale smart home ecosystems where various devices interact seamlessly. Suitable for automated warehouses where sensors communicate environmental data across large spaces. Perfect for residential smart devices like lighting, security systems, and thermostats due to its strong network reliability and low power consumption.

Disadvantages

Compatibility issues may arise between different brands or versions of Zigbee and Z-Wave devices, potentially limiting interoperability and expansion options. Neither Zigbee nor Z-Wave is suitable for high-bandwidth applications such as video streaming or transferring large data files due to their lower data transmission rates. While robust in mesh networking, Zigbee may not be suitable for applications requiring high data throughput. While excellent for low-energy mesh networks, Z-Wave may not be ideal for smart devices requiring complex configurations or high bandwidth.

Key Data Insight

Implementing MQTT can reduce network latency by up to 50% compared to HTTP in constrained network conditions (IoT Tech Trends, 2024).

Sources

  • IoT Analytics, "State of the IoT 2023: Market trends & statistics"

  • Network World, "Choosing the Right IoT Protocol"

Pitfall 2: Not Considering Network Architecture

Optimal network design is essential for managing the data flow and ensuring efficient communication within IoT systems. The architecture of your network dictates the scalability, reliability, and overall performance of your IoT system. Whether centralized, decentralized, or hybrid, each architecture type serves different project requirements.

Centralized Models

Best for environments where control and management are centralized. This model is prevalent in manufacturing IoT setups, where a central server monitors and controls production lines. However, it can become a bottleneck if not properly scaled. Effective in manufacturing environments where a central system needs to monitor and control various sensors and robots on the production floor, ensuring coordinated operations. Not ideal for disaster response scenarios where a central failure can disrupt the entire network. Decentralized or hybrid systems would provide better resilience.

Decentralized Models

These are ideal for enhancing reliability and reducing latency. For instance, in smart grid applications, decentralized architectures allow for real-time data processing close to the source, improving response times and resilience. Best for agricultural IoT applications where field devices operate independently, gathering data like soil humidity and crop health, and processing information locally to make real-time decisions without relying on a central server. Less suitable for applications that require strict data consistency and centralized logging, such as in regulatory compliance environments.

Hybrid Models

Combining both centralized and decentralized elements, hybrid models are effective in large-scale deployments like smart cities, where certain operations are managed centrally while others are processed locally to reduce traffic and processing time. Suitable for smart city projects where local processing is necessary for traffic control and environmental monitoring, but centralized data analysis is used for city-wide planning and management. Might be overcomplicated for small-scale or simple IoT applications, like a smart home setup where a simple centralized model would suffice.

Other considerations

Utilize Zigbee or Z-Wave for home automation projects to enhance network coverage and resilience. Mesh networks facilitate communication between devices through multiple nodes, effectively extending the network range and improving redundancy. Segregate IoT devices into separate network zones to minimize the impact of potential intrusions and improve performance.

Key data insight

According to Network World 2023, network segmentation can improve network management and reduce congestion by up to 40%.

Sources

  • Smart Industry, "Network architectures in IoT: A complete overview"

Pitfall 3: Not Considering Standardization

Compatibility issues can significantly impact the performance and scalability of IoT systems. Addressing these concerns involves adopting strategies that ensure devices work seamlessly together, enhancing interoperability, and maintaining compatibility as technologies evolve.

General Strategies to Enhance IoT System Compatibility

Standardization

Encourage the adoption of universal communication protocols like MQTT, CoAP, and the Matter standard to ensure devices from different manufacturers interoperate seamlessly. Employ JSON or XML for data messaging, which supports a broad range of devices due to their ease of understanding and widespread adoption. Update device firmware regularly to stay compatible with new technologies and standards, thereby reducing security risks and compatibility issues. Design IoT systems with interchangeable components, allowing for straightforward updates or replacements as technology standards evolve. Leverage robust platforms such as AWS IoT Core, Google Cloud IoT, or Microsoft Azure IoT Hub that support standard IoT protocols and facilitate integration and scalability. Version APIs to ensure older and newer systems can operate without interruption. Use feature flags to manage the activation of new functionalities, enabling smooth transitions and rollback capabilities. Develop protocols and messages with flexibility to add new features without disrupting existing operations. Implement comprehensive testing to maintain compatibility across different device and software versions.

It's all about messages

JSON and XML

Ideal for smart homes to ensure different devices communicate effectively. Not suitable for devices with extreme constraints that require compact binary protocols.

OPC UA

Best used in industrial settings for robust communication between diverse equipment, enhancing automation and interoperability. Too complex for simple IoT tasks that do not need sophisticated data models or security features.

Protocol Buffers

Use in microservices communications and mobile applications for efficient data exchange. Not ideal for scenarios requiring human-readable data, such as simple web development.

Apache Avro

Suitable for data serialization in distributed systems like those found in big data frameworks. Overly complex for monolithic applications where simple data formats suffice.

By adopting these strategies and technologies, IoT systems can achieve higher levels of interoperability and maintain compatibility over time, ensuring that both current and future technologies coexist seamlessly within the connected environment. The point is to have a standard and follow it. This enhances predictability and ease of maintenance for your team and platform.

Pitfall 4: Not leveraging existing solutions available with cloud computing

Utilizing existing IoT platforms can drastically reduce development time and costs while providing scalability and security.

AWS

AWS IoT Core allows quick integration of devices with secure data connections to the cloud. AWS IoT Core supports billions of devices and trillions of messages, demonstrating its scalability and robustness. Utilize AWS IoT Core for managing a fleet of delivery vehicles. The platform can handle vast amounts of data and device connections, providing real-time tracking and diagnostics.

Microsoft

Microsoft Azure IoT Hub provides a backend platform with built-in security and monitoring capabilities, often used for building large-scale IoT services that require extensive device management and streamlined connectivity. Employ Azure IoT Hub to integrate and manage smart meters and grid devices across a power network, facilitating efficient energy distribution and proactive maintenance.

Special cases

Where specific proprietary solutions are necessary that cannot be efficiently customized on a third-party platform. For example, a specialized research facility might need custom data processing capabilities that are not supported by standard IoT platforms. There also can be regulations in place where data must not touch the general public internet. This is something to think about and really explore.

Key data insight

AWS and Microsoft have more than 50% of the market and are investing heavily in IoT services on their own platforms

Sources

  • Forrester, "The Forrester Wave™: IoT Software Platforms, Q4 2020"

Pitfall 5: Taking security and privacy for granted

Security is a critical concern in IoT projects due to the potential for data breaches and attacks. Security is critical in IoT environments to protect against unauthorized access and ensure data privacy.

End-to-End Encryption

Use protocols like TLS/SSL with MQTT or HTTPS for HTTP to secure data in transit. As per the Global IoT Security Report 2023, encryption reduces the risk of data interception by up to 80%

Regular Security Audits

Conduct comprehensive security audits to identify and mitigate vulnerabilities. Implementing a robust security framework can decrease potential threats significantly, enhancing system reliability

Device Authentication

Employ strong authentication mechanisms to prevent unauthorized device access. Techniques like mutual TLS (mTLS) can provide both client and server authentication, securing network interactions

End-to-End Encryption

Devices such as smart meters employ end-to-end encryption to secure data transmission to utility companies, safeguarding sensitive consumer usage data. Banking IoT applications, such as ATMs and online banking interfaces, must implement regular security updates to protect against financial fraud and data breaches.

Overly Restrictive Security in Non-Sensitive Applications

Implementing high-end encryption and frequent updates in non-critical IoT applications like watering systems in a home garden may introduce unnecessary complexity and overhead.

Key Data Insight

A practice highlighted by Cisco's 2022 Security Report, which states that regular software updates and vulnerability patches can reduce the incidence of successful cyberattacks by up to 50%.

Sources

  • Cisco, "2022 Cybersecurity Report"

Bonus step: stay informed and be open to re-evaluate of your solution

To stay ahead in the rapidly evolving landscape of IoT, it's essential to prioritize being open minded and ready to experiment.

Embrace Emerging Technologies, stay updated on advancements such as 5G, AI, and edge computing, poised to revolutionize IoT connectivity and data processing. For example, the widespread adoption of 5G is projected to support up to 1 million devices per square kilometer, significantly expanding the potential of IoT deployments.

Commit to Professional Development, continuously enhance your skills through courses, certifications, and webinars dedicated to the latest IoT trends and technologies. Engage with fellow professionals, participate in forums, and seize collaborative opportunities to broaden your understanding and stay at the forefront of industry developments.

Conclusion

To ensure optimal performance, scalability, and maintainability in IoT deployments, it's crucial to select the right technologies for the job. Each technology has its strengths and ideal use cases, emphasizing the importance of tailored solutions. As the IoT landscape evolves, so must the strategies for developing robust, secure, and efficient systems.

Selecting the right strategies for each IoT application is paramount, considering specific requirements and constraints. Understand that there is no universal silver bullet, you have to think about specifics of your situation and only then the answer becomes obvious.

Standardizing protocols and messages is essential for creating a resilient ecosystem that can evolve without leaving older systems behind. Leveraging established protocols, maintaining message standards, and prioritizing compatibility are key to building a durable IoT framework.

Following a structured approach, such as understanding protocols, addressing compatibility, ensuring security, optimizing network architecture, and staying informed, enhances the integration and functionality of IoT projects. Each step builds upon the others, creating a robust ecosystem.

Start by evaluating current IoT setups and identifying areas for improvement. Invest in training and tools to stay ahead of technology curves, ensuring projects remain successful and ready for future advancements.

If you have additional questions or want to talk about your IoT project, feel free to scroll a bit more and use our contact form.

More articles

Team Augmentation vs. Outsourcing: Making the Right Choice for Your Business

How to work with external teams on your software product.

Read more

Q & A with Dora, our Product Designer

Our Product Designer, Dora, answers 12 questions about Product

Read more

Tell us about your project

Our office

  • Zagreb
    Gradišćanska 34
    10 000 Zagreb, Croatia