Eurorack and Arduino. What common may be between a huge analogue rack and a brains for a toy robot? Perhaps it is openness of the both platforms and broad variety of existing solutions based on them. Nowadays it is not something outstanding to use a digital controller inside analog module, but Arduino also is respected for its simple and user-friendly development tools, allowing to create a device doing random tasks for minimum time and money. A couple of years ago Arduino chips had took their place in Eurorack modules. 4ms, Flame use AVR controllers in their products and Soundmachines specifically used Arduino to develop their Robotto and had published an SDK for it.
And now appeared modules that are intended to be programmed by owners. The first one was utility-module Expert Sleepers Disting ($175), based on PIC32MX uC, then Circuit Abbey Euro-Duino ($145), based on Arduino as it comes from the name. The price for the DIY kit of this module is just $95 and it has lots of fun within! So, let’s take a closer look at the module.
WTF is Arduino?
At first I have to remind to the reader, what Arduino is. It is series of tools for developing digital devices controlled by Atmel AVR family uControllers. The hardware part is standardized boards with pre-installed microcontroller (usually ATMEGA168/328 flashed with bootloader making programming procedure more comfortable), a serial interface and set of IDC-headers connected directly to uC’s terminals. The layout of the headers is strictly defined which makes it possible to produce various peripheral adapters, so-called shields, which may have some controls or interfaces: buttons, LEDs or even S/PDIF or Ethernet interface.
The software part includes some USB-serial drivers and an environment which combines a C++ code editor, uC programming tools, useful macros, terminal client and a help system. There are lot of libraries available on the internet, which may be used to simplify the programming process. Any official shield is obliged to have a respective well-documented Arduino library. The most of Arduino projects are open-source and this helps the beginners to understand the platform and modify already existing code for their own tasks.
How Euro-Duino works
In fact, Euro-Duino is a Eurorack shield for Arduino Pro Mini board. It has two identical sets of controls including a potentiometer, 3-position switch, digital input and output, analog input and output. Initially Euro-Duino has a simple dual VC-LFO program loaded on board. Each of the LFOs has 3 available waveforms, reset input, analogue out for the LFO itself and a digital out making a pulse each cycle.
Analogue signal is processed directly by peripherals of the Atmel ATMEGA328P, which are:
- Four 10-bit ADCs with a maximum sampling rate of 10000 samples. (It’s too low for audio, but fairly enough for CV. Two of them are connected to potentiometers. All four converters accept voltage range from 0 to +5 volts.
- Two PWM-outputs, from which the signal is filtered by main board of the module. The PWM frequency is about 490 Hertz when basic libraries are used, and bit depth is 8.
DIY-kit
At this moment, the Euro-Duino is supplied either assembled or as DIY-Kits which are packed into polyethylene packets stapled with a cardboard labels. Kit includes two interface PCBs, front panel, all necessary components/hardware and Arduino Pro Mini module with headers and ISP-connector installed. If you do not have a Programmer for AVR such as STK-500, AVRDude, AVR Dragon, e t.c. I recommend you to purchase a programming cable ($18) which is also available from CIrcuit Abbey.
Boards are well-made, but I, personally, don’t like two things. At first, most of the pads are very tiny. This reduces the area of contact between pads’ surface and the tip of a soldering iron, thus reduces the thermal transfer and thus slows down the soldering process. That stock Eagle pads are OK for wave soldering, but not for the hand soldering. At second, all components are labeled by designators and not by values, so you have to download the BOM, print it and keep around during soldering. Also the BOM itself looks more like an invoice: every item, even resistors, is specified as some kind of warehouse article which make it harder to separate the value by brief look on it.
Components are good — no speak. 1% film resistors, small accurate ceramic caps, fast protection BAT85 diodes, Alpha 9mm pots, unfamiliar but good-looking 1/8″ sockets. With such quality of components I could be happy to be robbed for additional 20 bucks to have a real DAC on board, but let’s talk about is later. The only censure I have is about IDC headers which look as they were cut from longer pieces with simple side cutting pliers. This looks ugly, though it works OK.
The front panel is made of one-sided glass epoxy. It seems that it’s more likely a PCB with no tracks. Background is drawn with black soldering mask, labels are silk-screened and mounting holes are made as pads. Interesting technology though epoxy is tend to bend a little.
There is some issues with mechanical design. Sockets are slightly taller than pots. Because of that, two washers are needed to be put between each potentiometer and the panel to keep panel parallel to the PCB. It’s OK, but there is no extra washers to put under the nuts. Also there is no nuts for the switches at all. Although they stay well in their holes, each press cause some pressure on the soldering points, so I could feel more comfortable if switches were secured by nuts, as usual.
Unlike Hexinverter modules, Euro-Duino PCB sandwiches are kept together only by friction forces in the headers. This makes assembling a bit faster, but I consider it quite insecure. However I’m expecting too much glitter from 6hp module. Actually, there is no place for extra mounting holes. Well, maybe Circuit Abbey could add a couple of extra 3mm LEDs.
Despite all minor imperfections, assembled module looks classy. There even is a place to put custom shield between the Arduino and the module.
Working with Euro-Duino
Module is novelty and at the moment I’m writing this article I know only two sketches for the Euro-Duino (Sketch is a project file have to be compiled and programmed by Arduino IDE). The first one is a stock firmware and second is a primitive VCO written by me yesterday. So, it’s quite hard to talk about opportunities which can be opened with this module. I see no reason to describe stock LFO program in detail because it is just an example, no more, no less. Maybe just a couple of lines.
500 Hz sampling rate is way too low for PWM, especially for 8-bit. Mainly because of that, Stock LFO has small frequency range, which make it uncomfortable to control because control is similar to V/Hz (Linear). SInewave is based on 8-bit wavetable with no any kind of dithering. PWM ilter is not perfect enough to suppress PWM ripples effectively (Electric Druid filter seems to be better). The ripples can be clearly seen on the scope and carrier tone can be heard. But ADCs are really fast ones and this can be used well. I think, the Euro-Duino for sure needs some extension board, that solves all hardware imperfections and provides additional functions and control. It’s tricky problem to solve because interface board takes 14 of 18 available pins of the chip (including Rx/Tx), so basically main board are need to be removed at all :). I will try to use SPI-controlled DAC with this module and will report it.
Summary
Being compared with the ES Disting, this module has exactly two advantages: low price and Arduino compatibility. Unfortunately, all other parameters are way better on the Expert Sleepers Product. Disting has professional 24-bit converters. Euro-Duino uses 10-bit integrated ADCs and PWM. Disting has eight LEDs forming primitive interface. Euro-duino only have two discrete gate outputs. Disting uses 32-bit uC @ 40 MHz and Euro-Duino uses 8-bit uC @ 16 MHz. It’s like MOS6502 versus i80386. :)
Nevertheless, Euro-Duino has a lot of power to have fun with for less than hundred bucks. Maybe if you’re not closely familiar with low-level uC programming, you can start with this easy programmable module and then you can move further to Distinct or even more complicated DSP-based hardware.
Modulargrid page
Muffwiggler thread
Modularsynth.ru rating: 7/10
I just opened a new sub-section on the site, that is named “Sketches for Euro-Duino“. All my sketches will be uploaded there.