Using the Arduino for electronic music #1

Introducing the Arduino and related devices


Disclaimer: I’m not an engineer, and some of this material approaches the speculative.  Hope it is as useful to you as it is to me, and please feel free to comment on any errors or omissions you find.

Over the last few months I’ve been studying the teensy32_front_small
features of different microprocessor families to determine which are most suited to electronic music and synthesis.  The big winner so far is the $19.00 Teensy 3.2: But that’s not what this post is about.

The Teensy 3.2 (It is, in fact pretty teensy)

This post is going to be about the Arduino, and that is for a couple of good reasons.  The Arduino is built from the ground up as an educational environment for learning about microcontrollers, and it has become, by orders of magnitude the most popular microcontroller platform for hobbyists and amateur engineers. This popularity means that it is often the first thing that comes to mind when creating a new project.

ArdGen_UNOThere is a lot to like about the Arduino:

  • The boards are inexpensive
  • Very well documented, both for hardware and for software
  • Supported by a huge community of other users
  • Supported by a huge number of libraries to do just about anything (within reason)
  • The tools needed to write and program the device are simple and free

And there are some weaknesses to the platform:

  • The device runs slowly (typically 16 MHz)
  • The device is 8 bit, which means that it is limited in the numerical processing it can do
  • The device could have more memory to store programs and data
  • The tools are best for simple, small programs and can fail when doing something complex
  • It is difficult to get high quality analog signals out of the device

In fact, the device is so popular that there is even a EuroRack synthesizer module that is built just so that you can add the device to your synthesizer rack.

The EuroDuino


This is Circuit Abbey’s Euroduino module.  The main board comes as an easy to assemble kit, and is supported by an extra module that will let you program the device while it is bolted into your rack.  It features:

  • Two generic knobs that can be used to change program settings
  • Two 5 volt digital inputs and outputs
  • Two 5 volt analog inputs and outputs
  • Two general  purpose switches

The processor inside the module is the Arduino Pro Mini, made by SparkFun.

This board has all the functionality of the normal Arduino Uno in a very small package which fits in the narrow Euroduino module pictured above.

The Euroduino exposes a subset of the functions that the device is capable of:

  • The 2 knobs and the two analog inputs connect to 4 of the 6 analog input pins
  • The 2 switches, the two digital ins and the two digital outs connect to 6 of the 14 digital I/O pins
  • The 2 analog outs connect to 2 more of the digital I/O pins which are set to Pulse Width Modulation (PWM) analog output.

To evaluate the practicality of the Arduino ecosystem (both hardware and software), we need to do some background research into the various signals used in Eurorack, and how much resolution they require, both in bit depth and in sample rate.  Some limitations are obvious, and some require further research, particularly when using control voltage to represent loudness and 1 volt per octave pitch.

This is discussed in these two pages:

Once you understand those things, you can evaluate how close the Arduino comes to meeting the needs of modular synthesis, which is discussed in the second part of this post:

Using the Arduino for modular synthesis #2


Just a reminder what it’s all about




One thought on “Using the Arduino for electronic music #1

  1. Pingback: Using the Arduino for modular synthesis #2 | Euphonia

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s