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.

References
1: https://www.cio.de/a/gartner-nennt-5-megatrends-bis-2029,3606088
2: https://en.wikipedia.org/wiki/Zilog_Z80
3: https://www.arduino.cc/
4: https://www.raspberrypi.org/

Hardware Hands-On

You have little chance today to get your hands dirty with electronics or computer hardware, either we deal with small devices like mobile phones, tablet and notebooks which are not made to be opened and tinkered with or our hardware is virtual only and sits in the cloud (no screwdriver required). Few people now still own a desktop size PC where one can add or change hardware (major hardware companies claiming massive loss due to dropping sales in this market).
During my studies in the 90’s we still dealt with CPU’s at a very low level which helped to ‘see’ and understand what’s going on.

If time allows I am doing some DIY  projects with Arduino or Raspberry Pi, 2 electronic platforms which seam to be similar at the first glance, but operating very differently.

The Arduino is a progammable microcontroller, designed to work with sensors or to control external components like relays or motors. Is a very hardware oriented device, no OS or whatsoever included. It does basically what you program it to do. More info and getting started at http://arduino.cc

Arduino

Arduino

The Raspberry Pi on the opposite end is rather a miniature computer, running an OS from a SD card and equipped with ethernet, HDMI and USB plugs. It is clearly more a software platform which can be used for more powerful applications than the Arduino. More info and getting started at http://www.raspberrypi.org

You have the option to combine both, to have processing power of a computer and the myriad of inputs and outputs to the real physcial world.

Raspberry Pi

Raspberry Pi

Crowdfunding Projects I back (2)

Another small project I backed is the Gamebuino, an Arduino based retro game console. Simple concept to pick up basic game programming with this 8bit gadget that reminds me of the Gameboy that Nintendo launched in April 1989. Amazing, the one-man project managed to gather 1.000% of the funding he asked for. The device was funded for 25$ as early bird backer.

OpenSource Hardware

OSS is nothing really new anymore, even Microsoft announced 60% of their software (they use!) is OSS. But OpenSource Hardware is still fairly new, at least on a broader market. Over the years I read about various initiatives to launch this kind of products. I believe only geeks and hackers are attracted by hardware they can build, program and configure to their needs and ideas. Many years back I did some electronics (during my studies), but often started from the scratch with simple stuff to control household devices, as simple as dimming the light with a remote, etc.

I came across the Arduino board which gives you a micro-controller platform that you can connect to your Windows, Mac or Linux desktop to program it and let it run independently. It is all open and documented, you can control something simple like a LED but can go to the extend of reading acceleration, temperature, controlling cameras, an almost infinitive field of appliances. Google for Arduino projects and you find amazing stuff, built on top of a 29$ device.

I recommend at least some basic knowledge of electronics, but even without any clue, you can get started, there are plenty of books and websites with tutorials.

Get started here: www.arduino.cc and buy the device from here, and if you live in Singapore from SGBotics.

Arduino Platform