Microcontroller and SOC | Choose Hardware Platform for IoT Device
Here we discuss Embedded Computing Devices and How to choose hardware platform for IoT device. For any IoT development, we need an IoT Device. Here we used various embedded devices as an IoT device. But here we are not going to discuss an IoT device. If you are interested, please visit this artcle : What is an IoT Device ?
We know that We are using sensors and actuators so that we can sense and act. So now we need a device that operate these sensors and actuators. Mostly we used two types Embedded computing devices, Microcontrollers and SoCs.
Microcontrollers
Nowadays many devices available that more tightly integrated and miniaturised solutions – from the most basice level of microcontrollers to more powerful system-on-chip (SoC). Internet of Things( IoT) devices are taking good advantage of it. A microcontroller (μC or uC) is a solitary chip microcomputer fabricated from VLSI fabrication. A microcontroller is also known as embedded controller. Actually these systems combine the processor, RAM, and storage onto a single chip, which means they are much more specialized, smaller than their PC equivalents. Microcontrollers are the engines of countless sensors and automated factory machinery. Microcontrollers are very limited in their capabilities because they offers RAM and storage in kilobytes.
Nowadays our desktop computer processors market acquire by two manufactures INTEL and AMD. But the Microcontrollers market consists of many manufactures. So we have a lot of variety and range of microcontrollers for different applications. these manufactures are ATmel, Microchip, NXP, Texas Instruments, and many more.
The ubiquitous Arduino platform is based around Atmel’s AVR ATmega family of microcontroller chips. The on-board inclusion of an assortment of GPIO pins and ADC circuitry means that microcontrollers are easy to wire up to all manner of sensors, actuators, and peripherals.
System-on-Chips (SoC)
Like the microcontroller, these SoCs combine a processor and a number of peripharals onto a single chip but usually have more capabilities. SoCs offers RAM measured in Megabytes (MB) and storage for SOC modules tend not to be included on the chip, with SD cards being a popular solutions. The processors usually range from a few hundered megahertz (MHz), nudging intothe gigahertx (GHz) for top-end solutions. So SoCs have more capabilities So they need some sort of operating system to marshal their resources. Nowadays a wide range of Embedded operating systems are available, both open-source and closed.
Recommended : Best IoT RTOS and OS in 2020
Raspberry pi is most popular System-on-chip. Visit my Raspberry pi tutorials.
How to choose hardware platform for IoT device
We used Microcontrollers and System-on-chips (SoC) as a device but this very difficult to choose a perfect platform for an IoT Device. Basically the platform you choose depends on the particular blend of price, performance, and capabilities that suit what you are trying to achieve.
here we discuss some factors that can help you for choosing a right platform for IoT device.
Processor Speed :
This is most important because we used the processor speed as one of a number of factor. The processor speed (clock speed) of your processor tells you how fast it can process the individual instructions in the machines code for the program it is running. Actually if processor speed fast, it means processor can execute instructions more quickly. Generally we compare two similar device by processor speed.
Some processor may lack hardware support for floating point calculations, so if the code involves a lot of complicated maths calculation, a by the numbers slower processor with hardware floating point support could be faster than a slightly higher performance processor without it.
A Microcontroller tend to be clocked at speeds in the tens of MHz, whereas CoCs run at hundrds of MHz or GHz.
So you can choose your platform according to your needs. if your project does not require heavyweight processing then some sort of micro-controller will be fast enough.
RAM :
It is another major factor. RAM provides the working memory for the system. It is difficult to give exact guidelines to the amount of RAM because it depends on you requirements. It will vary from project to project.
More RAM means you have more flexibility over your choice of coding algorithms. if we are handle large datasets on the device, that could govern how much space you need. When we are write Embedded code, we are facing memory limitations. So always remember RAM is most important factor.
Maicrocontrollers have RAM in Kilobytes or less than 1 KB. SoCs offers RAM measured in Megabytes to Gigabytes. If you plan to run Linux as the OS, We recommend use SoCs.
Networking :
We use Bluetooth, WiFi , Ethernet and many more methods for communication. These all wired and wireless technologies affect power consumption and cost. So you can choose according to requirement. If you do not need wireless, you can use wired Ethernet. It is easy and cheapest.
Wi-Fi is widely used but it can be expensive and used in limitations. Other short range wireless can offer better power consumption profiles or costs than WiFi but usually with the trade off lower bandwidth. Zigbee is one such technology. it is useful for sensor networks and home automation. Bluetooth standard as another possible choice. Latest Bluetooth Low Energy (BLE)is better because it has very low power consumption profile.
So many communication technologies available, you can choose according to your requirements.
Recommended: Wireless IoT Network Protocols
USB :
Many Microcontrollers have USB support. If your device can rely on a more poerful compute being nearby , tethering to it via USB can be an easy way to provide both power and networking.
Power Consumption :
Sometime it can be big problem because we have limited source of power. Many things affect power. A faster processor are often more power hungry than slower one. For minimal power consumption, we can used sleep mode. Actually Sleep mode may allow you to use faster processor to quickly perform operations and then return to low-power sleep.
Interfacing with Sensors and other Circuitry :
A device need some interfaces for interact with sonsors, actuators, and something else. You could connect to the circuitry through some sort of peripheral bus – SPI and I2C being common ones. We can use ADC and DAC modules to read or write varying voltages . Generic GPIO pins of device provide digital on/off inputs or outputs.
All Microcontroller and SoCs provides different mixtures of these interfaces in differing numbers.
Physical Size and Form Factor :
Nowadays, the size is governed by the number o connections it needs to make to the surrounding components on the PCB. The limit to the size that each connection can be reduced to is then governed by the capabilities and tolerances of your manufacturing process. Some surface mount designs are big enough for home-etched PCBs and can be hand soldered. Others require professionally produced PCBs and accurate pick and place machines to locate them correctly.
Due to these trade-offs in size versus manufacturing complexity, many chip design are available in a number of different form factors, known as packages. This lets the circuit designer choose the form that best suits his particular application.
We discussed many topics above, it can help you for Choose Hardware Platform for IoT Device.
Recommended :
- Internet of Things (IoT) Introduction | IoT Tutorial Part-1 | IoT Basics
- MicroPython vs CircuitPython | What is MicroPython and CircuitPython
Thanks for reading. If you like this post probably you might like my next ones, so please support me by subscribing my blog.