Develop with Mbed OS
Jan Jongboom, Arm
Jan	Jongboom	
Principal	Developer	Evangelist	
jan.jongboom@arm.com
Just	a	sensor,	radio	and	a	battery	
Static	session	keys	(just	ABP)	
That's	it...
Back	in	2015...
LoRaWAN	is	evolving...
New	security	principles	
(join servers, root keys)
Firmware	Updates	
now standardized
Device	Management	
ongoing work
Complexity
https://www.geograph.org.uk/photo/5266523
Parts	required	in	an	IoT	device
Bootloader
Asymmetric	crypto
Storage	driver
Resilient	filesystem
Advanced	

LoRaWAN	stack
Radio	drivers
FlashIAP
Update	clientPower	management
Arm	Mbed
A	free,	open	source	Platform	OS	targeting	IoT	end	node	devices	
Mbed	
OS
Cortex-M	
RTOS

kernel
Portable

drivers
Integrated

security
IoT

connectivity
Device	
management
Development	
tools
Developer	
community
Partner	
ecosystem
150	development	boards
LoRaWAN,	BLE,	Cellular,	Wi-Fi,	etc.
Open	source	and	community	built
325,000	developers	
70+	partners	
3,000	commits	in	2018	
Apache	2.0	licensed	
https://os.mbed.com
Built	with	Mbed
LightGrid Smart Speakers Tilt monitor Beacons Parking sensor Gateway EV Charger Ocean Connect
Asset tracker Gateway Smart City Luminaire Patient tracker
Industrial
sensor Smart city bins Parking barrier
Electric meter
Pedometer Street light Smart shelf Agriculture
Water sensor Submarine
Factory
humidity
Air vent Food allergy
Indoor
positioning Door lock
City mapping
Office lighting
Mbed	OS	

and LoRaWAN
LoRaWAN	in	the	Mbed	community
Which	connectivity	do	you	plan	to	use	in	the	coming	year?
Source:	https://os.mbed.com/blog/entry/Results-of-the-Mbed-Developer-Survey-201/
Mbed	OS	LoRaWAN	stack
LoRaWAN	versions	
1.0.2,	1.0.3*,	1.1*	
Class	support	
A	&	C	
Radios	supported	
SX1272,	SX1276	
Features	
Firmware	updates	
Channel	plans	
Highly	configurable	
Better	reception	at	low	data	rates
*	in	branch
The	numbers
RAM ROM
Typical	microcontroller:	32K	RAM	/	256K	Flash	
Stack	is	fully	tuneable	
Minimum	configuration	(includes	everything):	
6K	of	RAM,	65K	of	ROM	
Optional:	offload	crypto	to	external	module	
*	Measured	on	NUCLEO-F411RE	with	SX1276	
19% 25%
Cryptography
TLS
In	software With	external	crypto	engine
Testing
~1,150	functional	tests	
Test	farm	of	>800	devices	
40,000	hours	of	testing	on	real	hardware	per	release	
Pre-certified	for	LoRaWAN	1.0.2	
http://www.redwoodcomm.com/product/01.php
The	secret	behind	LoRaWAN's	battery	life...
😴
Automatic	sleep	management
DISCO-L475VG	with	SX1276	LoRa	radio,	MBED_TICKLESS	enabled
Getting	started...
https://os.mbed.com/platforms
LoRa	radio
SX1272	/	SX1276	shieldTarget	with	built-in	radio
Examples
Basic	example:	

https://github.com/ARMmbed/
mbed-os-example-lorawan	
With	ATECC608A:	

https://github.com/ARMmbed/
mbed-os-example-lorawan-atecc608a	
With	FUOTA:	

https://github.com/ARMmbed/
mbed-os-example-lorawan-fuota
Slides:	hlp://janjongboom.com
Thank	you!
Jan	Jongboom	
Principal	Developer	Evangelist	
jan.jongboom@arm.com

Develop with Mbed OS - The Things Conference 2019