Newcomer questions on RIOT

Hello to all RIOT developers, from a newcomer!

I am currently working as a PhD student, at the MADYNES team from INRIA Nancy/LORIA, in the field of IoT devices' network stack.

We were recently told about the RIOT OS project by one of our researchers (Thomas Silverston); I thus visited the project's website, and downloaded the source code from the GitHub repositories.

The RIOT OS looks very promising to me, and I now plan to use it in my PhD work.

Consequently, I would have some questions to ask, in order to ensure I understood correctly what I saw by browsing the source code:

- There doesn't seem to be currently any support to the Sky/TelosB mote platform (it is the kind of device I am now working on); however, most of the components that these devices are built with are already supported (MSP430F16 MCU, SHT11 sensor, CC2420 radio). Are there any plans to add this platform to RIOT? If not, would you be interested if I developed the necessary code, and contributed it to RIOT?

- One of the goals of my PhD thesis is to study and develop new MAC protocols for the network stacks of IoT devices. From what I saw from RIOT's current source, only one MAC protocol ("sixlowmac" in RIOT/sys/net/sixlowpan) seems to be present. Are there other MAC protocols in RIOT (that I would have missed)? Are there any plans to add new ones? If not, would you be interested if I contributed other MAC protocols to RIOT network stack?

Well, thanks in advance for your answers, and---I hope---see you very soon.

Hi Kevin,

Nice to hear from you! There is no support for Sky/TelosB so far, although building blocks are already there, as you noted.

It would be very interesting indeed for the community if you could port RIOT to those boards. So please go ahead!

Concerning MAC protocols, the more, the merrier. You’re very welcome to contribute additional MAC protocols. Their availability will also be very useful for the community.

Don’t hesitate to send further questions to this mailing list.

Looking forward to hear back from you.

Cheers,

Emmanuel

Hi K�vin!

Are there any plans to add this platform to RIOT? If not, would you be interested if I developed the necessary code, and contributed it to RIOT?

This platform is indeed on our wish list, so your contribution would be very welcome.

- One of the goals of my PhD thesis is to study and develop new MAC protocols for the network stacks of IoT devices. From what I saw from RIOT's current source, only one MAC protocol ("sixlowmac" in RIOT/sys/net/sixlowpan) seems to be present. Are there other MAC protocols in RIOT (that I would have missed)? Are there any plans to add new ones? If not, would you be interested if I contributed other MAC protocols to RIOT network stack?

Actually, sixlowmac.c does not really implement a mac layer, but introduces an abstraction layer between sixlowpan and out transceiver interface. Currently, RIOT has a CSMA/CA implementation for the CC11XX (CC1100, CC1101, and CC1111) transceivers (in drivers/cc110x). However, this implementation is tightly bound to the transceiver driver itself.

I think, implementations of other MAC protocols would be very interesting. The transceiver module (sys/transceiver/transceiver.c) provides an abstraction layer between the driver and (higher layers of) the network stack. So far, it is mostly accessed from the network layer (e.g., 6LoWPAN) and media access is done in the radio driver. But the transceiver module could be also used to implement a MAC protocol independently of the underlying network driver.

Cheers, Oleg

Hello,

Thanks for your answers, Emmanuel and Oleg. I will be sure to contribute every development I make with RIOT, then.

Best regards,