BeagleBoard/GSoC/2022 Proposal/PRU-based USB stack

=Proposal Template= About Student: Seak Jian De Mentors: Jason Kridner, Shreyas Atre Code: NatworkManger DBus Wiki: https://elinux.org/BeagleBoard/GSoC/2022_Proposal/bb-config_improvements_%26_GPIO_Benchmarking GSoC: bb-config improvements GPIO Benchmarking

=Status= This project is currently just a proposal.

=Proposal= Completed all the requirements listed on the ideas page. the code for the cross-compilation task can be found here submitted through the pull request #158.

About you
IRC: Jian De Github: https://github.com/Fred-JD School: Universiti Teknologi Malaysia Course: 3rd Year Electronics Engineering Country: Malaysia Language: English, Mandarin, Malay Typical work hours: 4PM - 11PM UTC +8 Previous GSoC participation: First year apply gsoc.

Project Name
PRU-based USB stack

Description
It should be possible to write a USB stack for PRU. The PRU-controlled USB interface should be able to work either as device or a host. The goal would be to minimize the latency for USB peripherals, specifically audio, HID and MIDI devices used for musical instruments, to integrate into the Bela.io software environment.

USB Protocol
USB is a polled bus, where the host initiates all data exchanges. USB consists of several protocol layers, where data are transferred via a set of logical connections referred to as pipes.

Timeline
Provide a development timeline with a milestone each of the 11 weeks and any pre-work. (A realistic timeline is critical to our selection process.)

Experience and approach
In 5-15 sentences, convince us you will be able to successfully complete your project in the timeline you have described.


 * In my first year of University I have passed the 3 month junior training program by ROBOCON UTM which include basic programming, basic electronics and basic Mechanisms.
 * * I have built a line following robot with dsPIC30f4011 microcontroller. Solder and design my own hardware with the PIC microcontroller. Understand about GPIO, PWM, UART, ADC/DAC. I have experience in C programming and know how circuit connection with breadboard. photo.
 * * I have build a custom PCB to control robotic pneumatic valve with Altium designer. photo


 * I have build a flutter mobile app which read and display sensor value from Bluetooth module with Maker Uno (similar with Arduino Uno). Then store the value on AWS with MQTT protocol.\
 * I have build Footfall Counter with openCV github
 * In order to successfully to complete the projects, I will start it early which start to work with the technology before official code period so I have extra time for debug and testing.

Contingency
What will you do if you get stuck on your project and your mentor isn’t around?

Misc
Completed all the requirements listed on the ideas page. the code for the cross-compilation task can be found here submitted through the pull request #158.

Suggestions
Is there anything else we should have asked you?