IOT Devices – Getting Started

IOT (Internet of Things) is one of the megatrends of the next five years (1). We are not looking any longer only at traditional devices such as desktop PC, server, notebook and mobile computing but at a huge landscape of more or less intelligent/smart devices, ranging from wearable devices for humans to smart home appliances in the consumer space and industrial appliances, like embedded systems. Per key definition, the devices can interrelate as computing entity through some means of network (WLAN, 5G, Mesh,..), have a unique identifier (UUID) and aquire or collect data through sensors with or without human intervention. It is all about sensors and data. On top of all this we have real-time analytics, business intelligence and dashboard and machine learning, crunching the massive data influx and use to predict data.

How to get started hands-on with IOT ?
During my engineering studies, in the late 90’s we still learned to assemble and program hardware with eg. the infamous Z80, going to the extend of soldering and adding hardware. This was still possible at that time, though the Z80 was already outdated originating in the 70’s. It was part of the curriculum to “touch” hardware, a very valuable experience. Years to come and we face more and more layers of abstraction, today most is done in the cloud, all you need is an internet connection and a browser. Most of the time we dont see the hardware any more and we build solutions on top of multiple layers.

Zilog Z-80 8-bit microprocessor Advertisment of 1976 (2)

Thats that nice part of IOT today, finally we can touch hardware and tinker again. If we talk IOT, we deal with embedded systems, microprocessors and single board computers. There is a variety of hardware, we can get started for less than 50 Euro to get some hands-on experience. The Arduino, ESP32 (microprocessor) and Raspberry Pi, aka Raspi (SBC) are the recommended choices to get started and do some protoyping. There is a huge community and you wont run out of ideas and support. But please be aware though both platforms were made with the intention of using them in an educational context as a low-cost alternative, they are used in the industry too, you find industrial shields for both of them.
Since the beginning of Arduino, launched in 2005, and the Raspberry Pi, launched in 2012, I follow both hardware streams and just bought a Raspberry Pi 4B.

The Raspberry Pi is a success story. It was launched in 2012, intended to be used for education computer science classes for kids and to make it affordable in developing countries. The Raspberry PI Foundation certainly did not expect this demand and growth. By now they have sold more than 20 million devices.

The Raspi is based on ARM Architecture running a Broadcom Chipset. While the first generation came with a clockspeed of 1x700Mhz, 256MB of RAM, 1 USB port, 1 HDMI and no Wifi or Bluetooth, it was somewhat limited to certain tasks that are not as resource hungry, the new Raspi 4B though comes with up to 4GB RAM, a 4×1,5Ghz Cortex A72, Broadcom Video Core VI at 500Mhz, 2 HDMI output supporting 4K, 4 USB ports plus WIFI and Bluetooth built-in. Be aware, this comes at a price, take care of cooling if you plan to do serious work.
The Raspi consumes about 2W idle and 5W when streaming Full HD content, at the same time the attached FHD screen is taking 50W !

Raspberry PI 4B (2019) on top and the Raspberry Pi 1B (2012)

The new 4th generation of Raspi become a reasonable platform to meet household computing demands, browse the web, stream and watch videos (4K!), work on documents and spreadsheets. All for 50 Euro plus mouse, keyboard and a casing. Most people still have some old screen that can be reused. I equipped my daughter of 12 years with one, she is using it for internet and her computer class with Scratch and Python.

So whats on the roadmap ? I am experimenting with a couple of environment measurement setups and do some prototypes with Tensorflow Lite around speech and gesture recognition, object detection. Interested to compare edge solutions on the Raspi vs. Android and vs. Nvidia Jetson Nano (not fair, but I just got one and excited to let it crunch some stuff).
Updates follow. Stay tuned.