COSC 4290 Embedded Systems

Spring 2014

Homework Assignment #4

"I think music sharing of any kind is great."
--Talib Kweli

Due: Wednesday, February 19th, 11:00am CST
Submit: Turn your C source file using the turnin command on the Systems Lab machines.
Expect to present a demonstration of your system during lab time.
Work is to be completed in teams of two.


Use the I2C bus pins (9 and 10) to interconnect two mbed boards. You will need 4.7kΩ pull-up resistors on both lines, so you should use a breadboard as intermediary between the mbeds.

While the electrical connections are symmetric, exactly one mbed must be running code to act as the I2C bus master. The other or others should be configured to be a bus slave.

When the joystick control is pressed in one direction on the master board, both the master and slave mbeds should play the master's song. When pressed in the opposite direction, both the master and slave mbed boards should play the slave's song.

The I2C bus protocol defines the manner in which the mbed boards will exchange bytes of data, but it is up to your team to devise a suitable protocol for conveying the musical tone data in both directions across the data bus.

Optional Challenges

Once you have the required functionality in place, here are some possible extensions you could consider:

[Revised 2014 Feb 12 15:46 DWB]