Ferraganchos & Pinchos

Or how to rip all this stuff out of my head…

Archive for the tag “flute”

OpenPipe Breakout & Arduino Musical Shield

UPDATE (October, 1st 2012)!!! We’ve moved to www.openpipe.cc.

If you want to use OpenPipe Breakout as a MIDI controller you need some sort of synthesizer. You could use generic synths with custom sound samples (GarageBand, Reason) or specific synths like UniversalPiper, but all of them need a PC (or smartphone) to run.

If you want something “portable” you need to use a specific hardware synthesizer. The guys from Sparkfun designed an Arduino Shield based on VLSI VS1053b chip (Music Instrument Shield). This chip is a CODEC with support for several audio formats, and It can also play real-time MIDI. I was wondering how good the sound synth inside this chip is, so I bought one.

Connecting OpenPipe breakout board and Arduino UNO is quite simple:

  • OpenPipe GND: Arduino GND
  • OpenPipe VCC: Arduino 3.3V
  • OpenPipe I2C SDA: Arduino Analog 4
  • OpenPipe I2C SCL: Arduino Analog 5

OpenPipe & Arduino Shield connectios

Then connect a sound amplifier or headphones to the jack audio output.

OpenPipe, Arduino Musical Shield and Headphones

Here is the code I’ve used. It’s basically the same for OpenPipe MIDI, but with some changes in the MIDI command functions, because this shield uses SoftwareSerial library.

I’ve tested several instruments (Bagpipe, Oboe, Church Organ, Clarinet, Trumpet, …) and the sound is good, but It’s not amazing.

You can draw your own conclusions from the video: our lovely geek (me) making noise… again…


Openpipe breakout

UPDATE (October, 1st 2012)!!! We’ve moved to www.openpipe.cc.

The past summer I discovered MPR121 Capacitive Sensor Controller searching cool stuff at Sparkfun and suddenly, mixed feelings came to my mind related to one of my past hobbies: mixing bagpipes and electronics.

Back in 2000 I developed a galician MIDI bagpipe chanter based on PIC16F84, and it was really funny.

MIDI bagpipe chanter electronics

MIDI bagpipe chanter electronics

MIDI bagpipe chanter HMI

MIDI bagpipe chanter HMI

In 12 years a lot has changed related to DIY electronics, especially related to Open Source Hardware, Arduino, etc., so I decided to give it a new try.

First thing to do was to test MPR121 capacitive touch controller, as I have related in a previous post.

Then I decided to move on PCB design (Eagle) and manufacture (Eurocircuits) in order to learn the whole precess from a DIY approach. Based on SparkFun breakout board I designed a new PCB with flute finger layout.

The two layer SMD design was focused to Eurocircuits default technology.

Openpipe breakout schematic

There is only one new feature regard MPR121 breakout from Sparkfun, and It is the 3.3V regulator, in order to allow connecting with 5V boards.

Openpipe breakout PCB layout

The layout is quite simple. Finger pads are located this way to facilitate routing. Pull-up resistors have solder jumpers, in case you need to disable them.

Openpipe breakout 3D

Eurocircuits PCB service is easy, fast and “cheap”. I was really surprised how easy It was to manufacture the boards.

Eurocircuits delivery

Next step is reflow. If you think you can solder QFN20 with a soldering iron… try it :).

In order to reflow QFN20 I used soldering iron to put some tin over the pads, then I carefully located the IC over the pads and then I used a high-tech reflow station (a.k.a. toaster).

I covered the “reflow station” with a glass ovenproof dish…

And surprisingly It worked like a charm!!! Remaining SMD components was soldered by hand.

I was very happy with the toaster reflow station, but I wanted to improve a bit the assembly process, so I ordered a polyester stencil to http://www.smtstencil.co.uk/. Stencil works fine for all components except for QFN20. I can’t manage to put the needed solder paste so every reflow I get bad QFN20 connections. So I’m currently putting QFN20 tin by hand and using the stencil for the remaining components. The following image shows QFN20 after reflow.

QFN20 after reflow

The electronics is OK, now the mechanics…

I soldered M3 hexagonal spacers to the finger pads. I used screws for testing.

Soldered M3 hexagonal spacers

Then I bought PVC pipe from a hardware store and made one 3mm hole for each spacer.

PVC pipe

Some wires and the Openpipe breakout board is ready to connecto to Arduino using I2C.

Openpipe breakout connected to Arduino Mega

The hardware is OK. What about the software?

I wrote an Arduino Mega sketch that reads MPR121 pads and uses PWM for sound generation. Quite simple and powerful enough for validation.

And here is the final result!!!

If you are interested in the Openpipe breakout please drop me a line to xulioc at gmail.com. I think I could manage to send you the “kit”.

Post Navigation