BeagleBoard/GSoC/2020 Projects

< BeagleBoard‎ | GSoC
Revision as of 10:00, 5 June 2020 by Vedant16 (talk | contribs) (updated milestones)
Jump to: navigation, search

Copying the 2019 projects page for now ...


Weekly reports

  1. All weekly reports will be sent to the mailing list (as that is our primary support venue outside of live chat) on a single thread (to avoid e-mail thrash).
  2. They must be sent on Monday to allow for mentors to respond ahead of Wednesdays IRC meeting where all blockers will be discussed live.
  3. They must include the following sections:
    • Accomplishments
    • Resolutions to blockers
    • On-going blockers
    • Plans for the next week


Project Student Mentors Videos Reports Code Documentation
Cape Compatibility Deepak Khatri (lorforlinux) Jason Kridner (jkridner), Kumar Abishek, Hunyue Yau, Drew Fustini intro final weekly TBD blog more
PRU Bi-dir bus TBD Saketh, rma, Hunyue Yau, Drew Fustini, Jason Kridner intro final weekly TBD TBD more
PRU Improvements Vedant Paranjape (vedant16) Kumar Abhishek, Pratim Ugale, Andrew Henderson intro final weekly Code blog more
Media IP Streaming Niklas Wantrupp (nwan) Robert Manzke, Henrik Langer, Drew Fustini, Indumathi Duraipandian intro final weekly code documentation more

Cape Compatibility

The idea of this project is to make the same code work with both BeagleBone Black and BeagleBone AI, using the same references to drivers for peripherals assigned to the same header pins between BeagleBone Black and BeagleBone AI. For capes, uBoot Cape manager will also be updated to support BBAI so that DT overlays will be automatically loaded during boot.


  1. Introductory YouTube video.
  2. Testing Capes on BBB (Comms, Servo, Load, Realy, Motor, and LCD4).
  3. Cleaning up code in beagle-tester and creating new examples.
  4. Creating new userspace examples for BBB.
  5. Testing new beagle-tester code on BBB.
  6. Finalizing BeagleBoard-DeviceTrees/src/arm/am5729-beagleboneai.dts.
  7. Testing the BBAI pin control using libgpiod.
  8. Testing user space examples with BeagleBone AI.
  9. Testing comms cape on BBAI.
  10. Testing Servo cape on BBAI.
  11. Testing Motor cape on BBAI.
  12. Testing Load cape on BBAI.
  13. Testing Relay cape on BBAI.
  14. Testing LCD4 cape on BBAI.
  15. Creating buses DT overlay for BBAI.
  16. Testing BBAI u-boot peripheral support.
  17. BBAI u-boot SPL cape manager compatibility.
  18. Final YouTube video.

PRU Bi-dir bus



  1. TBD

PRU Improvements

Idea of this project is to implement a compiled language which will compile down to PRU assembly. PRU programming is a uphill task and quite tough for beginners, this language intends to simplify this, by providing a high level language with simple syntax. This will make it easy to get beginners onboard with PRU


  1. TBD
  1. Introductory YouTube video
  2. Setting up BeagleBone Black Wireless i.e flashing up to date Linux image and Testing user-led blink code :D
  3. Running existing example codes from this repository
  4. Implementing int, bool data types
  5. Implementing Arithmetic operators
  6. Implementing Relational operators
  7. Implementing Bitwise operators
  8. Implementing Logical operators
  9. Implementing Arithmetic operations
  10. Implementing Variable assignment
  11. Writing documentation for same
  12. Setting up documentation generators like readthedocs
  13. Implementing if else elif
  14. Implementing for loop
  15. Implementing functions
  16. Implementing Register access
  17. Writing documentation for same
  18. Implementing Language backend for variables and arithmetic operators
  19. Implementing Language backend for for loop and if elif else
  20. Implementing Language backend for functions and register access
  21. Implementing Utility functions
  22. Testing the language, and implementing example codes.
  23. Finalizing and documenting everything done till now, submitting second report for evaluation
  24. Solving github issues
  25. getting PRUSpeaks to work on the new kernel
  26. Writing documentation
  27. Packaging the compiler for distribution, like packaging into debian package.
  28. Completing the documentation

Media IP Streaming

This project aims in porting the existing drivers for the CTAG Face audiocard to the 4.19-rt kernel for Beaglebone AI. Furthermore, the AVB protocol, implementented during a former GSoC Project, should also be ported and optimised to 4.19-rt kernel. More information about the project can be found here.


June 8 Introductory YouTube video, review of existing drivers for ctag face audio interface, identifying challenges for porting drivers to Beagle AI and selection of appropriate kernel
June 15 Implementation / porting of ALSA audio drivers for ctag face to Beagle AI --> toolchain setup, driver adoptions, coding
June 22 Port of sound card drivers, testing, performance check
July 3 Finalzing port of ctag face audio card driver to Beagle AI and getting pull request to Beagleboard Mainline
July 10 Review of existing AVB network driver architecture for real-time audio streaming, basis is , identifying challenges for porting to Beagle AI
July 17 Implementation / porting of ALSA AVB network drivers to Beagle AI --> toolchain setup, driver adoptions
July 24 AVB ALSA drivers implementation for Beagle AI
July 31 Getting ALSA AVB network drivers finished and document everything till now
August 3 Joining AVB ALSA drivers with ctag face audio card drivers
August 10 Performance and integration testing of driver ports
August 17 Completion YouTube video, pull request of driver architecture for mainline