work log
Michael Karpelson, Julian Chang, ECE 476 Spring 2004

Results vs. Expectations

We are very satisfied with the performance of the system. We wished to create something fun while further exploring several areas that we touched on in ECE 476. A system with a significant mechanical component, functioning pitch detection and related DSP, a high-level composition algorithm, and serial programming interface certainly fit the bill. It was great to have achieved a significant level of functionality in both our basic and advanced objectives. Ultimately, it was only lack of time (and to a lesser degree, a small budget) that prevented us from perfecting those parts of the system where improvement is desirable.

The next time around we would attack the problems with a better knowledge of what things can go wrong and where, enabling us to make further progress and improvements rather than getting bogged down on a trivial malfunction.


The serial interface was designed to conform to the RS-232 serial communication standard. The implementation involved using the hardware UART built into the Mega32 MCU, and the standard MAX202CPE RS-232 chip along with a sub-D connector to convert the signal to RS-232 levels.

Intellectual Property Considerations

As mentioned, we employ the proprietary terminal emulation software Hyperterm for the serial programming interface. This would be a consideration in any commercial distribution of the device. Fortunately, any terminal emulation software will suffice, and a variety of open source options are available.

Portions of our code are loosely based on lab code from the ECE 476 course; however, despite several similarities the code was written from scratch.

When exploring possibilities for a random melody generator, we used Levy Lorenzo’s Intelligent MIDI sequencing with Hamster Control project as a very useful reference on Markov chain based algorithm. No actual code was taken from the project, however (due to our lack of experience with music composition, our own code is far less complex than Mr. Lorenzo’s).

Ethical Considerations

We took various actions throughout the course of this project to adhere to the IEEE Code of Ethics.

  • In adhering to point 1 in the IEEE Code of Ethics, our group simplified the original mechanical design of the project to exclude parts that may come loose to cause injury to bystanders (the original design called for actuating a flexible metal bar with a motor).
  • In adhering to point 3 in the IEEE Code of Ethics, our group made sure to accurately and truthfully communicate system performance in the final specification.
  • In adhering to point 6 in the IEEE Code of Ethics, Julian Chang avoided all soldering due to his incompetence. On a more serious note, we took special care to improve our technical skills and each team member worked on an area he was most qualified to undertake.
  • In adhering to point 7 in the IEEE Code of Ethics, our group sought help from the professor and teaching assistants whenever possible, respecting and valuing their input and criticism.
  • In adhering to point 8 in the IEEE Code of Ethics, no Canadians were harmed in the making of this project. Mike Karpelson was treated equally, even though his nation's history does involve burning down Washington DC in the War of 1812.
  • In adhering to point 10 in the IEEE Code of Ethics, we did our best to cooperate with and help out other project groups, respecting each others' shared use of the sometimes cramped lab facilities, and offering friendly advice when possible.


  1. Datasheet - API Delevan High Series 4590 High Current Filter Inductor
  2. Datasheet - Atmel ATMega32 AVR Microcontroller
  3. Datasheet - Burr-Brown OPA227P High-Precision, Low-Noise Operational Amplifier
  4. Datasheet - Maxim Max166 8-bit ADC
  5. Datasheet - Maxim Max202CPE +5V RS232 Transceiver
  6. Datasheet - ON Semiconductor LM323T Positive Voltage Regulator
  7. Datasheet - ON Semiconductor TIP31C Complementary Silicon Plastic Power Transistor
  8. Datasheet - Unitrode UC2577-ADJ Simple Step-Up Voltage Regulator
  9. Datasheet - Vishay ILQ5-4 Optocoupler, Phototransistor Output (Quad Channel)
  10. Distributor Site - All Electronics
  11. Distributor Site – Digi-Key
  12. Distributor Site - MPJA Online
  13. Vendor Site - API Delevan
  14. Vendor Site - Maxim
  15. Vendor Site - ON Semiconductor
  16. Vendor Site - Texas Instruments
  17. Vendor Site - Vishay
  18. Background - The RS232 Standard
  19. Intelligent MIDI Sequencing with Hamster Control... hot damn!