Making the tape-player synthesizer a permanent project.

A few days my mum gave me an utimatum. If I didn’t clean my room I wouldn’t be paid for washing the house’s windows. I needed to wash the windows to raise money for my 3D printer. At this point you’re probaby asking why I needed to clean my room. The header for this blog has a perfectly clean bedroom desk in it. Well, you haven’t seen the floor. So I cleaned it up. And I found buried under a small mountain of old DVD drives my old tape-player synthesizer. Don’t remember my tape-player synth? Here’s the link to my last post about it.

So I opened it up. And it was a mess. There was a breadboard clinging on with a few scraps of blu-tac and the etherten board was long gone (sabotaged for another project). There were loose wires everywhere. Looked like it was time to do this thing properly. Because, you know, retro synths are cool to have around …

I opened up fritzing (the free electronics circuit designer) on my laptop and got to work laying out a controller circuit on some stipboard. To avoid having to do any major code changes I simply used the atmega328 chip from an arduino. This meant that to reprogram the board all I had to do is program it in the uno board then remove it and place it in my board. The part count for running an atmega328 without the arduino board is quite low. You only need a crystal, 2 capacitors and a resistor. So it’s very easy to design a DIY stripboard version of an arduino. Here’s the link to the circuit for using an atmega328 without the arduino board: . I just converted the layout to copper strip board.

My layout was fairly simple. It included:

  • An atmega328 microprocessor.
  • 2 18pf capacitors
  • 1 10k resistor
  • 16mhz crystal
  • A header for breaking out the 5V, TX, RX, GND and RESET pins of the atmega328. So you can program it without having to remove the chip if you don’t want to.
  • A few jumper wires

And that was all. Including designing, test fitting, board cutting, laying out components and soldering it wouldn’t have taken more than an hour. Very easy to do. Here’s a pic of the finished board.

And here’s a fritzing diagram.

Ignore the speakers and pots for now. We'll talk about those later.

Now the controller board is done we can solder it up to the synth controls and give it a go. The output of the synth program is on digital pin 9 (PWM) and the input pins are analog pins 1-5. Simple. Each pot has to be wired to 5V,GND and it’s analog pin. Which isn’t particularly difficult, just arduous. The speaker is wired to digital pin 9 and GND. For the output I didn’t have an audio jack handy so I ended up just using alligator clip wires connected to nice logitech speakers. Which provided plenty of output volume because the logitech speakers have an amplifier built in  (I think). Here’s a pic of the finished electronics:

I know the wiring is messy... I didn't have enough to make it neat again.

I know the wiring is messy... I didn't have enough wire to make it neat again.

So there you have it. I wired up an old USB cable for power so I can use it wherever I want and that’s about it. Here’s the final version of the code:

int note = 100;
int beat = 50;
int length = 10;
int pin = 9;
int note2;
int note3;
int button1;
int button2;
int effect;
void setup() {
pinMode(13, OUTPUT);
pinMode(pin, OUTPUT);

void loop() {
length= analogRead(1)/10;
beat= analogRead(2)/10;
note= analogRead(3)/5;
note2= analogRead(4)/5;
note3= analogRead(5)/5;

Oh, and of course I couldn’t leave you without a long video displaying how horrible it sounds…..