RIOT est basé sur une architecture à micro-noyaux[2]. Contrairement à d'autres systèmes d'exploitation à faible utilisation de mémoire comme TinyOS ou Contiki, RIOT permet la programmation d'applications en langagesC et C++ ainsi que le multithreading et le temps réel[3].
RIOT tourne sur des processeurs 8 bits, 16 bits et 32 bits[4]. Un portage natif lui permet aussi de fonctionner en tant que processus Linux ou OS X, ce qui permet l'utilisation d'outils de développement comme GNU Compiler Collection (GCC), GNU Debugger, Valgrind, ou encore Wireshark. RIOT est en partie compatible POSIX.
RIOT inclut plusieurs piles réseaux[5], dont IPv6, 6LoWPAN, Content centric networking ainsi que des protocoles standards comme RPL[6], User Datagram Protocol (UDP), et CoAP.
Code source
Le code source de RIOT est disponible sur GitHub et développé par une communauté internationale de développeurs open-source.