Amazon IoT 101: An AWS ExpressLink Overview

As an early developer of services hosted on Amazon Web Services (starting in 2011), Cardinal Peak’s team of engineers provides expertise in connected product engineering with Amazon IoT and cloud services, including AWS ExpressLink.

With connected IoT devices growing more numerous than the planet’s population, it’s safe to say the once groundbreaking concept of the Internet of Things is a reality in our increasingly technology-connected lives. One significant element driving the proliferation of the IoT is the ability for devices to easily and securely interact with cloud applications and one another via managed cloud services like Amazon Web Services (AWS) IoT Core. And the recently released AWS IoT ExpressLink is the fastest way to get an embedded device connected to AWS IoT Core.

Since I was recently quoted in an Amazon blog post announcing ExpressLink’s general availability, I thought it made sense to put together an AWS IoT tutorial-type blog post getting into what AWS ExpressLink is, how it works, its advantages and disadvantages, and various use cases.

What is AWS IoT ExpressLink?

AWS IoT ExpressLink is a hardware module preconfigured with firmware and certificates to communicate with the Amazon IoT cloud over a Wi-Fi or cellular network essentially right out of the box. With AWS IoT ExpressLink, developing devices that securely connect to the cloud has never been faster or easier.

Presenting a simple serial UART interface to the cloud, ExpressLink powers a range of hardware modules developed and offered by other AWS partners to streamline product development. The Amazon IoT module’s cloud connectivity includes software implementing industry-standard security requirements and makes it faster and easier to integrate with more than 200 AWS services seamlessly. Organizations can lower development costs by offloading networking and cryptography tasks to AWS ExpressLink.

Essentially, AWS IoT ExpressLink quickly and securely transforms products into IoT devices that collect, store and analyze device data across applications.

How AWS ExpressLink Works

Amazon already has AWS IoT Core SDKs providing libraries to connect to AWS, but integrating and implementing the specific features takes hundreds of lines of code and potentially weeks to set up. ExpressLink provides a basic set of out-of-the-box features covering most simple IoT applications, including MQTT messaging and OTA updates.

The AWS IoT module allows developers to start sending data to AWS IoT with just a few commands. Yes, there’s still some configuration to do, like getting Wi-Fi network credentials onto the device and registering the device with the product’s AWS account, but AWS ExpressLink also provides simple ways to accomplish that, including Bluetooth provisioning for Wi-Fi credentials and a just-in-time cloud registration process that allows customers to register devices with a single API call to AWS from the same mobile app that would do the Bluetooth provisioning. All ExpressLink modules have hardware encryption of storage and networking traffic to the latest standards, so no extra effort is required to implement encryption protocols.

A critical point that people often miss is that AWS ExpressLink only presents a serial interface to the cloud, so it does require a host processor/microcontroller to leverage it, which could either be the existing one already in a product or a new one added to the product to collect data from the existing application and package it for sending to the cloud. The interface to ExpressLink for both Wi-Fi and cellular modules is the same, so products can be easily delivered to multiple markets (say, cellular for remote industrial/municipal applications or Wi-Fi for commercial/residential) with no wasteful duplicated development time.

AWS IoT ExpressLink Development Process

AWS IoT ExpressLink development process(Source: AWS)

This approach makes it simple to get a device on the cloud but comes with some advantages and disadvantages.

AWS ExpressLink Advantages and Disadvantages

Security, provisioning and low cost are important benefits of AWS ExpressLink beyond the ease of connection to AWS IoT Core. For us at Cardinal Peak, these advantages mean we can provide devices with secure credentials, proven firmware and preconfigured hardware to connect to AWS with less involvement throughout the production process, ultimately allowing us to upgrade existing products to smart connected products in weeks instead of months.

“AWS IoT ExpressLink allowed me to put together a Wi-Fi-connected product demo sending sensor data to the cloud in a single afternoon! Secure networking for embedded systems has never been this easy. It’s an almost completely transparent interface between my application and AWS, as simple as printing data to a serial port. Being able to do OTA firmware updates through it is a huge value add-on. The best part is that I can reuse the same code to make a cellular version, which is unheard of!” – Keegan Landreth, embedded software engineer

ExpressLink also implements a high level of security out of the box, so less effort is needed to scrutinize the security of the ultimate product, with Amazon having already made some quality assurance in that regard. With ExpressLink, developers can quickly connect devices to the cloud with minimal design or redesign effort regardless of size or resource constraints, driving faster time to market and peace of mind that the product is secure and robust.

Despite those important advantages, developers should be aware of some downsides. The primary disadvantage for developers is that currently AWS ExpressLink is just a black box with firmware that cannot be modified to implement additional features beyond those offered by the ExpressLink interface. However, this challenge is mitigated in part by ExpressLink offerings being in the exact same hardware package as a module that allows custom firmware to be loaded, like Espressif’s ESP32. So, even in those situations where more features are needed, ExpressLink can be viable to accelerate proof-of-concept stage projects and still be footprint-compatible with a more custom-tailored solution for mass production.

Use Cases for AWS IoT ExpressLink

So, while we’ve used AWS ExpressLink to accelerate the IoT product prototype development phase, other organizations have used it to transform indoor gardening products and agricultural irrigation and nutrition systems. Here are some common applications:

Modernize Applications

AWS ExpressLink offers out-of-the-box connectivity for all types of devices, regardless of resource constraints, enabling organizations to modernize applications without redesigning them from scratch.

Connect Smart Home Products

By connecting home goods to the internet to gather telemetry or enabling new cloud-connected user features, AWS IoT ExpressLink allows consumers to unlock safety, security, fun and amazement conveniently.

Launch New Products Faster

With ExpressLink, product development companies can ship consumer products in a fraction of the time and at a lower cost by delegating the most complicated work involved in embedded device engineering.

Revolutionize Your Device Fleet

Manage the security and health of commercial fleet sensors at scale. Easily integrate the devices with AWS IoT services to detect anomalies and take action when metrics deviate from expected behavior.

A Conclusion on AWS IoT ExpressLink from AWS Consulting Partner Cardinal Peak

If you’re looking to develop a new connected device or modernize an IoT application, know that Cardinal Peak’s services and AWS ExpressLink is the fastest way to deliver a connected product to the market. AWS ExpressLink covers the hardware and networking firmware to connect to the cloud easily. Cardinal Peak provides the other end of the equation for clients requiring engineering labor to integrate these networking capabilities with a product and connect them to whatever kind of cloud back end our clients wish to use to put the data collected from their products to work.

Leveraging Cardinal Peak’s AWS ExpressLink expertise, you can spend less time getting your product online and more time on delivering a robust and compelling experience to your users. Let us know how we can help you develop IoT devices that connect securely to the AWS Cloud quickly and easily.