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 (265)
Showing
with 507 additions and 191 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:
tags:
- docker-amd64
before_script:
- source ./venv-build-env.sh
script:
- "./gitlab-build.sh"
artifacts:
paths:
- public
\ No newline at end of file
- public
......@@ -6,7 +6,7 @@ Status updates for BeagleBoard.org's Google Summer of Code program.
Primary resources:
* [Forum](https://forum.beagleboard.org/c/gsoc)
* [Forum](https://bbb.io/gsocml)
* [Live chat](https://bbb.io/gsocchat)
* [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" %}
{% for proposal_name in proposals %}
{% if pagename == "proposals/"+proposal_name %}
<a class="btn btn-danger btn-sm btn-block text-light" role="button" href="{{proposal_name}}.pdf">
<i class="fa-solid fa-download"></i> {{proposal_name}}.pdf
<a role="button" href="{{proposal_name}}.pdf">
<i class="fa-solid fa-download"></i> Download PDF
</a>
{% endif %}
{% endfor %}
......
......@@ -17,15 +17,24 @@ from sphinx.application import Sphinx
sys.path.append(str(Path(".").resolve()))
project = 'gsoc.beagleboard.io'
copyright = '2024, BeagleBoard.org'
copyright = '2025, 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 ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
extensions = [
"sphinx_design",
"sphinxcontrib.youtube",
"sphinxcontrib.images",
"sphinx_copybutton"
]
......@@ -57,12 +66,28 @@ html_css_files = [
# Pages entry without primary (left) sidebar
html_sidebars = {
"ideas/index": [],
"**": ["sidebar-nav-bs", "mission"],
"ideas/index": [],
"index": []
}
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,
"show_prev_next": False,
"show_prev_next": True,
"icon_links": [
{
"name": "OpenBeagle",
......@@ -78,13 +103,13 @@ html_theme_options = {
},
{
"name": "Discord",
"url": "https://discord.com/invite/e58xECGWfR",
"url": "https://bbb.io/gsocchat",
"icon": "fa-brands fa-discord",
"attributes": {"target": "_blank"},
},
{
"name": "Forum",
"url": "https://forum.beagleboard.org/c/gsoc",
"url": "https://bbb.io/gsocml",
"icon": "fa-brands fa-discourse",
"attributes": {"target": "_blank"},
},
......@@ -106,8 +131,8 @@ html_theme_options = {
"use_edit_page_button": True,
"show_toc_level": 1,
"navbar_align": "right",
"show_nav_level": 2,
"announcement": "Welcome to new site for BeagleBoard.org GSoC 2024 projects!",
"show_nav_level": 1,
"announcement": "Welcome to the site for BeagleBoard.org GSoC 2025 projects!",
# "show_version_warning_banner": True,
"navbar_center": ["navbar-nav"],
"navbar_start": ["navbar-logo"],
......@@ -117,8 +142,8 @@ html_theme_options = {
"footer_end": ["last-updated"],
# "content_footer_items": ["last-updated"],
"secondary_sidebar_items": {
"**": ["page-toc", "edit-this-page", "sourcelink","pdf"]
}
"**": ["page-toc", "edit-this-page", "sourcelink","pdf","forum"]
},
}
proposals = []
......@@ -152,7 +177,7 @@ html_context = {
latex_elements = {
"papersize": "a4paper",
"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(
(
"verbatimwithframe=false",
......@@ -165,8 +190,9 @@ latex_elements = {
),
}
sd_fontawesome_latex = True
latex_engine = "xelatex"
latex_logo = str("_static/images/logo-latex.pdf")
latex_documents = []
for proposal in proposals:
latex_documents.append(("proposals/"+proposal, proposal+".tex", "",author, "manual"))
\ No newline at end of file
latex_documents.append(("proposals/"+proposal, proposal+".tex", "",author, "manual"))
.. _gsoc-student-guide:
.. _gsoc-contributor-guide:
Student 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. 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 “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.
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 <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 (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.
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::
......@@ -34,11 +48,11 @@ All projects have the following basic requirements:
For example, `Weekly Progress Report Thread:
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
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 students develop ideas into projects via `Discord <http://bbb.io/gsocchat>`_
and `Forum <https://forum.beagleboard.org/c/gsoc>`_. There are many potential project ideas and we will match students to projects
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::
......
......@@ -3,19 +3,34 @@
Guides
######
This section includes guides for :ref:`students <gsoc-student-guide>` & :ref:`mentors <gsoc-mentor-guide>` who want to participate
in GSoC 2024 with `BeagleaBoard.org <www.beagleboard/org>`_. It's highly recommended to check `GSoC Frequently Asked Questions
.. 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
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
a step by step :ref:`contribution guide <gsoc-contribution-guide>`.
a step by step :ref:`contribution guide <gsoc-site-editing-guide>`.
.. card::
:link: gsoc-student-guide
:link: gsoc-contributor-guide
: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
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>`.
: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::
:link: gsoc-proposal-guide
......@@ -35,17 +50,17 @@ a step by step :ref:`contribution guide <gsoc-contribution-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.
.. card::
:link: gsoc-contribution-guide
:link: gsoc-site-editing-guide
: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
serving the rendered content.
......@@ -55,7 +70,7 @@ a step by step :ref:`contribution guide <gsoc-contribution-guide>`.
:hidden:
:maxdepth: 2
student
contributor
mentor
proposal
contrib
\ No newline at end of file
site-editing
.. _gsoc-mentor-guide:
Mentor guide
Mentor Guide
############
.. youtube:: 3J_eBuYxcyg
:width: 100%
:align: center
.. important::
.. important::
As a mentor you have to guide students/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
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 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/>`_.
`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/>`_
assign more than one mentor to each of their GSoC contributors. Many members of `BeagleBoard.org <https://www.
beagleboard.org/>`_ community also provide guidance to GSoC contributors without mentoring in an “official”
capacity, as much as they would answer anyone’s questions on `Discord <http://bbb.io/gsocchat>`_ and
`Forum <https://forum.beagleboard.org/c/gsoc>`_.
.. note::
Official mentors can use :ref:`gsoc-project-ideas` page as template for providing their own project ideas.
Remember these are supposed to be for software projects that service the Beagle and general open source
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, sudents will use `Discord <http://bbb.io/gsocchat>`_ and `Forum <https://forum.beagleboard.org/c/gsoc>`_
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 students will come via the Google system.
We will only approve official mentors who have a prove track record with Beagle, but welcome all community members to provide guidance to both
mentors and students 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!
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::
.. tip::
Check out the `official GSoC mentor guide <https://google.github.io/gsocguides/mentor/>`_ from Google.
.. _gsoc-proposal-guide:
Proposal guide
Proposal Guide
###############
.. admonition:: Did you know?
......@@ -9,24 +9,33 @@ Proposal guide
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?
How to write a successful proposal
***********************************
`BeagleBoard.org <https://www.beagleboard.org/>`_ has received a large number of GSoC student proposals over the years
that we have participated in the program. Some of these proposals are quite good, but many are poor proposals that would
not be accepted by any organization participating in GSoC. Unsuccessful proposals often do/have the following:
`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.
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>`_.
2. Roughly a half page of “proposal” that is submitted shortly before the submission deadline. These proposals are usually little more than a name, contact information, and a statement of “I will work hard.”
3. A generic proposal that was sent to every other GSoC org that has very few details on deliverables or schedule.
4. A project idea that was never talked about to the `BeagleBoard.org <https://www.beagleboard.org/>`_ mentors in `Discord <http://bbb.io/gsocchat>`_ or in `Forum <https://forum.beagleboard.org/c/gsoc>`_. The proposal was submitted without ever “meeting” the Beagle community.
How to write an *unsuccessful* proposal
========================================
In order to be successful, a proposal has to be relevant to `BeagleBoard.org <https://www.beagleboard.org/>`_, a proposal
topic that the mentors recognize (either from being proposed on :ref:`gsoc-project-ideas` page or from the topic being
discussed on our `Discord <http://bbb.io/gsocchat>`_ or in `Forum <https://forum.beagleboard.org/c/gsoc>`_), and sufficiently
detailed that the mentors know exactly what you’ll be creating and when it will be done. Successful proposals are also almost
always shown to mentors via Discord or IRC well before the submission deadline so that the mentors can comment on it and offer
suggestions that improve the 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
......@@ -35,13 +44,13 @@ suggestions that improve the proposal.
Using proposal template
************************
To make the project proposal writing process easier for all the GSoC contributors/students we have created a :ref:`gsoc-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-contribution-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. Instruction for
setting up Sphinx on local machine are also provided on :ref:`gsoc-contribution-guide`. For any query you can reach out on
`Discord <http://bbb.io/gsocchat>`_ or `Forum <https://forum.beagleboard.org/c/gsoc>`_.
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,
......@@ -51,14 +60,13 @@ You can either open your cloned `gsoc.beagleboard.io repo <https://openbeagle.or
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 `Discord <http://bbb.io/gsocchat>`_ or `Forum <https://forum.beagleboard.org/c/gsoc>`_.
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
<br>
<a class="btn btn-danger btn-sm btn-block text-light" role="button" href="/proposals/template.pdf">
<i class="fa-solid fa-download"></i> template.pdf
<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
(CD) <https://docs.gitlab.com/ee/ci/>`_ which is a continuous method of software development, where
......@@ -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/>`_.
.. 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,
Install python modules and setup virtual environment,
.. code:: shell
chmod +x venv-build-env.sh
. ./venv-build-env.sh
Build and serve it live using ``sphinx-autobuild``,
.. code:: shell
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
*****************
......@@ -62,7 +68,7 @@ After selecting the file you have to click on ``edit button`` and then choose ei
.. note::
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
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.
......@@ -101,11 +107,11 @@ Now you have to select a file and start editing. Below image shows some,
:align: center
.. 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``.
.. image:: media/commit-changes.png
......@@ -126,17 +132,17 @@ ee/user/project/protected_branches.html>`_ by default.
.. image:: media/commit-branch.png
: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
two button,
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 buttons,
1. ``Got to Project``
1. ``Go to Project``
2. ``Continue working``
.. image:: media/commit-success.png
: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
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
:align: center
......@@ -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
<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
below shows all the feilds you have to update,
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 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.
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.
5. If you want your commits to be shows 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.
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.
.. 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.
......@@ -166,5 +172,5 @@ below shows all the feilds you have to update,
.. image:: media/merge-request.png
: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.
:html_theme.sidebar_primary.remove: true
:sd_hide_title: true
.. _gsoc-project-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
: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` |
+------------------------------------+-------------------------------+
.. admonition:: How to participate?
.. tip::
Below are the latest project ideas, you can also check our our :ref:`gsoc-old-ideas` and :ref:`Past_Projects` for inspiration.
Students are expected to go through the list of ideas below, and check out the corresponding forum link by clicking on
``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.
.. card:: A Conversational AI Assistant for BeagleBoard using RAG and Fine-tuning
.. table::
:fas:`brain;pst-color-secondary` Deep Learning :bdg-success:`Medium complexity` :bdg-success-line:`175 hours`
+------------------------------------+------------------------------------+
| Complexity | Size |
+====================================+====================================+
| :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::
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.
BeagleBoard.org is a community centric organization and we keep all of our discussion open for our
community on our `forum <https://forum.beagleboard.org/c/gsoc>`_. Discussion for all the project ideas, proposals or development will
be done via our `forum <https://forum.beagleboard.org/c/gsoc>`_ 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.**
| **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/>`_
++++
.. grid:: 1 1 1 2
:margin: 4 4 0 0
:gutter: 4
.. button-link:: https://forum.beagleboard.org/t/beaglemind/40806
:color: danger
:expand:
.. 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
:fab:`discourse;pst-color-light` Discuss on forum
:fas:`microchip;pst-color-primary` FPGA gateware improvements
.. card:: Update beagle-tester for mainline testing
:bdg-success:`Medium complexity` :bdg-success-line:`Medium size`
^^^
:fab:`linux;pst-color-primary` Linux kernel improvements :bdg-success:`Medium complexity` :bdg-danger-line:`350 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.
^^^^
+++
.. button-link:: https://forum.beagleboard.org/t/low-latency-risc-v-i-o-cpu-core/37156
:color: danger
:expand:
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.
:fab:`discourse;pst-color-light` Discuss on forum
| **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>`_
++++
.. 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
.. button-link:: https://forum.beagleboard.org/t/update-beagle-tester-for-cape-mikrobus-new-board-and-upstream-testing/37279
:color: danger
:expand:
:fab:`linux;pst-color-primary` Linux kernel improvements
:fab:`discourse;pst-color-light` Discuss on forum
:bdg-success:`Medium complexity` :bdg-danger-line:`Large size`
^^^
.. card:: Upstream wpanusb and bcfserial
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.
:fab:`linux;pst-color-primary` Linux kernel improvements :bdg-success:`Medium complexity` :bdg-success-line:`175 hours`
^^^^
+++
.. button-link:: https://forum.beagleboard.org/t/update-beagle-tester-for-cape-mikrobus-new-board-and-upstream-testing/37279
:color: danger
:expand:
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.
:fab:`discourse;pst-color-light` Discuss on forum
| **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>`_
.. grid-item-card:: Upstream wpanusb and bcfserial
:link: https://forum.beagleboard.org/t/upstream-wpanusb-and-bcfserial/37186
++++
:fab:`linux;pst-color-primary` Linux kernel improvements
.. button-link:: https://forum.beagleboard.org/t/upstream-wpanusb-and-bcfserial/37186
:color: danger
:expand:
:bdg-success:`Medium complexity` :bdg-success-line:`Medium size`
^^^
:fab:`discourse;pst-color-light` Discuss on forum
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.
.. card:: ``librobotcontrol`` support for newer boards
+++
.. button-link:: https://forum.beagleboard.org/t/upstream-wpanusb-and-bcfserial/37186
:color: danger
:expand:
:fas:`wand-sparkles;pst-color-danger` Automation and industrial I/O :bdg-success:`Medium complexity` :bdg-success-line:`175 hours`
:fab:`discourse;pst-color-light` Discuss on forum
^^^^
.. grid-item-card:: ``librobotcontrol`` support for newer boards
:link: https://forum.beagleboard.org/t/librobotcontrol-support-for-newer-boards/37187
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.
:fas:`wand-sparkles;pst-color-danger` Automation and industrial I/O
| **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>`_
++++
:bdg-success:`Medium complexity` :bdg-success-line:`Medium size`
^^^
.. button-link:: https://forum.beagleboard.org/t/librobotcontrol-support-for-newer-boards/37187
:color: danger
:expand:
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.
:fab:`discourse;pst-color-light` Discuss on forum
+++
.. button-link:: https://forum.beagleboard.org/t/librobotcontrol-support-for-newer-boards/37187
:color: danger
:expand:
.. card:: Upstream Zephyr Support on BBAI-64 R5
:fab:`discourse;pst-color-light` Discuss on forum
:fas:`timeline;pst-color-secondary` RTOS/microkernel imporvements :bdg-success:`Medium complexity` :bdg-danger-line:`350 hours`
^^^^
.. tip::
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,
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.
old/index
\ No newline at end of file
......@@ -17,13 +17,15 @@ into professional automation tasks, is strongly desired.
^^^^
- **Goal:** Complete implementation of librobotcontrol on BeagleBone AI/AI-64.
- **Hardware Skills:** Basic wiring
- **Software Skills:** C, Linux
- **Possible Mentors:** jkridner, lorforlinux
- **Expected Size of Project:** 350 hrs
- **Hardware Skills:** `basic wiring`_, `motors`_
- **Software Skills:** `C`_, `Linux`_
- **Possible Mentors:** `Jason Kridner <https://forum.beagleboard.org/u/jkridner>`_, `Deepak Khatri <https://forum.beagleboard.org/u/lorforlinux>`_
- **Expected Size of Project:** 175 hrs
- **Rating:** Medium
- **Upstream Repository:** https://github.com/jadonk/librobotcontrol/tree/bbai
- **References:**
- **Upstream Repository:** `BeagleBoard.org / librobotcontrol · GitLab <https://openbeagle.org/beagleboard/librobotcontrol>`_
- **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
++++
......
......@@ -93,7 +93,7 @@ Beagle Bone Audio Applications
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,
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:
- 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
<https://e2e.ti.com/blogs_/b/process/posts/simplify-embedded-edge-ai-development>`_
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::
:fas:`brain;pst-color-secondary` **YOLO models on the X15/AI-64**
......
......@@ -3,6 +3,29 @@
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::
:fas:`microchip;pst-color-secondary` **RISC-V Based PRU on FPGA**
......@@ -41,7 +64,7 @@ FPGA based projects
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
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
if desired. Furthermore, it may be interesting to implement nMigen support for flexible python
based gateware support as a stretch goal.
......