Difference between revisions of "ECE597 Fall 2014 Project Bonekey Bonekey"

From eLinux.org
Jump to: navigation, search
(User Instructions)
Line 95: Line 95:
== User Instructions ==
== User Instructions ==
Once everything is installed, how do you use the program?  Give details here, so if you have a long user manual, link to it here.
Run the Bonkey program.
When everything is installed, we can play with Makey,
bone$ '''python BonkeyBonkey.py'''
Firstly connect the USB sound and the audio player to beaglebone.
Then connect the 7 input wires into 7 bananas,  and wire the reference ground to one of your wrist.  
Then you an play the bananas.
Use your hand to touch bananas to play sound!
== Highlights ==
== Highlights ==

Revision as of 20:07, 13 November 2014

thumb‎ Embedded Linux Class by Mark A. Yoder


Team members: Jiayu Guo, Zizhao Wang

Grading Template

I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!

00 Executive Summary
00 Installation Instructions 
00 User Instructions
00 Highlights
00 Theory of Operation
00 Work Breakdown
00 Future Work
00 Conclusions
00 Demo
00 Late
Comments: I'm looking forward to seeing this.

Score:  10/100

(Inline Comment)

Executive Summary

We got the idea from Makey Makey which is a invention-kit to use everything to be Keyboard. like banana, water, even cat. For this project, we created a Bonekey Bonekey to play with sound. Our Bonekey Bonekey uses banana as keyboard to play piano tones. This design is consisted of a main microcontroller, a PCB board, a USB sound card, and an audio player. We use Beaglebone to get the different input informations and produce corresponding tones to the audio player. One of human's wrist is mounted by reference ground and human can use either figure to touch bananas to produce different tones. Our Bonekey Bonekey will not only use bananas as inputs but also apples, water and everything.


If you have hardware, consider Small Build, Big Execuition for ideas on the final packaging.

Installation Instructions




The board and the schematic files can be found in the Github repository.

SV1 - Connect to the beagle bone from P8_7 to P8_17.

SV2 - Connect to bananas.

SV3 - middle pin connect to power and the two side pin connect to ground.

USB Sound Card

Since the beagle bone don't have the audio output we need to add a USB sound card to the bone.

We have tested two USB sound cards



All together



Build CSound from source

Build Csound from source Beaglebone. The BonekeyBonekey need CSound6 but the apt-get version is still CSound5

bone$ sudo apt-get build-dep csound
bone$ sudo apt-get install cmake git
bone$ cd ~
bone$ mkdir csound
bone$ cd csound
bone$ git clone https://github.com/csound/csound.git csound
bone$ mkdir cs6make
bone$ cd cs6make
bone$ cmake ../csound
bone$ make -j2
bone$ sudo make install
bone$ sudo ldconfig
bone$ cd cs6make

Clone BonekeyBonekey Repository

 bone$ git clone https://github.com/MikuZZZ/BonekeyBonekey

Disable HDMI

Follow | this link to disable HDMI, and make some GPIO pins available.

Make the USB sound card as the default output

copy the asoundrc file from the Github repository to your home folder.

bone$ cd asoundrc ~/.asoundrc

User Instructions

Run the Bonkey program.

bone$ python BonkeyBonkey.py

Then you an play the bananas.


Here is where you brag about what your project can do.


Theory of Operation

1- Input

  • The bananas are the inputs of Bonekey Bonekey
  • By touching the banana, the input will be shorted to ground.

2 - Transistor Switch

  • We uses transistor 2N2222, 4.7M and 1M resistor.

- schematic-.png

  • The base of transistor is connected to bananas, and once transistor's base grounded, the emitter of transistor will drop down to 0V.

3 - GPIO Interrupt

4- Csound

Give a high level overview of the structure of your software. Are you using GStreamer? Show a diagram of the pipeline. Are you running multiple tasks? Show what they do and how they interact.

Work Breakdown

  • PCB
  • GPIO read in
  • Csound play sound

List the major tasks in your project and who did what.

Also list here what doesn't work yet and when you think it will be finished and who is finishing it.

Future Work

Suggest addition things that could be done with this project.


Give some concluding thoughts about the project. Suggest some future additions that could make it even more interesting.

thumb‎ Embedded Linux Class by Mark A. Yoder