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:
Adjust the u-boot configuration and fix this issue: ravikp7/node-beagle-boot#14
Associate the right winusb drivers with the device using this module: balena-io-modules/winusb-driver-generator
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: