Skip to main content
Skip to main content

Microcontrollers, edge and embedded computing

Home > What we do > Sensing, imaging, IoT > Internet of Things (IoT) > How a typical IoT system works > The CENSIS IoT stack > Microcontrollers, edge and embedded computing

These are typically used in IoT devices.

A microcontroller is an integrated chip that contains a processor (CPU), memory and interfaces to communicate with sensors. These are typically used in IoT devices.

A processor acts as the brain of the IoT device. Depending on the application, this can simply read the sensor data and pass it to the communications module, or it can perform more powerful edge processing tasks.

A microcontroller provides the ability to:

  • Interface with one or more sensors and extract the data
  • Control something, e.g., switch or unlock an item such as a valve or a fan
  • Perform processing on this data
  • Transmit this data over a wired or wireless network
  • Receive instructions over the network from the application and execute these instructions.
  • Control power consumption of the IoT device

The responsibilities required of the microcontroller will depend on the nature of the project. It is the role of a firmware engineer to develop the necessary firmware of the microcontroller so it can carry out the tasks required.

Criteria for microcontroller choice

  • Power consumption: Effective performance and long battery life at the lowest possible cost.
  • Ability to support any interfaces required by the application.
  • Performance need: IoT devices typically use low performance microprocessors (sleeping most of the time). If more pre-processing of the data is required, a mid-range performance microcontroller will be needed.
  • Onboard memory component requirement: If it is more useful to log data in batches and only send at an appropriate time or when there is a signal, onboard memory components will allow the developer to store records of data that will remain when the device is powered down.
  • The preference of the development environment.
  • Package size, reliability and ease of replacement
  • Required functionality of software and technical support from vendor.

Choosing a development platform

Microcontroller manufacturers offer hardware development platforms for their devices. These electronic boards allow engineers to quickly develop firmware for their products without first having to develop any hardware. They also provide a good example of the hardware required to support the device. This can help the hardware engineer when it comes to designing a custom board. Vendors will often provide source schematics and PCB layout files (Altium, OrCad, Eagle) to aid the development of custom/bespoke hardware and shorten time to market.

For devices designed with IoT in mind, their development platforms will often include various sensors integrated directly on to the board, as manufacturers expect most engineers will use their device to integrate with sensors.

Development boards are constantly evolving to include the latest technology, especially in a rapidly evolving IoT market. Some examples of popular development platforms are:

  • Thunderboard Sense 2
  • MangOH
  • Arduino & Shields
  • Raspberry Pi
  • ESP32 & ESP8266
  • MSP430
  • STM32 family

When developing commercial hardware, products must have the relevant approvals and certification (EMC, safety, radio) in place before being offered for sale.

Edge computing

Edge computing moves data analysis from the cloud down to the device itself and allows some or all of the data to be processed real-time and locally – i.e., at the actual source, on the device. Edge computing is driven by improvements in power-efficient processing which enables complex data processing on small, battery-operated devices. This increased intelligence at the edge is starting to enable machine learning and artificial intelligence applications on IoT devices. Intelligent edge IoT devices will enable many new opportunities for companies developing IoT applications.