-
Notifications
You must be signed in to change notification settings - Fork 1
GSOC Idea List
Below is a list of project ideas proposed for GSOC 2015 (don't hesitate to come forward with your own idea, if you have one that motivates you most). There are three categories of project ideas:
Project Category: System
Brief explanation: "MicroPython is a lean and fast implementation of the Python 3 programming language that is optimised to run on a microcontroller." The goal of this project is to create a port of the micropython interpreter to RIOT, so that any RIOT board can be programmed using the ease and expressiveness of Python.
A prototype port has already been created which can be used.
Expected results: Port of the micropython interpreter to RIOT, integrated in RIOT's build system. Binding of micropython's libraries to RIOT's C API.
Knowledge Prerequisite: C, Python, git, some notions of programming theory, and embedded programming.
Project Category: System
Brief explanation: RIOT can already run as a process in Linux via the native port and several RIOT instances can be networked on the same Linux machine via dedicated tools (nativenet and desvirt). However, RIOT support within ns3 is expected to enable the community to simulate larger networks of RIOT instances and finer grained network characteristics -- before deployment of the exact same code base on real hardware.
Expected results: multiple, networked instances of RIOT can be simulated within ns3.
Knowledge Prerequisite: C, C++, Python, git, ns3.
Any of these are optional but not all of them.
Project Category: Network
Brief explanation: BLE (Bluetooth Low Energy) is a key element of the Internet of Things, as capable devices are already widely deployed. As RIOT comes already with base support for boards supporting BLE (e.g. the Nordic NRF51822), RIOT does not yet support a BLE stack. The goal for this project is to implement BLE support for RIOT.
Expected results: A running BLE stack that is able to connect to a smartphone.
Knowledge Prerequisite: C, git, prior knowledge about Bluetooth Low Energy is a plus but not required
Project Category: Network
Brief explanation: LwM2M is one of the leading application layer protocols used for M2M communication between constrained devices in the IoT. The goal of this project is to add support for this protocol to RIOT. It is up to the student to start from scratch or to port an existing implementation to RIOT, including a long term continuous integration plan.
Expected results: Support for LwM2M in RIOT, validated by cross-testing against at least one existing LwM2M implementation.
Knowledge Prerequisite: C, git, prior knowledge about LwM2M is a plus but not required
Project Category: Network
Expected results: MQTT-SN support in RIOT
Knowledge Prerequisite: C, git, networking basics
Project Category: Application
Brief explanation: RIOT TV is a visualization tool for RIOT based on node.js, but so far rather static. the goal of this project is to collect the required data for visualization in a non-invasive manner and visualize a priori unknown topologies.
Expected results: Visualize different types of RIOT networks without changes to the operating system in flexible way
Knowledge Prerequisite: C, git, radio sniffers, node.js, graph visualization
Project Category: Application
Brief explanation: Use Actor programming on RIOT with the C++ Actor Framework CAF to build a distributed intelligent lightening system. With a simple hardware setup of lights (LEDs) and motion detectors across multiple rooms, create lightening along the path of a moving person. Intelligent lights communicate with neighboring lights using predictive intelligence and CAF message passing. Furthermore, when using colored LEDs, a desktop app can be written with CAF that changes the color either manually or depending on mood or desktop contents.
Expected results: A distributed light control system that mutually interacts and follows users.
Knowledge Prerequisite: C++, hardware control, predictive algorithms
RIOT - The friendly Operating System for the Internet of Things
Homepage | [GitHub] (https://github.com/RIOT-OS/) | Developers Mailing List | Users Mailing List | Twitter @RIOT_OS
- Family: ARM
- Board: Airfy Beacon
- Board: Arduino Due
- Board: CC2538DK
- Board: CC2650STK
- Board: HikoB Fox
- Board: IoT LAB M3
- Board: LimiFrog-v1
- Board: mbed_lpc1768
- Board: MSB-IoT
- Board: MSBA2
- Board: Nucleo-L1
- Board: Nucleo-F334
- Board: Nucleo-F303
- Board: Nucleo-F091
- Board: Mulle
- Board: OpenMote
- Board: PCA1000x (nRF51822 Development Kit)
- Board: Phytec phyWAVE-KW22
- Board: RFduino
- Board: SAMR21-xpro
- Board: SAML21-xpro
- Board: Seeeduino Arch-Pro
- Board: Spark Core
- Board: STM32F0discovery
- Board: STM32F3discovery
- Board: STM32F4discovery
- Board: UDOO
- Board: yunjia-nrf51822
- Board: Zolertia remote
- Family: ATmega
- Board: Arduino Mega2560
- Board: Arduino Uno
- Board: Arduino Duemilanove
- Family: MSP430
- Board: MSB-430H
- Board: TelosB
- Board: WSN430
- Board: Zolertia Z1
- Board: eZ430-Chronos
- Family: native
- Board: native
- Family: x86
- Board: Intel Galileo