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

From eLinux.org
Jump to: navigation, search
(Project: BeagleBoot)
(Project: Fixing Bugs in BoneScript and Improve BeagleBone UI)
Line 31: Line 31:
 
<iframe width="560" height="315" src="https://www.youtube.com/embed/rlj-k4zyPN0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
 
<iframe width="560" height="315" src="https://www.youtube.com/embed/rlj-k4zyPN0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
  
==Project: [[BeagleWire software support]] ==
+
==Project: [[Fixing Bugs in BoneScript and Improve BeagleBone UI]] ==
{{#ev:youtube|Fsj81PMSOC8||right|Video Title}}
+
{{#ev:youtube|ZKOccMBiL5s||right|Video Title}}
The BeagleWire is an FPGA development platform that has been designed for use with BeagleBone boards. BeagleWire is a cape on which there is FPGA device - Lattice iCE40HX. The Lattice iCE40 is a family of FPGAs with a minimalistic architecture and very regular structure, designed for low-cost, high-volume consumer and system applications. The significance of FPGAs is continuously increasing, as they are more and more often used for supporting work of ARM processors. BeagleWire does not require external tools (JTAG) and the whole software is Open Source. iCE40 is an energy saving device, allowing to work with small batteries. FPGA cape allows easy and low cost start for beginners who would like to take their first steps in working with FPGAs. The developed software will be an easy and, at the same time, efficient tool for communication with FPGA. At this point FPGA will be able to meet the requirements of even more advanced applications. The BeagleWire creates a powerful and versatile digital cape for users to create their imaginative digital designs. The task is to create software support for FPGA cape (based on iCE40 device). The completed project will provide the BeagleBoard.org community with easy to implement and powerful tools for realization of projects based on Programmable Logic Device(FPGA), which will surely increase the number of applications based on it.
+
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
  
* Student: Patryk Mężydło (pmezydlo)
+
* Student: Vaishnav M.A.
* Mentors: Michael Welling(m_w), Jonathan Cameron(Jic23)
+
* Mentors: Michael Welling(m_w), Anuj Deshpande, Jason Kridner
* Code: https://github.com/pmezydlo/BeagleWire
+
* Code: https://github.com/pmezydlo/BeagleWire (need to update)
* Wiki: TBD
+
* Wiki: TBD (need to update)
* GSoC site: https://summerofcode.withgoogle.com/projects/#6320798145970176
+
* GSoC site: https://summerofcode.withgoogle.com/dashboard/project/6558422816784384/overview/
 
<div style="clear:both;"></div>
 
<div style="clear:both;"></div>
  
 +
 +
<iframe width="560" height="315" src="https://www.youtube.com/embed/ZKOccMBiL5s" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
  
 
==Project: [[BeagleLibs]] ==
 
==Project: [[BeagleLibs]] ==

Revision as of 08:12, 30 May 2018

Links

Project: Template Project, please copy first and then edit

{{#ev:youtube|fL_XMieanSc||right|Video Title}} “Project Name”. add your project description here.


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|Video Title}} 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


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

Project: BeagleLibs

{{#ev:youtube|svTSmAsZD2I||right|BeagleLibs GSoC 2017 Intro Video }} {{#ev:youtube|_8gChrvvHSQ||right|BeagleLibs GSoC 2017 Final Video }} 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.


Project: BeagleBoot

{{#ev:youtube|5JYfh2_0x8s||right|GSoC 2017 - BeagleBoot}} 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 tool works as:

1. TFTP transfer of SPL binary and u-boot.
2. Utilizing the ums feature of u-boot, booting the BB hardware into USB mass storage mode.
3. Flashing the BB hardware with etcher.io like tool.

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.

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.

Project: BeagleBoard/GSoC/BeagleBone PRU DMA

{{#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.