Welcome to the new site for BeagleBoard.org GSoC 2024 projects!

Other projects#

Port FPP to BeagleBone AI/AM5729

Falcon Player (FPP) is a distribution for Raspberry Pi’s and BeagleBone Blacks that is used to run synchronized light show, primarily for holiday lighting like Christmas and Halloween shows. It’s also used as a “firmware” for various capes used to connect wx281x Pixels and LED Panels to Raspberry Pi and BeagleBone’s. On the BeagleBone’s, it uses the PRU’s to handle the tight ws281x timing which allows it to drive up to 48 strings of pixels. This project would involve porting FPP to run on a BeagleBone AI. There would be several steps to this project including getting basic FPP to install/run on the AI, getting the code to recognize the AI and differentiate that to the users, updating the GPIO code to allow the user to configure GPIO for events, updating the I2C handling to be able to recognize devices on the i2c bus, creating a new device tree to reserve memory for data transfers, and porting the PRU code to the run on the AM5729 PRU’s.

  • Goal: Get FPP fully up and running on a BeagleBone AI

  • Hardware Skills: Minimal

  • Software Skills: C++, PHP, PRU assembly

  • Possible Mentors: Daniel Kulp

  • Expected Size of Project: 350 hrs

  • Rating: Medium

  • Upstream Repository:

Support K3 Platform on buildroot

  • Goal: Support a minimal bootable system(headless containerized) for K3 platforms in upstream buildroot.

  • Complexity: 350 hours

  • Hardware Skills: Minimal

  • Software Skills: C, Linux Kernel, make/build

  • Possible Mentors: NishanthMenon

  • Rating: Medium

  • Upstream Repository: https://git.busybox.net/buildroot/

  • References:

Suspend to Disk on AI64/AM62

  • Goal: Enable suspend to disk functionality on the BBAI-64 or AM62

  • Complexity: 350 hours

  • Hardware Skills: Minimal

  • Software Skills: C, Linux Kernel, make/build

  • Possible Mentors: NishanthMenon, Dhruva Gole

  • Rating: Medium

  • Upstream Repository: TBD

  • References:

Enhance OpenOCD support for VSCode

  • Goal: Enhance OpenOCD support for VSCode / Eclipe Theia to include register, peripheral views

  • Complexity: 350 hours

  • Hardware Skills: Minimal

  • Software Skills: C, Linux Kernel, node.js, make/build

  • Possible Mentors: NishanthMenon

  • Rating: Medium

  • Upstream Repository: Marus/cortex-debug

  • References:

Support BeagleBoard Flashing with balenaEtcher in Windows

Today balenaEtcher can be used to flash USB drives and SD cards, as well as some eMMC’s for some SBC’s directly. This is possible today for BeagleBone devices in Linux and MacOS, but needs someone with Windows Driver Framework experience to get it over the line for Windows users. We would expect the process to be something like the following:

  1. Adjust the u-boot configuration and fix this issue: ravikp7/node-beagle-boot#14

  2. Associate the right winusb drivers with the device using this module: balena-io-modules/winusb-driver-generator

  3. For reference, the source code for the plugin can be found here: balena-io-modules/node-beaglebone-usbboot and the u-boot image can be found in the blobs directory

  • Goal: Allow Windows users running balenaEtcher to flash BeagleBoard hardware

  • Hardware Skills: Minimal

  • Software Skills: Windows Driver Framework, U-boot, Typescript, C, C++

  • Possible Mentors: Zane Hitchcox and Joseph Kogut

  • Expected Size of Project: 350 hrs (less if very experienced with Windows Drivers)

  • Rating: Medium

  • Upstream Repository: balena-io/etcher

  • References:

BeagleBone AI64 U-Boot Upstream

Currently, the BeagleBone AI64 is using a port of TI’s u-boot branch, moving forward this should be posted for mainline u-boot.

  • Complexity: 40 hours

  • Goal: Booting Mainline U-Boot on the BeagleBone AI64

  • Hardware Skills: flashing MCU boards

  • Software Skills: C

  • Possible Mentors: jkridner, rcn-ee, NishanthMenon, Dhruva Gole

  • Rating: Medium

  • Upstream Repository: https://source.denx.de/u-boot/u-boot

  • References:

BeagleBoard.org Drop usage of RNDIS for NCM

Currently, BeagleBoard.org devices use a combination of RNDIS and NCM for network access over the usb connector.. Mainline kernel.org has decided to start removing support for RNDIS due to their stated reasons. Today NCM works out of the box for Linux and MacOS, we need to figure out how to write a driver for Windows or discover a way to use built-in drivers, just like we had done for RNDIS..

  • Complexity: 40 hours

  • Goal: Driver Less install on Windows for NCM drivers

  • Hardware Skills: flashing MCU boards

  • Software Skills: C

  • Possible Mentors: jkridner, rcn-ee

  • Rating: Medium

  • Upstream Repository:

  • References: