When new meets old – adding AT command support to SimpleLink Wi-Fi MCUs

If I were to ask you when the Internet of Things (IoT) was born, you’d probably say sometime in the last decade. It’s important to remember, though, that connected devices have been with us for over a half a century. Back in 1981, Hayes Communications introduced a solution to reuse existing cable modem data lines by enabling software that could control a modem’s activity. This solution, later known as ATtention (AT) commands, revolutionized the computer industry and enabled easy and simple man-to-machine and machine-to-machine communication.

AT commands was such a successful solution that it stayed in use throughout the years, surpassing its original use in dial-up modems and continuing to be the de-facto application programming interface (API) standard in modern 2/3/4G cellular modems and other up-to-date communication devices. This means that there is a huge market of connected devices out there that rely on AT commands and need to add IoT connectivity to their systems.

Companies often want to refresh legacy systems by adding new connectivity support options without developing completely new software. Therefore, any activity usually comes with a hefty cost in terms of both time and money. As shown in Figure 1, an alternative solution would be to add Wi-Fi connectivity, by using the AT commands protocol to connect the existing system(s) (software and hardware) to the cloud without being required to do major software and hardware design changes.

Figure 1: Adding IoT capabilities to a legacy system

TI recently released an AT commands software library for the SimpleLink Wi-Fi CC32xx wireless microcontroller (MCU) that fully supports all SimpleLink networking capabilities via AT commands. For customers working with AT commands, this software library will make integration that much easier, directly reducing time to market and the level of investment required.

The CC32xx AT commands library was designed in a modular way and provides much more than the older AT commands interface for networking device capabilities. As shown in Figure 2, it is possible to easily add more capabilities to the AT command library by modifying the AT command application layer.

Figure 2: Basic architecture scheme for AT commands

The SimpleLink Wi-Fi AT commands solution consists of two main modules:

  • The AT commands core includes the commands parser, command execution and return status handler.
  • The AT commands application is responsible for managing the interface between the external host processor and the CC32xx device. The default method is to use the universal asynchronous receiver transmitter (UART) interface to communicate with the device. However, due to the modular architecture, it can be just as easy to use the Serial Peripheral Interface (SPI), Secure Digital Input Output (SDIO) or even the networking interface itself to control the device from a remote location. The AT commands software development kit (SDK) provides two built-in options:
    • The AT_commands UART provides a UART interface for sending AT commands to the CC32xx network processor.
    • Serial_wifi provides the ability to send AT commands to the CC32xx network processor both locally via a UART interface and remotely from a Transmission Control Protocol/Internet Protocol (TCP/IP) interface. This option also enables the connection and control of a remote device using AT commands or can have a remote device control the local device.

As shown in Figure 3, with only four simple serial UART commands, a system can scan a Wi-Fi network, connect to a Wi-Fi router, open a TCP socket and connect to a remote server.

Figure 3: AT commands – UART terminal screenshot

The SimpleLink Wi-Fi AT commands offering is an easy-to-use solution that provides CC32xx platform networking capabilities in a modular and scalable fashion, from simply controlling the CC32xx device from an external MCU located on the same physical platform using the UART interface, to controlling the device from a remote MCU over a TCP cloud connection.

Additional resources

  • For more information about SimpleLink wireless MCUs and the SimpleLink platform approach, check out the CC3220 SDK.