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
  • Sahil7741/gsoc.beagleboard.io
  • Whiz-Manas/mana-gsoc-beagleboard-io
  • fayezzouari/gsoc.beagleboard.io
  • ketanthorat/gsoc.beagleboard.io
33 results
Show changes
Commits on Source (298)
Showing
with 581 additions and 180 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
...@@ -6,7 +6,7 @@ Status updates for BeagleBoard.org's Google Summer of Code program. ...@@ -6,7 +6,7 @@ Status updates for BeagleBoard.org's Google Summer of Code program.
Primary resources: Primary resources:
* [Forum](https://forum.beagleboard.org/c/gsoc) * [Forum](https://bbb.io/gsocml)
* [Live chat](https://bbb.io/gsocchat) * [Live chat](https://bbb.io/gsocchat)
* [Project documentation template](https://gsoc.beagleboard.io/project-docs-template) * [Project documentation template](https://gsoc.beagleboard.io/project-docs-template)
......
.. _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,12 +66,28 @@ html_css_files = [ ...@@ -57,12 +66,28 @@ 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": False, "show_prev_next": True,
"icon_links": [ "icon_links": [
{ {
"name": "OpenBeagle", "name": "OpenBeagle",
...@@ -78,13 +103,13 @@ html_theme_options = { ...@@ -78,13 +103,13 @@ html_theme_options = {
}, },
{ {
"name": "Discord", "name": "Discord",
"url": "https://discord.com/invite/e58xECGWfR", "url": "https://bbb.io/gsocchat",
"icon": "fa-brands fa-discord", "icon": "fa-brands fa-discord",
"attributes": {"target": "_blank"}, "attributes": {"target": "_blank"},
}, },
{ {
"name": "Forum", "name": "Forum",
"url": "https://forum.beagleboard.org/c/gsoc", "url": "https://bbb.io/gsocml",
"icon": "fa-brands fa-discourse", "icon": "fa-brands fa-discourse",
"attributes": {"target": "_blank"}, "attributes": {"target": "_blank"},
}, },
...@@ -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 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,8 +190,9 @@ latex_elements = { ...@@ -165,8 +190,9 @@ 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 = []
for proposal in proposals: for proposal in proposals:
latex_documents.append(("proposals/"+proposal, proposal+".tex", "",author, "manual")) latex_documents.append(("proposals/"+proposal, proposal+".tex", "",author, "manual"))
\ No newline at end of file
.. _gsoc-contributor-guide:
Contributor Guide
#################
.. youtube:: YN7uGCg5vLg
:width: 100%
: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
********************
.. 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:
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.
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 “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**.
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.
.. important::
To help you to break your project down into manageable chunks and also to help the project’s mentors to better support
your efforts, weekly project status reports should be e-mailed to the the `Beagle Forum <http://bbb.io/gsocml>`_.
Each status report should be posted by every Monday and must include these outlines:
1. Accomplishments
2. Resolutions to blockers
3. On-going blockers
4. Plans for this week
For example, `Weekly Progress Report Thread:
Cape Compatibility <https://forum.beagleboard.org/t/weekly-progress-report-thread-cape-compatibility/28709/9>`_
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
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>`_
and `Forum <https://bbb.io/gsocml>`_. There are many potential project ideas and we will match contributors to projects
based on their interests and help scope the proposals to something that can be completed in the Summer of Code timeframe.
.. tip::
There are more than a thousand existing projects listed at `Projects Archive <http://www.beagleboard.org/projects>`_.
If you are interested in any of the projects listed on the `BeagleBoard.org <https://www.beagleboard.org/>`_ projects page,
contact the project members to see if there are any aspects of their projects that can be enhanced to create a GSoC project.
There are also several ideas on the `ECE497 class project idea list <https://elinux.org/ECE497_Project_Ideas>`_.
Note, however, we are looking for projects that provide a service to the developer community and aren’t simply “look what cool
thing I made or you can make”. The projects should provide a useful software component for other people to utilize.
...@@ -3,19 +3,34 @@ ...@@ -3,19 +3,34 @@
Guides Guides
###### ######
This section includes guides for :ref:`students <gsoc-student-guide>` & :ref:`mentors <gsoc-mentor-guide>` who want to participate .. youtube:: 7jD2tChhrWM
in GSoC 2024 with `BeagleaBoard.org <www.beagleboard/org>`_. It's highly recommended to check `GSoC Frequently Asked Questions :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
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-contribution-guide>`. a step by step :ref:`contribution guide <gsoc-site-editing-guide>`.
.. card:: .. card::
:link: gsoc-student-guide :link: gsoc-contributor-guide
:link-type: ref :link-type: ref
:fas:`graduation-cap` **Student Guide** :fas:`graduation-cap` **Contributor Guide**
^^^^ ^^^^
If you want to increase your chances of being accepted into (and succeed during) Google Summer of Code we strongly If you want to increase your chances of being accepted into (and succeed during) Google Summer of Code, we strongly
encourage you to read this guide! It is particularly helpful for tips on writing a good project proposal and how encourage you to read this guide! It is particularly helpful for tips on writing a good project proposal and how
potential contributors should interact with the communities they are interested in working with during the program. potential contributors should interact with the communities they are interested in working with during the program.
...@@ -26,7 +41,7 @@ a step by step :ref:`contribution guide <gsoc-contribution-guide>`. ...@@ -26,7 +41,7 @@ a step by step :ref:`contribution guide <gsoc-contribution-guide>`.
:fas:`person-chalkboard` **Mentor Guide** :fas:`person-chalkboard` **Mentor Guide**
^^^^ ^^^^
If you want to mentor a students for GSoC this year read this short guide made for mentors wondering where to help. If you want to mentor for GSoC this year, read this short guide made for mentors wondering where to help.
.. card:: .. card::
:link: gsoc-proposal-guide :link: gsoc-proposal-guide
...@@ -35,17 +50,17 @@ a step by step :ref:`contribution guide <gsoc-contribution-guide>`. ...@@ -35,17 +50,17 @@ a step by step :ref:`contribution guide <gsoc-contribution-guide>`.
:fas:`file` **Proposal Guide** :fas:`file` **Proposal Guide**
^^^^ ^^^^
To create an proposal on ``gsoc.beagleboar.io`` we have provided a reStructuredText tempalte. The tamplate can be used To create an proposal on ``gsoc.beagleboard.io``, we have provided a reStructuredText template. The tamplate can be used
to create a live HTML version of the proposal as well as generate a PDF version for GSoC submission. to create a live HTML version of the proposal as well as generate a PDF version for GSoC submission.
.. card:: .. card::
:link: gsoc-contribution-guide :link: gsoc-site-editing-guide
:link-type: ref :link-type: ref
:fas:`file-signature` **Contribution Guide** :fas:`file-signature` **Site Editing Guide**
^^^^ ^^^^
For anyone who is looking to make changes to ``gsoc.beagleboard.io`` site, you can checkout our contribution guide. We have For anyone who is looking to make changes to the ``gsoc.beagleboard.io`` site, you can checkout our site editing guide. We have
provided information on how to use OpenBeagle's integrated ``Web IDE`` for editing, ``CI`` for building and ``pages`` for provided information on how to use OpenBeagle's integrated ``Web IDE`` for editing, ``CI`` for building and ``pages`` for
serving the rendered content. serving the rendered content.
...@@ -55,7 +70,7 @@ a step by step :ref:`contribution guide <gsoc-contribution-guide>`. ...@@ -55,7 +70,7 @@ a step by step :ref:`contribution guide <gsoc-contribution-guide>`.
:hidden: :hidden:
:maxdepth: 2 :maxdepth: 2
student contributor
mentor mentor
proposal proposal
contrib site-editing
\ No newline at end of file
.. _gsoc-mentor-guide: .. _gsoc-mentor-guide:
Mentor guide Mentor Guide
############ ############
Please start by registering your ideas for student projects below by following the template provided with the existing ideas. Furthermore, scroll down to the bottom and give everyone a bit of information about your expertise and availability by adding yourself to the table. Jason will make final approvals for mentor assignments based on if we first get accepted as a mentoring organization and best matching mentor skill sets with student project ideas deemed valuable to the community. .. youtube:: 3J_eBuYxcyg
:width: 100%
:align: center
You will also need be invited by an administrator to register on the GSoC site and request to be a mentor for BeagleBoard.org 8. .. important::
\ No newline at end of file
As a mentor you have to guide contributors through the entire process of GSoC, from learning
about `BeagleBoard.org <https://www.beagleboard.org/>`_ community, to helping GSoC Contributors
become familiar with the code base and testing practices, to finally releasing their code on
`OpenBeagle <https://openbeagle.org/>`_ for the world to use!
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/>`_.
Who Are Mentors?
****************
`Mentors <https://google.github.io/gsocguides/mentor/>`_ are people from the community who volunteer to work
with a GSoC contributor. Mentors provide guidance such as pointers to useful documentation, code reviews, etc.
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/>`_
always assigns more than one mentor to each of GSoC contributor. Many members of `BeagleBoard.org <https://www.
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
`Forum <https://bbb.io/gsocml>`_.
Idea Submission Process
***********************
Mentors should:
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 contributors.
Only ideas deemed by administrators as being sufficiently supported by qualified mentors will be merged.
.. admonition:: Remember
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.
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
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
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!
.. tip::
Check out the `official GSoC mentor guide <https://google.github.io/gsocguides/mentor/>`_ from Google.
.. _gsoc-proposal-guide: .. _gsoc-proposal-guide:
Proposal guide Proposal Guide
############### ###############
\ No newline at end of file
.. admonition:: Did you know?
Each year Google turns down many more applicants than it funds. While pre-proposal activities are key to
improving your chances of success, a poorly-written proposal is an easy way to fail. There is much you can
do to ensure that your project proposal catches the attention of organization reviewers in a positive way.
How to write a successful proposal
***********************************
`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
not be accepted by any organization participating in GSoC.
How to write an *unsuccessful* proposal
========================================
Unsuccessful proposals often:
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”,
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.
Please be considerate of the time it takes for us to weed out these bad proposals.
Elements of a successful proposal
==================================
In order to be successful, a proposal has to be:
1. Relevant to `BeagleBoard.org <https://www.beagleboard.org/>`_,
2. Around a topic that the mentors recognize from being discussed on our `Forum <https://bbb.io/gsocml>`_, possibly on our :ref:`gsoc-project-ideas` page, and sufficiently detailed that the mentors know exactly what you’ll be creating and when it will be done,
3. Shown to mentors via our `Forum <https://bbb.io/gsocml>`_ well before the submission deadline, so that the mentors can comment on it and offer suggestions that improve the proposal.
.. tip::
Start your proposal early, speak with the mentors often, and dedicate an appropriate amount of time to both thinking
about the deliverables for your project and how you can describe those deliverables in writing.
Using proposal template
************************
To make the project proposal writing process easier for all the GSoC contributors we have created a :ref:`gsoc-proposal-template`.
.. 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
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
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,
1. Create a copy of ``gsoc.beagleboard.io/proposals/template.rst`` in ``gsoc.beagleboard.io/proposals`` folder. Rename the file to reflect your project (``project-name.rst``) or your initials (``<myname>.rst``). It's recommended to follow the structure and use a filename with all smallcase letters and without any space.
2. Start editing your proposal, it should be straightforward if you already know reStructuredText. Don't worry if you are new to reStructuredText, checkout our `ReStructuredText Cheat Sheet <https://docs.beagleboard.org/latest/intro/contribution/rst-cheat-sheet.html>`_ which should guide you through writing your proposal using reStructuredText.
3. Commit your changes and push to your fork often. Share the commit links with mentors so that they can review your proposal drafts and provide their valuable feedback.
4. Check rendered version of your proposal on OpenBeagle pages, to view a rendered version of your updates you can go to ``<username>.beagleboard.org/<repo name>`` where ``username`` is your OpenBeagle username and ``<repo name>`` is the repository name you have selected while forking the project. For example, if username is ``lorforlinux`` and project name is ``gsoc.beagleboard.io`` the rendered site can be accessed live via `lorforlinux.beagleboard.io/gsoc.beagleboard.io <http://lorforlinux.beagleboard.io/gsoc.beagleboard.io>`_.
.. tip::
1. For quick review, you can share OpenBeagle pages link with mentors and community members on our `Discord <https://bbb.io/gsocchat>`_ or `Forum <https://bbb.io/gsocml>`_.
2. On secondry (right) side bar you will see a **PDF download button** like shown below. Click that button on your proposal page to download PDF version of your proposal which you can submit directly on GSoC porposal submission portal.
.. raw:: html
<a role="button" href="">
<i class="fa-solid fa-download"></i> Download PDF
</a>
.. _gsoc-contribution-guide: .. _gsoc-site-editing-guide:
Contribution guide Site Editing Guide
################### ##################
`GSoC <https://gsoc.beagleboard.io/>`_ site uses `OpenBeagle Continous Integration (CI) / Continous Development `GSoC <https://gsoc.beagleboard.io/>`_ site uses `OpenBeagle Continous Integration (CI) / Continous Development
(CD) <https://docs.gitlab.com/ee/ci/>`_ which is a continuous method of software development, where (CD) <https://docs.gitlab.com/ee/ci/>`_ which is a continuous method of software development, where
...@@ -11,18 +11,24 @@ simple steps provided below. ...@@ -11,18 +11,24 @@ simple steps provided below.
.. note:: `OpenBeagle <https://openbeagle.org/>`_ is a self hosted instance of open source program called `GitLab <https://about.gitlab.com/>`_. .. note:: `OpenBeagle <https://openbeagle.org/>`_ is a self hosted instance of open source program called `GitLab <https://about.gitlab.com/>`_.
.. tip:: If you want to build on your local machine we have added ``venv-build-env.sh`` and ``requirements.txt`` .. tip::
If you want to build on your local machine we have added ``venv-build-env.sh`` and ``requirements.txt``
to help you setup sphinx and all the other dependencies. Execute these commands in your terminal, to help you setup sphinx and all the other dependencies. Execute these commands in your terminal,
Install python modules and setup virtual environment,
.. code:: shell .. code:: shell
chmod +x venv-build-env.sh . ./venv-build-env.sh
Build and serve it live using ``sphinx-autobuild``,
.. code:: shell .. code:: shell
make livehtml make livehtml
Now, you can open `http://127.0.0.1:8000 <http://127.0.0.1:8000>`_ on any browser to see the rendered HTML with live updates. Now, you can open `http://127.0.0.1:8000 <http://127.0.0.1:8000>`_ on any browser to see the rendered HTML with live updates.
Clear cookies and site data in your browser window to view up to date site.
Fork the project Fork the project
***************** *****************
...@@ -62,7 +68,7 @@ After selecting the file you have to click on ``edit button`` and then choose ei ...@@ -62,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.
...@@ -101,11 +107,11 @@ Now you have to select a file and start editing. Below image shows some, ...@@ -101,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
...@@ -126,17 +132,17 @@ ee/user/project/protected_branches.html>`_ by default. ...@@ -126,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
...@@ -150,15 +156,15 @@ Create a pull request ...@@ -150,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.
...@@ -166,5 +172,5 @@ below shows all the feilds you have to update, ...@@ -166,5 +172,5 @@ below shows all the feilds you have to update,
.. image:: media/merge-request.png .. image:: media/merge-request.png
:align: center :align: center
Now wait for the review and if comments/requests are raised then you can continue working on the project Now wait for a review and, if comments are raised, then you can continue working on the project
until everything looks perfect and your changes are merged in upstream. until everything looks perfect and your changes are merged in upstream.
.. _gsoc-student-guide:
Student guide
#############
General requirements
********************
All projects have the following basic requirements:
1. Students must create accounts on `OpenBeagle <https://openbeagle.org/>`_, `Discord <http://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 students shall retain copyright on their works.
3. Students 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 `Discord <http://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 “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 <http://beagleboard.org/>`_ community.
5. Students will demonstrate their ability to collaborate by creating a project proposal on this site using our :ref:`proposal template <proposal_template>` and utilizing `Discord <http://bbb.io/gsocchat>`_ to collect quotes regarding the usefulness of their proposal to the `BeagleBoard.org <http://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 (and we’ll setup a mirror on `Github.com <http://github.com/>`_).
7. Students 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 on `http://beagleboard.org/gsoc <http://beagleboard.org/gsoc>`_. There is no requirement to show your faces or use English.
.. important::
To help you to break your project down into manageable chunks and also to help the project’s mentors to better support
your efforts, weekly project status reports should be e-mailed to the the `Beagle Forum <http://bbb.io/gsocml>`_.
Each status report should be posted by every Monday and must include these outlines:
1. Accomplishments
2. Resolutions to blockers
3. On-going blockers
4. Plans for this week
For example, `Weekly Progress Report Thread:
Cape Compatibility <https://forum.beagleboard.org/t/weekly-progress-report-thread-cape-compatibility/28709/9>`_
\ No newline at end of file
: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 of computers dedicated a specific collections of functions and connected 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? .. admonition:: How to participate?
BeagleBoard.org has been accepted to be a mentoring organization in the Google Summer of Code (GSoC) for twelve previous years! 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 <https://forum.beagleboard.org/tag/gsoc-ideas>`_.
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.
.. admonition:: How to participate? .. card:: Upstream Greybus module for Zephyr
Students are expeced to go through the list of ideas below, and check out the corresponding forum link by clicking on :fas:`timeline;pst-color-secondary` RTOS/microkernel imporvements :bdg-success:`Medium complexity` :bdg-danger-line:`350 hours`
``Discuss on forum`` button for additional discussions around the idea. All ideas have colorful badges for ``Complexity`` and
``Size`` for making the selection process easier for students.
.. table:: ^^^^
+------------------------------------+------------------------------------+ 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.
| Complexity | Size |
+====================================+====================================+ 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
| :bdg-danger:`High complexity` | :bdg-danger-line:`Large size` |
+------------------------------------+------------------------------------+ | **Goal:** Add testing, cleanup mikroBUS support, submit upstream and respond to feedback.
| :bdg-success:`Medium complexity` | :bdg-success-line:`Medium size` | | **Hardware Skills:** basic wiring
+------------------------------------+------------------------------------+ | **Software Skills:** device-tree, C, ZephyrRTOS, Linux, TCP.
| :bdg-info:`Low complexity` | :bdg-info-line:`Small size` | | **Possible Mentors:** `Ayush Singh <https://forum.beagleboard.org/u/ayush1325>`_, `Jason Kridner <https://forum.beagleboard.org/u/jkridner>`_
+------------------------------------+------------------------------------+
.. important:: ++++
BeagleBoard.org is a community centric organization and we keep all of our discussion open for our .. button-link:: https://forum.beagleboard.org/t/upstream-greybus-module-for-zephyr/41170
community on `forum <https://forum.beagleboard.org/>`_. Discussion for all the ideas/projects will :color: danger
be done via `forum <https://forum.beagleboard.org/>`_ as well and must be open for everyone to access. **No :expand:
direct messages should be sent to mentors or community members until unless there is a private matter.**
.. admonition:: How to participate? :fab:`discourse;pst-color-light` Discuss on forum
Students are expeced to go through the list of ideas below, and check out the corresponding forum link for additional .. card:: A Conversational AI Assistant for BeagleBoard using RAG and Fine-tuning
discussions around the idea.
.. grid:: 1 1 1 2 :fas:`brain;pst-color-secondary` Deep Learning :bdg-success:`Medium complexity` :bdg-success-line:`175 hours`
:margin: 4 4 0 0
:gutter: 4
.. grid-item-card:: Low-latency I/O RISC-V CPU core in FPGA fabric ^^^^
:link: https://forum.beagleboard.org/t/low-latency-risc-v-i-o-cpu-core/37156
:fas:`microchip;pst-color-primary` FPGA gateware improvements 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.
:bdg-success:`Medium complexity` :bdg-success-line:`Medium size` | **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/>`_
++++
BeagleV-Fire features RISC-V 64-bit CPU cores and FPGA fabric. In that FPGA fabric, we'd like to .. button-link:: https://forum.beagleboard.org/t/beaglemind/40806
implement a RISC-V 32-bit CPU core with operations optimized for low-latency GPIO. This is similar :color: danger
to the programmable real-time unit (PRU) RISC cores popularized on BeagleBone Black. :expand:
+++ :fab:`discourse;pst-color-light` Discuss on forum
.. 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:: Update beagle-tester for mainline testing
: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 ^^^^
:link: https://forum.beagleboard.org/t/update-beagle-tester-for-cape-mikrobus-new-board-and-upstream-testing/37279
:fab:`linux;pst-color-primary` Linux kernel improvements 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.
:bdg-success:`Medium complexity` :bdg-danger-line:`Large size` | **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>`_
Utilize the ``beagle-tester`` application and ``Buildroot`` along with device-tree and udev symlink concepts within ++++
the OpenBeagle GitLab continuous integration server context to create a regression test suite for the Linux kernel
and device-tree overlays on various Beagle computers.
+++ .. button-link:: https://forum.beagleboard.org/t/update-beagle-tester-for-cape-mikrobus-new-board-and-upstream-testing/37279
.. button-link:: https://forum.beagleboard.org/t/update-beagle-tester-for-cape-mikrobus-new-board-and-upstream-testing/37279 :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:: Upstream wpanusb and bcfserial .. card:: Upstream wpanusb and bcfserial
:link: https://forum.beagleboard.org/t/upstream-wpanusb-and-bcfserial/37186
:fab:`linux;pst-color-primary` Linux kernel improvements :fab:`linux;pst-color-primary` Linux kernel improvements :bdg-success:`Medium complexity` :bdg-success-line:`175 hours`
^^^^
:bdg-success:`Medium complexity` :bdg-success-line:`Medium size` 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.
These are the drivers that are used to enable Linux to use a BeagleConnect Freedom as a SubGHz IEEE802.15.4 radio (gateway). | **Goal:** Add functional gaps, submit upstream patches for these drivers and respond to feedback
They need to be part of upstream Linux to simplify on-going support. There are several gaps that are known before they are | **Hardware Skills:** `wireless communications`_
acceptable upstream. | **Software Skills:** `C`_, `Linux`_
| **Possible Mentors:** `Ayush Singh <https://forum.beagleboard.org/u/ayush1325>`_, `Jason Kridner <https://forum.beagleboard.org/u/jkridner>`_
+++ ++++
.. button-link:: https://forum.beagleboard.org/t/upstream-wpanusb-and-bcfserial/37186
:color: danger
:expand:
:fab:`discourse;pst-color-light` Discuss on forum .. button-link:: https://forum.beagleboard.org/t/upstream-wpanusb-and-bcfserial/37186
:color: danger
:expand:
.. grid-item-card:: librobotcontrol support for newer boards :fab:`discourse;pst-color-light` Discuss on forum
:link: https://forum.beagleboard.org/t/librobotcontrol-support-for-newer-boards/37187
:fas:`wand-sparkles;pst-color-danger` Automation and industrial I/O .. card:: ``librobotcontrol`` support for newer boards
:bdg-success:`Medium complexity` :bdg-success-line:`Medium size` :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.
+++ Preliminary librobotcontrol support for BeagleBone AI, BeagleBone AI-64 and BeagleV-Fire has been drafted, but it
.. button-link:: https://forum.beagleboard.org/t/librobotcontrol-support-for-newer-boards/37187 needs to be cleaned up. We can also work on support for Raspberry Pi if UCSD releases their Hat for it.
:color: danger
:expand:
:fab:`discourse;pst-color-light` Discuss on forum | **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 <https://forum.beagleboard.org/u/lorforlinux>`_, `Jason Kridner <https://forum.beagleboard.org/u/jkridner>`_
++++
.. tip:: .. 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 <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
.. 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 <https://forum.beagleboard.org/u/giuliomoro>`_
| **Upstream Repository:** `Design files for the Bela cape Rev C <https://github.com/BelaPlatform/bela-hardware/tree/master/cape/bela_cape_rev_C3>`_
| **References:** `The Bela repo shows how to access these devices with a custom driver and DMA running on the PRU. <https://github.com/BelaPlatform/Bela/blob/master/pru/pru_rtaudio_irq.p>`_
++++
.. 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:
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
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**
......