:html_theme.sidebar_primary.remove: true
:sd_hide_title: true
.. _gsoc-project-ideas:
Ideas
######
.. image:: ../_static/images/ideas-below.webp
:align: center
.. admonition:: How to participate?
Contributors are expected to go through the list of ideas dropdown below and join the discussion by clicking on the
``Discuss on forum`` button. All ideas have colorful badges for ``Complexity`` and
``Size`` for making the selection process easier for contributors. Anyone is welcome to
introduce new ideas via the `forum gsoc-ideas tag `_.
Only ideas with sufficiently experienced mentor backing as deemed by the administrators will
be added here.
+------------------------------------+-------------------------------+
| Complexity | Size |
+====================================+===============================+
| :bdg-danger:`High complexity` | :bdg-danger-line:`350 hours` |
+------------------------------------+-------------------------------+
| :bdg-success:`Medium complexity` | :bdg-success-line:`175 hours` |
+------------------------------------+-------------------------------+
| :bdg-info:`Low complexity` | :bdg-info-line:`90 hours` |
+------------------------------------+-------------------------------+
.. tip::
Below are the latest project ideas, you can also check our our :ref:`gsoc-old-ideas` and :ref:`Past_Projects` for inspiration.
.. card:: Upstream Greybus module for Zephyr
:fas:`timeline;pst-color-secondary` RTOS/microkernel imporvements :bdg-success:`Medium complexity` :bdg-danger-line:`350 hours`
^^^^
Greybus support for Zephyr is currently an out of tree module. This makes it hard to maintain, and makes it almost impossible for other people to test and contribute.
The goal of the project is to get greybus and BeagleConnect Technology ecosystem to a point that is easier to test and maintain. It can be considered a continuation of Replace GBridge Project from 2023
| **Goal:** Add testing, cleanup mikroBUS support, submit upstream and respond to feedback.
| **Hardware Skills:** basic wiring
| **Software Skills:** device-tree, C, ZephyrRTOS, Linux, TCP.
| **Possible Mentors:** `Ayush Singh `_, `Jason Kridner `_
++++
.. button-link:: https://forum.beagleboard.org/t/upstream-greybus-module-for-zephyr/41170
:color: danger
:expand:
:fab:`discourse;pst-color-light` Discuss on forum
.. card:: A Conversational AI Assistant for BeagleBoard using RAG and Fine-tuning
:fas:`brain;pst-color-secondary` Deep Learning :bdg-success:`Medium complexity` :bdg-success-line:`175 hours`
^^^^
BeagleBoard currently lacks an AI-powered assistant to help users troubleshoot errors. This project aims to address that need while also streamlining the onboarding process for new contributors, enabling them to get started more quickly.
| **Goal:** Develop a domain-specific chatbot for BeagleBoard using a combination of RAG and fine-tuning of an open-source LLM (like Llama 3, Mixtral, or Gemma). This chatbot will assist users with troubleshooting, provide information about BeagleBoard products, and streamline the onboarding process for new contributors.
| **Hardware Skills:** Ability to test applications on BeagleBone AI-64/BeagleY-AI and optimize for performance using quantization techniques.
| **Software Skills:** Python, RAG, Scraping techniques, Fine tuning LLMs, Gradio, Hugging Face Inference Endpoints, NLTK/spaCy, Git
| **Possible Mentors:** `Aryan Nanda `_
++++
.. button-link:: https://forum.beagleboard.org/t/beaglemind/40806
:color: danger
:expand:
:fab:`discourse;pst-color-light` Discuss on forum
.. card:: Update beagle-tester for mainline testing
:fab:`linux;pst-color-primary` Linux kernel improvements :bdg-success:`Medium complexity` :bdg-danger-line:`350 hours`
^^^^
Utilize the ``beagle-tester`` application and ``Buildroot`` along with device-tree and udev symlink concepts within
the OpenBeagle continuous integration server context to create a regression test suite for the Linux kernel
and device-tree overlays on various Beagle computers.
| **Goal:** Execution on Beagle test farm with over 30 mikroBUS boards testing all mikroBUS enabled cape interfaces (PWM, ADC, UART, I2C, SPI, GPIO and interrupt) performing weekly mainline Linux regression verification
| **Hardware Skills:** `basic wiring`_, `embedded serial interfaces`_
| **Software Skills:** `device-tree`_, `Linux`_, `C`_, `OpenBeagle CI`_, `Buildroot`_
| **Possible Mentors:** `Deepak Khatri `_, `Anuj Deshpande `_, `Dhruva Gole `_
++++
.. button-link:: https://forum.beagleboard.org/t/update-beagle-tester-for-cape-mikrobus-new-board-and-upstream-testing/37279
:color: danger
:expand:
:fab:`discourse;pst-color-light` Discuss on forum
.. card:: Upstream wpanusb and bcfserial
:fab:`linux;pst-color-primary` Linux kernel improvements :bdg-success:`Medium complexity` :bdg-success-line:`175 hours`
^^^^
These are the drivers that are used to enable Linux to use a BeagleConnect Freedom as a SubGHz IEEE802.15.4 radio (gateway).
They need to be part of upstream Linux to simplify on-going support. There are several gaps that are known before they are
acceptable upstream.
| **Goal:** Add functional gaps, submit upstream patches for these drivers and respond to feedback
| **Hardware Skills:** `wireless communications`_
| **Software Skills:** `C`_, `Linux`_
| **Possible Mentors:** `Ayush Singh `_, `Jason Kridner `_
++++
.. button-link:: https://forum.beagleboard.org/t/upstream-wpanusb-and-bcfserial/37186
:color: danger
:expand:
:fab:`discourse;pst-color-light` Discuss on forum
.. card:: ``librobotcontrol`` support for newer boards
:fas:`wand-sparkles;pst-color-danger` Automation and industrial I/O :bdg-success:`Medium complexity` :bdg-success-line:`175 hours`
^^^^
Preliminary librobotcontrol support for BeagleBone AI, BeagleBone AI-64 and BeagleV-Fire has been drafted, but it
needs to be cleaned up. We can also work on support for Raspberry Pi if UCSD releases their Hat for it.
| **Goal:** Update librobotcontrol for Robotics Cape on BeagleBone AI, BeagleBone AI-64 and BeagleV-Fire
| **Hardware Skills:** `basic wiring`_, `motors`_
| **Software Skills:** `C`_, `Linux`_
| **Possible Mentors:** `Deepak Khatri `_, `Jason Kridner `_
++++
.. button-link:: https://forum.beagleboard.org/t/librobotcontrol-support-for-newer-boards/37187
:color: danger
:expand:
:fab:`discourse;pst-color-light` Discuss on forum
.. card:: Upstream Zephyr Support on BBAI-64 R5
:fas:`timeline;pst-color-secondary` RTOS/microkernel imporvements :bdg-success:`Medium complexity` :bdg-danger-line:`350 hours`
^^^^
Incorporating Zephyr RTOS support onto the Cortex-R5 cores of the TDA4VM SoC along with Linux operation on the A72 core. The objective is to harness the combined capabilities of both systems
to support BeagleBone AI-64.
| **Goal:** submit upstream patches to support BeagleBone AI-64 and respond to feedback
| **Hardware Skills:** Familiarity with ARM Cortex R5
| **Software Skills:** `C`_, `RTOS `_
| **Possible Mentors:** `Dhruva Gole `_, `Nishanth Menon `_
| **Upstream Repository:** `The primary repository for Zephyr Project `_
++++
.. button-link:: https://forum.beagleboard.org/t/upstream-zephyr-support-on-bbai-64-r5/37294/1
:color: danger
:expand:
:fab:`discourse;pst-color-light` Discuss on forum
.. card:: ALSA linux driver for Bela cape
:fas:`wand-sparkles;pst-color-danger` Linux kernel audio :bdg-success:`Medium complexity` :bdg-success-line:`175 hours or longer`
^^^^
The Bela cape rev C comes with a ES9080Q 8-channel DAC and a TLV320AIC3104 stereo codec. The former has no support on Linux, while the latter is well supported. This project involves:
- writing a driver for the ES9080Q, which interacts with existing McASP and DMA drivers
- have the ES9080Q and TLV320AIC3104 show up as a single ALSA device with 2
inputs and 10 outputs. Explore whether this can happen via a simple wrapper
in the device tree or requires a dedicated driver.
| **Goal:** Upstream support of ES9080Q; simultaneous access to ES9080Q and TLV320AIC3104 via ALSA
| **Hardware Skills:** basic wiring, logic analyzer
| **Software Skills:** `C`_ or `Rust`_, `Linux`_
| **Possible Mentors:** `Giulio Moro `_
| **Upstream Repository:** `Design files for the Bela cape Rev C `_
| **References:** `The Bela repo shows how to access these devices with a custom driver and DMA running on the PRU. `_
++++
.. button-link:: https://forum.beagleboard.org/t/alsa-drivers-for-es9080q-and-tlv320aic3104/41532
:color: danger
:expand:
:fab:`discourse;pst-color-light` Discuss on forum
.. button-link:: https://forum.beagleboard.org/tag/gsoc-ideas
:color: danger
:expand:
:outline:
:fab:`discourse;pst-color-light` Visit our forum to see newer ideas being discussed!
.. toctree::
:hidden:
old/index