IoT Working Bench – Where the ideas materialize.

What is so amazing about IoT ?
You can get started easily with very little budget to work with microprocessors, single-board-computers and all kinds of electronics, like sensors and more. For the standard kits we discuss here there, lots of online documentation, books and web-sites are available, even interested people with very little IT or electronics knowledge or students at secondary schools can get some hands-on with easy projects.

With a simple workbench, you can do prototyping and evaluate before you even consider going in series, or maybe just build a dedicated one-off device.

Microprocessor and SBC

ESP32

The ESP32 SoC (System on Chip) microcontroller by Espressif is the tool of choice aiming for a small footprint in terms of size (the chip itself measures 7x7mm), power consumption and price. It supports a range of peripherals, I2C, UART, SPI, I2S, PWM, CAN 2.0, ADC, DAC. Wifi 802.11, Bluetooth 4.2 and BLE are already onboard.

The benefits come with limitations though, the chip is operating at 240Mhz and the memory counting in KiB (320 KiB RAM and 448 KIB ROM). Memory consumption has to be designed carefully and a conservative approach towards running the device in various live and sleep modes, it can consume as little as 2.5µA (hibernation) but can draw as well 800mA when everything is running in full swing with Wifi and Bluetooth enabled. The ESP32 and its variants teach you proper IoT design. You can buy the ESP32 as NodeMCU Development Board for less than Euro 10,-.

Arduino

The Arduino history goes back to 2005 when it was initially released by the Interaction Design Institute Ivrea (Italy) as electronics platform for students. Released into the wild as open source hardware for over 15 years, there is a huge user community, plenty of documentation and projects ready to replicate.

The Arduino, even somewhat similar to the ESP32 (Arduino being not as powerful, slower and less memory than the ESP32), is more beginner friendly. The coding is done with sketches (C language) uploaded to the device via USB, logic similar to Processing.

If your project has anything to do with image, video or sound capturing, the Arduino (and the ESP32) is not the right choice, choose the Raspberry Pi as the minimum platform.

The Arduino has a price tag between Euro 10,- to 50,- depending on the manufacturer and specs. For education purpose you find it packaged together with sensors and shields for basic projects.

Raspberry Pi

The Raspberry Pi (introduced 2012) is the tool of choice if you need a more powerful device that runs an OS, can be connected to a screen, supports USB devices, provides more memory and CPU power and easy-to-code features. Connected to a screen (2x HDMI) it can serve as a simple desktop replacement to surf the web, watch movies and do office jobs with LibreOffice for regular user profile.

The current Raspberry Pi 4 ranges between Euro 50,- to 100,- (inclusive of casing and power supply).

Edge or ML Devices

These devices are similar to the Raspberry Pi platform in terms of OS, connectivity, GPIO’s etc, but leaning more towards serious data processing ML inference at the edge.

NVIDIA Jetson

NVDIA launched the embedded computing board in 2014 and has released several new versions since then. The current one is the Nano 2GB Kit, purchase it for less than Euro 70,-. Together with all the free documentation, courses, tutorials this is a small powerhouse which can run parallel neural networks. With the Jetpack SDK it supports CUDA, cuDNN, TensorRT, Deepstream, OpenCV and more. How much cheaper can you make AI accessible on a local device? More info at NVDIA.

Coral Dev Board

The single-board computer to perform high-speed ML inferencing. The local AI prototyping toolkit was launched in 2016 by Google and costs less than Euro 150,-. More info at coral.ai.

Sensors

There is a myriad of sensors, add-ons, shields and breakouts for near endless prototyping ideas. Here are a few common sensors to give a budget indication.

Note (1): There is quite a price span between buying these sensors/shields locally (Germany) and from the source (China), it can be significantly cheaper to order it from the Chinese reseller shops (though it might takes weeks to receive the goods, and worse you might spend time to collect if from the customs office).

Note (2): Look at the specs of the sensors/shields you purchase and check the power consumption (inclusive of low power or sleep modes) and the accuracy.

GY-68 BMP180Air pressure and temperature.
SHT30Temperature and relative humidity.
SDS011 Dust Sensor (PM2.5, PM10)
SCD30 CO2
GPS Geo positioning using GPS, GLONASS, Galileo
GY-271 Compass
MPU-6050Gyroscope, acceleration
HC-SR04Ultrasonic sensor
The authors IoT Working Bench

Some devices on the above image: Raspberry Pi4B, Arduino (Mega, Nano), Orange Pi, Google Coral Dev Board, NVIDIA Jetson Nano, ESP32, plus a few sensors/add-on’s like Lidar, LoraWan, GPS, SDS30 (Co2), BMP 180 (Temp, Pressure), PMSA0031 (dust particles PM2.5, PM10), microstepper motor shield.

What else do we need ?
Innovative ideas, curiosity to play, experiment, willingness to fail and succeed with all kinds of projects.
A 3D printer comes in handy to print casings or other mechanical parts.

Next Steps
The step from prototyping in the lab to the mass-production of an actual device is huge, though possible with the respective funding at hand. It makes a big difference to hand-produce one or a few devices that you have full control over and manufacturing, shipping and supporting 10.000’s devices as a product. You have to cover all kinds of certifications (e.g. CE for Europe) and considerations to design and produce the device by a third party (EMS).

Another aspect is the distribution of IoT devices on scale. A device operating in a closed environment. e.g. consumer appliances that solely communicate locally does not require a server backend. Certainly devices deployed at large, e.g. a fleet management system or different type of devices, it is recommended to use one of the IoT platforms in the cloud or locally (AWS, Microsoft, Particle, IBM, Oracle, OpenRemote, and others).

Stay tuned..

Raspberry Pi goes Desktop

The Raspberry Pi Foundation just launched the Raspberry Pi 400, the regular ARM-based SPC with 4GB memory, a bunch of external ports and wireless connectivity, but all packaged into a neat keyboard casing. First time walking away from the pure tinkering setup to a just-hook-it-up-to-a-screen-to-get-started set. You can choose to buy the “keyboard” alone at Euro 70,- or get an Euro 100,- set with power-plug, hdmi-wire, keyboard and pre-loaded micro-SD card that gets you up and running in less than 15min (incl. auto downloading and installing the latest Raspberry Pi OS). The form factor reminds me remotely of the Sinclair ZX Spectrum and ZX 81 in the 80’s.

Raspberry PI 400 in the box
Raspberry PI 400 (all built-in)
Raspberry PI 400 (back)

The Raspberry Pi 400 has not changed the specs from the last 4B release as of 2019. The SPC comes with the ARM quad-core Cortex-A72 CPU at 1.5 Ghz, 1/2 or 4 GB of memory (now also 8GB version available), wireless LAN, Bluetooth 5.0, BLE, 4 USB ports (2.0 and 3.0), 2 micro HDMI ports supporting 4Kp60. Plus the favourite 40pin GPIO connection for prototyping and accessing the huge tinkering space, to get started into anything between from home-automation to controlling robots or weather stations.

Is it a Desktop PC or Windows Notebook killer ? Depends, maybe not. With the Raspberry PI OS, a debian-based operating system, you have access to a lot of applications for daily use. You know Ubuntu, you know Raspberry PI OS !

Raspberry PI 400 running a 4K Screen

It won’t work for corporate environements living in the Microsoft product world, though you could use the web version of Office365. It is also not the right choice if you want to do linear video editing or run fancy resource hungry DX12 (Windows again) games. But it works perfect for surfing the web, Youtube, etc. Most of the average usage is web-based anyway and with this device we can keep energy consumption as low as 5 Watt (plus screen).

A remark on 4K: Out of the box (without overclocking and proper heat sink/ventilation) you will get only a stuttering experience, the regular HD 720 works fine, even Full HD is still acceptable.

Raspberry PI setup as we know it

Conclusion: A great idea gets re-packaged, to make it accessible to a wider audience. This would be a great platform for our education system. Instead of fixing kids to Microsoft Products or spending hundreds of Euro’s to Apple iPads’s as part of the so-called digitalisation roadmap you would better embark on such an open platform. Have you attached a temperature sensor to an iPad as part of the physics curriculum ?

The only thing missing is a Raspberry PI coming as tablet or notebook.

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/