Probably in second place on the initial marketing specification requirements, with the device’s core function at the top, enabling wireless communication is the fundamental method of getting data to and from the device. Whether the device is a simple temperature and humidity sensor or a more elaborate data aggregation gateway, the need to transfer is still crucial. The follow on questions will usually be how much data needs to be transferred and how frequently. The answers to these questions together with a number of other key criteria such as, will the device be battery powered, what peripheral interfaces are required, and how compute-intensive is the device’s function shape both the physical dimensions and the electronics design.
Traditionally undertaken by a specialist engineering resource, wireless design has never been straightforward. Tricky antenna matching, troublesome trace placements and shielding EMI are just some of the challenges of creating your own discrete wireless design. Then there is the task of the paperwork; that of receiving radio regulatory type approval to operate in the desired regions and countries. Top that with the compliance required by the protocol authority, such as the Wi-Fi Alliance or Bluetooth SIG, it is no wonder that a discrete design is often only likely for a very high volume product where the high NRE can be fully recovered.
The alternative to employing a discrete approach is that of using a pre-certified wireless module. This popular approach packages all the necessary wireless functions into a compact SMD module which often includes a PCB antenna. Communication to the host processor is via a UART, SPI or I2C interface, the protocol stack documentation providing all the necessary library routines and drivers necessary required to run on the host in order to set up a wireless link and transfer data.
The basic premise behind the IoT is that a myriad of sensors feed analysis applications running in the cloud. In turn, and following a set of pre-defined rules, actuators control the IoT application. For example, a sensor might be a simple thermometer that regularly sends the current temperature to the cloud. Should the operating rules decide that the temperature has fallen below the defined threshold then it will instruct an actuator, perhaps in this case a simple relay or thyristor, to turn on heater. The amount of processing resource required for these functions is extremely low.
Meeting the need for wireless connectivity and a relatively low compute capability of many simple IoT edge devices is a new breed of wireless microcontrollers. By combining a low power microcontroller and a wireless transceiver, these standalone, or host-less wireless MCUs offer exactly what a designer requires for a simple edge node device. In addition to running the wireless stack, the wireless MCU also provides enough spare compute resource to execute the application code, such as reading a thermistor, and run the middleware messaging stack – MQTT for example. An example of such as device is the CC3200 from TI. This 2.4 GHz Wi-Fi wireless microcontroller has an 80 MHz ARM Cortex-M4 core, accommodates a range of peripheral interfaces (UART, SPI, I2C), ADC, PWM, GPIO and a battery monitor all within a single IC. It also incorporates a hardware crypto engine that provides fast encryption and authentication capabilities.
As an embedded developer knows, the availability of evaluation and development platforms, code examples and drivers significantly reduce the amount of time needed to become familiar with a new device.