Gsoc Project - Documentation for BeagleBone and BeagleBone Black

Hi all,

I am Srimal and I would like to contribute to the project Documentation for Beaglebone and BeagleBone Black. I am currently studying Electronic and Telecommunication Engineering Degree at University of Moratuwa. I have been working with BeagleBone for some time now.

Actually there is a lack of proper documentation for how to handle functionalists of beagle for dummies as well as intermediates . To me that was very hard to move from micro controllers like Atmel and PIC to beagle. Only helpful resource was the BeagleBone Google group. But it wont come in handy everytime. As I believe it is a must to prepare this kind of documentation.

My suggestions for the minimum documentation are,

  1. Complete guide to configure BeagleBone Software according to the user need. ( e,g changing os Ubuntu or Angstrom);
  2. Details of UARTs, I2C, SPI, PWM, ADC, USB Host/Gadget that are inside AM335x.
  3. Code Examples containing How to configure, How to use etc… reagarding each different aspects of each unit.

And It was always a pleasure to work with beaglebone.

Expecting positive feedback,

Thank you.

Hi all,

I am Srimal and I would like to contribute to the project Documentation for Beaglebone and BeagleBone Black. I am currently studying Electronic and Telecommunication Engineering Degree at University of Moratuwa. I have been working with BeagleBone for some time now.

Actually there is a lack of proper documentation for how to handle functionalists of beagle for dummies as well as intermediates . To me that was very hard to move from micro controllers like Atmel and PIC to beagle. Only helpful resource was the BeagleBone Google group. But it wont come in handy everytime. As I believe it is a must to prepare this kind of documentation.

Despite it being in the project ideas, no documentation-only ideas will be accepted for GSoC. All proposals must include a coding component. This is a GSoC requirement, not a BeagleBoard.org requirement.

To see I didn’t make this rule up: http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2012/faqs#documentation

If documentation is your passion and skill, I’d suggest a proposal to extend http://github.com/beagleboard/bone101 which is an interactive tutorial in the form of a web-page. It makes use of the fact that the BeagleBone’s come with BoneScript installed, which pretty much opens up access to everything in the system through the node.js interpreter, RPC functions that allow reading/writing of text files and an ‘autorun’ mechanism that will run any script dropped into ‘/var/lib/cloud9/autorun’.

So, take the “show me, don’t tell me” approach to documentation by writing examples that execute common tasks people will want to do and then document the code well such that they understand how it works.

A nice example would be fixing up http://beagleboard.github.io/bone101/attic/pinMux.html. At one point, Koen Kooi had this application showing the current status of all the pinmuxes on the board. Cleaning up this bit of code/documentation alone would be very cool for many new to BeagleBone.

My suggestions for the minimum documentation are,

  1. Complete guide to configure BeagleBone Software according to the user need. ( e,g changing os Ubuntu or Angstrom);

I suggest starting with the Debian images. Further, the documentation should be in the form of minimal exercises. For example, provide a wizard to setup a wireless network adapter and document all of the files edited in the process. Something similar could be done for setting up a systemd service file. Anyway, you’ll need to spend some time ahead of the proposal figuring out what types of things you’ll want to illustrate/document.

  1. Details of UARTs, I2C, SPI, PWM, ADC, USB Host/Gadget that are inside AM335x.

Sounds great. You’ll want to provide some visibility tools that allow you to interact with each of these rather than pure documentation. Be sure you understand the scope. Converting the entire TRM into a readable HTML wouldn’t be that useful (too overwhelming), would take you too long to complete in a nice manner and still doesn’t satisfy the need for code to be at the center of the project.

  1. Code Examples containing How to configure, How to use etc… reagarding each different aspects of each unit.

This is where you need to start. You absolutely need to do documentation and should gear all of your code examples based on what you’d like to document, but make sure the code is complete and of high quality.

And It was always a pleasure to work with beaglebone.

Expecting positive feedback,

Thank you.

Thanks for taking the time to discuss your thoughts. I look forward to more interactions and your final proposal.

Hello,
Thank you very much Jason Kridner for your feedback. Now I have idea about what should be done here.

I also had an nice experience with beaglebone and a 3G dongle. I searched every where how to configure a usb 3g dongle for beaglebone. I could find some solutions. But non of them worked. But after some trial and error I was able to do that. This is the main reason for contributing to this project because I konw how hard it is to do new things with beaglebone.

And can you please elaborate the scope of the second part of the project software development and optimization for the M3 and PRU coprocessors?

Thank You.

Statically-linked ARM Linux “hello world” style executable

Instructions to execute.

  1. First execute “chmod +x hello.bin” command to grant permission.
  2. Then execute command " ./hello.bin " to execute bin file

hello.bin (450 KB)