SlideShare a Scribd company logo
Extending the Life of Your Device
Jan Jongboom | Johan Stokking
2
3
4
IoT deployments target 10 years lifetime
But 10 years is a really long time!
5
http://gifimage.net/wp-content/uploads/2017/08/leave-britney-alone-gif-4.gif
6Warlords
https://expresselevatortohell.files.wordpress.com/2014/01/the-warlords-2007-1.jpg
http://yeinjee.com/wp-content/uploads/2008/07/china-warlords-001.jpg
7
https://boygeniusreport.files.wordpress.com/2016/04/iphone-2g-1st-generation-jobs.jpg?quality=98&strip=all
8
http://heartbleed.com
9This Monday...
10
Devices get a specific purpose
Requirements change
Standards change
Vulnerabilities are found
11
12
http://www.amsterdamsights.com/nightlife/pix/van-zuylen2.jpg
The road to
firmware updates
13
14Naive approach
TX RX TX RX TX RX
Firmware fragment
Device 1
TX RX TX RX TX RX
Device 2
15Better approach
RX
Many firmware fragments
Device 1
Device 2
RX
Device N
RX
16But... how do we do this?
1. Instruct devices to use a new set of keys (same for everyone)
2. Instruct devices to wake up at the same time.
3. Gateway can transmit to all devices with one message.
Problem: low QoS and uni-directional
17Setting up the device
Device	Address:	2632AB09	
Multicast	Key:		9310E28FA291...
18Setting up the device
Packet	size:			204	bytes	
Packet	count:		491	
Padding:							16	bytes
19Starting multicast session
Frequency:						924.525	MHz	
Data	rate:						220	bytes	/	sec	
Time	to	start:		812	sec	after	UL	event	13
ULCounter	|	RTC	
----------------	
15								|	781	
14								|	704	
13								|	623	
12								|	491	
...
20Dealing with low QoS
CRC	hash	of	firmware	
(sent	with	device's	own	credentials)
OK!
21Dealing with low Quality of Service
http://www.inference.phy.cam.ac.uk/mackay/gallager/papers/ldpc.pdf
CRC	hash	of	firmware	
(sent	with	device's	own	credentials)
OK!
Forward error correction
22Speed
https://www.reddit.com/r/Eyebleach/comments/68r4rt/tortoise_taxi/
220 bytes per second in real world scenario 

(SF9 @ 125 KHz, 2.5KM range in cities)
100KB Firmware size
Transmission costs 7m30s (ideally) @ 10mA current
23Standardization
'Remote multicast setup'
and
'Fragmented data block transport'
Extensions
24
25Link layer security is not good enough
Firmware manifest
Contains firmware hash
Contains manufacturer and device class ID
Signed with private key
26Separate trusted and non-trusted code
Secure element
27Delta updates (from Mbed OS 5.5.7 to Mbed OS 5.6.1)
Β©	2017	Arm	Limited	
Full firmware update
Delta update (bsdiff)
Delta update (JojoDiff)
Size
180	KB
6.5	KB
53	KB
Delta update (JojoDiff, gzip'ed) 36	KB
Caveats
28
http://www.totalprosports.com/wp-content/uploads/2013/04/first-pitch-fail-baseball-fail-gifs.gif
29Network congestion
Sending a lot of data has negative effect
on network
Higher data rate is better
RX sensitivity is useless when someone
screams next to you
Spread spectrum helps against narrowband
interference
30Gateway selection
Plan updates in advance, reserve slot on the
Network Server
Gateway selection strategies, combination
possible:
1.Use highest data rate
2.Round-robin between gateways
3.Drive over to site and deploy temporary
gateway
31Gateway selection
Use highest data rate
Limits number of devices that gets covered
by one gateway
But: higher capacity on gateway 

(less channel utilization)
And: highest throughput
32Gateway selection
Round-robin between gateways
Define group of devices that are covered by the
same set of gateways
Downlink scheduling round robin across gateways
May result in higher packet loss on specific
gateway-device links
But: higher capacity per gateway (less channel
utilization)
33Gateway selection
Temporary gateway
Dedicated to firmware update
Expensive, but cheaper than replacing the
device or performing a manual per-device
update through cable (if even available)
34Spectrum regulations in EU
Unlicensed does not mean unregulated
1% duty cycle in 868 MHz band, except at
869.525 MHz
Downside: it's the RX2 channel
Update Server
35
36Update Server
β€’ Update scheduling
β€’ Multicast groups
β€’ Fragmentation sessions
β€’ Device status and progress reporting
β€’ Performs binary diff
β€’ Performs forward error correction
β€’ Exposes an API
37Update Server
Performs binary diffs:
β€’ Device registry with current firmware version
β€’ Has access to images of firmwares
β€’ Calculates diff of device’s current firmware and
new firmware image using JojoDiff
38Update Server
REST API
Integration with existing update flow 

(e.g. Arm Mbed Cloud, Eclipse Hawkbit)
Single call to start
Device status and update progress
Example
40Real world example of required network capacity
EU868	DR3	(SF9,	125	KHz)
US915	DR11	(SF9,	500	KHz)
Total	time
3m36s
2m09s
Incremental update: 36 KB, no round robin, 10% packet loss
Packets Correction
336
170 25
51
Time	p/p
262	ms.
559	ms.
500 mAh battery, 15 mA RX current = 0.18% of battery per update
41Current state
Current state
42Device side
Multi-Tech xDot (Cortex-M3, 32K RAM)
Application on top of LoRaWAN 1.0.2
Mbed OS 5.5
L-TEK FF1705, available from Nov. 2017
https://os.mbed.com/platforms/L-TEK-FF1705/
43Device side
Device client and bootloader
Open source, Apache 2.0
No security audit!
Requires flash (on-chip or external)
https://github.com/armmbed/fota-lora-radio
44Device side
Forward error correction
C++ library
Uses less than 2K of RAM, flash as storage layer
https://github.com/janjongboom/mbed-lorawan-frag-lib
45Device side
JANPatch
Portable C library
Made for embedded devices
Everything in flash (<1K of RAM required)
https://github.com/janjongboom/janpatch
46Network side
Network and update server
Multicast and data block specs
Forward error correction
Network planning
https://github.com/TheThingsNetwork
47Update Server
Open source
MIT License
Available on GitHub
Open API
Designed for scale
Built for The Things Network
48
Demo time!
49Conclusion
Firmware updates are essential
Possible, even with duty-cycle constraints
Reference implementation available today
For the specs: LoRa Alliance FUOTA WG
THANK YOU
thethingsnetwork.org
mbed.com
50

More Related Content

PDF
Firmware updates over the air using LoRaWAN - The Things Conference 2018
PDF
Update on progress: SA#87 e meeting
Β 
PDF
Sigfox Euratech Workshop
PDF
Sigfox User Group Launch UK
PDF
MakersTour Sigfox ConnectedBaltics
PDF
Devtalks Cluj - Develop geolocation solutions with Sigfox
PDF
Antenna design for sigfox ready devices recommendation guide
Β 
PPTX
2-3-IoT Deployments: Smart City Case Study - Marc Nader
Firmware updates over the air using LoRaWAN - The Things Conference 2018
Update on progress: SA#87 e meeting
Β 
Sigfox Euratech Workshop
Sigfox User Group Launch UK
MakersTour Sigfox ConnectedBaltics
Devtalks Cluj - Develop geolocation solutions with Sigfox
Antenna design for sigfox ready devices recommendation guide
Β 
2-3-IoT Deployments: Smart City Case Study - Marc Nader

What's hot (20)

PDF
Sigfox Makers Tour - Mexico City
PDF
[May 2018] Sigfox Technology Overview
PDF
Sigfox Overview
PDF
Sigfox + Arduino MKRFOX Workshop
PDF
BCX17 - Sigfox intro
PDF
Sigfox Technology Overview (nov 2017)
PDF
Sigfox Makers Tour - Copenhagen
PDF
Workshop 42
PDF
SigfoxGettingStarted October2018
PDF
Bosch Connected Experience - Sigfox Presentation
PDF
[Feb 2020] Cours IoT - CentraleSupelec - Master SIO
PDF
SigfoxMakersDay Total
PDF
Cisco Connect 2018 Thailand - Innovation towards sp transformation mr.sean wa...
PDF
Workshop Taiwan
PDF
IoT Workshop with Sigfox & Arduino - Copenhagen Business School
PDF
Beginners: Open RAN, White Box RAN & vRAN
Β 
PDF
Part 8: 5G Spectrum - 5G for Absolute Beginners
Β 
PPTX
Gifi technology
PDF
Hackathon Usine Digitale - Sigfox intro
PDF
20200113 - IBM Cloud CΓ΄te d'Azur - DeepDive Kubernetes
Sigfox Makers Tour - Mexico City
[May 2018] Sigfox Technology Overview
Sigfox Overview
Sigfox + Arduino MKRFOX Workshop
BCX17 - Sigfox intro
Sigfox Technology Overview (nov 2017)
Sigfox Makers Tour - Copenhagen
Workshop 42
SigfoxGettingStarted October2018
Bosch Connected Experience - Sigfox Presentation
[Feb 2020] Cours IoT - CentraleSupelec - Master SIO
SigfoxMakersDay Total
Cisco Connect 2018 Thailand - Innovation towards sp transformation mr.sean wa...
Workshop Taiwan
IoT Workshop with Sigfox & Arduino - Copenhagen Business School
Beginners: Open RAN, White Box RAN & vRAN
Β 
Part 8: 5G Spectrum - 5G for Absolute Beginners
Β 
Gifi technology
Hackathon Usine Digitale - Sigfox intro
20200113 - IBM Cloud CΓ΄te d'Azur - DeepDive Kubernetes
Ad

Similar to Extending the life of your device (firmware updates over LoRa) - LoRa AMM (20)

PDF
Dataplane networking acceleration with OpenDataplane / Максим Π£Π²Π°Ρ€ΠΎΠ² (Linaro)
Β 
PDF
Tech 2 Tech: Network performance
Β 
PPT
BWC Supercomputing 2008 Presentation
Β 
PDF
CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)
PPTX
Helen Tabunshchyk "Handling large amounts of traffic on the Edge"
Β 
PDF
Converged IO for HP ProLiant Gen8
PDF
uCluster
PDF
β€œAddressing Evolving AI Model Challenges Through Memory and Storage,” a Prese...
PDF
01.ΰΈ„ΰΈΈΰΈ“ΰΈ₯ΰΈ±ΰΈΰΈ©ΰΈ“ΰΈ°ΰΉ€ΰΈ‰ΰΈžΰΈ²ΰΈ°ΰΈ‚ΰΈ­ΰΈ‡ΰΈ­ΰΈΈΰΈ›ΰΈΰΈ£ΰΈ“ΰΉŒ_pagenumber.pdf
PPT
POLYTEDA PowerDRC/LVS overview
PPT
Infrastructure Strategies 2007
PDF
IRJET - Display for Crew Station of Next Generation Main Battle Tank
PDF
IRJET- Autonomous Underwater Vehicle: Electronics and Software Implementation...
PDF
26.1.7 lab snort and firewall rules
PPTX
Ceph Day New York 2014: Ceph, a physical perspective
PDF
β€œThe Importance of Memory for Breaking the Edge AI Performance Bottleneck,” a...
PPTX
High-performance 32G Fibre Channel Module on MDS 9700 Directors:
PDF
НовыС ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€Ρ‹ QFX10000. ВСхнология JunOS Fusion
PDF
Voltaire fca en_nov10
PPTX
PCIe Gen 3.0 Presentation @ 4th FPGA Camp
Dataplane networking acceleration with OpenDataplane / Максим Π£Π²Π°Ρ€ΠΎΠ² (Linaro)
Β 
Tech 2 Tech: Network performance
Β 
BWC Supercomputing 2008 Presentation
Β 
CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)
Helen Tabunshchyk "Handling large amounts of traffic on the Edge"
Β 
Converged IO for HP ProLiant Gen8
uCluster
β€œAddressing Evolving AI Model Challenges Through Memory and Storage,” a Prese...
01.ΰΈ„ΰΈΈΰΈ“ΰΈ₯ΰΈ±ΰΈΰΈ©ΰΈ“ΰΈ°ΰΉ€ΰΈ‰ΰΈžΰΈ²ΰΈ°ΰΈ‚ΰΈ­ΰΈ‡ΰΈ­ΰΈΈΰΈ›ΰΈΰΈ£ΰΈ“ΰΉŒ_pagenumber.pdf
POLYTEDA PowerDRC/LVS overview
Infrastructure Strategies 2007
IRJET - Display for Crew Station of Next Generation Main Battle Tank
IRJET- Autonomous Underwater Vehicle: Electronics and Software Implementation...
26.1.7 lab snort and firewall rules
Ceph Day New York 2014: Ceph, a physical perspective
β€œThe Importance of Memory for Breaking the Edge AI Performance Bottleneck,” a...
High-performance 32G Fibre Channel Module on MDS 9700 Directors:
НовыС ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€Ρ‹ QFX10000. ВСхнология JunOS Fusion
Voltaire fca en_nov10
PCIe Gen 3.0 Presentation @ 4th FPGA Camp
Ad

More from Jan Jongboom (20)

PDF
TinyML on Arduino - workshop
PDF
Intelligent Edge - Getting started with TinyML for industrial applications
PDF
Teaching your sensors new tricks with Machine Learning - Eta Compute webinar
PDF
Get started with TinyML - Embedded online conference
PDF
Adding intelligence to your LoRaWAN deployment - The Things Virtual Conference
PDF
Get started with TinyML - Hackster webinar 9 April 2020
PDF
Tiny intelligent computers and sensors - Open Hardware Event 2020
PDF
Teaching your sensors new tricks with Machine Learning - CENSIS Tech Summit 2019
PDF
Adding intelligence to your LoRaWAN devices - The Things Conference on tour
PDF
Machine learning on 1 square centimeter - Emerce Next 2019
PDF
Fundamentals of IoT - Data Science Africa 2019
PDF
17,000 contributions in 32K RAM - FOSS North 2019
PDF
Open Hours: Mbed Simulator
PDF
Efficient IoT solutions based on LoRaWAN, The Things Network and Mbed OS
PDF
Machine learning on 1 cm2 - Tweakers Dev Summit
PDF
Simulating LoRaWAN devices - LoRa Alliance AMM 2019
PDF
Develop with Mbed OS - The Things Conference 2019
PDF
Firmware Updates over LoRaWAN - The Things Conference 2019
PDF
Faster Device Development - GSMA @ CES 2019
PDF
Mbed LoRaWAN stack: a case study - LoRa Alliance AMM Tokyo
TinyML on Arduino - workshop
Intelligent Edge - Getting started with TinyML for industrial applications
Teaching your sensors new tricks with Machine Learning - Eta Compute webinar
Get started with TinyML - Embedded online conference
Adding intelligence to your LoRaWAN deployment - The Things Virtual Conference
Get started with TinyML - Hackster webinar 9 April 2020
Tiny intelligent computers and sensors - Open Hardware Event 2020
Teaching your sensors new tricks with Machine Learning - CENSIS Tech Summit 2019
Adding intelligence to your LoRaWAN devices - The Things Conference on tour
Machine learning on 1 square centimeter - Emerce Next 2019
Fundamentals of IoT - Data Science Africa 2019
17,000 contributions in 32K RAM - FOSS North 2019
Open Hours: Mbed Simulator
Efficient IoT solutions based on LoRaWAN, The Things Network and Mbed OS
Machine learning on 1 cm2 - Tweakers Dev Summit
Simulating LoRaWAN devices - LoRa Alliance AMM 2019
Develop with Mbed OS - The Things Conference 2019
Firmware Updates over LoRaWAN - The Things Conference 2019
Faster Device Development - GSMA @ CES 2019
Mbed LoRaWAN stack: a case study - LoRa Alliance AMM Tokyo

Recently uploaded (20)

PPTX
Introuction about ICD -10 and ICD-11 PPT.pptx
PPTX
innovation process that make everything different.pptx
PPTX
international classification of diseases ICD-10 review PPT.pptx
PPTX
Introuction about WHO-FIC in ICD-10.pptx
PPTX
presentation_pfe-universite-molay-seltan.pptx
PDF
RPKI Status Update, presented by Makito Lay at IDNOG 10
Β 
PDF
Best Practices for Testing and Debugging Shopify Third-Party API Integrations...
PPTX
522797556-Unit-2-Temperature-measurement-1-1.pptx
PDF
Introduction to the IoT system, how the IoT system works
PDF
Slides PDF The World Game (s) Eco Economic Epochs.pdf
PDF
πŸ’° π”πŠπ“πˆ πŠπ„πŒπ„ππ€ππ†π€π πŠπˆππ„π‘πŸ’πƒ π‡π€π‘πˆ 𝐈𝐍𝐈 πŸπŸŽπŸπŸ“ πŸ’°
Β 
PDF
Paper PDF World Game (s) Great Redesign.pdf
PDF
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
PPTX
Slides PPTX World Game (s) Eco Economic Epochs.pptx
PPTX
SAP Ariba Sourcing PPT for learning material
PDF
Sims 4 Historia para lo sims 4 para jugar
PPTX
E -tech empowerment technologies PowerPoint
PPT
tcp ip networks nd ip layering assotred slides
PPTX
Digital Literacy And Online Safety on internet
PDF
An introduction to the IFRS (ISSB) Stndards.pdf
Introuction about ICD -10 and ICD-11 PPT.pptx
innovation process that make everything different.pptx
international classification of diseases ICD-10 review PPT.pptx
Introuction about WHO-FIC in ICD-10.pptx
presentation_pfe-universite-molay-seltan.pptx
RPKI Status Update, presented by Makito Lay at IDNOG 10
Β 
Best Practices for Testing and Debugging Shopify Third-Party API Integrations...
522797556-Unit-2-Temperature-measurement-1-1.pptx
Introduction to the IoT system, how the IoT system works
Slides PDF The World Game (s) Eco Economic Epochs.pdf
πŸ’° π”πŠπ“πˆ πŠπ„πŒπ„ππ€ππ†π€π πŠπˆππ„π‘πŸ’πƒ π‡π€π‘πˆ 𝐈𝐍𝐈 πŸπŸŽπŸπŸ“ πŸ’°
Β 
Paper PDF World Game (s) Great Redesign.pdf
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
Slides PPTX World Game (s) Eco Economic Epochs.pptx
SAP Ariba Sourcing PPT for learning material
Sims 4 Historia para lo sims 4 para jugar
E -tech empowerment technologies PowerPoint
tcp ip networks nd ip layering assotred slides
Digital Literacy And Online Safety on internet
An introduction to the IFRS (ISSB) Stndards.pdf

Extending the life of your device (firmware updates over LoRa) - LoRa AMM