Introducing the ATtiny Punk Console

Introducing the ATtiny Punk Console

This is the ATtiny Punk Console (short ATPC). It's an easy to build synthesizer-kit based on the ATtiny85 microprocessor which is one of the smallest but also powerful members of the ATMEGA family (you probably already know by Arduino). The ATPC squeezes out the most of this little beetle.
The synth is equipped with 4 potentiometers with body-contacts to tweak the sound. It's powered by center negative plug or 9V battery. You can trigger events by a push-button or via the programmable sync in- or out line. On the output side you'll find a variable lowpass filter and a volume controlled buffer stage to push out true 8bit sound. Because of the parallel 3.5mm and 6.3mm jack plugs you are able to link them in line as well as to interconnect and synchronize with other gear.

The kit is an easy and fast build. You don't need special soldering skills to make your own. One nice thing is that it boxes itself - making additional packaging needlessly.

So what about the tunes coming out of this little synth? As stated before we're on 8bit level. With just some lines of code you're able to play flurry sinus tones or open up a sheer noise mayhem. The program that gaves the kid his name is the digital equivalent to the famous DIY circuit Atari Punk Console(1). So let's have a listen to this:

The two potentiometers on the left acting in the same manner as the original Atari Punk Console - setting up a square wave oscillator and playing with overlapping pulse widths. If the shifting of this width crosses a multiple of the oscillator frequency you get the bumping sounds the APC is famous for(2). With the 3rd controller of the ATPC-kit now a second pulse width is created. If a trigger occurs the sound modulates from this to the first. And finally the 4th controller says how long it will takes for it.

Some astonishing sounds in rhythmical patterns produces the Failure_Unit code. Take care - harsh noise arrives! It works by overflowing bytes and timers and creates hundreds of thousands of possible stable and unstable conditions. This was the first program I coded for the synth but the coughed up sounds still surprises me till today.

Here comes the Sweep. Playing if triggered a transition from a higher to a lower tune. You can choose between 4 waveforms - sinus, triangle, ramp up & square. If you go low enough you'll get bassdrum like sounds.

Now let's listen to those 3 playing together in sync. The Failure_Unit gives tempo to the ATPC and the Sweep plays some straight bassdrum hits along. Somewhere behind the middle a completely new pulse occours after driving the clock of the Fail_U for short into madness.

As a last code example I'll show you 4 sine tones in sub-bass frequencies playing and interfere each other. The range of the oscillators goes from 20 to 180Hz. In the last third the filter is turned to the max so you can listen to some nice overtone artefacts induced by the 8bit resolution. If you can't hear anything you're noticed yet that your soundsystem isn't able to play back such low tunes.

Sample code, schematic and instructions for the ATPC are to find at github. If you are familar with programming Arduinos it will be not to hard to create some personal tunes. All you need to do is to use your Arduino as an in-system programmer (ISP). There is a lot of information in the internet about this topic(3).
In addition to the kit I made up a small Arduino-shield to flash ATtiny84s or 85s. With this it's even more simple to transmit your code to these tiny microprocessors.

A small video about the kit is in editing modus and will be published here hopefully soon. So stay tuned for news!

(1) Atari Punk Console @ wikipedia.org
(2) How Atari Punk Console (APC) works @ syntherjack.net
(3) Programming ATtiny85 with Arduino Uno @ arduino project hub