![Page 1: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/1.jpg)
www.riot-os.orgEmmanuel Baccelli
on behalf of the RIOT Community
![Page 2: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/2.jpg)
RIOTAgenda
• Why?• How?• What is RIOT?
• Solving IoT technical challenge1:constraineddevices• Solving IoT technical challenge2:interoperability
• Current stand,inanutshell
![Page 3: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/3.jpg)
RIOTAgenda
• Why?• How?• What is RIOT?
• Solving IoT technical challenge1:constraineddevices• Solving IoT technical challenge2:interoperability
• Current stand,inanutshell
![Page 4: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/4.jpg)
SoftwarePlatforms AreCrucial
• Recent callsforOSanddata’’sovereignty’’
Snowdenpolitical scandalà strategic&privacyincentives
Androidgeneratesbillionsofdollarsà businessincentives
![Page 5: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/5.jpg)
Advantage: extremely big business
Drawback:extreme challengeforprivacy
SoftwareplatformsareevenmorecrucialinIoT
IoT = FutureInternet’s extremity
![Page 6: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/6.jpg)
e.g.like Arduino(butnotlikeRasberry Pi)
• GreatexpectationsforIoT,but……nostandardplatform yet,toprogrammost IoT devices!
SoftwarePlatforms forIoT?
LinuxAndroid
Moore’s law
![Page 7: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/7.jpg)
GoalsforanIoT softwareplatform
ü long-term IoT softwarerobustness &security
ü trust,transparency &protectionofIoT users’privacy
ü faster innovationbyspreading IoT softwaredev.costs
ü less garbage with less IoT device lock-down
![Page 8: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/8.jpg)
RIOTAgenda
• Why?• How?• What is RIOT?
• Solving IoT technical challenge1:constraineddevices• Solving IoT technical challenge2:interoperability
• Current stand,inanutshell
![Page 9: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/9.jpg)
Howcan we achieve our goals?
• Experience (e.g.with Linux)showswe arelikely tosucceedwith aplatform that is:
§ opensource§ free§ driven byagrassroots community
![Page 10: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/10.jpg)
• Contributors worldwide– Peoplefrom industry,academia,hobbyists/makers– Community self-organizes,follows openprocesses
• Large-scale distributed sourcecodemanagement
Geopolitical neutrality
RIOTPrinciples
![Page 11: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/11.jpg)
RIOTPrinciples
• Free&opensourcesoftwareplatform– core distributed with non-viralcopyleft license
(aimsforlessforks=morecoherentcode+community)
Indirectbusinessmodels(likebusinesswithLinux)
![Page 12: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/12.jpg)
RIOTAgenda
• Why?• How?• What is RIOT?
• Solving IoT technical challenge1:constraineddevices• Solving IoT technical challenge2:interoperability
• Current stand,inanutshell
![Page 13: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/13.jpg)
RIOT : anOSthat fits IoT devices
IoT
Memory~16kB
Memory~100kBMemory~8kB
![Page 14: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/14.jpg)
RIOT:anOSthat fits IoT devices
• RIOTis thecombination of:
q neededmemory&energy efficiency tofitIoT devices
q functionalities ofafull-fledged operatingsystem
• Advanced,consistentAPIsacross 32-bit,16-bit,8-bithardware• Full-featured,extensiblenetworkstacks
![Page 15: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/15.jpg)
• Why?• How?• What is RIOT?
• Solving IoT technical challenge1:constraineddevices• Solving IoT technical challenge2:interoperability
• Current stand,inanutshell
RIOTAgenda
![Page 16: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/16.jpg)
IoT Challenge1:ConstrainedDevices
ENERGYMilliwatt insteadofWatt
CPUMegahertzinsteadofGigahertz
MemoryKilobytesinsteadofGigabytes
![Page 17: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/17.jpg)
HowRIOT solves Challenge1
• Micro-kernel architecture(contrary toLinux)àminimalrequirements around 1kBRAM
• Tickless schedulerà energy efficiency
• Deterministic O(1)schedulerà real-time
• Low latency interrupt handlerà reactivity
![Page 18: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/18.jpg)
HowRIOTsolves Challenge1
• Consistent,powerful APIon8-bit,16-bit,32-bità preemptivemultithreading,IPC…
• Modular structure,adaptivetodiversehardwareà supportfor50+different IoT boards/devices andcounting
MCUs:ARMCortexM,TIMSP430,AVR… Radios:AT86RF233…
![Page 19: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/19.jpg)
Zoomonhardware-dependent code
Red:musthave
Green:musthavebutshared byallportswith samearchitecture
Grey:optional forinitialporting
Task Switching,StackHandling,Interrupt Handling:done forARMCortexM3,M4andM0is ontheway
(GPIO,UART,SPI,Timers:done forSTM,Atmel,NXP…)
• EfficientHAL:minimized hardware-dependent code
HowRIOTsolves Challenge1
![Page 20: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/20.jpg)
Well-known tools areusable!
• Compliancewith common systemstandardsü POSIXsockets,pthreadsü standard C,C++applicationcoding
à Muchshorter development life-cyclesü Run &debug asnativeprocess inLinuxü Useofwellknowndebugtoolsenabled
![Page 21: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/21.jpg)
• Why?• How?• What is RIOT?
• Solving IoT technical challenge1:constraineddevices• Solving IoT technical challenge2:interoperability
• Current stand,inanutshell
RIOTAgenda
![Page 22: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/22.jpg)
IoT Challenge2:Interoperability
• System-level interoperability– Hardware-independent IoT software– Usability ofthird-party,well-known tools
• Networklevel interoperability– End-to-endconnectivity perdefault– Device-to-device connectivity
![Page 23: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/23.jpg)
IoT Interoperability Challenge:TheIoT today looksmostly like this
![Page 24: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/24.jpg)
IoT Interoperability Challenge:TheIoT we want looksmorelike that
![Page 25: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/25.jpg)
TheIoT we want is…theInternet!
![Page 26: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/26.jpg)
InternetInteroperability:Based onOpenStandards
BLE
OSPF
LoRa
DHCP
SLAACOLSR
![Page 27: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/27.jpg)
InternetInteroperability:Accelerated with OpenSource
![Page 28: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/28.jpg)
Usual solutionsforInteroperability:Challenged byIoT…
…because ofresource constrains onIoT devices§ Memory,CPU,energy
…because oflow-powercommunicationcharacteristics§ Lossy /duty cycles§ Super-small frames§ Spontaneouswirelessarchitecture
à AdaptedstandardIoT protocolsneeded
![Page 29: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/29.jpg)
StandardIoT protocols? Ontheway!Work inprogress atIETF,IEEE,W3C,OMA…
Radio Transmission
COAP
RPL
6LoWPAN
ICMP
UDP
IEEE 802.15.4 MAC
IPv6
Newspecs forlink layertechnologies– Low-powerradios,PLC,BACnet– IEEE802.15.4,Z-Wave,BLE,LoRa (andIEEE802.11)– Moretocome…
Newspecs fornetworklayerprotocols– Fitting IoT requirements andinteroperablewith IP– 6TiSCH,6LoWPAN,RPL,OLSRv2,AODVv2– Moretocome…
Newspecs forapplicationlayerprotocols– Fitting IoT requirements andinteroperablewith web– CoAP,LwM2M,CBOR– Moretocome…
Newnetworkparadigms– Content-centricnetworkingforIoT– Moretocome…
![Page 30: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/30.jpg)
à Networkstack ultra-flexibility andmodularity
HowRIOTsolves Challenge2
Traditional stack RIOTstack (GNRC)
![Page 31: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/31.jpg)
HowRIOTsolves Challenge2
ü 6LoWPANstack,supporting IoT wireless tech.ü StandardIPv6stackü BSD-like portsforthird-partymodules/stacks:
§ OpenWSN,CCN-lite,Emb6,lwIP,tinyDTLS…
![Page 32: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/32.jpg)
RIOTAgenda
• Why?• How?• What is RIOT?
• Solving IoT technical challenge1:constraineddevices• Solving IoT technical challenge2:interoperability
• Current stand,inanutshell
![Page 33: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/33.jpg)
RIOTinanutshell
Peripherals (including network interfaces)
Lowpower MCU + radio or wired communications
Other network stacks
Closed- & Open-source IoT Applications
CoAP, LWM2M...RPL, UDP …
IPv6, 6LoWPAN …
Closed-Source DriversOpen-Source Drivers
RIOT offers a platform functionally equivalent to Linux, based on:
open-source,open-access protocol specs,community-driven dev.
IETF
Free,open-sourceplaftorm forportableIoT software
Third-party softwareHardware
MicroKernel
![Page 34: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/34.jpg)
RIOTcan domore,so RIOTcan doless
• Arduino scriptscan run as-is ontopofRIOT• mbed applicationscould run ontopofRIOT• Contiki can run inasingleRIOTthread
![Page 35: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/35.jpg)
RIOTRoots &Evolution
• 2008 – 2012Ancestors ofRIOTkernel developed inresearch projects (FireKernel,uKleos).
• 2013 – 2016BrandingofRIOTstarted,sourcecodemoved toGithub,majordevelopmentofthenetworkstack &theOSassuch.
• Speed-evolutionofthecode-base.110+ contributors.
Foundinginstitutions
![Page 36: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/36.jpg)
Some supporters/users
…anddozensofindependentdevelopers aroundtheworld!
![Page 37: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/37.jpg)
ü bringing together RIOTers,beginners &expertsü gathering peopleinterested intheIoT ingeneralü plenary talks,hands-ontutorials & demos
Callforcontributions&sponsorshttp://summit.riot-os.org/category/calls/
http://summit.riot.org
IETFInconjunction with IETF96inBerlin
![Page 38: RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)](https://reader034.vdocuments.us/reader034/viewer/2022051503/587a9d281a28ab09758b6311/html5/thumbnails/38.jpg)
Thanksfor yourinterest!
News:https://twitter.com/RIOT_OSForcooperationquestions:[email protected]
Fordeveloperquestions:[email protected]
Support&discussionsonIRC:irc.freenode.org#riot-os