Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • gsoc/gsoc.beagleboard.io
  • Krishna_13/gsoc.beagleboard.io
  • krvprashanth/gsoc.beagleboard.io
  • lorforlinux/gsoc.beagleboard.io
  • jkridner/gsoc
  • anujdeshpande/gsoc.beagleboard.io
  • ayush1325/gsoc.beagleboard.io
  • samdai/gsoc.beagleboard.io
  • abdelrahman/gsoc.beagleboard.io
  • aryan_nanda/gsoc.beagleboard.io
  • fuadzade/gsoc.beagleboard.io
  • vvaishak/gsoc.beagleboard.io
  • Roger18/gsoc.beagleboard.io
  • mclem/gsoc.beagleboard.io
  • NachtSpyder04/gsoc.beagleboard.io
  • melta101/melta101-gsoc
  • saiprasad-patil/gsoc.beagleboard.io
  • mattd/gsoc.beagleboard.io
  • SurajS0215/gsoc.beagleboard.io
  • jarm/gsoc.beagleboard.io
  • ijc/gsoc.beagleboard.io
  • himanshuk/gsoc.beagleboard.io
  • mahelaekanayake10/gsoc.beagleboard.io
  • alecdenny/gsoc.beagleboard.io
  • darshan15/gsoc.beagleboard.io
  • san.s.kar03/gsoc.beagleboard.io
  • jjateen/gsoc.beagleboard.io
  • vidhusarwal/gsoc.beagleboard.io
  • giuliomoro/gsoc.beagleboard.io
  • ketanthorat/gsoc.beagleboard.io
  • Sahil7741/gsoc.beagleboard.io
  • Whiz-Manas/mana-gsoc-beagleboard-io
32 results
Show changes
Commits on Source (217)
Showing
with 385 additions and 133 deletions
image: beagle/sphinx-build-env:latest # The Docker image that will be used to build your app
image: registry.git.beagleboard.org/docs/sphinx-build-env:latest
pages: pages:
tags: tags:
- docker-amd64 - docker-amd64
before_script:
- source ./venv-build-env.sh
script: script:
- "./gitlab-build.sh" - "./gitlab-build.sh"
artifacts: artifacts:
paths: paths:
- public - public
\ No newline at end of file
.. _C:
https://docs.beagleboard.cc/docs/latest/intro/beagle101/c.html
.. _Assembly:
https://docs.beagleboard.cc/docs/latest/intro/beagle101/assembly.html
.. _Verilog:
https://docs.beagleboard.cc/docs/latest/intro/beagle101/verilog.html
.. _Zephyr:
https://docs.beagleboard.cc/docs/latest/intro/beagle101/zephyr.html
.. _Linux:
https://docs.beagleboard.cc/latest/intro/beagle101/linux.html
.. _device-tree:
https://docs.beagleboard.cc/docs/latest/intro/beagle101/device-tree.html
.. _FPGA:
https://docs.beagleboard.cc/docs/latest/intro/beagle101/fpga.html
.. _basic wiring:
https://docs.beagleboard.cc/docs/latest/intro/beagle101/basic-wiring.html
.. _motors:
https://docs.beagleboard.cc/docs/latest/intro/beagle101/motors.html
.. _embedded serial interfaces:
https://docs.beagleboard.cc/docs/latest/intro/beagle101/embedded-serial.html
.. _OpenBeagle CI:
https://docs.beagleboard.cc/docs/latest/intro/beagle101/openbeagle-ci.html
.. _verification:
https://docs.beagleboard.cc/docs/latest/intro/beagle101/verification.html
.. _wireless communications:
https://docs.beagleboard.cc/docs/latest/intro/beagle101/wireless-communications.html
.. _Buildroot:
https://docs.beagleboard.cc/docs/latest/intro/beagle101/buildroot.html
.. _RISC-V ISA:
https://docs.beagleboard.cc/docs/latest/intro/beagle101/riscv.html
\ No newline at end of file
_static/images/bash-and-boris-gosc-proposal.webp

480 KiB

{% if pagename == "ideas/index" %}
<a role="button" href="https://bbb.io/gsocml">
<i class="fa-brands fa-discourse"></i> More Ideas on Forum
</a>
{% else %}
<a role="button" href="https://forum.beagleboard.org/new-topic?category=gsoc&tags=gsoc">
<i class="fa-brands fa-discourse"></i> Discuss on Forum
</a>
{% endif %}
<div class="card bg-light mt-4 text-center">
<div class="card-body">
<p class="card-text text-dark">
<a href="https://www.beagleboard.org/">BeagleBoard.org</a> is all about being open, please discuss in public on our <a href="https://bbb.io/gsocml">forum</a>!</p>
</div>
</div>
\ No newline at end of file
<div class="card bg-light mt-4 text-center">
<div class="card-header bg-primary text-light">
What is the mission?
</div>
<div class="card-body">
<p class="card-text text-dark">
We don’t want to just make more things. We want to enable individuals to make the things that dominate their lives, rather than leaving it up to someone else. Google Summer of Code with BeagleBoard.org is a great way to learn skills highly in demand while making a difference in the world.
</p>
</div>
</div>
<div class="card bg-light mt-4 text-center">
<div class="card-header bg-success text-light">
How to build an embedded system?
</div>
<div class="card-body">
<p class="card-text text-dark">
An embedded system is built using a computer dedicated to a specific purpose, like a toaster, coffee machine, dish washer, thermostat or anti-lock brakes. You can think of an embedded system as a computer designed to not look like a computer and to automate things in the physical world. The <a href="https://www.beagleboard.org/">BeagleBoard.org</a> community is loaded with experts on building open source embedded systems, join our <a href="https://bbb.io/gsocml">forum</a> to connect.
</p>
</div>
</div>
\ No newline at end of file
{% if pages_slug != "index" %} {% if pages_slug != "index" %}
{% for proposal_name in proposals %} {% for proposal_name in proposals %}
{% if pagename == "proposals/"+proposal_name %} {% if pagename == "proposals/"+proposal_name %}
<a class="btn btn-danger btn-sm btn-block text-light" role="button" href="{{proposal_name}}.pdf"> <a role="button" href="{{proposal_name}}.pdf">
<i class="fa-solid fa-download"></i> {{proposal_name}}.pdf <i class="fa-solid fa-download"></i> Download PDF
</a> </a>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
......
...@@ -17,15 +17,24 @@ from sphinx.application import Sphinx ...@@ -17,15 +17,24 @@ from sphinx.application import Sphinx
sys.path.append(str(Path(".").resolve())) sys.path.append(str(Path(".").resolve()))
project = 'gsoc.beagleboard.io' project = 'gsoc.beagleboard.io'
copyright = '2024, BeagleBoard.org' copyright = '2025, BeagleBoard.org'
author = 'BeagleBoard.org' author = 'BeagleBoard.org'
# Add epilog details to rst_epilog
rst_epilog =""
rst_epilog_path = "_static/epilog/"
for (dirpath, dirnames, filenames) in os.walk(rst_epilog_path):
for filename in filenames:
with open(dirpath + filename) as f:
rst_epilog += f.read()
# -- General configuration --------------------------------------------------- # -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
extensions = [ extensions = [
"sphinx_design", "sphinx_design",
"sphinxcontrib.youtube", "sphinxcontrib.youtube",
"sphinxcontrib.images",
"sphinx_copybutton" "sphinx_copybutton"
] ]
...@@ -57,10 +66,26 @@ html_css_files = [ ...@@ -57,10 +66,26 @@ html_css_files = [
# Pages entry without primary (left) sidebar # Pages entry without primary (left) sidebar
html_sidebars = { html_sidebars = {
"ideas/index": [], "**": ["sidebar-nav-bs", "mission"],
"ideas/index": [],
"index": []
} }
html_theme_options = { html_theme_options = {
"external_links": [
{
"url": "https://summerofcode.withgoogle.com/help",
"name": "Help",
},
{
"url": "https://summerofcode.withgoogle.com/rules",
"name": "Rules",
},
{
"url": "https://summerofcode.withgoogle.com/terms",
"name": "Terms",
},
],
"header_links_before_dropdown": 4, "header_links_before_dropdown": 4,
"show_prev_next": True, "show_prev_next": True,
"icon_links": [ "icon_links": [
...@@ -106,8 +131,8 @@ html_theme_options = { ...@@ -106,8 +131,8 @@ html_theme_options = {
"use_edit_page_button": True, "use_edit_page_button": True,
"show_toc_level": 1, "show_toc_level": 1,
"navbar_align": "right", "navbar_align": "right",
"show_nav_level": 2, "show_nav_level": 1,
"announcement": "Welcome to the new site for BeagleBoard.org GSoC 2024 projects!", "announcement": "Welcome to the site for BeagleBoard.org GSoC 2025 projects!",
# "show_version_warning_banner": True, # "show_version_warning_banner": True,
"navbar_center": ["navbar-nav"], "navbar_center": ["navbar-nav"],
"navbar_start": ["navbar-logo"], "navbar_start": ["navbar-logo"],
...@@ -117,8 +142,8 @@ html_theme_options = { ...@@ -117,8 +142,8 @@ html_theme_options = {
"footer_end": ["last-updated"], "footer_end": ["last-updated"],
# "content_footer_items": ["last-updated"], # "content_footer_items": ["last-updated"],
"secondary_sidebar_items": { "secondary_sidebar_items": {
"**": ["page-toc", "edit-this-page", "sourcelink","pdf"] "**": ["page-toc", "edit-this-page", "sourcelink","pdf","forum"]
} },
} }
proposals = [] proposals = []
...@@ -152,7 +177,7 @@ html_context = { ...@@ -152,7 +177,7 @@ html_context = {
latex_elements = { latex_elements = {
"papersize": "a4paper", "papersize": "a4paper",
"maketitle": open("_static/latex/title.tex").read(), "maketitle": open("_static/latex/title.tex").read(),
"preamble": open("_static/latex/preamble.tex").read(), "preamble": open("_static/latex/preamble.tex").read() + r"\let\cleardoublepage\clearpage",
"sphinxsetup": ",".join( "sphinxsetup": ",".join(
( (
"verbatimwithframe=false", "verbatimwithframe=false",
...@@ -165,6 +190,7 @@ latex_elements = { ...@@ -165,6 +190,7 @@ latex_elements = {
), ),
} }
sd_fontawesome_latex = True
latex_engine = "xelatex" latex_engine = "xelatex"
latex_logo = str("_static/images/logo-latex.pdf") latex_logo = str("_static/images/logo-latex.pdf")
latex_documents = [] latex_documents = []
......
...@@ -7,15 +7,29 @@ Contributor Guide ...@@ -7,15 +7,29 @@ Contributor Guide
:width: 100% :width: 100%
:align: center :align: center
.. important::
Contributors will be expected to execute a series of prerequisites to demonstrate and
expand familiarity with embedded systems development. Don't worry, the
`live chat <https://bbb.io/gsocchat>`_ channel has over 1,000 active members to
travel with you on your journey.
General requirements General requirements
******************** ********************
.. note::
Google Summer of Code is open to individuals age 18 and older in most countries who are new or beginner
contributors to open source coding projects. Read more on the GSoC site
`Rules page <https://summerofcode.withgoogle.com/rules>`_ and the
`FAQ page <https://developers.google.com/open-source/gsoc/faq>`_.
All projects have the following basic requirements: All projects have the following basic requirements:
1. Contributors must create accounts on our `OpenBeagle <https://openbeagle.org/>`_, `Discord <https://bbb.io/gsocchat>`_ and `Beagle Forum <http://bbb.io/gsocml>`_ prior to creating their application. 1. Contributors must create accounts on our `OpenBeagle <https://openbeagle.org/>`_, `Discord <https://bbb.io/gsocchat>`_ and `Beagle Forum <http://bbb.io/gsocml>`_ prior to creating their application.
2. All newly generated materials must be released under an `open source license <http://www.opensource.org/licenses>`_. Individual contributors shall retain copyright on their works. 2. All newly generated materials must be released under an `open source license <http://www.opensource.org/licenses>`_. Individual contributors shall retain copyright on their works.
3. Contributors will demonstrate their ability to cross-compile and utilize version control software by creating a “Hello World” application and generating a pull request to `jadonk/gsoc-application <https://github.com/jadonk/gsoc-application/tree/master/ExampleEntryJasonKridner>`_. For assistance, please visit our `Discord <https://bbb.io/gsocchat>`_ or utilize the `Beagle Forum <http://bbb.io/gsocml>`_. The “Hello World” application must print your name and the date out in an ARM Linux environment. Freely available emulators may be used to test your application or you can ask anyone on the chat or mailing list to help you test. 3. Contributors will demonstrate their ability to cross-compile and utilize version control software by creating a “Hello World” application and generating a pull request to `jadonk/gsoc-application <https://github.com/jadonk/gsoc-application/tree/master/ExampleEntryJasonKridner>`_. For assistance, please visit our `Discord <https://bbb.io/gsocchat>`_ or utilize the `Beagle Forum <http://bbb.io/gsocml>`_. The “Hello World” application must print your name and the date out in an ARM Linux environment. Freely available emulators may be used to test your application or you can ask anyone on the chat or mailing list to help you test.
4. All projects will produce reusable software components and will not be “whatI-built-over-my-summer-vacation” projects. Including a hardware component is welcome, but the project deliverable will be software that may be utilized by a wide audience of the `BeagleBoard.org <https://www.beagleboard.org/>`_ community. 4. All projects will produce reusable software components and will not be “what-I-built-over-my-summer-vacation” projects. Including a hardware component is welcome, but the project deliverable will be software that may be utilized by a wide audience of the `BeagleBoard.org <https://www.beagleboard.org/>`_ community.
5. Contributors will demonstrate their ability to collaborate by creating a project proposal on this site using our :ref:`proposal template <gsoc-proposal-template>` and utilizing our `Discord <https://bbb.io/gsocchat>`_ to collect quotes regarding the usefulness of their proposal to the `BeagleBoard.org <https://www.beagleboard.org/>`_ community. **Use of Google Docs for proposal development is discouraged due to insufficient revision control and extensive use of computing resources having numerous documents open simultaneously**. 5. Contributors will demonstrate their ability to collaborate by creating a project proposal on this site using our :ref:`proposal template <gsoc-proposal-template>` and utilizing our `Discord <https://bbb.io/gsocchat>`_ to collect quotes regarding the usefulness of their proposal to the `BeagleBoard.org <https://www.beagleboard.org/>`_ community. **Use of Google Docs for proposal development is discouraged due to insufficient revision control and extensive use of computing resources having numerous documents open simultaneously**.
6. Source code generated during the project must be released on `OpenBeagle <https://openbeagle.org/>`_ (and we’ll setup a mirror on `Github.com <http://github.com/>`_). 6. Source code generated during the project must be released on `OpenBeagle <https://openbeagle.org/>`_ (and we’ll setup a mirror on `Github.com <http://github.com/>`_).
7. Contributors will provide two recorded audio/video presentations uploaded to Youtube or Vimeo (screencasts are appropriate), one near the beginning of the project summarizing their project goals and another in the wrap-up phase to summarize their accomplishments. Examples can be found in :ref:`Past_Projects`. There is no requirement to show your faces or use English. 7. Contributors will provide two recorded audio/video presentations uploaded to Youtube or Vimeo (screencasts are appropriate), one near the beginning of the project summarizing their project goals and another in the wrap-up phase to summarize their accomplishments. Examples can be found in :ref:`Past_Projects`. There is no requirement to show your faces or use English.
...@@ -34,7 +48,7 @@ All projects have the following basic requirements: ...@@ -34,7 +48,7 @@ All projects have the following basic requirements:
For example, `Weekly Progress Report Thread: For example, `Weekly Progress Report Thread:
Cape Compatibility <https://forum.beagleboard.org/t/weekly-progress-report-thread-cape-compatibility/28709/9>`_ Cape Compatibility <https://forum.beagleboard.org/t/weekly-progress-report-thread-cape-compatibility/28709/9>`_
Student proposals can encompass projects based on the :ref:`ideas page <gsoc-project-ideas>` or can include personal project ideas, Contributor proposals can encompass projects based on the :ref:`ideas page <gsoc-project-ideas>` or can include personal project ideas,
but should be focused on generating a sustainable and reusable open source software component. Previous Google Summer of Code projects show but should be focused on generating a sustainable and reusable open source software component. Previous Google Summer of Code projects show
that the key to success is being passionate about your project, so propose something that is extremely interesting to you, even that the key to success is being passionate about your project, so propose something that is extremely interesting to you, even
if it is not on this list. We will be glad to help contributors develop ideas into projects via our `Discord <https://bbb.io/gsocchat>`_ if it is not on this list. We will be glad to help contributors develop ideas into projects via our `Discord <https://bbb.io/gsocchat>`_
......
...@@ -3,8 +3,23 @@ ...@@ -3,8 +3,23 @@
Guides Guides
###### ######
.. youtube:: 7jD2tChhrWM
:width: 100%
:align: center
.. admonition:: What is Google Summer of Code?
:class: admonition-code
Spend your summer break writing code and learning about open source development while earning money!
Accepted contributors work with a mentor and become a part of the open source community. Many become lifetime
open source developers! The 2025 contributor application window will be open from
`March 24 2025 <https://opensource.googleblog.com/2025/01/google-summer-of-code-2025-is-here.html>`_ to
`April April 8 2025 <https://opensource.googleblog.com/2025/01/google-summer-of-code-2025-is-here.html>`_!
But don't wait for then to engage! Come to our `Discord <https://bbb.io/gsocchat>`_ and
`Forum <https://bbb.io/gsocml>`_ to share ideas today.
This section includes guides for :ref:`contributors <gsoc-contributor-guide>` & :ref:`mentors <gsoc-mentor-guide>` who want to participate This section includes guides for :ref:`contributors <gsoc-contributor-guide>` & :ref:`mentors <gsoc-mentor-guide>` who want to participate
in GSoC 2024 with `BeagleBoard.org <www.beagleboard.org>`_. It's highly recommended to check `GSoC Frequently Asked Questions in GSoC 2025 with `BeagleBoard.org <www.beagleboard.org>`_. It's highly recommended to check `GSoC Frequently Asked Questions
<https://developers.google.com/open-source/gsoc/faq>`_. For anyone who just want to contribute to this site we also have <https://developers.google.com/open-source/gsoc/faq>`_. For anyone who just want to contribute to this site we also have
a step by step :ref:`contribution guide <gsoc-site-editing-guide>`. a step by step :ref:`contribution guide <gsoc-site-editing-guide>`.
......
...@@ -14,7 +14,7 @@ Mentor Guide ...@@ -14,7 +14,7 @@ Mentor Guide
become familiar with the code base and testing practices, to finally releasing their code on become familiar with the code base and testing practices, to finally releasing their code on
`OpenBeagle <https://openbeagle.org/>`_ for the world to use! `OpenBeagle <https://openbeagle.org/>`_ for the world to use!
You will also need be invited by an administrator to register on the GSoC site and request You will also need to be invited by an administrator to register on the GSoC site and request
to be a mentor for `BeagleBoard.org <https://www.beagleboard.org/>`_. to be a mentor for `BeagleBoard.org <https://www.beagleboard.org/>`_.
Who Are Mentors? Who Are Mentors?
...@@ -25,7 +25,7 @@ with a GSoC contributor. Mentors provide guidance such as pointers to useful doc ...@@ -25,7 +25,7 @@ with a GSoC contributor. Mentors provide guidance such as pointers to useful doc
In addition to providing GSoC contributors with feedback and pointers, a mentor acts as an ambassador to help In addition to providing GSoC contributors with feedback and pointers, a mentor acts as an ambassador to help
GSoC contributors integrate into their project’s community. `BeagleBoard.org <https://www.beagleboard.org/>`_ GSoC contributors integrate into their project’s community. `BeagleBoard.org <https://www.beagleboard.org/>`_
always assigns more than one mentor to each of GSoC contributor. Many members of `BeagleBoard.org <https://www. always assigns more than one mentor to each of GSoC contributor. Many members of `BeagleBoard.org <https://www.
beagleboard.org/>`_ community also provide guidance to GSoC contributors without mentoring in an “official” beagleboard.org/>`_ community also provides guidance to GSoC contributors without mentoring in an “official”
capacity, as much as they would answer anyone’s questions on our `Discord <https://bbb.io/gsocchat>`_ and our capacity, as much as they would answer anyone’s questions on our `Discord <https://bbb.io/gsocchat>`_ and our
`Forum <https://bbb.io/gsocml>`_. `Forum <https://bbb.io/gsocml>`_.
...@@ -34,8 +34,8 @@ Idea Submission Process ...@@ -34,8 +34,8 @@ Idea Submission Process
Mentors should: Mentors should:
1. Submit projects ideas to our `Forum <https://bbb.io/gsocml>`_ and then 1. Submit project ideas to our `Forum <https://bbb.io/gsocml>`_ and then
2. Contribute an update to our :ref:`gsoc-project-ideas` page using our :ref:`gsoc-site-editing-guide` to promote their idea to students. 2. Contribute an update to our :ref:`gsoc-project-ideas` page using our :ref:`gsoc-site-editing-guide` to promote their idea to contributors.
Only ideas deemed by administrators as being sufficiently supported by qualified mentors will be merged. Only ideas deemed by administrators as being sufficiently supported by qualified mentors will be merged.
...@@ -44,11 +44,11 @@ Only ideas deemed by administrators as being sufficiently supported by qualified ...@@ -44,11 +44,11 @@ Only ideas deemed by administrators as being sufficiently supported by qualified
BeagleBoard.org mentored GSoC projects are supposed to be for software projects that service the Beagle and general open source BeagleBoard.org mentored GSoC projects are supposed to be for software projects that service the Beagle and general open source
embedded systems community, not theses, how-to guides or what I did over my summer vacation ideas. embedded systems community, not theses, how-to guides or what I did over my summer vacation ideas.
Prospective mentors, sudents will use our `Discord <https://bbb.io/gsocchat>`_ and `Forum <https://bbb.io/gsocml>`_ Prospective mentors, students will use our `Discord <https://bbb.io/gsocchat>`_ and `Forum <https://bbb.io/gsocml>`_
to make contact with you, so be sure to provide up-to-date information. Please feel free to add yourself on mentors page and we will monitor to make contact with you, so be sure to provide up-to-date information. Please feel free to add yourself on mentors page and we will monitor
and police that list. Acceptance as an official mentor with the ability to rate proposals and grade contributors will come via the Google system. and police that list. Acceptance as an official mentor with the ability to rate proposals and grade contributors will come via the Google system.
We will only approve official mentors who have a proven track record with Beagle, but welcome all community members to provide guidance to both We will only approve official mentors who have a proven track record with Beagle, but welcome all community members to provide guidance to both
mentors and contributors to best service the community as a whole. Don’t be shy and don’t be offended when we edit. We are thrilled to have you on-board! mentors and contributors to best serve the community as a whole. Don’t be shy, and don’t be offended when we edit. We are thrilled to have you on board!
......
...@@ -12,7 +12,7 @@ Proposal Guide ...@@ -12,7 +12,7 @@ Proposal Guide
How to write a successful proposal How to write a successful proposal
*********************************** ***********************************
`BeagleBoard.org <https://www.beagleboard.org/>`_ has received a large number of GSoC student proposals over the years `BeagleBoard.org <https://www.beagleboard.org/>`_ has received a large number of GSoC contributor proposals over the years
that we have participated. Some of these proposals are quite good, but many are poor proposals that would that we have participated. Some of these proposals are quite good, but many are poor proposals that would
not be accepted by any organization participating in GSoC. not be accepted by any organization participating in GSoC.
...@@ -21,7 +21,7 @@ How to write an *unsuccessful* proposal ...@@ -21,7 +21,7 @@ How to write an *unsuccessful* proposal
Unsuccessful proposals often: Unsuccessful proposals often:
1. Try to pass off previous school projects as something to do for GSoC. The work has already done, and the project often has very little to do with `BeagleBoard.org hardware <https://www.beagleboard.org/boards>`_, 1. Try to pass off previous school projects as something to do for GSoC. The work is already done, and the project often has very little to do with `BeagleBoard.org hardware <https://www.beagleboard.org/boards>`_,
2. Show up shortly before the submission deadline with only a half page of “proposal”, being little more than a name, contact information, and a statement of “I will work hard”, 2. Show up shortly before the submission deadline with only a half page of “proposal”, being little more than a name, contact information, and a statement of “I will work hard”,
3. Are generic and sent to every other GSoC org with very few details on deliverables or schedule, or 3. Are generic and sent to every other GSoC org with very few details on deliverables or schedule, or
4. Introduce an idea that was never talked about to the `BeagleBoard.org <https://www.beagleboard.org/>`_ mentors in our `Forum <https://bbb.io/gsocml>`_ and submitted without ever engaging the Beagle community. 4. Introduce an idea that was never talked about to the `BeagleBoard.org <https://www.beagleboard.org/>`_ mentors in our `Forum <https://bbb.io/gsocml>`_ and submitted without ever engaging the Beagle community.
...@@ -49,7 +49,7 @@ To make the project proposal writing process easier for all the GSoC contributor ...@@ -49,7 +49,7 @@ To make the project proposal writing process easier for all the GSoC contributor
.. tip:: .. tip::
Start with :ref:`gsoc-site-editing-guide` to simplify the proposal writing process using OpenBeagle CI. It's always recommended to create a fork Start with :ref:`gsoc-site-editing-guide` to simplify the proposal writing process using OpenBeagle CI. It's always recommended to create a fork
of `gsoc.beagleboard.io repo on OpenBeagle <https://openbeagle.org/gsoc/gsoc.beagleboard.io>`_ and clone on your local machine. Instructions for of `gsoc.beagleboard.io repo on OpenBeagle <https://openbeagle.org/gsoc/gsoc.beagleboard.io>`_ and clone on your local machine. Instructions for
setting up Sphinx on local machine are also provided on :ref:`gsoc-site-editing-guide`. For any query you, can reach out on setting up Sphinx on local machine are also provided on :ref:`gsoc-site-editing-guide`. For any query, you can reach out on
our `Discord <https://bbb.io/gsocchat>`_ or `Forum <https://bbb.io/gsocml>`_. our `Discord <https://bbb.io/gsocchat>`_ or `Forum <https://bbb.io/gsocml>`_.
You can either open your cloned `gsoc.beagleboard.io repo <https://openbeagle.org/gsoc/gsoc.beagleboard.io>`_ using Visual Studio Code on your local machine or use OpenBeagle Web IDE. Now, follow steps below to write your proposal, You can either open your cloned `gsoc.beagleboard.io repo <https://openbeagle.org/gsoc/gsoc.beagleboard.io>`_ using Visual Studio Code on your local machine or use OpenBeagle Web IDE. Now, follow steps below to write your proposal,
...@@ -65,9 +65,8 @@ You can either open your cloned `gsoc.beagleboard.io repo <https://openbeagle.or ...@@ -65,9 +65,8 @@ You can either open your cloned `gsoc.beagleboard.io repo <https://openbeagle.or
.. raw:: html .. raw:: html
<br> <a role="button" href="">
<a class="btn btn-danger btn-sm btn-block text-light" role="button" href="/proposals/template.pdf"> <i class="fa-solid fa-download"></i> Download PDF
<i class="fa-solid fa-download"></i> template.pdf
</a> </a>
...@@ -68,7 +68,7 @@ After selecting the file you have to click on ``edit button`` and then choose ei ...@@ -68,7 +68,7 @@ After selecting the file you have to click on ``edit button`` and then choose ei
.. note:: .. note::
Choosing ``Web IDE`` will load a `Visual Studio Code Server <https://code.visualstudio.com/docs/remote/vscode-server>`_ Choosing ``Web IDE`` will load a `Visual Studio Code Server <https://code.visualstudio.com/docs/remote/vscode-server>`_
instance which is a feature rich source code editor. Depending on the internent connection your machine will take some to instance which is a feature rich source code editor. Depending on the internent connection, your machine will take some time to
load the editor and it can be a bit heavy for some machines to handle. Once fully loaded it should run smoothly but, if that is load the editor and it can be a bit heavy for some machines to handle. Once fully loaded it should run smoothly but, if that is
not the case then please consider using single file editor option. Considering majority of the users will be using ``Web IDE`` option, not the case then please consider using single file editor option. Considering majority of the users will be using ``Web IDE`` option,
we are using the ``Web IDE`` for the rest of this guide. we are using the ``Web IDE`` for the rest of this guide.
...@@ -107,11 +107,11 @@ Now you have to select a file and start editing. Below image shows some, ...@@ -107,11 +107,11 @@ Now you have to select a file and start editing. Below image shows some,
:align: center :align: center
.. tip:: Just like you do on your normal Visual Studio Code desktop application, to commit your changes you can either .. tip:: Just like you do on your normal Visual Studio Code desktop application, to commit your changes you can either
click on Source control ( :fa:`code-branch;pst-color-secondary` ) button or press ``CTRL + SHIFT + G`` to see all the edited fils. click on Source control ( :fa:`code-branch;pst-color-secondary` ) button or press ``CTRL + SHIFT + G`` to see all the edited files.
After swithing to source control you have to, After switching to source control you have to,
1. Add a commit message in the input feild. 1. Add a commit message in the input field.
2. Click on ``Commit to main`` button or click on drop down button to choose ``Commit to new branch``. 2. Click on ``Commit to main`` button or click on drop down button to choose ``Commit to new branch``.
.. image:: media/commit-changes.png .. image:: media/commit-changes.png
...@@ -132,17 +132,17 @@ ee/user/project/protected_branches.html>`_ by default. ...@@ -132,17 +132,17 @@ ee/user/project/protected_branches.html>`_ by default.
.. image:: media/commit-branch.png .. image:: media/commit-branch.png
:align: center :align: center
When all done right, the lower right side of the ``Web IDE`` you'll a prompt showing ``Success! Your changes have been committed`` message with When all done right, at the lower right side of the ``Web IDE`` you'll see a prompt showing ``Success! Your changes have been committed`` message with
two button, two buttons,
1. ``Got to Project`` 1. ``Go to Project``
2. ``Continue working`` 2. ``Continue working``
.. image:: media/commit-success.png .. image:: media/commit-success.png
:align: center :align: center
If you click on ``Go to Project`` button, you'll see the commit successfully applied as shown in the red box in the image below and the If you click on ``Go to Project`` button, you'll see the commit successfully applied as shown in the red box in the image below and the
green tick shows on the right side indicates that the CI build was also successful. green tick shown on the right side indicates that the CI build was also successful.
.. image:: media/commit.png .. image:: media/commit.png
:align: center :align: center
...@@ -156,15 +156,15 @@ Create a pull request ...@@ -156,15 +156,15 @@ Create a pull request
After making your changes and commiting them to your forked repo, you are set to create a new `pull request / merge request After making your changes and commiting them to your forked repo, you are set to create a new `pull request / merge request
<https://en.wikipedia.org/wiki/Distributed_version_control#Pull_requests>`_ so that those changes can be merged to upstream <https://en.wikipedia.org/wiki/Distributed_version_control#Pull_requests>`_ so that those changes can be merged to upstream
repo. To start your new PR click on the dedicated button to create a new merge request and fill out all the details. The image repo. To start your new PR, click on the dedicated button to create a new merge request and fill out all the details. The image
below shows all the feilds you have to update, below shows all the fields you have to update,
1. Provided a good title that reflects your work. 1. Provide a good title that reflects your work.
2. Add a detailed description of the work you have done. Add pictures whenever seems useful. 2. Add a detailed description of the work you have done. Add pictures whenever seems useful.
3. (Optional) you can assign it to yourself if you'll be working on further updates or assign it to someone else who might want to work on the comments we may provide on your work. 3. (Optional) you can assign it to yourself if you'll be working on further updates or assign it to someone else who might want to work on the comments we may provide on your work.
4. Add ``lorforlinux`` or ``jkridner`` as reviewer for PRs with site content update or add your mentor as reviewer if it's related to project work / proposal. 4. Add ``lorforlinux`` or ``jkridner`` as reviewer for PRs with site content update or add your mentor as reviewer if it's related to project work / proposal.
5. If you want your commits to be shows as a single commit then you can choose the ``sqash commits ...`` check box. 5. If you want your commits to be shown as a single commit, then you can choose the ``sqash commits ...`` check box.
6. Check if all your commits are shown in the bottom of the screen and if everything looks okay then click on ``Create merge request`` button. 6. Check if all your commits are shown in the bottom of the screen and if everything looks okay, then click on ``Create merge request`` button.
.. tip:: If you are still working on some updates, you may also choose ``Mark as draft`` checkbox (below title) .. tip:: If you are still working on some updates, you may also choose ``Mark as draft`` checkbox (below title)
which indicates that you are seeking feedback before making your commits suitable to merge. which indicates that you are seeking feedback before making your commits suitable to merge.
......
:html_theme.sidebar_primary.remove: true :html_theme.sidebar_primary.remove: true
:sd_hide_title: true
.. _gsoc-project-ideas: .. _gsoc-project-ideas:
Ideas Ideas
###### ######
Welcome to the project ideas page for `GSoC 2024 <https://developers.google.com/open-source/gsoc/timeline>`_. The
BeagleBoard.org community is loaded with experts on building open source embedded systems. An embedded
system is built using a computer dedicated to a specific purpose, like a toaster, coffee machine, dish washer, thermostat
or anti-lock brakes. You can think of an embedded system as a computer designed to not look like a computer
and to automate things in the physical world.
.. image:: ../_static/images/ideas-below.webp .. image:: ../_static/images/ideas-below.webp
:align: center :align: center
.. admonition:: Did you know?
BeagleBoard.org has been accepted to be a mentoring organization in the Google Summer of Code (GSoC) for twelve previous years!
.. admonition:: How to participate? .. admonition:: How to participate?
Contributors are expected to go through the list of ideas below and join the discussion by clicking on the 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 ``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 ``Size`` for making the selection process easier for contributors. Anyone is welcome to
introduce new ideas via the `forum gsoc-ideas tag <https://forum.beagleboard.org/t/gsoc-ideas>`_. introduce new ideas via the `forum gsoc-ideas tag <https://forum.beagleboard.org/tag/gsoc-ideas>`_.
Only ideas with sufficiently experienced mentor backing as deemed by the administrators will Only ideas with sufficiently experienced mentor backing as deemed by the administrators will
be added here. be added here.
.. table:: +------------------------------------+-------------------------------+
| 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::
| Complexity | Size |
+====================================+====================================+ Below are the latest project ideas, you can also check our our :ref:`gsoc-old-ideas` and :ref:`Past_Projects` for inspiration.
| :bdg-danger:`High complexity` | :bdg-danger-line:`Large size` |
+------------------------------------+------------------------------------+
| :bdg-success:`Medium complexity` | :bdg-success-line:`Medium size` |
+------------------------------------+------------------------------------+
| :bdg-info:`Low complexity` | :bdg-info-line:`Small size` |
+------------------------------------+------------------------------------+
.. important:: .. card:: A Conversational AI Assistant for BeagleBoard using RAG and Fine-tuning
BeagleBoard.org is a community centric organization and we keep all of our discussion open for our :fas:`brain;pst-color-secondary` Deep Learning :bdg-success:`Medium complexity` :bdg-success-line:`175 hours`
community on our `forum <https://bbb.io/gsocml>`_. Discussion for all the project ideas, proposals or development will
be done via our `forum <https://bbb.io/gsocml>`_ as well and must be open for everyone to access. **No
direct messages should be sent to mentors or community members until unless there is a private matter.**
.. grid:: 1 1 1 2 ^^^^
:margin: 4 4 0 0
:gutter: 4
.. grid-item-card:: Low-latency I/O RISC-V CPU core in FPGA fabric 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.
:link: https://forum.beagleboard.org/t/low-latency-risc-v-i-o-cpu-core/37156
:fas:`microchip;pst-color-primary` FPGA gateware improvements | **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 <https://forum.beagleboard.org/u/aryan_nanda/>`_
++++
:bdg-success:`Medium complexity` :bdg-success-line:`Medium size` .. button-link:: https://forum.beagleboard.org/t/beaglemind/40806
^^^ :color: danger
:expand:
BeagleV-Fire features RISC-V 64-bit CPU cores and FPGA fabric. In that FPGA fabric, we'd like to :fab:`discourse;pst-color-light` Discuss on forum
implement a RISC-V 32-bit CPU core with operations optimized for low-latency GPIO. This is similar
to the programmable real-time unit (PRU) RISC cores popularized on BeagleBone Black.
+++ .. card:: Update beagle-tester for mainline testing
.. button-link:: https://forum.beagleboard.org/t/low-latency-risc-v-i-o-cpu-core/37156
:color: danger
:expand:
:fab:`discourse;pst-color-light` Discuss on forum :fab:`linux;pst-color-primary` Linux kernel improvements :bdg-success:`Medium complexity` :bdg-danger-line:`350 hours`
^^^^
.. grid-item-card:: Update beagle-tester for mainline testing Utilize the ``beagle-tester`` application and ``Buildroot`` along with device-tree and udev symlink concepts within
:link: https://forum.beagleboard.org/t/update-beagle-tester-for-cape-mikrobus-new-board-and-upstream-testing/37279 the OpenBeagle continuous integration server context to create a regression test suite for the Linux kernel
and device-tree overlays on various Beagle computers.
:fab:`linux;pst-color-primary` Linux kernel improvements | **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 <https://forum.beagleboard.org/u/lorforlinux>`_, `Anuj Deshpande <https://forum.beagleboard.org/u/Anuj_Deshpande>`_, `Dhruva Gole <https://forum.beagleboard.org/u/dhruvag2000>`_
:bdg-success:`Medium complexity` :bdg-danger-line:`Large size` ++++
^^^
Utilize the ``beagle-tester`` application and ``Buildroot`` along with device-tree and udev symlink concepts within .. button-link:: https://forum.beagleboard.org/t/update-beagle-tester-for-cape-mikrobus-new-board-and-upstream-testing/37279
the OpenBeagle GitLab continuous integration server context to create a regression test suite for the Linux kernel :color: danger
and device-tree overlays on various Beagle computers. :expand:
+++ :fab:`discourse;pst-color-light` Discuss on forum
.. 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
.. grid-item-card:: Upstream wpanusb and bcfserial :fab:`linux;pst-color-primary` Linux kernel improvements :bdg-success:`Medium complexity` :bdg-success-line:`175 hours`
:link: https://forum.beagleboard.org/t/upstream-wpanusb-and-bcfserial/37186
^^^^
:fab:`linux;pst-color-primary` Linux kernel improvements 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.
:bdg-success:`Medium complexity` :bdg-success-line:`Medium size` | **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 <https://forum.beagleboard.org/u/ayush1325>`_, `Jason Kridner <https://forum.beagleboard.org/u/jkridner>`_
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.
+++ .. button-link:: https://forum.beagleboard.org/t/upstream-wpanusb-and-bcfserial/37186
.. button-link:: https://forum.beagleboard.org/t/upstream-wpanusb-and-bcfserial/37186 :color: danger
:color: danger :expand:
:expand:
:fab:`discourse;pst-color-light` Discuss on forum :fab:`discourse;pst-color-light` Discuss on forum
.. grid-item-card:: ``librobotcontrol`` support for newer boards .. card:: ``librobotcontrol`` support for newer boards
:link: https://forum.beagleboard.org/t/librobotcontrol-support-for-newer-boards/37187
:fas:`wand-sparkles;pst-color-danger` Automation and industrial I/O :fas:`wand-sparkles;pst-color-danger` Automation and industrial I/O :bdg-success:`Medium complexity` :bdg-success-line:`175 hours`
:bdg-success:`Medium complexity` :bdg-success-line:`Medium size` ^^^^
^^^
Preliminary librobotcontrol support for BeagleBone AI, BeagleBone AI-64 and BeagleV-Fire has been drafted, but it 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. 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
.. button-link:: https://forum.beagleboard.org/t/librobotcontrol-support-for-newer-boards/37187 | **Hardware Skills:** `basic wiring`_, `motors`_
:color: danger | **Software Skills:** `C`_, `Linux`_
:expand: | **Possible Mentors:** `Deepak Khatri <https://forum.beagleboard.org/u/lorforlinux>`_, `Jason Kridner <https://forum.beagleboard.org/u/jkridner>`_
++++
:fab:`discourse;pst-color-light` Discuss on forum .. button-link:: https://forum.beagleboard.org/t/librobotcontrol-support-for-newer-boards/37187
:color: danger
:expand:
.. tip:: :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 <https://docs.zephyrproject.org/latest/develop/getting_started/index.html>`_
| **Possible Mentors:** `Dhruva Gole <https://forum.beagleboard.org/u/dhruvag2000>`_, `Nishanth Menon <https://forum.beagleboard.org/u/nishanth_menon>`_
| **Upstream Repository:** `The primary repository for Zephyr Project <https://github.com/zephyrproject-rtos/zephyr>`_
++++
.. 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
.. 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:
We don't want to just make more things, we want to enable individuals to make the things that dominate their lives, old/index
rather than leaving it up to someone else. Google Summer of a Code with BeagleBoard.org is a great way to learn \ No newline at end of file
skills highly in demand while making a difference in the world.
...@@ -17,13 +17,15 @@ into professional automation tasks, is strongly desired. ...@@ -17,13 +17,15 @@ into professional automation tasks, is strongly desired.
^^^^ ^^^^
- **Goal:** Complete implementation of librobotcontrol on BeagleBone AI/AI-64. - **Goal:** Complete implementation of librobotcontrol on BeagleBone AI/AI-64.
- **Hardware Skills:** Basic wiring - **Hardware Skills:** `basic wiring`_, `motors`_
- **Software Skills:** C, Linux - **Software Skills:** `C`_, `Linux`_
- **Possible Mentors:** jkridner, lorforlinux - **Possible Mentors:** `Jason Kridner <https://forum.beagleboard.org/u/jkridner>`_, `Deepak Khatri <https://forum.beagleboard.org/u/lorforlinux>`_
- **Expected Size of Project:** 350 hrs - **Expected Size of Project:** 175 hrs
- **Rating:** Medium - **Rating:** Medium
- **Upstream Repository:** https://github.com/jadonk/librobotcontrol/tree/bbai - **Upstream Repository:** `BeagleBoard.org / librobotcontrol · GitLab <https://openbeagle.org/beagleboard/librobotcontrol>`_
- **References:** - **References:**
- `Robotics Control Library — BeagleBoard Documentation <https://docs.beagle.cc/projects/librobotcontrol/docs/index.html>`_
- `Robot Control Library: Main Page <https://old.beagleboard.org/static/librobotcontrol/>`_
- http://www.strawsondesign.com/docs/librobotcontrol/index.html - http://www.strawsondesign.com/docs/librobotcontrol/index.html
++++ ++++
......
...@@ -93,7 +93,7 @@ Beagle Bone Audio Applications ...@@ -93,7 +93,7 @@ Beagle Bone Audio Applications
patch on the host computer and then copying it over to Bela where it gets executed. patch on the host computer and then copying it over to Bela where it gets executed.
One of the limitations of this two-step workflow is that the immediateness of the live-patching behaviour of Pd is lost. In this project, One of the limitations of this two-step workflow is that the immediateness of the live-patching behaviour of Pd is lost. In this project,
the student will leverage the fact that Pd communicates with its GUI via a socket to run the GUI on the host computer while running the the contributor will leverage the fact that Pd communicates with its GUI via a socket to run the GUI on the host computer while running the
audio backend on Bela. This requires a number of adaptations to Pd, including: audio backend on Bela. This requires a number of adaptations to Pd, including:
- managing the GUI startup process to allow GUI and audio backend to be started separately and connect to each other - managing the GUI startup process to allow GUI and audio backend to be started separately and connect to each other
......
...@@ -14,6 +14,48 @@ For some background, be sure to check out `simplify embedded edge AI development ...@@ -14,6 +14,48 @@ For some background, be sure to check out `simplify embedded edge AI development
<https://e2e.ti.com/blogs_/b/process/posts/simplify-embedded-edge-ai-development>`_ <https://e2e.ti.com/blogs_/b/process/posts/simplify-embedded-edge-ai-development>`_
post from TI. post from TI.
.. card:: Enhanced Media Experience with AI-Powered Commercial Detection and Replacement
:fas:`brain;pst-color-secondary` Deep Learning :bdg-success:`Medium complexity` :bdg-danger-line:`350 hours`
^^^^
Leveraging the capabilities of BeagleBoard’s powerful processing units, the project will focus on creating a real-time, efficient solution that enhances media consumption experiences by seamlessly integrating custom audio streams during commercial breaks.
| **Goal:** Build a deep learning model, training data set, training scripts, and a runtime for detection and modification of the video stream.
| **Hardware Skills:** Ability to capture and display video streams using `BeagleBone AI-64 <https://www.beagleboard.org/boards/beaglebone-ai-64>`_
| **Software Skills:** `Python <https://www.python.org/>`_, `TensorFlow <https://www.tensorflow.org/>`_, `TFlite <https://www.tensorflow.org/lite>`_, `Keras <https://www.tensorflow.org/guide/keras>`_, `GStreamer <https://gstreamer.freedesktop.org/>`_, `OpenCV <https://opencv.org/>`_
| **Possible Mentors:** `Jason Kridner <https://forum.beagleboard.org/u/jkridner>`_, `Deepak Khatri <https://forum.beagleboard.org/u/lorforlinux>`_
++++
.. button-link:: https://forum.beagleboard.org/t/enhanced-media-experience-with-ai-powered-commercial-detection-and-replacement/37358
:color: danger
:expand:
:fab:`discourse;pst-color-light` Discuss on forum
.. card:: Embedded differentiable logic gate networks for real-time interactive and creative applications
:fas:`brain;pst-color-secondary` Creative AI :bdg-success:`Medium complexity` :bdg-danger-line:`350 hours`
^^^^
This project seeks to explore the potential of creative embedded AI, specifically using `Differentiable Logic (DiffLogic) <https://github.com/Felix-Petersen/difflogic>`_, by creating a system that can perform tasks like machine listening, sensor processing, sound and gesture classification, and generative AI.
| **Goal:** Develop an embedded machine learning system on BeagleBone that leverages `Differentiable Logic (DiffLogic) <https://github.com/Felix-Petersen/difflogic>`_ for real-time interactive music creation and environment sensing.
| **Hardware Skills:** Audio and sensor IO with `Bela.io <http://bela.io>`_
| **Software Skills:** Machine learning, deep learning, BeagleBone Programmable Real Time Unit (PRU) programming (see `PRU Cookbook <https://docs.beagleboard.org/latest/books/pru-cookbook/index.html>`_).
| **Possible Mentors:** `Jack Armitage <https://forum.beagleboard.org/u/jarm>`_, `Chris Kiefer <https://forum.beagleboard.org/u/luuma>`_
++++
.. button-link:: https://forum.beagleboard.org/t/embedded-differentiable-logic-gate-networks-for-real-time-interactive-and-creative-applications/37768
:color: danger
:expand:
:fab:`discourse;pst-color-light` Discuss on forum
.. card:: .. card::
:fas:`brain;pst-color-secondary` **YOLO models on the X15/AI-64** :fas:`brain;pst-color-secondary` **YOLO models on the X15/AI-64**
......
...@@ -3,6 +3,29 @@ ...@@ -3,6 +3,29 @@
FPGA based projects FPGA based projects
#################### ####################
.. card:: Low-latency I/O RISC-V CPU core in FPGA fabric
:fas:`microchip;pst-color-primary` FPGA gateware improvements :bdg-success:`Medium complexity` :bdg-success-line:`175 hours`
^^^^
BeagleV-Fire features RISC-V 64-bit CPU cores and FPGA fabric. In that FPGA fabric, we'd like to
implement a RISC-V 32-bit CPU core with operations optimized for low-latency GPIO. This is similar
to the programmable real-time unit (PRU) RISC cores popularized on BeagleBone Black.
| **Goal:** RISC-V-based CPU on BeagleV-Fire FPGA fabric with GPIO
| **Hardware Skills:** `Verilog`_, `verification`_, `FPGA`_
| **Software Skills:** `RISC-V ISA`_, `assembly`_, `Linux`_
| **Possible Mentors:** `Cyril Jean <https://forum.beagleboard.org/u/vauban>`_, `Jason Kridner <https://forum.beagleboard.org/u/jkridner>`_
++++
.. button-link:: https://forum.beagleboard.org/t/low-latency-risc-v-i-o-cpu-core/37156
:color: danger
:expand:
:fab:`discourse;pst-color-light` Discuss on forum
.. card:: .. card::
:fas:`microchip;pst-color-secondary` **RISC-V Based PRU on FPGA** :fas:`microchip;pst-color-secondary` **RISC-V Based PRU on FPGA**
...@@ -41,7 +64,7 @@ FPGA based projects ...@@ -41,7 +64,7 @@ FPGA based projects
Beaglewire is an FPGA cape for the Beaglebone black that was developed to support a project for Beaglewire is an FPGA cape for the Beaglebone black that was developed to support a project for
the 2017 season of GSoC. This first year of Beaglewire support was very intensive and there some the 2017 season of GSoC. This first year of Beaglewire support was very intensive and there some
issues were left to be resolved. The most notable known issue is with the SDRAM interface working issues were left to be resolved. The most notable known issue is with the SDRAM interface working
sporadically. A student interested in Verilog, kernel coding and hardware would be an ideal candidate. sporadically. A contributor interested in Verilog, kernel coding and hardware would be an ideal candidate.
Each of the subsystems (SPI, PWM, UART, SDRAM, etc) can be tested, corrected if necessary and improved Each of the subsystems (SPI, PWM, UART, SDRAM, etc) can be tested, corrected if necessary and improved
if desired. Furthermore, it may be interesting to implement nMigen support for flexible python if desired. Furthermore, it may be interesting to implement nMigen support for flexible python
based gateware support as a stretch goal. based gateware support as a stretch goal.
......
.. _gsoc-old-ideas:
Old GSoC Ideas
##############
.. toctree::
automation-and-industrial-io
beaglebone-audio-applications
beagleconnect-technology
bela-applications
deep-learning
fpga-projects
linux-kernel-improvements
other-projects
rtos-microkernel-improvements
security-and-privacy
soft-peripherals-using-co-processors