Editor’s Note: IoT applications bring a particularly tight convergence between hardware and software components, requiring developers to account for myriad details in each domain. This two-part series looks at a single platform that uses a modular approach designed to facilitate that convergence. Part 1 looks at how the platform’s hardware options simplifies implementation of IoT devices, while Part 2 examines the platform’s software architecture and its role in speeding end-to-end development of IoT applications.
Large-scale IoT applications typically require multiple connectivity options and software services for implementing their underlying functional capabilities. To meet increasingly demanding requirements, developers have needed to combine more diverse solutions from multiple sources and operating environments.
However, meeting each solution’s demands often requires a rethink of the development approach. Developers contend not only with the primary requirements of the application, but also with the challenges involved in reconciling different solutions into a seamless application. Using Samsung’s ARTIK platform, developers gain an easier approach that combines compatible hardware modules and software services in a single uniform platform for IoT applications development and deployment.
IoT application development issues
For developers, the broad set of requirements associated with IoT applications can prove daunting. Sensor systems must provide accurate signal conditioning and precise data conversion with minimum noise and maximum bandwidth. Wireless devices need to fit easily into the existing communications infrastructure for the application, providing sufficient RF transmit power while holding down overall power consumption.
At a higher level, IoT devices need to enable effective cloud connectivity through an intermediate host such as a smartphone or through a local gateway device. At the same time, developers must ensure that end-to-end security measures are able to mitigate threats that can attack the IoT application at any link across the full IoT information chain.
As developers work through these individual problem domains, they can easily become myopic: losing track of the broader needs of the application as they narrow their focus on each vertical set of requirements. This can put them in a situation of having overcommitted to a design path from which they may have to divert.
End-to-end platforms such as the Samsung ARTIK solution help IoT developers avoid tunnel vision and its consequences by providing a comprehensive set of hardware and software components that can easily combine into complete IoT applications.
A unified components and services platform
The Samsung ARTIK ecosystem provides a unified platform of components and services designed to address the entire IoT application hierarchy. At the lowest layers of the IoT hierarchy, hardware modules support high-performance data acquisition and signal processing while providing multiple wireless connectivity options.
At the upper layers, the ARTIK cloud provides a broad set of native and third-party service offerings. Running through the entire platform, a unified security model provides developers with a consistent set of services for ensuring that only authorized devices, services, and users gain access to the underlying resources or IoT application itself.
Serving as the foundation of the ARTIK ecosystem, a series of interchangeable hardware modules provide drop-in solutions for wireless sensor nodes and gateways. For example, the Samsung ARTIK 053 module combines an ARM® Cortex®-R4 processor, memory, and peripheral interfaces with dedicated subsystems for Wi-Fi connectivity and for security. Developers gain access to module subsystems through a full complement of serial interfaces and device pins including GPIOs, PWM, serial interfaces, and a 4-channel 12-bit analog-to-digital converter (ADC) that supports conversion rates over 1 Msamples/s (Figure 1).
Figure 1: As with other modules in the ARTIK family, the ARTIK 053 module provides a complete wireless system comprising processor, memory, interfaces and dedicated subsystems for security and wireless connectivity. (Image source: Samsung Semiconductor)
In its ARTIK modules, Samsung combines multiple dedicated systems, such as those for communications and security, in a tightly integrated design built around an ARM Cortex processor appropriate for a particular class of IoT device. For example, the 053 module is intended for use as a terminal IoT node capable of real-time data acquisition and control. Accordingly, the 053 module uses the ARM Cortex-R4. This is one of the smallest members of ARM’s Cortex-R series, a series that is designed specifically for low-power real-time applications.
Running at 320 MHz, the ARM Cortex-R4 leverages separate instruction and data caches to maximize performance for designs requiring fast response. As with other ARTIK modules, the 053 augments the processor integrated memory with on-module memory, in this case, 8 Mbytes of flash and 1280 Kbytes of RAM available for general use.
Besides the Wi-Fi-enabled 053 modules, developers can find other ARTIK modules that provide 053 class processing capabilities but with different wireless connectivity options. For example, the ARTIK-020-AV2R module provides a complete Bluetooth low energy subsystem for IoT terminal nodes designed to interact with smartphones and other mobile devices.
Regardless of connectivity method, any IoT device at any level of the device hierarchy needs to support a robust security policy able to mitigate the multiple sources of threats present in IoT applications. Samsung bases its end-to-end security policies on hardware-based security mechanisms in each of its ARTIK modules. For example, the 053 module integrates a comprehensive security subsystem that includes crypto engines, a true random number generator, secure key storage, and a protected execution environment.
The 053 module also includes a physically unclonable function (PUF) unit, which supports a digital fingerprint designed to protect against counterfeiting and prevent man-in-the-middle attacks that can arise from counterfeited devices.
For all the functional capability of the 053 and other ARTIK modules, developers can drop these fully realized wireless systems into designs with relative ease. The ARTIK 053 module requires few additional components for completing the hardware interface. In fact, the module’s GPIOs can drive up to 12 milliamps (mA) directly without additional buffering. On the input side, the module’s GPIO, I2C, SPI, and debug ports provide relatively high impedance inputs, drawing only 3 microamps (µA) (max, no pulldown resistors). Developers can drive the module’s ADC channels directly from voltage sources, but they may need to add low-noise op amps to amplify or attenuate those source signals to match the ADC’s 0 to 1.8 volt input voltage range.
For pc board physical design, engineers solder the 79-pin 15 x 40 mm module directly to the target pc board or to a carrier board interposed between the module and target board. Because of the built-in RF subsystem, the positioning of the module is critical. However, Samsung provides detailed mechanical specifications for optimizing RF performance when placing the 053 module on the board (Figure 2).
Figure 2: Developers can quickly integrate ARTIK modules in their own designs using Samsung’s schematics and design guidelines such as this routing recommendation for ensuring maximum RF performance in printed circuit board layouts. (Image source: Samsung Semiconductor)
Well before custom PCB design and production, developers can use associated ARTIK development kits to evaluate IoT designs based on these modules. For example, the ARTIK 053 starter kit’s (SIP-KITNXF001) development board hosts the 053 module via an interposer board and provides test LEDs, buttons, USB connection, Arduino shield interface connectors, and I/O break-out connectors (Figure 3).
Figure 3: Developers can quickly begin evaluating the ARTIK053 module using the ARTIK 053 starter kit development board, which combines a 053 module with power, IO connectors, LEDs, and buttons. (Image source: Samsung Semiconductor)
Besides powering the board through its USB interface during development, engineers can power a standalone board separately through its 5 - 12 volt DC power jack or 5.6 - 6.4 volt external battery connection.
For hardware development, Samsung includes full schematics and BOM, providing developers with a head start on their custom designs. As noted earlier, hardware interface requirements for the module are very simple. The starter kit reference design specified in the schematics passes digital signals unbuffered from the board connectors to the module. For the ADC inputs, the schematic demonstrates use of a simple resistor network to provide the required voltage source (Figure 4).
Figure 4: The ARTIK 053 starter kit schematics demonstrate the 053 module’s simple interface requirements including a basic resistor network for supplying a voltage source to the module’s four ADC input channels. (Image source: Samsung Semiconductor)
Modules such as the Wi-Fi 053 and Bluetooth 052 provide solutions for IoT terminal node designs. In more complex IoT hierarchies, however, IoT developers often add high-performance processing nodes in a layer just above the terminal nodes. These intermediate nodes serve as gateways to the cloud, often aggregating and preprocessing data at the local level, ensuring short latency loops between terminal nodes, or serving to buffer terminal nodes from periodic disconnections from the cloud.
Samsung addresses these requirements with a set of modules based on increasingly more powerful ARM Cortex-A application processors. For example, the ARTIK 520 module (SIP-005AYS001) is built around a dual-core 32-bit ARM Cortex-A7, the ARTIK 530 (SIP-005AFS301) offers a four-core 32-bit ARM Cortex A-9, and the ARTIK 710 (SIP-007AFS001) provides an eight-core 64-bit ARM Cortex A-53 processor. Thanks to their common design, developers can mix and match modules to target specific processing loads and performance requirements.
Along with their power processing capabilities, each of these modules provides a robust collection of peripherals and interfaces required to address the broader requirements of gateway devices. For example, besides boosting the number of ADC and GPIO channels, the ARTIK 530 provides user interface support with a 4 lane MIPI camera interface supporting up to 1920 x 1080 @ 30 frames per second (fps); a 4 lane MIPI display interface up to 1920 x 1080 @ 60 fps; and two audio IO channels.
Along with increased peripheral support, the ARTIK 520/530/710 modules address another key requirement of gateway designs. IoT gateway devices typically need to communicate with a diverse collection of IoT devices. Accordingly, these gateway modules support multiple wireless options including Wi-Fi, Bluetooth, zigbee, and Thread, as well as Ethernet.
Due to their support for the broader requirements of gateway designs, the ARTIK 520/530/710 modules typically require correspondingly more design effort. For developers, however, Samsung supports each gateway module with an associated development board including the ARTIK 520 kit (SIP-KITNXB001), 530 kit (SIP-KITNXD001), and 710 kit (SIP-KITNXE001). Along with each kit’s development boards, Samsung provides complete reference designs including schematic, BOM, and pc board physical layout.
The kits illustrate more complex module interface designs with additional components that developers might require for gateway devices. Unlike the simple design of the 053 interposer board and platform board, these kits include a significant parts list needed to support the expanded functionality of the gateway modules.
For example, the ARTIK 530 development board adds an audio codec, USB controllers, battery charger and fuel gauge, and even a Microchip Technology ATMEGA48PB-M AVR MCU for additional GPIO and ADC channels (Figure 5).
Figure 5: The ARTIK 530 development board illustrates design of a sophisticated gateway device, combining the ARTIK 530 module with an external Microchip Technology ATMEGA48PB-M MCU, an audio codec, Ethernet and USB components, and battery management circuits. (Image source: Samsung Semiconductor)
Unlike the simple design of the 053 development board, the 530 kit includes the platform board, an interposer board that holds the 530 module, and an interface (IF) board for additional expansion. Where the 053 interposer simply serves as a carrier board for the 053 module, the 530 interposer board supports the bulk of the 530 module’s functionality directly. As a result, the 530 interposer board serves a more active role in integrating the module within a gateway system design, providing features such as level translation needed to support different power domains associated with different design components.
The development kit and associated schematics demonstrate specific design solutions required to meet these broader interface requirements. For example, the reference design shows how designers can incorporate ON Semiconductor NLSX4373MUTAG 2-bit and NLSX5014MUTAG 4-bit level translators to reliably interface critical lines within the design (Figure 6).
Figure 6: Developers can take advantage of ARTIK gateway reference designs for details on interfacing the ARTIK 520/530/710 modules using off-the-shelf level translators for digital control lines. (Image source: Samsung Semiconductor)
In addressing complex IoT application requirements in the past, developers have had little choice but to work with disparate components from multiple sources and deal with the associated integration challenges. Using the ARTIK ecosystem, however, developers can combine compatible hardware modules designed to meet specific requirements for wireless connectivity, functionality, and performance in IoT terminal nodes and gateways.
Designed to provide complete IoT device solutions, ARTIK modules integrate all the components required to implement IoT terminal nodes, or provide the foundation for implementing more complex gateway designs. By building on ARTIK development kits and schematics, developers can quickly implement the devices that provide the hardware foundation of any IoT application. As described in Part 2, developers can further take advantage of the ARTIK ecosystem’s software architecture to rapidly complete end-to-end design and implementation of their IoT applications.