Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
2019 GSoC Project Ideas
What is Zephyr Project?
The Zephyr Project, a Linux Foundation hosted Collaboration Project, is an open source effort uniting leaders from across the industry to build a best-in-breed small, scalable, real-time operating system (RTOS) optimized for resource-constrained devices, across multiple architectures. The Zephyr Project’s goal is to establish a neutral project where anyone can contribute technology to reduce the cost and accelerate time to market for developing IoT and embedded devices.
The Zephyr Project is perfect for building connected sensors, LED wearables, up to modems and small IoT wireless gateways. Because the Zephyr OS is modular and supports multiple architectures, developers are able to easily tailor an optimal solution to meet their needs. As a true open source project, the community can evolve the project to support new hardware, developer tools, sensor and device drivers. Enhancements in security, device management capabilities, connectivity stacks and file systems can be easily implemented.
Why Choose the Zephyr Project?
To date 430 developers from more than 25 organization have contributed to Zephyr Project, making it one of the fastest growing open source projects in the embedded ecosystem. Why do developers love Zephyr Project? Zephyr OS provides developers with feature-rich software optimized for memory constrained devices. It runs on systems as small as 8 kB of memory to more than 512 kB. Developers can use the RTOS as-is or tailor a solution by enabling/disabling nearly every feature using Kconfig, giving them complete freedom. And, developers can use their tool suite of choice by supporting custom toolchains and compiler optimizations. Zephyr OS also supports Bluetooth®, Bluetooth® Low Energy, Wi-Fi*, 802.15.4 and standards like 6Lowpan, CoAP, IPv4, IPv6, and NFC. Major enhancements in 2019 include functional safety certifications, improved features and long-term support.
Below are links to guides and other helpful documentation.
Project Idea Template
Thank you for considering working with the Zephyr Project as part for GSoC 2019. We are looking forward to considering your proposals and learning more about you. Your proposal should be as technically specific as possible to be understood by the technical lead and as well written as possible to be read by a programmer in an unrelated domain. Try to include all relevant details for the project idea you are proposing.
University and level:
Why does working with the Zephyr Project interest you?
Have you ever contributed to an open source project? If so, which project and what was the contribution?
What programming projects have you completed? What are some of the similarities of your previous projects to your proposal?
List other GSoC projects you are applying to.
Describe any plans you have for the summer in addition to GSoC.
Describe your preferred communication and collaboration style?
In less than 3 sentences sentences, why should we pick YOU?
Provide us with a brief project synopsis or top level summary of the work you propose.
Be sure to include what is the project about and why is it important?
How will you handle the project? Give a detailed description of your planned approach.
Outline a tentative work plan to accomplish your project.
Be sure to include a minimal set of deliverables and a detailed timeline. We suggest division per week or two-week period.
How will you and the mentors keep in contact? (Via weekly Hangouts/Skype calls, via email, via chat…?)
Project Proposal Ideas
Please note that these are just starting points. Feel free to propose your own project using the template provided above.
Coccinelle is a tool for pattern matching and text transformation that has many uses in kernel development, including the application of complex, tree-wide patches and detection of problematic programming patterns. Zephyr Project is looking to add additional rules and extend Coccinelle within Zephyr OS to detect safety critical idioms and patterns. More details about how Coccinelle is currently used and additional useful tips for extending this work can be found here.
Add LoRa Radio Support
Zephyr OS is increasingly being used in environments where some form of low-power wide-area networking is required. Early work to add support for LoRaWAN has been previously completed by the community. Work on this project would seek to build upon and complete that work. Please view the existing work on this project here and here. Learn more about the LoRaWAN here.
Add Support for MIPS Architecture
MIPS is a widely used architecture with a growing open source and IoT following. Currently Zephyr OS does not support MIPS. This initiative aims at adding support for the MIPS architecture and select boards. Students will be provided with relevant hardware for this task. Please include which board/s would be preferred in proposals. For the purpose of testing QEMU should be supported and all kernel tests passed. More information about the existing work on this initiative can be found here.
Add Support for KNX Bus
KNX is a standard for building automation and is widely used in Europe. The proposal for a project is to implement base support for the KNX bus via twisted pair in Zephyr OS. Summarized information about the bus can be found here.