10/08/2014 at 15:39 •
I was helping out a person who saw the project at the Maker Faire and wanted his own adaptation of this controller; he would like to have 88 keys in piano style, but he also wanted standalone audio support; as you may know, my project currently support either Standalone Audio and 48 analog controls, or 144 controls and no audio. Besides RAM usage and polyphony issues that could arise, with the current configuration he won't be able to achieve his goal, I initially thought.
But then, BANG! I thought that rather than using single pins for each INHIBIT of the 3 HCF4067 that can be plugged on the mobo, I could use those 3 pins as the 3-bits control bus of an 8 channel mux with its common input set to 5 V and its outputs set as INHIBITs of up to 8 HCF4067 which will still share their 4-bits control bus as well as one single analog pin.
If we could also reach in a reasonable way the pins on the backside of the Teensy, we could use the same architecture to control way more analog inputs!
Stay tuned for another revision of this project!
10/03/2014 at 22:17 •
Guys, the project has been finally completed and it is now exposed at Maker Faire Rome 2014!
I won a contest run by my former university, Sapienza University of Rome, and I'm exhibiting at their stand, along with other great projects!
There have been a few adds:
1) I designed an acrylic enclosure which has been lasercut by an online cutting service here in Italy with very fast shipping (48h) and I managed to build it yesterday in late morning, just before setting up the expo. It is composed of 5 parts; 4 of them compose the base and the plane where the FSR PCB is sitting, all cut in 8 mm thick acrylic, while the top is made of 2 mm acrylic. It is holding up with a mix of screws and glue. I still gotta learn how to properly design enclosures, but it turned out great being my very first attempt to design one! Here's a shot:
2) I also put up a breadboard version of an expansion board which holds 2 buttons and 3 potentiometers, which have been programmed to act as follows:
a) One button (blue) toggles between fixed and dynamic velocity control
b) One potentiometer selects the fixed velocity value
c) One button (white) lists through 8 different scales:
. Chromatic (useful with MPC-like effects in Reason, for example)
. 7 modal scales (Ionian, Dorian, Phrygian, Lydian, Mixolydian, Aeolian, Locrian)
d) One potentiometer selects the starting playable note (from C to B)
e) Finally, one potentiometer selects the octave of the starting note (goes from C2 to C6)
The source code, both with or without expansion board support, the full schematics for motherboard and FSR daughterboard, the PCB layout file ready to be printed, the enclosure layout to be laser cut on 8 mm and 2 mm sheets, and the whole set of files to be used in KiCad is now available on the Google Drive shared folder of this project, more specifically inside the folder of this project log.
Here are the pictures of the schematics:
This is the motherboard:
And this is the FSR board:
Bear in mind that the expansion boards looks exactly the same as the FSR Board, except that there are pushbuttons and potentiometers connected to the multiplexer; in particular, one of the pushbuttons pins is put to 5 V, the other goes to the mux in and to ground through 330 Ohms to limit current, while the first and last pin of the pots are connected to 5 V and ground while the wiper is connected to the mux in.
You can see that the motherboard has a lot of unconnected pins, and the others are connected in a strange way; the thing is that I purposely left some pins unconnected so to not interfere with the pins that should be used by a Teensy + Audio Adaptor board; in fact, I used every remaining pin on a Teensy + Audio Adaptor and it fitted EXACTLY three 16 channel mux connectors which share the same control bus, and there was also another spare analog input left; this sums up to 16x3 + 1 = 49 concurrent analog inputs; the strange ordering of the pins has been arranged to better suit my one layer PCB layout needs; this strangeness can be seen also in the schematic of the FSR board, but if you see its PCB layout you can easily understand why it had to be like that (it's easier to route the shortest path to a pin and later reassign it in software, don't you think?)
Finally, the best way to sum things up is to show it in a video!
This kid shows up at the stand and he starts mashing buttons like crazy, he was so cool I had to take a video of him! I will keep adding more videos, hopefully I'll get someone shoot a video while I'm showing all the functionality.
This is a great achievement for me, I've been a first-timer in doing most of the stuff for this project, from PCB printing to case designing, and it is actually the first really finished and polished project I made; surely being under pressure 'cause Maker Faire was approaching helped me to stay focused, but even if under pressure it has been fun all the way through.
Thanks to everyone who showed interest and support, now go make your own!
09/21/2014 at 21:37 •
I got big news: I won a competition with University of Rome Sapienza, which I attended, and now I'm bringing this project to Maker Faire in Rome from October 3rd to 5th!
That's why I'm actively working on Revision 2 of this project! In fact, I just printed the first working PCB of the FSR matrix! See it here below in all of its glory and copperness!
Unfortunately I'm encountering issues with drilling holes in PCBs, mainly because it's my first time handling a Dremel and secondly because I do not have a drill press (which I will buy in the next days), therefore I managed to make two holes in a test PCB and breaking 2 drill bits, the 1mm and 0.6 mm ones, so I couldn't drill this one and I could not test it :(
But I assure you that the pads are fully functional; in fact, the test PCB I drilled was an FSR etching test, I tried that with velostat under a pad and it works perfectly! Here's the test FSR:
You can see cables coming out under the PCB soldered to each side of the FSR.
Another issue I encountered while testing that FSR is that there is no way to glue Velostat under the rubber pads; that stuff is unglueable! But I tought of a workaround: I will use an acetate sheet to which I'll glue 16 Velostat circles, and I will cut a windowed acetate sheet (sort of a frame) that will leave some air between the Velostat circles and the FSRs; these two sheets will be put between the pads and the PCB.
Last thing, I still need to design an enclosure for everything; it will have room for the PCB and a base for it, a Teensy 3.x and Teensy Audio Board (for future upgrades), and a motherboard which will host the Teensy and which will have 3 connectors; one will be connected to the FSR board, the other 2 will be free to use with a similar configuration, that is to host a 16 channel multiplexer; this will leave up to 32 addressable analog inputs!
So, stay tuned!