Month: April 2014

Synths in casings + new synth!

Last weekend the first fully cased Tasty Chips synths were demonstrated!

The Super Piggy, an experimental follow-up of the Piggy, was cased by Matthijs, allowing all the potentiometers to come out while safely housing both the Arduino and the Superpiggy. Next to this there were the first attempts at display modules using super-sharp and vibrant OLED displays.

This sets the general direction for Tasty Chips: Synthesizers usable out-of-the box. Fully cased and ready to be played and of course, loads of parameters hands-on available.

In this vain, the new prototype was also designed. The TCE-1M is a monophonic analog synth with the VCO and VCA sections of the Superpiggy, combined with a multi-mode VCF + loads of features.

From top-left to bottom-right in the picture:

  • Saw and rectangle VCO with adjustable duty cycle
  • Loopable ADSR envelope
  • LFO (0.05 Hz -> 50 Hz) with Pitch and VCF cut-off integration + 3 waveforms
  • Multi-mode VCF (low, band, hi) which multiple modes selectable at the same time
  • Filter sweep profiles, speeds and directions, and of course keyboard tracking

The TCE-1M is definitely the future for us. It was demonstrated and subsequently experimented on with great interest from the public. Hence, the choice was made to slowly move away from the Piggyback devices in favor of the more hands-on controllable powerful synths.. even more powerful than the TCE-1M..

Check out some photos below:

TCE-1M Monophonic Analog

TCE-1M Monophonic Analog in aluminium fronted casing.

961313_10152210383799735_324644534_n (1)

Superpiggy in its own special casing + a little OLED display (photographed in its natural habitat, obviously)

Our Life With The Due

In our recent adventures to build a new prototype synthesizer, that supports a multimode VCF, LFO, and also all the goodies from the SuperPiggy experiment, we were on the look-out for a powerful prototyping platform.. We finally chose the Arduino Due. This post describes our recent experiences with the board.

The Arduino Due is the long awaited follow-up of the ever popular Arduino prototyping board. It was released last year to a somewhat chilled audience. It was expensive, at that time a whopping 80 euros, but it featured everything the previous top model had to offer + a processor that is for most tasks 5 to 10 times as fast, a truly huge memory and two real DAC’s. There were differences, though. The main one was the GPIO and PWM voltage. It had dropped from 5 to 3.3 V. This was a drawback in terms of compatibility. And there are more. Most of them we will discuss here in this post. Some of these will be well-known, others not so much.

First off, the IDE that supports the Arduino Due is currently still in Beta. One thing we really noticed was uploads to the board are slow and non-interruptable. That’s about the only thing that’s slow about the Due, though. The thing executes fixed point arithmetic like nothing else. And yes, it also has a decent 32 bit divide instruction 😉

The pins are not only 3.3 volts, but they also cannot source as much current as the old Arduino could. There are even reports of burned out pins, although we have not personally experienced this. Some people report burning out their DACs. In any case, it’s wise to use external amplifiers (a simple transistor may suffice in many cases) to make sure you always have enough power..

A huge convenience of the old Arduino and the AVR microcontroller it hosts, is the fact that it features built-in pull-up resistors. Just set your pin to the INPUT_PULLUP mode and presto, you can hook up a button without any peripheral hardware. On the Due, it’s different. It does have the internal pull-up resistors but they’re as good as useless. Instead of 10 kOhm, we’re now talking about 100-150 kOhm. This means a huge amount of voltage will be divided and there’s a good chance only with minimal interference, that a 0 is read instead of a 1. There are remedies against this: shielding, modifying your read-out functions (f.e. only if it’s 50 times 0 in a row, then it’s a real 0..). But in a prototyping environment shielding is a hindrance, and modified read-outs might still be error-prone. Long story short, get out those 10 kOhm resistors 😉

Another thing is the PWM pins. There are 12 of these, and all of them support 12 bit PWM instead of just the old 8 bit. Also, you can clock these pins pretty high. The Arduino Uno maxed out at about 62 kHz. The Due can do about 300 kHz @ 8 bit resolution. To change this frequency, you need to hack a header file:

PWM pins come in two groups:

  • PWM
  • Timer Counter (TC)

Only pins 6, 7, 8 and 9 are PWM, the rest is TC. PWM can do more like “dead time”, which is required for motor control. For signal processing, however, the TC pins will do fine. Change PWM_FREQUENCY and TC_FREQUENCY to 300000 in that header file and all should be super zappy. Also notice that this DOES NOT break the timing based Arduino calls like delay() or micros(). This is a big advantage over the Uno!

Another oddity we discovered is that GPIO pin 53 is always high for some reason. If any Arduino hackers are reading this.. Do you know why? In any case, with so much GPIO pins, we really didn’t care about that last little piggy that stayed at home 😉

All in all, the Due is a nice piece of work. Probably things will become better when the final IDE is released, but on the hardware front you do need to watch out for the occasional caveat.

The Due is now available for 40 euros and a Chinese clone is about 20, if you can handle the long shipping time..

Scroll to top