Building Blocks of Building an IoT Product – The IoT Hardware
In my previous article, I gave a high-level overview of the Building Blocks of an IoT Product. In this article, I am going to dig deeper into the first block – The IoT Hardware.
The first step in building an IoT product is selecting an IoT hardware device which can sense and control the physical world around you. 10 years back there was very little pre-built IoT hardware which cloud have done this job and it would have been very difficult to build your own electronic hardware from scratch for any purpose. With the advancement of technology and software, now you can build most of it virtually and give online order for physical production.
Anyways, you don’t really have to build your own development kit or IoT hardware or sensors or actuators these days. A plethora of IoT development kit and sensors are available in the market today and at a reasonable price. So it is always better to get one which suits your need and build your idea using that.
The IoT Hardware – Development Kit
There is a long list of IoT development hardware available today in the market and new kits being launched every 3-6 months. My focus will be only on few of them which are generic in nature and which I have extensively used in my own projects. If you come across something better do let me know. I would love to try and extend my list here.
Arduino is my all time favorite electronic development board. It is an open-source board based on easy-to-use hardware and software. It’s intended for anyone making interactive projects. Arduino has a huge community behind it and a plethora of extensions board, shields, sensors and other components developed to work with it. Arduino also has a desktop IDE and web IDE for programming and debugging, Arduino IDE also supports various other boards in the market which lacks IDE support.
Arduino runs on Mac, Windows, and Linux. Teachers and students use it to build low cost scientific instruments, to prove chemistry and physics principles, or to get started with programming and robotics. Designers and architects build interactive prototypes, musicians and artists use it for installations and to experiment with new musical instruments. Makers, of course, use it to build many of the projects exhibited at the Maker Faire, for example. Arduino is a key tool to learn new things. Anyone – children, hobbyists, artists, programmers – can start tinkering just following the step by step instructions of a kit, or sharing ideas online with other members of the Arduino community.
There is a base Arduino board like Uno, Nano and Mega which has Microcontroller, Digital, and Analog I/O, I2C and SPI interface and other core components built in the board itself. Capabilities of Arduino can be easily extended either by stacking specific shield or by extension boards. e.g. for any IoT development project, Arduino Uno can be extended by adding a Wifi module or Cellular module.
Particle Photon and Electron Board
Photon and electron are two little but very powerful IoT development boards developed by Particle USA. These are small boards and largely adopted by the community for prototyping and development and also by enterprises for build the ng end product.
Photon and electron are built for the purpose of solving complexity in an IoT project and hence it provides end to end support from hardware to cloud service. Photon is a wifi enabled the board and Electron is a cellular board so you don’t have to use external components to connect to the internet. Particle also provides data sim for their electron board which works globally and you only pay for the data usage. Everything from device management to data usage is available online in Particle’s console.
Particle is also coming up with a new set of development board called Particle Mesh to creates local mesh networks that collect data, share messages, and connect to the Internet. It has 3 boards Argon (Wifi), Boron(Cellular), and Xenon(Mesh Node). So if you want to monitor a factory at a remote location with multiple nodes you can deploy multiple Xenon Nodes to monitor and a single Boron or Argon for collecting all the data from Xenon and sending it to cloud.
PyCom Development Boards
PyCom boards are my recent favorite. And the reason is obvious they are supercharged boards with all possible connectivity option available inside a single board and you can program it in MicroPython.
PyCom has released a tiny but very powerful board called FiPy with 5 connectivity network option which you can switch to. WiFi, Cellular, Sigfox, LoRA, Bluetooth in a single board. Isn’t it just great? It is like Arduino on steroids. Can’t say more about this board. If you are only interested in single or dual connectivity there are other boards as well like WiPy (Wifi and Bluetooth), SiPy (Wifi, Bluetooth and Sigfox), LoPy (Wifi, Bluetooth and LoRa), GPy (WiFi, Bluetooth and Cellular).
PyCom FiPy is a perfect board for building a large-scale IoT project where your connectivity requirements are different. e.g you can use FiPy just as an independent cellular or wifi node pushing data to cloud or you can use multiple FiPy in LoRa or SigFox Wide Area Network connected to FiPy micro gateway to push data to the cloud.
As I told you in the beginning that there is a long list of IoT development boards available today and new boards coming every 3-6 months. Above list is my favorite and I will stick with above until something great comes up to beat the above 5. But for your reference, I am listing down some other boards which you can go and check in your spare time as needed.
I have also not listed Raspberry Pi in my primary list because Raspberry Pi is a single board PC and you can do lot more stuff with it. But when it comes to sensing physical world it lacks major qualities like onboard ADC and other useful feature for an IoT board. Also, it consumes a lot of power and can’t be run on battery for long.
Other IoT Development Board
- Raspberry Pi
- ESP8266 and ESP32
- Intel Edison
- Udoo Neo
- LightBlue Bean
- Adafruit Flora
- Mediatek Linkit One
- Hologram Dash
- Ublox mbed
The IoT Hardware – Sensors, Actuators, and Other Components
Sensors, actuators are another very essential piece of your IoT hardware which helps you sense and control the physical world around you. There are various companies like Texas, Bosch and others who build such sensors and control units and then there are another set of companies like SparkFun, Adafruit, SeeedStudio, Groove etc. which builds nice extension boards which can directly be used with various boards I had mentioned above.
As we go on building some cool DIY projects, I will discuss more in-depth about sensors and actuators and other components. Till then stay tuned.