A few weeks ago I improvised a circuit to make drum sounds for my rhythm piano that I showed at BEAM Day at Brunel University. Coding the synth was fun but getting the analogue electronics working was a baptism of fire; there was all sorts of system noise and I hastily threw in a low pass filter using totally the wrong component values… turns out most of my circuit was turning battery power into heat.
I’d like to use more of these synths so I’m redesigning it to be more efficient and will release the code in the aim of sharing and learning. The circuit is designed as a hodgepodge of beginner electronics and guesswork, so there will be mistakes. Here’s what I’ve got so far:
- Using fast PMW on the AVR Tiny45 gives 8 bit at approximately 40kHz. I’m using the chip’s internal 8Mhz RC resonator as a clock. For now the chip just sends out a constant sine wave for diagnostics. The final version has two pots controlling sound parameters and a piezo input as the drum trigger. The output PWM is 0-5v.
- Potential divider converts the 0-5v range to 2.5-5v. This preps the signal for the first op amp where it saturates the buffer; using the full 0-5v range does funny things to the TL072 – it seems to stay at 5v with little spike signals.
- One half of the TL072 is used to buffer the signal, the voltage saturates the op amp giving an output of 1.5-4.5v PWM signal.
- A low pass filter converts the PWM signal into an analogue signal.
- The analogue signal is biased and levelled for the power stage.
- A push-pull power stage boosts the signal so it’s powerful enough for the headphones. This sits at around 1v, which I think makes this a class A amplifier; minimal distortion but a bit power hungry. This is the part of the circuit which needs reviewing.