Porting the Matter standard to RIOT OS (Bachelor Thesis)

Hey everyone,

I’m a student of “Computer Science for Technical Systems” at HAW Hamburg and I want to write my Bachelor Thesis about porting the Matter Standard to RIOT OS. I would like to share my progress here and I’m also happy to receive some feedback. Maybe someone already put some thoughts on this idea? :slight_smile:

I haven’t started yet with the thesis and at the moment I’m doing some research about how to achieve this to get some idea of how much work would need to be done.

Here are the main tasks I would have to do:

  1. Create a new package and module in RIOT OS
  2. Inside the new Matter package: Add a layer between Matter (Application Layer) and RIOT OS to integrate with the RIOT network stack and already existing modules (this needs to be done as a patch to the code from the official Matter Repo - more info here)
  3. When including the package in an application, the source code from the Matter repo will be fetched, the patch will be applied and the Matter static library (called libCHIP) will be built and included
  4. Inside the new Matter module: Add wrapper functions in C to call the functions (in C++) from the included Matter library, which are needed to create applications.
  5. Develop a Demo application (e. g. a light switch with on-off functionality), using the created module
  6. Demonstrate the successful implementation by interacting with the developed “Smart-Home” device (commissioning and controlling) - in the Matter repo there are CLI tools which can be built to do this

I’m excited to receive some feedback about my idea and considerations. :slight_smile: Of course I will keep you updated about my progress and important design decisions.

Cheers, Maik

It’s a good list. You will need to decide what onboarding mechanism you are going to use. (MATTER has a few of them) That might require blinking LEDs or showing QRcodes or having a QRcode on the outside. What platform will you use?

You likely also have to include an IDevID into the device, which is something I’ve been trying to standardize.