SlideShare a Scribd company logo
Introduction to 

practical IoT
Pekka Nikander, Aalto University
June 1st, 2018
Today’s outline
• Introduction to Internet of Things (60 slides, 90 min)
• NEPPI IoT (20 slides, 30 min)
• NEPPI Tech Tools (10 slides, 15 min)
• NEPPI Tech Roles (discussion)
NEPPI Tech Course
• NEPPI Tech is a new IoT course at Aalto university
• Goal: learn to make simple IoT devices
• All aspects: HW, powering, SW, communication
• Teamwork, with different roles
• Practical goal: Make a simple BLE device and integrate
with an external “gateway” system
• https://neppi.aalto.fi/about/
• https://github.com/AaltoNEPPI
Introduction to
Internet of Things
Pekka Nikander, Aalto University
June 1st, 2018
Outline
• Overall IoT system architecture
• What a “real” IoT system architecture would be
• The simplified architecture used at NEPPI
• Embedded or “thing” devices
• User interfaces options and the NEPPI approach
• Understanding the cloud and communications
• Future directions
IoT system architecture
GatewayCloud
Sensor
node
Sensor
node
Actuator
node
UI
UI
IoT system architecture
PC
Smartphone /
tablet
PaaS / serverless
RasPi /
dedicated
Embedded
Communication
NEPPI system architecture
Smartphone Linux
nRF52
embedded
(Arduino)
HTTP / HTML5 BlueTooth Low Energy
USB / serial
Framework7
Unity3D
Outline
• Overall IoT system architecture
• Embedded or “thing” devices
• Estimating the total cost & feasibility
• Hardware & Software
• User interfaces options and the NEPPI approach
• Understanding the cloud and communications
• Future directions
Embedded systems
Embedded
Estimating the total cost
• Development costs
• Hardware design: PCB, assembly, testing
• Software design: Design, coding, testing
• Casing and mechanical design
• Manufacturing costs
• BOM: Bill of Materials: electronics & mechanics
• Manufacturing costs: assembly, testing, packaging
• COGS: Cost of Goods Sold
Thing HW considerations
• Real life interfaces: sensors, actuators
• Computation needs: logic, protocols, security
• Communication: wireline, wireless
• Power: wireline, battery, charging
• Total cost: Development, BOM, COGS
• BOM: Cost of parts, assembly
• COGS: Manufacturing, defect products, support
Estimating hardware cost
Cheapest Wearable BLE RasPi Wifi
MCU
Comms
PSU
Battery
PCB + misc
Total ? ? ?
+ sensors
Note! Numbers will be educated guesses!
Focus
Estimating power
Battery
Electrical
capacity
?? mAh
Max current
?? mA
Power
supply
MCU
Radio
Others
Voltage
regulation
Peak and average 

power consumption
? mA
? V
? mA
? mA
? V
Battery life = battery capacity / average consumption
Where to get the numbers?
• Different channels for sourcing components
• Digikey for single components and prototypes
• Farnell, Mouser etc. for larger numbers
• Adafruit and Sparkfun for prototyping boards
• Component costs vs. volume: a rule of thumb
• Increasing volume 10x lowers the unit price 20%
• Experience teaches you to guess
Three Cs
• Connect
• Connect locally with the real world
• Compute
• Perform (relatively) complex operations
• Communicate
• Communicate through the Internet
A typical “thing”
MCU
CPU SRAM
Flash memory
Comms
I2C SPI GPIO …
Sensor
Actuator
Sensor
Power
supply
Antenna -or-
cable driver
(PHY)
Connect Compute Communicate
Compute
• Local application logic
• Pre-process data, local control loop, …
• Communications
• Upper protocol layers, energy saving features
• Security
• Certificates, crypto keys + algorithms, protocols
Compute alternatives
• MCU: Micro Controller Unit
• A tiny computer: CPU, SRAM memory, Flash
• FPGA: Field Programmable Gate Array
• Programmable logic gates
• ASIC: Application Specific Integrated Circuit
• Custom designed chip
MCU / FPGA / ASIC
MCU FPGA ASIC
Availability COTS COTS Custom
Development Easy Harder Hardest
Performance Slow Faster Fastest
Power Highest Depends Lowest
Size Large Large Small
Upfront cost Low: 1k+ Medium: 10k+ High: 500k+
Unit cost Medium: 0.50–50 High: 5–200 Low: 0.01–5
Example low end chips
STM 32F030 nRF52832 ICE40LP8 ECP3-17
CPU Cortex-M0 Cortex-M4F FPGA FPGA
SRAM 4 kb 32 kb 16 kb 90 kb
Flash 16 kb 256 kb 7680 LUT 17 kLUT
Performance 43 MIPS 80 MIPS ~10 ns ~5 ns
Powering 3.3V 1.8–3.3V 1.2V 1.2V
Consumption 20 mA 10–50 mA < 20 mA > 100 mA
Cost @1 $1 $4 $7 $25
Since 2015 2016 2013 2012
Connect: 

Sensing and actuating
• Sensing the environment
• Hundreds of possibilities: temperature, light,
noise, humidity, orientation, movement, …
• Usually implemented with a separate chip
• Actuating
• Lighting, voice, vibration, movement, …
• Usually need a separate driver chip or circuit
Some sensors examples
Light sensor Gyroscope GPS
Sensing Ambient light
Direction,
movements
Outdoor location
Example AMS TSL2571 STM L20G2 Venus638FLPx
Powering 3.3V 1.8V, 3.3V 3.3V
Consumption 170 μA 1.4 mA 50 mA
Interface I2C SPI I2C, SPI, UART
Cost @1 $0.70 $2.20 $40
Communicate
• Talk with the rest of the system
• Basic alternatives: wireline or wireless
• Wireline allows integrating power delivery
• Wireless is sometimes cheaper but less reliable
• Wireless the only choice for mobile devices
Wireline alternatives
USB
(Type C)
Ethernet
802.3
PoE
802.3at
PoDL
802.3bu
PLC
(Homeplug)
Max bps 10 Gb 1 Gb 1 Gb
typ. 10 Mb
(802.3cg)
500 Mb
Latency Low Low Low Lowish High
Max
length
< 5 m 100 m 100 m
200 m or
1 km
~50 m
Cable
USB
specific
4 pairs 

UTP
4 pairs 

UTP
1 pair 

UTP
AC power
Max
Power
100 W – 50–90 W 65 W > 1 kW
Cost ~$10 $2–10 ~$10 < $1 ? ~$40
Since 2016 1980s 2009 2018 2010
Some wireless alternatives
WiFi 802.15.4 BLE NB-IoT
Typical
speed
150 Mbps 250 kbps 1 kbps 20 kbps
Latency 2 ms varies 1 s 2–10 s
Distance 100 m 10 m 10 m 10 km
Freq
ISM 2400 or
5000
ISM 900 or
2400
ISM 2400 4G licensed
Power 1W 100 mW 10 mW 500 mW
Cost @1 $5 Builtin Builtin $10
Since 1990s 2006 2010 2018
A typical “thing”
MCU
CPU SRAM
Flash memory
Comms
I2C SPI GPIO …
Sensor
Actuator
Sensor
Power
supply
Antenna -or-
cable driver
(PHY)
LiPo
battery
Estimating power
Current
Cheapest
PoDL
Wearable BLE RasPi Wifi
MCU 20 mA 20 mA 500 mA
Comms 50 mA 30 mA 300 mA
Max current 70 mA 50 mA 800 mA
Battery capacity – 500 mAh 4000 mAh
Sleeping time 90 % 96 % 90 %
Battery life — 75 h 50 h
Powering examples
CR3032
battery
Rechargeable
LiPo battery
PoDL
802.3bu
Picture
Nominal voltage 3V 3.7V 12V or 48V
Capacity 210 mAh (e.g.) 500 mAh No limitation
Std current 0.2 mA 100 mA N/A
Max current 15 mA 500 mA typ. > 1000 mA
Weight 7g 10g N/A
PSU cost $1 $5 ?? 

(not available yet)
Battery cost $2 $8 –
Estimating hardware cost
Cheapest PoDL Wearable BLE RasPi Wifi
MCU 0.50 3.00 7.00
Comms
1.50
(IC + isolation)
1.00

(antenna etc)
5.00

(Wifi module)
PSU
2.00

(IC + isolation)
2.00

(charger + coil)
4.00

(charger + coil)
Battery – 4.00 8.00
PCB + misc 1.00 1.00 4.00
Total @10k 5.00 11.00 28.00
Note! Numbers are educated guesses for a lot of 10k!
Rough relative cost
Power
50 % Comms
38 %
MCU
13 %
Power
60 % Comms
10 %
MCU
30 % Power
50 %
Comms
21 %
MCU
29 %
Cheapest PoDL Wearable BLE
RasPi WiFi
(battery powered)
Powering matters!
Outline
• Overall IoT system architecture
• Embedded or “thing” devices
• Estimating the total cost & feasibility
• Hardware & Software
• User interfaces options and the NEPPI approach
• Understanding the cloud and communications
• Future directions
Current context
Embedded
Thing SW considerations
• Remember: really small memory
• Flash: 16 kb — 1024 kb
• SRAM: 4 kb — 256 kb
• Memory is a major cost factor for the MCU
• Not even a remote possibility to run Linux
• Choices: Bare metal or RTOS
Bare metal
• Program directly on the top of hardware
• Maybe a “HAL” (hardware abstraction layer)
• No dynamic memory management
• No multitasking: no processes, no threads, nothing
• Choices: Polling, interrupts, custom scheduler
• Must tackle the parallelism present in hardware
• Many I/O functions work autonomously
Real Time OS
• Dozens of different ones available
• Complexity and features vary a lot
• Complexity also affects memory cost
• Most popular ones today open source
• Pay attention to community, licence, ownership
• FreeRTOS, RIOT-OS, Contiki, mbed, Brillo
• At NEPPI we use RIOT-OS by default
IoT RTOS comparison
Contiki RIOT-OS FreeRTOS TinyOS
Owner Community Community Amazon* Community
License BSD LGPL MIT BSD
Min SRAM 10 kb 1.5 kb 500 b 400 b
Typ. SRAM 30 kb 5 kb 2 kb 1 kb
Min Flash 30 kb 5 kb 10 kb 1 kb
“Forks” 2200 1000 160 400
Status Active Active Active Waning out
Since 2003 2013 2003 2000
* Amazon bought FreeRTOS in 2017
Typical SW architecture
MCU
CPU
Hardware abstraction layer
Radio I2C SPI GPIO… Interrupts
SchedulerSerial driversRadio driver
Sensor drivers
Comms
protocols
GPIO
Application
Software challenges
• Power consumption
• Device should sleep most of the time
• Both HW and SW should be considered
• Concurrency
• Sensors and actuators work independently
• Testing and debugging
• Stability
Application
Interrupt
handlers
Typical app structure
SchedulerDrivers
Comms
protocols Main
loop
Worker
tasks
Worker
tasks
Interrupt
handlers
Statically allocated global data
SW development costs
• Typically agile methods used
• Hard to estimate exact final cost beforehand
• Typical MCU apps: 6–36 man months
• Software architecture matters
• Try to keep it as simple as possible (KISS)
• Study open source, search for good examples
• Latent and late obscure bugs cost most
• Swat bugs early, aim for zero bug toleration
Outline
• Overall IoT system architecture
• Embedded or “thing” devices
• User interfaces
• Typical IoT user interfaces
• Approach at NEPPI
• Understanding the cloud and communications
• Future directions
User interfaces
GUI Embedded UI
Main UI options
• Embedded, part of a building or environment
• E.g. light switch, burglar alarm control, etc.
• Mobile
• Smartphone app or a separate device
• Web enabled, served from the cloud
• Web UI, usable from PC and smartphone
• Not much focus on NEPPI, more a sideline
Embedded
• Traditionally custom-designed
• Nowadays more and more one of the following:
• Raspberry Pi with a small (touch) display
• Android tablet in a custom casing
• One of the emerging embedded platforms: 

Arduino, mbed, Android Things, …
• Fixed installation power consumption not an issue
• The price of the PSU and cabling still matters
Embedded UI @ NEPPI
• You are on your own
• No support from the course
• Recommended:
• Arduino
• RasPi + Linux + Display
• Either with USB power
• Mind the cable lengths
Mobile UI
• Smartphone app
• Harder to develop & install
• Works without Internet connectivity
• Can use all sensors and e.g. Bluetooth
• Web-based mobile UI
• Easier to develop, no installation
• Requires Internet (or local server)
• Restrictions on using Smartphone functionality
Mobile UI @ NEPPI
• Web-based mobile UI
• Recommended: Framework 7
• Served from a local server
• Server runs inside Unity3D
• Connectivity:
• 3G/4G cellular Internet
• Local high speed WiFi
Cloud web UI
• Web UI served from a cloud server
• Often both mobile and tablet/PC adaptions
• Often shows near real time data from sensors
• Evolving area, no clear market leaders yet
• Most popular prototyping framework:
• Node RED
• Not considered at NEPPI
Outline
• Overall IoT system architecture
• Embedded or “thing” devices
• User interfaces
• Understanding the cloud and communications
• Cloud only very briefly
• Comms: Options, protocols, Bluetooth LoW Energy
• Future directions
Cloud & Communication
PC
Communication
Cloud
IoT cloud
• Storage and computation taking place in the cloud
• Emerging field, no clear market leaders
• Heavyweights rushing in: IBM, Amazon, Google, …
• No clear open source platform leaders yet
• EU pushes FIWARE, but it is not very good
• At NEPPI we use a local Linux instead of a cloud
Communications
• Local vs. Internet communications
• Local: Between the “thing” and the gateway
• Internet: All the rest
• Wireline vs. wireless communications
• Covered briefly already earlier
• Protocol stacks: Internet, BLE, others
Local communication
• Thing to gateway
• Wireline: Ethernet, USB, PoE, others; legacy
• Remember power and its cost!
• Wireless: BLE, ZigBee (802.15.4), WiFi, others
• Remember power and battery lifetime
Protocol stacks
• TCP/IP
• Used everywhere in the Internet; often also locally
• Assumed to be known to everybody
• USB: Own, complex protocol stack
• Many subprotocols, including “serial emulation”
• Also Ethernet over USB (several variations), supporting TCP/IP
• BLE: Own, complex protocol stack
• Main protocol: GATT (Generic ATTribute Profile)
• Also TCP/IP over BLE (RFC 7668)
Bluetooth Low Energy (BLE)
BLE GATT overview
Outline
• Overall IoT system architecture
• Embedded or “thing” devices
• User interfaces
• Understanding the cloud and communications
• Future directions
Again: IoT architecture
GatewayCloud
Sensor
node
Sensor
node
Actuator
node
UI
UI
IoT future directions
• Things:
• All things using electricity connecting to the Internet
• PSU cost probably a major limiting factor
• Target cost: < $3 with the PSU and casing
• Gateways:
• Hopefully standardisation and consolidation
• RasPi as the de facto platform
• RasPi 3 has built-in BLE and WiFi
• Target cost: < $15 with the PSU and casing
IoT future directions
• Cloud:
• Edge and Fog computing
• Network Function Virtualisation (NFV)
• Computation at the network closer to the 4G/5G devices
• Hopefully standardised IoT interfaces at some point
• E.g. W3C Web of Things (WoT)
• Artificial Integration and Big Data integration
• Communication
• Ethernet (for PHY) and TCP/IP as the de facto standards
• USB, BLE, IoT-NB, etc as specialised local / last mile
• Security more and more importan
IoT future directions
• User interfaces
• Smartphone increases, consolidation in embedded platforms
• Security and privacy
• Increasingly important
• Major factor for R&D costs
• Integration with blockchains aka Distributed Ledger Technologies
• Data markets
• Rise of Digital Twins
• Possibly Open Digital Business Platforms with DLT
Summary
• Overall IoT system architecture
• Embedded or “thing” devices ⇐ focus here
• User interfaces
• Cloud and communications
• Future directions
IoT system architecture
Gateway
Sensor
Sensor
Actuator
PC
Smartphone /
tablet
PaaS / serverless
RasPi /
dedicated
Embedded
Communication
Cloud
IoT teaching focus
Linux
nRF52
embedded
BlueTooth Low Energy
NEPPI IoT
Pekka Nikander, Aalto University
June 1st, 2018
NEPPI approach
• NEPPI provides a partial, simplified IoT platform
• Development boards for HW
• Skeleton code for SW
• Other tools may be freely used
• No support from the course personnel
• Recommended that you specialise!
• E.g. embedded HW, SW, UI, communication, …
Course IoT architecture
Smartphone Linux
nRF52
embedded
(Arduino)
HTTP / HTML5 BlueTooth Low Energy
(USB / serial)
Framework7
Unity3D
NEPPI demo overview
Mapping the structure
Linux nRF52
(Arduino)
Demo
Demo of the current functionality
NEPPI components
• Things: nRF52 Development Kit + RIOT-OS
• User interfaces: Unity3D, Mobile Web app
• Communication: BLE GATT, TCP/IP HTTP
• Gateway + cloud: PC + Linux + Unity3D
Embedded
Smartphone Linux
nRF52
embedded
(Arduino)
HTTP BlueTooth Low Energy
USB / serial
(Framework7)
Unity3D
Nordic Semi nRF52
• Very popular Bluetooth
capable wireless MCU
• 32-bit ARM Cortex-M4F CPU
• Up to 512kB Flash
• Up to 64kB SRAM
• Embedded 2.4GHz radio
• Internal power supply unit
• Designer friendly
• List price USD 1.50 – 6.00
nRF52
RIOT-OS
• Popular open source RTOS
• Many developers at Freie Universität Berlin
• Supports programming in C (and partially C++)
• Can be debugged inside a Linux process (“native”)
• nRF52 BLE support experimental
• Alternative: 6LoWPAN IPv6 (needs further study)
UI
Smartphone Linux
nRF52
embedded
(Arduino)
HTTP BlueTooth Low Energy
USB / serial
(Framework7)
Unity3D
HDMI
Unity 3D
• Cross-platform game engine
• Runs under Windows, Linux, and Mac OS X
• Generates directly the 3D graphics from Linux
• Supports “scripting” in C# (and Unity JavaScript)
• Able to run “background tasks” — both WIP
• Web server for a Mobile Web UI
• BLE communication for nRF52 “things”
Mobile Web App
• Served from the local Web server in Unity3D
• Accessible over local WLAN (later also Internet)
• Recommended UI framework: Framework 7
• Also other frameworks will be used
• Only a secondary learning goal at NEPPI
• Standard HTML5, supposed to be known
• Support from the course somewhat lower
Communication
Smartphone Linux
nRF52
embedded
(Arduino)
HTTP BlueTooth Low Energy
USB / serial
(Framework7)
Unity3D
(HDMI)
BlueTooth Low Energy
• Most commonly used low power protocol stack
• Designed to work for years with CR3032 battery
• Supported in all smartphones, most tablets & PCs
• Most commonly used wireless in wearable devices
• Requires a new GATT Profile to be defined
• Programming both in Unity3D and nRF52
• Defining and implementing a major task
HTTP and HTML5
• Communication over local WiFi
• Between Linux and Mobile Web app
• Standard HTTP and HTML5
• Assumed to be known, e.g. from
• CS-C3170 Web Software Development
• CS-E4400 Design of WWW Services
• CS-E4460 WWW-applications
“Cloud + gateway”
Smartphone Linux
nRF52
embedded
(Arduino)
HTTP BlueTooth Low Energy
USB / serial
(Framework7)
Unity3D
Linux PC
• Standard Linux PC running Ubuntu
• Use a Virtual Machine if you run Windows
• Ask for instructions from the course assistants
• (Mac OS X maybe supported by the course)
• Used for
• Unity3D development
• Compiling for and flashing nRF52
NEPPI demo overview
Mapping the structure
Linux nRF52
(Arduino)
NEPPI Tech tools
Pekka Nikander, Aalto University
June 1st, 2018
NEPPI tools
• Source code management tools
• Programming languages and their purposes
• Embedded HW development tools
• Embedded SW development tools
• BlueTooth development tools
• Mobile Web app development tools
• Locally developed tools
Source code management
• The tool: git
• Most popular source code
management tool today
• The cloud: Github
• Most popular open source
management platform
• Tutorial on Monday June 4th
• Given by 

Santeri Paavolainen
Programming languages
• C (or limited C++)
• ELEC-A7100 C programming basics
• Used for nRF52 embedded coding
• C#
• Object oriented language, similar to Java
• Used for Unity3D programming
• JavaScript
• Kind-of object oriented language, with its own twist
• Used for Mobile Web app programming
Embedded HW tools
• Nordic semi nRF52 DK
• Breakout boards for sensors…
• Dataloggers, oscilloscopes
• Available at Sähköpaja
• USB cable for powering,
programming and debugging
• KiCAD PCB design tool
• Tutorial on June 5–6
Embedded SW tools
• nRF52 SDK
• RIOT-OS
• Flashing tools
• Linux command line
• Makefiles (make)
• Gnu C Compiler (gcc)
• Gnu Debugger (gdb)
BLE tools
• nRF Connect

https://www.nordicsemi.com/
eng/Products/Nordic-mobile-
Apps/nRF-Connect-for-Mobile
• Downloaded app
• Ubertooth

https://
greatscottgadgets.com/
ubertoothone/
• Physical device, may be
borrowed from Salu
Web app tools
• Framework 7 http://framework7.io
• New also to us; we are learning
• Suitable Web debugger, e.g.
• Safari: https://developer.apple.com/safari/tools/
• Chrome: https://developer.chrome.com/home/
devtools-pillar
• TCP/IP protocol analyser (if really needed)
• Wireshark: https://www.wireshark.org/
Locally developed tools
• Unity3D Web server
• https://github.com/AaltoNEPPI/uniwebserver
• Unity3D Bluetooth interface
• Not yet ready for release, coming
• Unity3D skeleton app
• https://github.com/AaltoNEPPI/Unity_NEPPI_Skeleton
• All work in progress!
NEPPI roles
NEPPI Tech roles
Pekka Nikander, Aalto University
June 1st, 2018
Potential roles
• HW developer
• Embedded SW developer
• BLE protocol designer & developer
• Mobile Web App developer
• Unity3D developer

More Related Content

What's hot

Internet of things ppt
Internet of things pptInternet of things ppt
Internet of things ppt
Dania Purnama Sari
 
IoT and 5G: Opportunities and Challenges, SenZations 2015
IoT and 5G: Opportunities and Challenges, SenZations 2015IoT and 5G: Opportunities and Challenges, SenZations 2015
IoT and 5G: Opportunities and Challenges, SenZations 2015
SenZations Summer School
 
THE INTERNET OF THINGS
THE INTERNET OF THINGSTHE INTERNET OF THINGS
THE INTERNET OF THINGS
Ramana Reddy
 
Internet of Things(IOT)_Seminar_Dr.G.Rajeshkumar
Internet of Things(IOT)_Seminar_Dr.G.RajeshkumarInternet of Things(IOT)_Seminar_Dr.G.Rajeshkumar
Internet of Things(IOT)_Seminar_Dr.G.Rajeshkumar
RAJESHKUMARG12
 
Internet of Things (IoT) - Seminar ppt
Internet of Things (IoT) - Seminar pptInternet of Things (IoT) - Seminar ppt
Internet of Things (IoT) - Seminar ppt
Nishant Kayal
 
The internet of things.pptx
The internet of things.pptxThe internet of things.pptx
The internet of things.pptx
LamisaFaria
 
Arduino and IoT (Internet of Things)
Arduino and IoT (Internet of Things)Arduino and IoT (Internet of Things)
Arduino and IoT (Internet of Things)
Shahed Mehbub
 
Internet of things(IoT)
Internet of things(IoT)Internet of things(IoT)
Internet of things(IoT)
NAGUR SHAREEF SHAIK
 
IOT gateways.pptx
IOT gateways.pptxIOT gateways.pptx
IOT gateways.pptx
Pratik Gohel
 
Iot ppt
Iot pptIot ppt
Iot ppt
Krishna Saini
 
LPWA network
LPWA networkLPWA network
Internet of Things (IoT) - We Are at the Tip of An Iceberg
Internet of Things (IoT) - We Are at the Tip of An IcebergInternet of Things (IoT) - We Are at the Tip of An Iceberg
Internet of Things (IoT) - We Are at the Tip of An Iceberg
Dr. Mazlan Abbas
 
The Future is Internet of Things (IOT)
The Future is Internet of Things (IOT)The Future is Internet of Things (IOT)
The Future is Internet of Things (IOT)
Adnyesh Dalpati
 
IoT
IoTIoT
Iot ppt
Iot pptIot ppt
Iot pptpiyuu7
 
Introduction to Internet of Things (IoT)
Introduction to Internet of Things (IoT)Introduction to Internet of Things (IoT)
Introduction to Internet of Things (IoT)
Amarjeetsingh Thakur
 
Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...
Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...
Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...
Slide Marvels
 
Internet of Things and its applications
Internet of Things and its applicationsInternet of Things and its applications
Internet of Things and its applications
Pasquale Puzio
 
IoT PPT
IoT PPTIoT PPT
IoT PPT
eduethics1
 

What's hot (20)

Internet of things ppt
Internet of things pptInternet of things ppt
Internet of things ppt
 
IoT and Its Application
IoT and Its ApplicationIoT and Its Application
IoT and Its Application
 
IoT and 5G: Opportunities and Challenges, SenZations 2015
IoT and 5G: Opportunities and Challenges, SenZations 2015IoT and 5G: Opportunities and Challenges, SenZations 2015
IoT and 5G: Opportunities and Challenges, SenZations 2015
 
THE INTERNET OF THINGS
THE INTERNET OF THINGSTHE INTERNET OF THINGS
THE INTERNET OF THINGS
 
Internet of Things(IOT)_Seminar_Dr.G.Rajeshkumar
Internet of Things(IOT)_Seminar_Dr.G.RajeshkumarInternet of Things(IOT)_Seminar_Dr.G.Rajeshkumar
Internet of Things(IOT)_Seminar_Dr.G.Rajeshkumar
 
Internet of Things (IoT) - Seminar ppt
Internet of Things (IoT) - Seminar pptInternet of Things (IoT) - Seminar ppt
Internet of Things (IoT) - Seminar ppt
 
The internet of things.pptx
The internet of things.pptxThe internet of things.pptx
The internet of things.pptx
 
Arduino and IoT (Internet of Things)
Arduino and IoT (Internet of Things)Arduino and IoT (Internet of Things)
Arduino and IoT (Internet of Things)
 
Internet of things(IoT)
Internet of things(IoT)Internet of things(IoT)
Internet of things(IoT)
 
IOT gateways.pptx
IOT gateways.pptxIOT gateways.pptx
IOT gateways.pptx
 
Iot ppt
Iot pptIot ppt
Iot ppt
 
LPWA network
LPWA networkLPWA network
LPWA network
 
Internet of Things (IoT) - We Are at the Tip of An Iceberg
Internet of Things (IoT) - We Are at the Tip of An IcebergInternet of Things (IoT) - We Are at the Tip of An Iceberg
Internet of Things (IoT) - We Are at the Tip of An Iceberg
 
The Future is Internet of Things (IOT)
The Future is Internet of Things (IOT)The Future is Internet of Things (IOT)
The Future is Internet of Things (IOT)
 
IoT
IoTIoT
IoT
 
Iot ppt
Iot pptIot ppt
Iot ppt
 
Introduction to Internet of Things (IoT)
Introduction to Internet of Things (IoT)Introduction to Internet of Things (IoT)
Introduction to Internet of Things (IoT)
 
Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...
Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...
Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...
 
Internet of Things and its applications
Internet of Things and its applicationsInternet of Things and its applications
Internet of Things and its applications
 
IoT PPT
IoT PPTIoT PPT
IoT PPT
 

Similar to Practical introduction to IoT

IoT Intro and Demo
IoT Intro and DemoIoT Intro and Demo
IoT Intro and Demo
Albert Suwandhi
 
Microcontrollers and intro to real time programming 1
Microcontrollers and intro to real time programming 1Microcontrollers and intro to real time programming 1
Microcontrollers and intro to real time programming 1
SSGMCE SHEGAON
 
Null mumbai-iot-workshop
Null mumbai-iot-workshopNull mumbai-iot-workshop
Null mumbai-iot-workshop
Nitesh Malviya
 
Internet of Things to Internet of Everythings
Internet of Things to Internet of Everythings Internet of Things to Internet of Everythings
Internet of Things to Internet of Everythings
Laxmi Kant Tiwari
 
Real Time System Validation using Hardware in Loop (HIL) Digital Platform
Real Time System Validation using Hardware in Loop (HIL) Digital PlatformReal Time System Validation using Hardware in Loop (HIL) Digital Platform
Real Time System Validation using Hardware in Loop (HIL) Digital Platform
SHIMI S L
 
Technology overview
Technology overviewTechnology overview
Technology overviewvirtuehm
 
LPWAN Cost Webinar
LPWAN Cost WebinarLPWAN Cost Webinar
LPWAN Cost Webinar
Brian Ray
 
Presentation_BTBox_2012
Presentation_BTBox_2012Presentation_BTBox_2012
Presentation_BTBox_2012
valdo3333
 
Lecture3_Design Decisions for engineering.pdf
Lecture3_Design Decisions for engineering.pdfLecture3_Design Decisions for engineering.pdf
Lecture3_Design Decisions for engineering.pdf
tuannguyen16531
 
iot-component-dimensioning
iot-component-dimensioningiot-component-dimensioning
iot-component-dimensioning
sadiqFakheraldian
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
Pranas Sasnauskas
 
FPGA_prototyping proccesing with conclusion
FPGA_prototyping proccesing with conclusionFPGA_prototyping proccesing with conclusion
FPGA_prototyping proccesing with conclusion
PersiPersi1
 
Microcontrollers (Rex St. John)
Microcontrollers (Rex St. John)Microcontrollers (Rex St. John)
Microcontrollers (Rex St. John)
Future Insights
 
Senior Project Presentation
Senior Project Presentation Senior Project Presentation
Senior Project Presentation valdo3333
 
Introduction to Internet of Things (IoT)
Introduction to Internet of Things (IoT)Introduction to Internet of Things (IoT)
Introduction to Internet of Things (IoT)
Mithileysh Sathiyanarayanan
 
Brain wave controlled robot
Brain wave controlled robotBrain wave controlled robot
Brain wave controlled robot
Rahul Wagh
 
Contiki IoT simulation
Contiki IoT simulationContiki IoT simulation
Contiki IoT simulation
nabati
 
Hardware Overview - Controller, Power Supply, Communication, Driver
Hardware Overview - Controller, Power Supply, Communication, DriverHardware Overview - Controller, Power Supply, Communication, Driver
Hardware Overview - Controller, Power Supply, Communication, Driver
Mihai Agape
 
DIY Home Weather Station (Devoxx Poland 2023)
DIY Home Weather Station (Devoxx Poland 2023)DIY Home Weather Station (Devoxx Poland 2023)
DIY Home Weather Station (Devoxx Poland 2023)
Ryan Cuprak
 

Similar to Practical introduction to IoT (20)

IoT Intro and Demo
IoT Intro and DemoIoT Intro and Demo
IoT Intro and Demo
 
Microcontrollers and intro to real time programming 1
Microcontrollers and intro to real time programming 1Microcontrollers and intro to real time programming 1
Microcontrollers and intro to real time programming 1
 
Sun SPOTs by Ritter
Sun SPOTs by RitterSun SPOTs by Ritter
Sun SPOTs by Ritter
 
Null mumbai-iot-workshop
Null mumbai-iot-workshopNull mumbai-iot-workshop
Null mumbai-iot-workshop
 
Internet of Things to Internet of Everythings
Internet of Things to Internet of Everythings Internet of Things to Internet of Everythings
Internet of Things to Internet of Everythings
 
Real Time System Validation using Hardware in Loop (HIL) Digital Platform
Real Time System Validation using Hardware in Loop (HIL) Digital PlatformReal Time System Validation using Hardware in Loop (HIL) Digital Platform
Real Time System Validation using Hardware in Loop (HIL) Digital Platform
 
Technology overview
Technology overviewTechnology overview
Technology overview
 
LPWAN Cost Webinar
LPWAN Cost WebinarLPWAN Cost Webinar
LPWAN Cost Webinar
 
Presentation_BTBox_2012
Presentation_BTBox_2012Presentation_BTBox_2012
Presentation_BTBox_2012
 
Lecture3_Design Decisions for engineering.pdf
Lecture3_Design Decisions for engineering.pdfLecture3_Design Decisions for engineering.pdf
Lecture3_Design Decisions for engineering.pdf
 
iot-component-dimensioning
iot-component-dimensioningiot-component-dimensioning
iot-component-dimensioning
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 
FPGA_prototyping proccesing with conclusion
FPGA_prototyping proccesing with conclusionFPGA_prototyping proccesing with conclusion
FPGA_prototyping proccesing with conclusion
 
Microcontrollers (Rex St. John)
Microcontrollers (Rex St. John)Microcontrollers (Rex St. John)
Microcontrollers (Rex St. John)
 
Senior Project Presentation
Senior Project Presentation Senior Project Presentation
Senior Project Presentation
 
Introduction to Internet of Things (IoT)
Introduction to Internet of Things (IoT)Introduction to Internet of Things (IoT)
Introduction to Internet of Things (IoT)
 
Brain wave controlled robot
Brain wave controlled robotBrain wave controlled robot
Brain wave controlled robot
 
Contiki IoT simulation
Contiki IoT simulationContiki IoT simulation
Contiki IoT simulation
 
Hardware Overview - Controller, Power Supply, Communication, Driver
Hardware Overview - Controller, Power Supply, Communication, DriverHardware Overview - Controller, Power Supply, Communication, Driver
Hardware Overview - Controller, Power Supply, Communication, Driver
 
DIY Home Weather Station (Devoxx Poland 2023)
DIY Home Weather Station (Devoxx Poland 2023)DIY Home Weather Station (Devoxx Poland 2023)
DIY Home Weather Station (Devoxx Poland 2023)
 

Recently uploaded

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 

Practical introduction to IoT

  • 1. Introduction to 
 practical IoT Pekka Nikander, Aalto University June 1st, 2018
  • 2. Today’s outline • Introduction to Internet of Things (60 slides, 90 min) • NEPPI IoT (20 slides, 30 min) • NEPPI Tech Tools (10 slides, 15 min) • NEPPI Tech Roles (discussion)
  • 3. NEPPI Tech Course • NEPPI Tech is a new IoT course at Aalto university • Goal: learn to make simple IoT devices • All aspects: HW, powering, SW, communication • Teamwork, with different roles • Practical goal: Make a simple BLE device and integrate with an external “gateway” system • https://neppi.aalto.fi/about/ • https://github.com/AaltoNEPPI
  • 4. Introduction to Internet of Things Pekka Nikander, Aalto University June 1st, 2018
  • 5. Outline • Overall IoT system architecture • What a “real” IoT system architecture would be • The simplified architecture used at NEPPI • Embedded or “thing” devices • User interfaces options and the NEPPI approach • Understanding the cloud and communications • Future directions
  • 7. IoT system architecture PC Smartphone / tablet PaaS / serverless RasPi / dedicated Embedded Communication
  • 8. NEPPI system architecture Smartphone Linux nRF52 embedded (Arduino) HTTP / HTML5 BlueTooth Low Energy USB / serial Framework7 Unity3D
  • 9. Outline • Overall IoT system architecture • Embedded or “thing” devices • Estimating the total cost & feasibility • Hardware & Software • User interfaces options and the NEPPI approach • Understanding the cloud and communications • Future directions
  • 11. Estimating the total cost • Development costs • Hardware design: PCB, assembly, testing • Software design: Design, coding, testing • Casing and mechanical design • Manufacturing costs • BOM: Bill of Materials: electronics & mechanics • Manufacturing costs: assembly, testing, packaging • COGS: Cost of Goods Sold
  • 12. Thing HW considerations • Real life interfaces: sensors, actuators • Computation needs: logic, protocols, security • Communication: wireline, wireless • Power: wireline, battery, charging • Total cost: Development, BOM, COGS • BOM: Cost of parts, assembly • COGS: Manufacturing, defect products, support
  • 13. Estimating hardware cost Cheapest Wearable BLE RasPi Wifi MCU Comms PSU Battery PCB + misc Total ? ? ? + sensors Note! Numbers will be educated guesses! Focus
  • 14. Estimating power Battery Electrical capacity ?? mAh Max current ?? mA Power supply MCU Radio Others Voltage regulation Peak and average 
 power consumption ? mA ? V ? mA ? mA ? V Battery life = battery capacity / average consumption
  • 15. Where to get the numbers? • Different channels for sourcing components • Digikey for single components and prototypes • Farnell, Mouser etc. for larger numbers • Adafruit and Sparkfun for prototyping boards • Component costs vs. volume: a rule of thumb • Increasing volume 10x lowers the unit price 20% • Experience teaches you to guess
  • 16. Three Cs • Connect • Connect locally with the real world • Compute • Perform (relatively) complex operations • Communicate • Communicate through the Internet
  • 17. A typical “thing” MCU CPU SRAM Flash memory Comms I2C SPI GPIO … Sensor Actuator Sensor Power supply Antenna -or- cable driver (PHY) Connect Compute Communicate
  • 18. Compute • Local application logic • Pre-process data, local control loop, … • Communications • Upper protocol layers, energy saving features • Security • Certificates, crypto keys + algorithms, protocols
  • 19. Compute alternatives • MCU: Micro Controller Unit • A tiny computer: CPU, SRAM memory, Flash • FPGA: Field Programmable Gate Array • Programmable logic gates • ASIC: Application Specific Integrated Circuit • Custom designed chip
  • 20. MCU / FPGA / ASIC MCU FPGA ASIC Availability COTS COTS Custom Development Easy Harder Hardest Performance Slow Faster Fastest Power Highest Depends Lowest Size Large Large Small Upfront cost Low: 1k+ Medium: 10k+ High: 500k+ Unit cost Medium: 0.50–50 High: 5–200 Low: 0.01–5
  • 21. Example low end chips STM 32F030 nRF52832 ICE40LP8 ECP3-17 CPU Cortex-M0 Cortex-M4F FPGA FPGA SRAM 4 kb 32 kb 16 kb 90 kb Flash 16 kb 256 kb 7680 LUT 17 kLUT Performance 43 MIPS 80 MIPS ~10 ns ~5 ns Powering 3.3V 1.8–3.3V 1.2V 1.2V Consumption 20 mA 10–50 mA < 20 mA > 100 mA Cost @1 $1 $4 $7 $25 Since 2015 2016 2013 2012
  • 22. Connect: 
 Sensing and actuating • Sensing the environment • Hundreds of possibilities: temperature, light, noise, humidity, orientation, movement, … • Usually implemented with a separate chip • Actuating • Lighting, voice, vibration, movement, … • Usually need a separate driver chip or circuit
  • 23. Some sensors examples Light sensor Gyroscope GPS Sensing Ambient light Direction, movements Outdoor location Example AMS TSL2571 STM L20G2 Venus638FLPx Powering 3.3V 1.8V, 3.3V 3.3V Consumption 170 μA 1.4 mA 50 mA Interface I2C SPI I2C, SPI, UART Cost @1 $0.70 $2.20 $40
  • 24. Communicate • Talk with the rest of the system • Basic alternatives: wireline or wireless • Wireline allows integrating power delivery • Wireless is sometimes cheaper but less reliable • Wireless the only choice for mobile devices
  • 25. Wireline alternatives USB (Type C) Ethernet 802.3 PoE 802.3at PoDL 802.3bu PLC (Homeplug) Max bps 10 Gb 1 Gb 1 Gb typ. 10 Mb (802.3cg) 500 Mb Latency Low Low Low Lowish High Max length < 5 m 100 m 100 m 200 m or 1 km ~50 m Cable USB specific 4 pairs 
 UTP 4 pairs 
 UTP 1 pair 
 UTP AC power Max Power 100 W – 50–90 W 65 W > 1 kW Cost ~$10 $2–10 ~$10 < $1 ? ~$40 Since 2016 1980s 2009 2018 2010
  • 26. Some wireless alternatives WiFi 802.15.4 BLE NB-IoT Typical speed 150 Mbps 250 kbps 1 kbps 20 kbps Latency 2 ms varies 1 s 2–10 s Distance 100 m 10 m 10 m 10 km Freq ISM 2400 or 5000 ISM 900 or 2400 ISM 2400 4G licensed Power 1W 100 mW 10 mW 500 mW Cost @1 $5 Builtin Builtin $10 Since 1990s 2006 2010 2018
  • 27. A typical “thing” MCU CPU SRAM Flash memory Comms I2C SPI GPIO … Sensor Actuator Sensor Power supply Antenna -or- cable driver (PHY) LiPo battery
  • 28. Estimating power Current Cheapest PoDL Wearable BLE RasPi Wifi MCU 20 mA 20 mA 500 mA Comms 50 mA 30 mA 300 mA Max current 70 mA 50 mA 800 mA Battery capacity – 500 mAh 4000 mAh Sleeping time 90 % 96 % 90 % Battery life — 75 h 50 h
  • 29. Powering examples CR3032 battery Rechargeable LiPo battery PoDL 802.3bu Picture Nominal voltage 3V 3.7V 12V or 48V Capacity 210 mAh (e.g.) 500 mAh No limitation Std current 0.2 mA 100 mA N/A Max current 15 mA 500 mA typ. > 1000 mA Weight 7g 10g N/A PSU cost $1 $5 ?? 
 (not available yet) Battery cost $2 $8 –
  • 30. Estimating hardware cost Cheapest PoDL Wearable BLE RasPi Wifi MCU 0.50 3.00 7.00 Comms 1.50 (IC + isolation) 1.00
 (antenna etc) 5.00
 (Wifi module) PSU 2.00
 (IC + isolation) 2.00
 (charger + coil) 4.00
 (charger + coil) Battery – 4.00 8.00 PCB + misc 1.00 1.00 4.00 Total @10k 5.00 11.00 28.00 Note! Numbers are educated guesses for a lot of 10k!
  • 31. Rough relative cost Power 50 % Comms 38 % MCU 13 % Power 60 % Comms 10 % MCU 30 % Power 50 % Comms 21 % MCU 29 % Cheapest PoDL Wearable BLE RasPi WiFi (battery powered) Powering matters!
  • 32. Outline • Overall IoT system architecture • Embedded or “thing” devices • Estimating the total cost & feasibility • Hardware & Software • User interfaces options and the NEPPI approach • Understanding the cloud and communications • Future directions
  • 34. Thing SW considerations • Remember: really small memory • Flash: 16 kb — 1024 kb • SRAM: 4 kb — 256 kb • Memory is a major cost factor for the MCU • Not even a remote possibility to run Linux • Choices: Bare metal or RTOS
  • 35. Bare metal • Program directly on the top of hardware • Maybe a “HAL” (hardware abstraction layer) • No dynamic memory management • No multitasking: no processes, no threads, nothing • Choices: Polling, interrupts, custom scheduler • Must tackle the parallelism present in hardware • Many I/O functions work autonomously
  • 36. Real Time OS • Dozens of different ones available • Complexity and features vary a lot • Complexity also affects memory cost • Most popular ones today open source • Pay attention to community, licence, ownership • FreeRTOS, RIOT-OS, Contiki, mbed, Brillo • At NEPPI we use RIOT-OS by default
  • 37. IoT RTOS comparison Contiki RIOT-OS FreeRTOS TinyOS Owner Community Community Amazon* Community License BSD LGPL MIT BSD Min SRAM 10 kb 1.5 kb 500 b 400 b Typ. SRAM 30 kb 5 kb 2 kb 1 kb Min Flash 30 kb 5 kb 10 kb 1 kb “Forks” 2200 1000 160 400 Status Active Active Active Waning out Since 2003 2013 2003 2000 * Amazon bought FreeRTOS in 2017
  • 38. Typical SW architecture MCU CPU Hardware abstraction layer Radio I2C SPI GPIO… Interrupts SchedulerSerial driversRadio driver Sensor drivers Comms protocols GPIO Application
  • 39. Software challenges • Power consumption • Device should sleep most of the time • Both HW and SW should be considered • Concurrency • Sensors and actuators work independently • Testing and debugging • Stability
  • 40. Application Interrupt handlers Typical app structure SchedulerDrivers Comms protocols Main loop Worker tasks Worker tasks Interrupt handlers Statically allocated global data
  • 41. SW development costs • Typically agile methods used • Hard to estimate exact final cost beforehand • Typical MCU apps: 6–36 man months • Software architecture matters • Try to keep it as simple as possible (KISS) • Study open source, search for good examples • Latent and late obscure bugs cost most • Swat bugs early, aim for zero bug toleration
  • 42. Outline • Overall IoT system architecture • Embedded or “thing” devices • User interfaces • Typical IoT user interfaces • Approach at NEPPI • Understanding the cloud and communications • Future directions
  • 44. Main UI options • Embedded, part of a building or environment • E.g. light switch, burglar alarm control, etc. • Mobile • Smartphone app or a separate device • Web enabled, served from the cloud • Web UI, usable from PC and smartphone • Not much focus on NEPPI, more a sideline
  • 45. Embedded • Traditionally custom-designed • Nowadays more and more one of the following: • Raspberry Pi with a small (touch) display • Android tablet in a custom casing • One of the emerging embedded platforms: 
 Arduino, mbed, Android Things, … • Fixed installation power consumption not an issue • The price of the PSU and cabling still matters
  • 46. Embedded UI @ NEPPI • You are on your own • No support from the course • Recommended: • Arduino • RasPi + Linux + Display • Either with USB power • Mind the cable lengths
  • 47. Mobile UI • Smartphone app • Harder to develop & install • Works without Internet connectivity • Can use all sensors and e.g. Bluetooth • Web-based mobile UI • Easier to develop, no installation • Requires Internet (or local server) • Restrictions on using Smartphone functionality
  • 48. Mobile UI @ NEPPI • Web-based mobile UI • Recommended: Framework 7 • Served from a local server • Server runs inside Unity3D • Connectivity: • 3G/4G cellular Internet • Local high speed WiFi
  • 49. Cloud web UI • Web UI served from a cloud server • Often both mobile and tablet/PC adaptions • Often shows near real time data from sensors • Evolving area, no clear market leaders yet • Most popular prototyping framework: • Node RED • Not considered at NEPPI
  • 50. Outline • Overall IoT system architecture • Embedded or “thing” devices • User interfaces • Understanding the cloud and communications • Cloud only very briefly • Comms: Options, protocols, Bluetooth LoW Energy • Future directions
  • 52. IoT cloud • Storage and computation taking place in the cloud • Emerging field, no clear market leaders • Heavyweights rushing in: IBM, Amazon, Google, … • No clear open source platform leaders yet • EU pushes FIWARE, but it is not very good • At NEPPI we use a local Linux instead of a cloud
  • 53. Communications • Local vs. Internet communications • Local: Between the “thing” and the gateway • Internet: All the rest • Wireline vs. wireless communications • Covered briefly already earlier • Protocol stacks: Internet, BLE, others
  • 54. Local communication • Thing to gateway • Wireline: Ethernet, USB, PoE, others; legacy • Remember power and its cost! • Wireless: BLE, ZigBee (802.15.4), WiFi, others • Remember power and battery lifetime
  • 55. Protocol stacks • TCP/IP • Used everywhere in the Internet; often also locally • Assumed to be known to everybody • USB: Own, complex protocol stack • Many subprotocols, including “serial emulation” • Also Ethernet over USB (several variations), supporting TCP/IP • BLE: Own, complex protocol stack • Main protocol: GATT (Generic ATTribute Profile) • Also TCP/IP over BLE (RFC 7668)
  • 58. Outline • Overall IoT system architecture • Embedded or “thing” devices • User interfaces • Understanding the cloud and communications • Future directions
  • 60. IoT future directions • Things: • All things using electricity connecting to the Internet • PSU cost probably a major limiting factor • Target cost: < $3 with the PSU and casing • Gateways: • Hopefully standardisation and consolidation • RasPi as the de facto platform • RasPi 3 has built-in BLE and WiFi • Target cost: < $15 with the PSU and casing
  • 61. IoT future directions • Cloud: • Edge and Fog computing • Network Function Virtualisation (NFV) • Computation at the network closer to the 4G/5G devices • Hopefully standardised IoT interfaces at some point • E.g. W3C Web of Things (WoT) • Artificial Integration and Big Data integration • Communication • Ethernet (for PHY) and TCP/IP as the de facto standards • USB, BLE, IoT-NB, etc as specialised local / last mile • Security more and more importan
  • 62. IoT future directions • User interfaces • Smartphone increases, consolidation in embedded platforms • Security and privacy • Increasingly important • Major factor for R&D costs • Integration with blockchains aka Distributed Ledger Technologies • Data markets • Rise of Digital Twins • Possibly Open Digital Business Platforms with DLT
  • 63. Summary • Overall IoT system architecture • Embedded or “thing” devices ⇐ focus here • User interfaces • Cloud and communications • Future directions
  • 64. IoT system architecture Gateway Sensor Sensor Actuator PC Smartphone / tablet PaaS / serverless RasPi / dedicated Embedded Communication Cloud
  • 66. NEPPI IoT Pekka Nikander, Aalto University June 1st, 2018
  • 67. NEPPI approach • NEPPI provides a partial, simplified IoT platform • Development boards for HW • Skeleton code for SW • Other tools may be freely used • No support from the course personnel • Recommended that you specialise! • E.g. embedded HW, SW, UI, communication, …
  • 68. Course IoT architecture Smartphone Linux nRF52 embedded (Arduino) HTTP / HTML5 BlueTooth Low Energy (USB / serial) Framework7 Unity3D
  • 70. Mapping the structure Linux nRF52 (Arduino)
  • 71. Demo Demo of the current functionality
  • 72. NEPPI components • Things: nRF52 Development Kit + RIOT-OS • User interfaces: Unity3D, Mobile Web app • Communication: BLE GATT, TCP/IP HTTP • Gateway + cloud: PC + Linux + Unity3D
  • 73. Embedded Smartphone Linux nRF52 embedded (Arduino) HTTP BlueTooth Low Energy USB / serial (Framework7) Unity3D
  • 74. Nordic Semi nRF52 • Very popular Bluetooth capable wireless MCU • 32-bit ARM Cortex-M4F CPU • Up to 512kB Flash • Up to 64kB SRAM • Embedded 2.4GHz radio • Internal power supply unit • Designer friendly • List price USD 1.50 – 6.00
  • 75. nRF52
  • 76. RIOT-OS • Popular open source RTOS • Many developers at Freie Universität Berlin • Supports programming in C (and partially C++) • Can be debugged inside a Linux process (“native”) • nRF52 BLE support experimental • Alternative: 6LoWPAN IPv6 (needs further study)
  • 77. UI Smartphone Linux nRF52 embedded (Arduino) HTTP BlueTooth Low Energy USB / serial (Framework7) Unity3D HDMI
  • 78. Unity 3D • Cross-platform game engine • Runs under Windows, Linux, and Mac OS X • Generates directly the 3D graphics from Linux • Supports “scripting” in C# (and Unity JavaScript) • Able to run “background tasks” — both WIP • Web server for a Mobile Web UI • BLE communication for nRF52 “things”
  • 79. Mobile Web App • Served from the local Web server in Unity3D • Accessible over local WLAN (later also Internet) • Recommended UI framework: Framework 7 • Also other frameworks will be used • Only a secondary learning goal at NEPPI • Standard HTML5, supposed to be known • Support from the course somewhat lower
  • 80. Communication Smartphone Linux nRF52 embedded (Arduino) HTTP BlueTooth Low Energy USB / serial (Framework7) Unity3D (HDMI)
  • 81. BlueTooth Low Energy • Most commonly used low power protocol stack • Designed to work for years with CR3032 battery • Supported in all smartphones, most tablets & PCs • Most commonly used wireless in wearable devices • Requires a new GATT Profile to be defined • Programming both in Unity3D and nRF52 • Defining and implementing a major task
  • 82. HTTP and HTML5 • Communication over local WiFi • Between Linux and Mobile Web app • Standard HTTP and HTML5 • Assumed to be known, e.g. from • CS-C3170 Web Software Development • CS-E4400 Design of WWW Services • CS-E4460 WWW-applications
  • 83. “Cloud + gateway” Smartphone Linux nRF52 embedded (Arduino) HTTP BlueTooth Low Energy USB / serial (Framework7) Unity3D
  • 84. Linux PC • Standard Linux PC running Ubuntu • Use a Virtual Machine if you run Windows • Ask for instructions from the course assistants • (Mac OS X maybe supported by the course) • Used for • Unity3D development • Compiling for and flashing nRF52
  • 86. Mapping the structure Linux nRF52 (Arduino)
  • 87. NEPPI Tech tools Pekka Nikander, Aalto University June 1st, 2018
  • 88. NEPPI tools • Source code management tools • Programming languages and their purposes • Embedded HW development tools • Embedded SW development tools • BlueTooth development tools • Mobile Web app development tools • Locally developed tools
  • 89. Source code management • The tool: git • Most popular source code management tool today • The cloud: Github • Most popular open source management platform • Tutorial on Monday June 4th • Given by 
 Santeri Paavolainen
  • 90. Programming languages • C (or limited C++) • ELEC-A7100 C programming basics • Used for nRF52 embedded coding • C# • Object oriented language, similar to Java • Used for Unity3D programming • JavaScript • Kind-of object oriented language, with its own twist • Used for Mobile Web app programming
  • 91. Embedded HW tools • Nordic semi nRF52 DK • Breakout boards for sensors… • Dataloggers, oscilloscopes • Available at Sähköpaja • USB cable for powering, programming and debugging • KiCAD PCB design tool • Tutorial on June 5–6
  • 92. Embedded SW tools • nRF52 SDK • RIOT-OS • Flashing tools • Linux command line • Makefiles (make) • Gnu C Compiler (gcc) • Gnu Debugger (gdb)
  • 93. BLE tools • nRF Connect
 https://www.nordicsemi.com/ eng/Products/Nordic-mobile- Apps/nRF-Connect-for-Mobile • Downloaded app • Ubertooth
 https:// greatscottgadgets.com/ ubertoothone/ • Physical device, may be borrowed from Salu
  • 94. Web app tools • Framework 7 http://framework7.io • New also to us; we are learning • Suitable Web debugger, e.g. • Safari: https://developer.apple.com/safari/tools/ • Chrome: https://developer.chrome.com/home/ devtools-pillar • TCP/IP protocol analyser (if really needed) • Wireshark: https://www.wireshark.org/
  • 95. Locally developed tools • Unity3D Web server • https://github.com/AaltoNEPPI/uniwebserver • Unity3D Bluetooth interface • Not yet ready for release, coming • Unity3D skeleton app • https://github.com/AaltoNEPPI/Unity_NEPPI_Skeleton • All work in progress!
  • 97. NEPPI Tech roles Pekka Nikander, Aalto University June 1st, 2018
  • 98. Potential roles • HW developer • Embedded SW developer • BLE protocol designer & developer • Mobile Web App developer • Unity3D developer