GSoC/GCI Archive
Google Summer of Code 2014

BeagleBoard.org

License: GNU General Public License version 2.0 (GPLv2)

Web Page: http://elinux.org/BeagleBoard/GSoC/Ideas

Mailing List: https://groups.google.com/forum/#!forum/beagleboard-gsoc

BeagleBoard.org is an open source community of experienced hackers, hobbyists and engineers who are enthusiastic about building powerful,open ARM-based systems based on the same processors used is in popular, high-end Android phones today. BeagleBoard.org’s vision is to improve access to small, low-power computing platforms that can be embedded into new creations using easy to use development tools, such as the web-based IDE. The hardware designs of all Beagle boards are open source with all schematics, bills-of-materials, layouts, etc. shared for building other devices. The software is also open source and is generated by the community(such as the Angstrom Distribution, Ubuntu, Android and other Linux distributions). Compiler tools are free and the board is available at a low cost. Boards will be provided for free to any student participating in a BeagleBoard.org-related GSoC project. Texas Instruments sponsors a number of BeagleBoard.org-related activities and the first members of the community were TI employees, however, the collaboration base is now stronger than ever with over 5,000 members on the mailing list, over 100,000 individual developers worldwide who have purchased Beagle hardware and over 150 developers who actively participate on the live chat (IRC channel) at any given time. Existing projects are often for the purpose of building robots, autonomous flying drones, automotive entertainment and navigation systems, home media centers, digital signs, wearable computers, gaming consoles and even 3d printers! (over 380 projects registered at http://beagleboard.org/project/) Existing software compatibility includes various versions of Android, Ubuntu, Angstrom, Gentoo, FFmpeg, XBMC, ROS, OpenCV and much more.

Projects

  • Android based remote display “One cable to rule them all”. I intend to build a system where all the basic peripherals - keyboard, mouse and display, can be connected to BeagleBone by attaching it with a USB cable to Android phone. This will be implemented as a kernel module and an ready to use out-of-box app for Android. This module shall have a greater reach and also serve as seed for extending to other systems - Windows, iOS, Ubuntu phones etc.
  • BeagleLogic - a logic analyzer on the BeagleBone Black The proposal aims to create a standalone Logic Analyzer as a debugging and learning tool using the Programmable Real-Time Unit available on the BeagleBone Black.
  • BeaglePilot: Integration of ArduPilot, ROS, web-based IDE and security. Create the first Linux-based autopilot for flying robots using the BeagleBone and the BeagleBone Black as the "hardware blueprint". For this purpose I will focus on integrating ArduPilot (most popular autopilot) in the BeagleBone (Black). The main tasks performed will be userspace drivers development, the Robot Operative System Integration (ROS), web IDE exploration and security assessment.
  • BoneScript web pages with live-running examples and documentation I'm going to develop a new platform for creating beagleboard interactive tutorials.This platform will be develop and design in an interactive way allowing users to easily create tutorials. The platform will allow all type of users to create interactive tutorials for sharing with the beagleboard community. The difference between other platform will be that this platform will allow the user to run the code if they have a board. This is a great advantage allowing user to run the tutorials live.
  • PyBBIO Library Development Developing the PyBBIO library to include an SPI Library, Library for interfacing a camera and various sensors such as pressure sensor etc. Adding C extension to Python system calls to make the code run faster. Interfacing a BLE module and an example code to log sensor values on Xively's feed.
  • Remoteproc based BotSpeak virtual machine for the PRU Developing a remoteproc firmware which will allow high level languages to access PRU (programmable real time unit) functionality on the Beaglebone Black via remote procedure calls. The firmware on the PRU will support a small interpreter which can receive code fragments from the client language and execute them in a loop. The scripting language is similar to Chris rogers Botspeak. Developing this library will allow language independent runtime control over the PRU.