Would you like to make your own 8-bit music or give someone else the gift of doing so? Would you like to do it in a really novel way, using a capacitive touch synthesizer made using computer-aided manufacturing on the Othermill? You've come to the right place!
This tutorial will teach you how to make a fun little synthesizer, which you can then hook up to external speakers. We originally wanted to have a speaker as part of the device, but it proved too bulky and power-hungry. Since most people have some kind of computer speakers or a portable speaker, this allows for a power-efficient board and no limits to how loud your fantastic 8-bit music can be.
Here's what we'll do:
- Gather our materials.
- Mill the board.
- Solder the components to the board.
- Program the micro controller.
- Have lots of fun!
If you're not comfortable with soldering, there are many tutorials online to get you started. If you're new to the Othermill, check out our Hello World tutorial, which will teach you the basics. If you've never used an Arduino before, check out the Arduino guide.
Step 1: Tools and Materials
- Computer with Otherplan installed
- Flat end mills, 1/32" and 1/64"
- Flat end mill, 1/16" (optional) makes cutting the outline faster
- Needlenose pliers
- Flush cutters
- Arduino Uno or an FTDI cable
- Soldering iron and solder
Jumper wires (5)
- Printed circuit board blanks, FR-1, 4"x5"
- Ceramic resonator, 16MHz
- Resistor, 10K
- Capacitor, 0.1uF
- LED, surface-mount, green, 1206 size
- Female header, 6-pin
- Battery holder, surface-mount, CR2032 (2)
- Battery, coin-cell, CR2032 (2)
- Microcontroller, ATmega328, with Arduino bootloader
- IC chip socket, 28-pin, through-hole
- Slide switch, surface-mount
- Headphone jack, 1/8" (3.5 mm), through-hole, PCB-mount style
- Computer speakers or other speakers with a 3.5mm jack, e.g., car stereo or a portable speaker
FILES (contained in CapacitiveSynth.zip)
- CapacitiveSynth.brd EAGLE board file
- CapacitiveSynth.ino Arduino sketch
- pitches.h list of pitches
Step 2: Mill the Board
This synthesizer is extra awesome because it doesn't require any buttons! Some really smart people on the Interwebs wrote code that allows us to use an Arduino to sense when a finger is touching a wire connected to one of the pins. Normally we would have to run wires and make some kind of contact points for the keys, but instead we can use the Othermill to mill the keys right into a piece of copper circuit board, which we we're already using for the circuit! Super awesome.
If you're not familiar with loading materials, changing tools, or otherwise using the Othermill, consult our Getting Started guide. If you prefer images to text, check out our "Hello, World!" tutorial.
Ready? Let's go:
- Download CapacitiveSynth.zip, if you haven't already, and unzip it.
- Attach the circuit board to the bed with double-sided tape, making sure the bottom and left edges line up.
- Set up your material in Otherplan, selecting single-sided FR-1, standard 5"x4" size.
- Load CapacitiveSynth.brd into Otherplan.
- In the imported plan file window of the .brd you just opened, add a 1/64" flat end mill in addition to the 1/32" end mill.
- Enable BitBreaker Mode in Otherplan (Instructions and more information about how BitBreaker Mode works behind the link).
- Once Bitbreaker Mode is enabled, click on the "Advanced..." button in your plan file window.
- Change Trace Clearance to 0.033in.
- Insert a 1/64" flat end mill into the spindle on the machine.
- Makes sure that Traces, Holes, and Outlines and enabled in the imported plan window.
- Click Cut!
- Otherplan will confirm you would like to start cutting, and tell you that it will change to a 1/64'' end mill, which is the tool you have already loaded into the machine.
- The machine will prompt you through the tool location sequence, and start cutting.
- Once the machine is finished cutting with the 1/64'' end mill, it will prompt you to change the tool to the 1/32'' end mill, and prompt you through tool location once more.
- The 1/32 will cut the remaining traces, holes, and outline, and the machine will finish and retract from the bed.
- Remove the finished board from the mill.
Step 3: Solder the Components to the Board
Heat up your soldering iron! It's time to solder the board.
First we'll solder the microcontroller socket:
- Place the board on a flat surface and orient it so the 2 lines of holes for the socket are toward the bottom.
- Orient the socket so the U-shaped divot it toward the top.
- Insert the pins through the holes until they touch the flat surface.
- Solder all the pins to the top of the board. It's a little weird to solder to the top, but it allows us to use a single-sided board.
- Take the ATmega328 chip and gently bend the pins against the table until they're straight. This will allow them to fit into the socket.
Insert the ATmega328 chip into the socket. If the pins are still too wide, bend them again.
Solder the power switch:
- Place it on the copper pads. You'll probably have to nudge it gently to get it perfectly lined up.
- Solder it ever so gently so that you don't bump it out of place. It may take a few tries. Try pinning down one pin with the iron, applying solder to that, and then gently releasing the iron.
Solder the resonator:
- Use pliers to bend the first millimeter or two at 90°. It doesn't matter which way you bend them because the Arduino doesn't care which way it's facing.
- Put the bent part of the pins through the holes.
- Solder the pins.
Step 4: Solder the Rest of the Components
You're more than halfway done with soldering!
Solder the headers:
- Pull out the second from the last pin with pliers. We don't need that one.
- Insert the pins into the holes, leaving enough metal exposed so that you can get the soldering iron to them.
- Solder them to the board.
Solder the resistor and capacitor:
- Bend the leads of the resistor right where they come out, and stick them through the holes.
- Solder the resistor, and snip off the leads on the back.
- Insert the capacitor into the holes and solder it, snipping off any leads on the back.
Solder the battery holders:
- Orient them so the the (+) is toward the top and the little tabs are in the little squares on the sides of the big squares.
- Carefully solder them to the pads, making sure they don't get bumped out of alignment before the solder cools.
- Make a big puddle of solder that fills the whole pad and covers the little tabs.
Solder the 3.5mm jack:
- Insert the pins into the holes, but leave enough metal exposed that you can still get a soldering iron to the front pin.
- Solder the pins.
- Snip off any pins sticking out the back.
Solder the itty bitty surface-mount LED:
- Yes, it's really, really small and fiddly. But we promise it's really cool!
- Orient the positive end downward. It looks like a horizontal line. The negative side is more vertical. If you can't tell which is which, you can test it by setting a multimeter to the continuity test setting and touching the probes to the ends until it faintly lights up.
- Solder it to the board. You're done!
Step 5: Program the Chip
In order to use the ATmega328 chip as a synthesizer, you need to program it. There are several ways to do this, but we'll choose between two: FTDI cable or Arduino.
If you have an FTDI cable, you can simply put long male header pins into the headers on the board and then plug the cable in directly to those pins. Make sure that the black ground wire goes to the pin on the end whose neighboring pin we removed earlier. You can also run jumper wires between the cable and the headers on the board.
If you have an Arduino and no FTDI cable, you can connect to the chip on the board by removing the existing chip from your Arduino and running jumpers from Reset, 1, 0, 5V, and GND to the headers on the board (in that order). It would be really awesome to not have to remove the chip, but right now it's the simplest way to do it.
Here's how to remove the chip from your Arduino:
- Unplug the USB cable and any other power sources.
- Gently slide a small flat-head screwdriver or other flat, stiff tool under one end of the chip. You may have to wiggle it to get it under there.
- Once you pry up one end a little bit, stop and do the same for the other end.
- Keep doing this until you can pull the chip out of the socket. If you accidentally bend one of the pins, don't worry. Just bend it back to its original shape, and it'll be fine.
Connect the Arduino board to the synthesizer board:
- Reset > synth header pin 1
- Digital pin 1 > synth header pin 2
- Digital pin 2 > synth header pin 3
- 5V > synth header pin 4
- GND > synth header pin 6
Now program the chip on your board:
- Open the Arduino IDE and load the sketch.
- In the Tools menu under Board, select Arduino Uno.
- In the Tools menu under Serial Port, select your Arduino or FTDI cable. It will begin with /dev/tty.usbserial.
- Click the Upload button to program the chip.
Step 6: Try It Out!
You're done! Now we get to try it out:
- Insert batteries into both battery holders.
- Flip the switch so it's toward the chip.
- Plug your speakers into the 3.5mm jack and turn them on with LOW volume.
- While touching one of the keys on the left, touch one of the keys on the right. You should hear a tone.
If you have any questions or want more information, message us at firstname.lastname@example.org. We're happy to help with any issues you may have. You can also just write "I made the Capacitive Synthesizer project!" and we'll say "That's so great!"