This site will be bringing your simple electronic music projects utilising easily available components and microcontroller platforms such as the Arduino.
If that is largely gobble-di-gook to you, then this short introductory video from Make Magazine should help!
First Some Caution!
These projects will be hooking up electrical components to low-voltages and computer-connected electronics. This is usually a safe thing to do, but like all things there are a few things to be wary of when building projects like these:
- NEVER let your home-made electronics get anywhere near mains electricity. Hopefully this should go without saying, but I’ll say it anyway! The closest any of these projects should ever get to your mains supply is using an appropriately marked and sealed off-the-shelf power supply appropriate for the electronics board you are using. Typically this would be powered using USB connectors or a “barrel jack” from a plug-in, sealed adaptor serving either 5V (USB) or 9V to 12V (jack).
- Don’t power your project from your computer’s USB Port. Whilst you can usually power your projects from your computer’s USB port, I strongly recommend you do not do this. If there is a fault with your circuit, then it is better to short out a relatively cheap power supply than permanently damage a USB port on a computer (especially a laptop, which isn’t easily fixed).
- Always double check your wiring. Ideally use a multi-meter to check that there are no obvious short circuits between the +5V and GND connections anywhere in the circuit before powering it up for the first time. If it doesn’t work straight away, turn it straight off just in case, before you go and think about what might be going wrong.
- If you decide to learn to solder, find a good tutorial and make sure you do it safely in a well-ventilated area.
- If you want to plug any of these projects into a music keyboard or computer, I strongly recommend you use an old, second-hand, hand-me-down one for your experiments, and you do so at your own risk. I am not responsible for any damage to USB, MIDI, power, audio ports or any other part of your expensive equipment (sorry)!
But I Just Want To Get Going!
Ok, in that case, get yourself and Arduino Uno (R3 – revision 3 – is typically widely available) and follow Lady Ada’s Learn Arduino lessons to get started.
Then get yourself a solderless breadboard, some jumper cables, and some basic electronic components as described in each tutorial. Arduino starter kits are available with a selection of commonly used bits and pieces and might be a good way to get started. I’ve put together a general Kit List here.
For any projects that require a speaker, I’ve used either old 8 ohm impedance speakers from an old TV or higher impedance speakers from an old (cheap, and dead) pair of headphones.
Why Arduino and Music?
If you want some inspiration for what people have done with the Arduino and similar boards and music, just search for “Arduino and music” on YouTube, and you’ll find videos like this:
- The Final Countdown on mechanical orchestra
- Pirate’s of the Caribbean on mechanical glockenspiel
- Vivaldi’s Summer using motors
Not to mention a whole range of examples of inventing new or wacky instruments now made possible thanks to some simple electronics and computers. Here are a few lists of projects that people have created and documented, from the very simple to the incredibly complex:
- List of Arduino Music projects from Arduino.
- List of music projects from hackster.io.
- Music related projects on Instructables.
- Music projects on Hack-a-day.
- Music projects on ElectroMaker.
- List of DIY MIDI project sites from the MIDI Association.
There are so many excellent YouTube channels dedicated to building home-made electronic music some based on microcontrollers like the Arduino and some not. Here are some fun ones that I can recommend you have a browse.
And here are some excellent books on the topic that go much further, and with a lot more expertise behind them, than on my site.
- Book – “Arduino Music and Audio Projects” by Mike Cook.
- Book – “Arduino for Musicians” by Brent Edstrom.
- Book – “Handmade Electronic Music” by Nicolas Collins.
- Book – “Make: Analog Syntheiszers” by Ray wilson.
Boards Used in My Projects
I’ll try to provide examples of the projects using a range of microcontroller boards where applicable. Typical boards that I’ll be using include:
- Arduino Uno
- Arduino Nano
- Raspberry Pi Pico
- From Adafruit: the Feather, the Trinket M0, and the ItsyBitsy.
- Wemos D1 Mini
These are all easily available from a whole range of suppliers and are all programmable using the Arduino Integrated Development Environment (Arduino IDE).
Some of the code provided will be pretty interchangeable with a bit of minor tweaking between any of these boards, but some of the projects will be specific to that board.
There are also a number of boards with a large educational remit that can be used for musical applications:
Some more specialist boards with a musical following or interesting set of applications include:
These might all make an appearance at some point in my projects.
Getting Started with Arduino
I’ll try to keep each project relatively self-contained, but will rely on some basic knowledge – such as how to install and run the Arduino environment, how to connect your board to your computer and how to get code uploaded and running on your boards. There are many tutorials online to get you started, for example:
- The official Arduino Getting Started pages.
- Lady Ada’s Learn Arduino Lessons.
- Makerspaces Arduino for Beginners and Simple Arduino Uno Projects.
- Maker.io How to Get Started with Arduino.
If you’re not sure about any of this, then the Lady Ada Lessons and an Arduino Uno are a great place to start.
Reading Fritzing Circuit Diagrams
I use Fritzing to document any circuits and it’s great for my level of electronics (i.e. enthusiastic amateur!) and I’m sure a lot more. My circuit diagrams are always shown “from the top” looking down on the components. This seems natural and hopefully obvious for solderless breadboard pictures, and probably not too obscure for those using proto-board, as long as you remember the soldering happens on on the back (naturally).
For such diagrams, if you are soldering one up yourself, you can decide if it makes more sense to have the connecting wires on the top or bottom of the board. I’ll often use the legs from components as connecting wires, routing them on the underside of the board and when it comes to the actual build, may end up routing wires slightly differently too.
But things can get a bit weird when you see a stripboard diagram, as it looks like the copper strips are on the top. I draw them like this so we can see what the circuit looks like, but when building them you have to imagine the copper strips “pushing through” the PCB to the underside, so that when you turn the board over to solder the components, you have to imagine a mirror image of the circuit.
So using this same example, I might draw the circuit on the left, but when you flip your stripboard over for soldering, the connections are going to look more like those on the right. After a while you get used to “seeing through” the PCB.
There are other software tools out there that allow better views of the “solder side” of stripboard, but considering most of the circuits are using protoboard or solderless breadboard, I like the finished, more friendly feeling results that Fritzing provides.
MicroPyton and CircuitPython
Some of the boards, specifically those based on the more powerful 32-bit processors such as that used on the Raspberry Pi Pico or the SAMD21 or SAMD51 used with the Adafruit Trinket M0 and ItsyBitsy M4 can be programmed using MicroPython or CircuitPython.
For details of how to get started with these environments, here are some links.
Note that in many cases though, I’ll be sticking with the Arduino environment even for these more powerful boards.
Using the Wemos D1 and the Arduino Environment
I like the Wemos D1 Mini as its small and has a range of interesting add-ons all in a small package. It also has built-in Wifi which presents some interesting possibilities.
However to use the Wemos D1 Mini with the official Arduino IDE requires a couple of extra steps. The Arduino IDE must first be told how to talk to the board, so a number of support packages must first be installed as per the instructions under “Installing with Board Manager” here: https://github.com/esp8266/Arduino.
Then the Wemos D1 Mini should come up as an option to choose alongside Arduino Uno and the others.