IoT is well renowned technology but its new advancements still amazes us day to day. It seems pretty simple when we read the definitions of IoT but implementing the technology right from prototyping till deployment of end product is quiet challenging. For success of any product, its prototype, whose base is Development boards, have to go through refined iterative cycles based on feedback and evaluation. With respect to IoT, Prototyping is defined as the process of making IoT hardware which usually comprises of circuit or development boards enriched with microcontroller and processor, smart sensors and embedded system.
Development boards are combination of Processor, memory and I/O. They comprises of microcontrollers and microprocessor with chipset to handle wireless connections. In IoT interconnection of devices is called intelligent as the objects assembled devices are aware of their ecosystem and in order to make this ecosystem more adaptive the developers have to overcome development challenges. Off-the-shelf boards like Arduino and Raspberry Pi are very famous within development community to start the process of rapid prototyping as they are easily available and require less investment.
Issues with Prototyping: Gartner has already claimed that soon IoT will be bigger than Internet itself. Global IoT installed base will reach 8.4 billion units by end of this year. IoT is progressing with a great number of percentage but wait 75% of IoT hardware and software fails to meet business goals so are we in the right direction for building the environment with connected devices? The answer is little ambiguous, IoT developers are constantly experiencing many challenges in order to transform idea into reality.
IoT major application is in consumer market where it can be in form of Wearable’s or Smart Home. The major challenge with these application areas are high power consumption. Limited Random Access memory, Data Processing issues and API conflict also create the challenges for smooth working of prototyping. Though software also play a major role but it all gets start with a board. The management of such high level of Heterogeneity among devices and objects require support of architecture and protocols layers, handling large number of heterogeneous, rapidly evolving devices and identities are often difficult to manage.
Take care of following features while selecting Development board
- Specifications: Memory, Processor, I/O capability etc
- Cost
- Programming support/options
- Open Design: timely enhancement
- Compatibility with sensors and actuators
- Cellular connectivity
- Cloud platform access
- Location positioning support
- Cables and Connectors
- Power supply and Batteries
Why start with Prototyping?
- Prototyping facilitate Rapid Development
- Better Quality product delivered
- Saves time and cost in Production stage, in case certain changes have to be made.
- Identification of problems on primary stage
- Improved design quality
Hardware requirement to be taken care of: In last 18 months the DIY market flooded with variety of board which matches your project requirement. So now question is what should be best hardware to use for prototyping and developing IoT boards. Modular hardware design provide immense flexibility which can be utilized as upgrading new networking, data processing , new sensor with different specification in order to cater evolving requirement. IoT projects are application specific and works under specific environments so hardware requirement vary accordingly. Developers should start prototyping using general off-the-shelf hardware, as they move forward in designing, requires specific design and successful cross validation process steps, they can start with developing custom PCB’s and components. As part of this journey developer have to consider these kind of hardware requirements.
Data Security is a biggest concern every IoT product is facing now-a-days and it should be taken care at each and every step of developing product. Even during prototyping also the integrity and security of data should remain intact. Security of data depends on IoT devices themselves, the encryption of networking and security of related cloud service and web applications. Should take care of:
- Developers should choose to adopt off-the- shelf devices that can implement device management protocols for efficiently registering new devices as they are added to the network in order to identify sending and receiving host.
- They must ensure that embedded software development libraries should support access control mechanism and authorization process.
- Power consumption is again a critical issue so to ensure enough processing power and memory in order to code and decode messages at the same rate as they are sent or received should be taken care of.
Ease of development: Easiness while developing the prototyping is highly required in order to quickly get IoT device running and communicating with cloud and other devices. For this factor a developer must:
- Take care of accessibility, availability, and quality of API documentation, development tools, and support offered by hardware manufacturers.
- Select devices which are easy to deploy, quick to program with minimal per-device configuration requirement in order to save time and complications.
Processing, Data Acquisition and Storage: Collection of data depends on sensors which sense and process the information, the resolution of data and rate at which they are sampled determine the volume of data to be processed which effect the storage requirement. The upload frequency of data determine the amount of data to be retained.
Connectivity: Connectivity is a backbone of IoT. For wireless networking connectivity requirement include rate of data to be transmitted and how far signals to be transmitted as well as anticipated volume. In case connection fails or some fault is found then also connectivity can be resumed and data can be resend to pre-defined device or network. Hardware must have integrated network connectivity or this capability might needed to be added with an expansion board. An external module can provide more flexibility and ease in order to try different module.
Power requirement: For power requirement developer should consider the number of sensor required as they consume power and the rate of network transmission. Power requirement greatly changes on considering whether your device will be wired or run with battery, though mostly operate with battery. Battery should have low power consumption, rechargeable and longer live.
Cost Requirement: It is always advisable to start prototyping with off-the-shelf development board as they are more affordable than going for custom board in the early stages of development. The cost of hardware includes initial outlay for hardware and sensors as well as their going to be operational cost as power and maintenance cost. You might also need to pay ongoing licensing fees for some components or device drivers.
IoT Development kits with unique features
Arduino Platform
- Easy to use and huge community for technical support.
- Apart from official shields can also work with 3rd party Wi-Fi
Raspberry Pi Boards
- No requirement for extra shields hardware for connecting to internet.
- Connection to wireless and LAN occur automatically.
ESP8266 Wi-Fi chips
- Easy to integrate it on PCB so perfect for building prototyping.
- Comes with Plug and play Wi-Fi module
Spark Core (as well as Photon and Electron)
- No need of attaching extra board for Wi-Fi capability.
- Comes with connected Cloud Platform
- Easy to integrate on PCB