Difference between revisions of "BeagleBoard/GSoC/2018 Projects"

From eLinux.org
Jump to: navigation, search
(Project: Fixing Bugs in BoneScript and Improve BeagleBone UI)
(Project: Template Project, please copy first and then edit)
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
==Links==
 
==Links==
* Status reports: https://groups.google.com/forum/#!tags/beagleboard-gsoc/status
+
* Status reports: https://groups.google.com/forum/#!forum/beagleboard-gsoc
 
* Live chat: http://webchat.freenode.net/?channels=beagle-gsoc
 
* Live chat: http://webchat.freenode.net/?channels=beagle-gsoc
 
* GSoc site: https://summerofcode.withgoogle.com/
 
* GSoc site: https://summerofcode.withgoogle.com/
 
* Meeting minutes: http://elinux.org/BeagleBoard/GSoC/Meetings
 
* Meeting minutes: http://elinux.org/BeagleBoard/GSoC/Meetings
 
+
*YouTube Playlist BeagleBoard.org GSoC 2018: https://www.youtube.com/playlist?list=PLzq-XagGEZreWjg2TLQDiUBdKGRy9TFVF
==Project: [[Template Project, please copy first and then edit]] ==
 
{{#ev:youtube|fL_XMieanSc||right|Video Title}}
 
“Project Name”. add your project description here.
 
* Student: Joe Template
 
* Mentors: Shirley Temple
 
* Code: https://github.com/...
 
* Wiki: https://github.com/.../wiki
 
* Blog: http://<url_here>/ (not mandatory)
 
* GSoC site: https://summerofcode.withgoogle.com/<your_project_here
 
<div style="clear:both;"></div>
 
 
 
  
 
==Project: [[BeagleBoot]] ==
 
==Project: [[BeagleBoot]] ==
Line 32: Line 21:
  
 
==Project: [[Fixing Bugs in BoneScript and Improve BeagleBone UI]] ==
 
==Project: [[Fixing Bugs in BoneScript and Improve BeagleBone UI]] ==
{{#ev:youtube|ZKOccMBiL5s||right|Video Title}}
+
{{#ev:youtube|ZKOccMBiL5s||right|Fixing Bugs in BoneScript and Improve BeagleBone UI GSoC 2018 Intro Video}}
 
BoneScript is an existing Node.js library specifically optimized for the Beagle family and featuring familiar Arduino function calls, exported to the browser.The BoneScript library provides several functions for easy interaction with hardware which otherwise would have required the users to manipulate the SysFs files directly(assuming use of no other libraries),which is obviously confusing for a beginner-level user.
 
BoneScript is an existing Node.js library specifically optimized for the Beagle family and featuring familiar Arduino function calls, exported to the browser.The BoneScript library provides several functions for easy interaction with hardware which otherwise would have required the users to manipulate the SysFs files directly(assuming use of no other libraries),which is obviously confusing for a beginner-level user.
 
BoneScript library even though being widely used by BeagleBone users has compatibility issues across boards, some bugs and unfinished features.The primary aim of my project is to solve most of the open issues reported and add some more features which will be of benefit to the users.
 
BoneScript library even though being widely used by BeagleBone users has compatibility issues across boards, some bugs and unfinished features.The primary aim of my project is to solve most of the open issues reported and add some more features which will be of benefit to the users.
Line 39: Line 28:
 
* Student: Vaishnav M.A.
 
* Student: Vaishnav M.A.
 
* Mentors: Michael Welling(m_w), Anuj Deshpande, Jason Kridner
 
* Mentors: Michael Welling(m_w), Anuj Deshpande, Jason Kridner
* Code: https://github.com/pmezydlo/BeagleWire (need to update)
+
* Code: https://github.com/jadonk/bonescript
* Wiki: TBD (need to update)
+
https://github.com/jadonk/bone101
 +
* Wiki: https://github.com/vaishnav98/bone101/wiki/BeagleBoard-GSoC'18:-Fixing-Bugs-in-BoneScript-and-Improving-BeagleBone-User-Interface
 
* GSoC site: https://summerofcode.withgoogle.com/dashboard/project/6558422816784384/overview/
 
* GSoC site: https://summerofcode.withgoogle.com/dashboard/project/6558422816784384/overview/
 
<div style="clear:both;"></div>
 
<div style="clear:both;"></div>
 +
* Final video : https://youtu.be/94XxXs0rb7E
  
  
 
<iframe width="560" height="315" src="https://www.youtube.com/embed/ZKOccMBiL5s" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
 
<iframe width="560" height="315" src="https://www.youtube.com/embed/ZKOccMBiL5s" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
  
==Project: [[BeagleLibs]] ==
+
==Project: [[Modern Speak and Spell using PocketBeagle]] ==
{{#ev:youtube|svTSmAsZD2I||right|BeagleLibs GSoC 2017 Intro Video }}
+
{{#ev:youtube|N7utUIQZjM0I||right|Modern Speak and Spell using PocketBeagle GSoC 2018 Intro Video }}
{{#ev:youtube|_8gChrvvHSQ||right|BeagleLibs GSoC 2017 Final Video }}
+
This project is basically to re-brain the previous Speak and Spell by Texas Instruments, and generate open source code for it . This is a Linux application which can be reproduced. The added features include offline speech recognition...using CMU Sphinx...to provide more robust features. Here I am working to reproduce the games with added features to appeal to the present day children... specifically the preschoolers. This almost totally a software project...only to be deployed in a PocketBeagle...with some wiring to be done...and display to be enhanced. My future goal is to extend this project to other languages...so that this wonderful device can be used more extensively.
My project is basically two high quality, well-documented libraries for interfacing with BeagleBone hardware in Rust and Go. These libraries will provide interfaces for common usecases like GPIO, ADC reads, PWM, UART, SPI, and I2C (I'm open to more!). The intent of the project is to bridge the gap between the lower level and the higher level languages and make using the BeagleBone accessible to a wider range of users.
 
 
 
People trying to get into hardware projects today are faced with difficult choices, especially when it comes to the platform their project will be based on. The BeagleBone community has made an great strides toward bridging this gap by with the cheap and approachable BeagleBones, but users are still confronted with the choice of fast/difficult to use C, or easy to use/slow JavaScript.
 
  
Users seeking to work on the BeagleBone shouldn't have to face this choice; which is where this project comes in. By providing a well-documented set of libraries for the common tasks that every hardware project uses, users will be able to harness the power of performant languages while still having a pleasant development process.
 
  
 
+
* Student: Anirban Banik
* Student: ee (ee)
+
* Mentors: Erik Welsh, Hunyue Yau, Anuj Deshpande, Andrew Henderson
* Mentors: Trevor Woerner(tlwoerner)
+
* Code: https://github.com/AnirbanBanik1998/Modern_Speak_and_Spell
* Code: https://github.com/ekmecic/libbeaglebone, https://github.com/ekmecic/bb_go
+
* Wiki: https://github.com/AnirbanBanik1998/Modern_Speak_and_Spell/wiki
* Wiki: http://elinux.org/BeagleBoard/GSoC/BeagleLibs
+
* GSoC site: https://summerofcode.withgoogle.com/dashboard/project/5684045455818752/overview/
* GSoC site: https://summerofcode.withgoogle.com/projects/#5350396523446272
 
 
<div style="clear:both;"></div>
 
<div style="clear:both;"></div>
  
==Project: [[BeagleBoot]] ==
+
==Project: [[Update to PyPRUSS - Python API for the PRUs]] ==
{{#ev:youtube|5JYfh2_0x8s||right|GSoC 2017 - BeagleBoot}}
+
{{#ev:youtube|vHxpa6JwqqI||right|Intro Video - Update to PyPRUSS - GSoC 2018 project under BeagleBoard.org}}
Currently, the ways to flash images in BeagleBone hardware are not easy especially for beginners, SD card method takes up much time and manual configuration, BBBlfs flashing tool works but is CLI based, not much reliable and works on limited platforms, TI's Uniflash tool is also old and works only under older versions of Windows and Linux with a lot of manual configuration. The project is to port the BeagleBone bootloader server BBBlfs(currently written in c) to JavaScript(node.js) and make a cross platform GUI (using electron framework) flashing tool utilising the etcher.io project. This will allow us to have single code base for a cross platform tool.
+
The PyPRUSS is a python binding/API for controlling the PRUs . It provides an easy to use python-based interface for loading firmware, controlling execution and interrupts/memory management for the PRUs, therefore shortening the learning curve for users new to PRU programming. Currently, the PyPRUSS uses PASM for its examples and communicates using the older Userspace IO (UIO) Driver. The goal of this project is to update the API to use the remoteproc/rpsmg interfaces for interacting with the PRUs, port the existing examples to gnupru since PASM is no longer supported by TI) and add DMA Support to the API, since it will enable the users to program both the PRUs for their application, instead of reserving one for ARM-PRU communication(as needed in case of rpmsg).
 
 
The tool works as:
 
 
 
1. TFTP transfer of SPL binary and u-boot. <br>
 
2. Utilizing the ums feature of u-boot, booting the BB hardware into USB mass storage mode. <br>
 
3. Flashing the BB hardware with etcher.io like tool. <br>
 
 
 
This project project will be really helpful for everybody especially newbies, who would have a nice experience with flashing images easily and faster, so that they can focus on the more important stuff be it their robotics project, kernel development or some new PRU hack.
 
  
* Student: Ravi Kumar Prasad (ravikp7)
+
* Student: Mohammed Muneeb
* Mentors: Jason Kridner (jkridner)
+
* Mentors: Kumar Abhishek, Patryk Mężydło, ZeekHuge, S. Lockwood-Childs
* Code: (Server) https://github.com/ravikp7/node-beagle-boot , (Tool) https://github.com/ravikp7/BeagleBoot  
+
* Code: (Server) https://github.com/ravikp7/node-beagle-boot , (Tool) https://github.com/ravikp7/BeagleBoot (to be updated)
* Wiki: TBD
+
* Wiki: TBD (to be updated)
* GSoC site: https://summerofcode.withgoogle.com/projects/#5007313858461696
+
* GSoC site: https://summerofcode.withgoogle.com/dashboard/project/6673723025784832/overview/
 
<div style="clear:both;"></div>
 
<div style="clear:both;"></div>
  
==Project: [[Sonic Anemometer]] ==
 
{{#ev:youtube|uj8lO8G9QYU||right|GSoC 2017 - BeagleBoot}}
 
Write program for PRU present in BeagleBoard and to create a portable device able to measure the wind speed and temperature reliably in outdoor environments.It delivers the result by analyzing the time of flight or phase difference of sound waves between two points, deliver the final results in terms of ambient Temperature,Wind speed and direction.Considering the costs of commercial products available at this time in market, this open source project would provide a very useful and reliable anemometer to help universities and students/hobbyists during their meteorological research by providing them results in real time and format that can be further processed by user using languages like python etc.
 
 
* Student: Naveen Saini(thetransformerr)
 
* Mentors: Stephen Arnold(nerdboy),Hunyue Yau(ds2),Zubeen Tolani(ZeekHuge)
 
* Code: https://github.com/thetransformerr/beagle-sonic
 
* Wiki: https://github.com/thetransformerr/beagle-sonic/wiki
 
* GSoC site:https://summerofcode.withgoogle.com/projects/#5658335807275008
 
  
==Project: [[BeagleBoard/GSoC/BeagleBone PRU DMA]] ==
+
<iframe width="560" height="315" src="https://www.youtube.com/embed/vHxpa6JwqqI" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
{{#ev:youtube|H4Bywj-rr74||right|BeagleBone PRU DMA}}
 
Most of existing PRU applications utilize (waste) one PRU core for data transfer. The goal of this project is to enable usage of EDMA controller for copying of data to and from main memory (DDR), which would allow applications to use both cores for computation.
 
 
 
* Student: [http://elinux.org/User:Maciejjo Maciej Sobkowski]
 
* Mentors: Kumar Abhishek (Abhishek_), Zubeen Tolani (ZeekHuge)
 
* Code: https://github.com/maciejjo/beaglebone-pru-dma
 
* Wiki: http://elinux.org/BeagleBoard/GSoC/BeagleBone_PRU_DMA
 
* GSoC: https://summerofcode.withgoogle.com/projects/5021339281784832
 
<div style="clear:both;"></div>
 

Latest revision as of 11:08, 19 November 2018

Links

Project: BeagleBoot

{{#ev:youtube|/rlj-k4zyPN0||right|Intro Video: BeagleBoot - Google Summer of Code 2018 under BeagleBoard.org}} Integrate node-beagle-boot to Etcher and add features like U-boot console on boot up, TCT/IP proxy server, grab latest images from beagleboard.org to BeagleBoot (electron app), developed last year during GSoC.

<iframe width="560" height="315" src="https://www.youtube.com/embed/rlj-k4zyPN0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

Project: Fixing Bugs in BoneScript and Improve BeagleBone UI

{{#ev:youtube|ZKOccMBiL5s||right|Fixing Bugs in BoneScript and Improve BeagleBone UI GSoC 2018 Intro Video}} BoneScript is an existing Node.js library specifically optimized for the Beagle family and featuring familiar Arduino function calls, exported to the browser.The BoneScript library provides several functions for easy interaction with hardware which otherwise would have required the users to manipulate the SysFs files directly(assuming use of no other libraries),which is obviously confusing for a beginner-level user. BoneScript library even though being widely used by BeagleBone users has compatibility issues across boards, some bugs and unfinished features.The primary aim of my project is to solve most of the open issues reported and add some more features which will be of benefit to the users. A secondary objective of my project is to add Improvements to the BeagleBone User Interface to provide a similar interface for PocketBeagle that can also support the BaconBits cape examples, so as to provide PocketBeagle beginners a Graphical User Interface from which they can try out the example codes easily(similar to BBUI). Detailed Proposal at :https://elinux.org/BeagleBoard/GSoC/fix-bugs-bonescript

https://github.com/jadonk/bone101


<iframe width="560" height="315" src="https://www.youtube.com/embed/ZKOccMBiL5s" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

Project: Modern Speak and Spell using PocketBeagle

{{#ev:youtube|N7utUIQZjM0I||right|Modern Speak and Spell using PocketBeagle GSoC 2018 Intro Video }} This project is basically to re-brain the previous Speak and Spell by Texas Instruments, and generate open source code for it . This is a Linux application which can be reproduced. The added features include offline speech recognition...using CMU Sphinx...to provide more robust features. Here I am working to reproduce the games with added features to appeal to the present day children... specifically the preschoolers. This almost totally a software project...only to be deployed in a PocketBeagle...with some wiring to be done...and display to be enhanced. My future goal is to extend this project to other languages...so that this wonderful device can be used more extensively.


Project: Update to PyPRUSS - Python API for the PRUs

{{#ev:youtube|vHxpa6JwqqI||right|Intro Video - Update to PyPRUSS - GSoC 2018 project under BeagleBoard.org}} The PyPRUSS is a python binding/API for controlling the PRUs . It provides an easy to use python-based interface for loading firmware, controlling execution and interrupts/memory management for the PRUs, therefore shortening the learning curve for users new to PRU programming. Currently, the PyPRUSS uses PASM for its examples and communicates using the older Userspace IO (UIO) Driver. The goal of this project is to update the API to use the remoteproc/rpsmg interfaces for interacting with the PRUs, port the existing examples to gnupru since PASM is no longer supported by TI) and add DMA Support to the API, since it will enable the users to program both the PRUs for their application, instead of reserving one for ARM-PRU communication(as needed in case of rpmsg).


<iframe width="560" height="315" src="https://www.youtube.com/embed/vHxpa6JwqqI" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>