This isn’t a project that I came up with, but it’s the final lab project for MIT’s introduction to circuits class (6.002), and I thought it was a neat project that brought all the phenomena we studied over the semester as well as encouraging modular circuit design, so I wanted to share it with you. The project was to build a music playing system, as shown in the following block diagram. A memory unit was given to us, but we built a clock, a DAC, an active low pass filter, and a small amplifier.
The clock was simply a square wave generator made with a Schmitt trigger. The DAC required a set of resistors with certain relative values, so I made a python script to select a set of resistors. The script looked at the set of all standard resistor values in the lab to which I had access as well as the combinations of those values in series and parallel, and it sorted those by total error. From the results, I selected a set that had mostly single resistors rather than combinations, for ease of assembly. You can see the pile in the middle of the breadboard.
I tested each module after I built it.