This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
protodeck [2010/04/23 17:09] protofuse correction source code in order to make update without killing myself ... |
protodeck [2016/07/03 13:19] (current) psykhaze [Protodeck] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | [[http://www.julienbayle.net/diy/protodeck/]] is the best way to get fresh info. | + | ====== ProtoFuse Protodeck ====== |
- | But all is here :) | + | |
- | **>>>>>>>> THIS DEVICE IS USED EXCLUSIVELY BY [[http://protofuse.net/|PROTOFUSE]] AND ISN'T FOR BUYING.**\\ | + | [[http://www.julienbayle.net/diy/protodeck/| Official Website]] |
- | \\ | + | |
- | \\ | + | |
- | + | ||
- | \\ | + | |
- | + | ||
- | \\ | + | |
- | + | ||
- | \\ | + | |
- | + | ||
- | + | ||
- | | menu:\\ | + | {{youtube>3OSlQmFfDF0?large}} |
- | \\ | + | |
- | [[#preamble|preamble]]\\ | + | |
- | [[#midibox|the midibox framework]]\\ | + | |
- | [[#layout|the basic layout]]\\ | + | |
- | [[#architecture|the protodeck's architecture]]\\ | + | |
- | [[#parts|the protodeck's parts]]\\ | + | |
- | [[#firmware|the protodeck's firmwares]]\\ | + | |
- | [[#m4L|the protodeck's software interface with max for live]]\\ | + | |
- | [[#JS|the protodeck's software javascript code for clip grid handling]]\\ | + | |
- | [[#lcd|the protodeck's little LCD]]\\ | + | |
- | |THE PROTODECK controller features:\\ | + | |
- | - 87 potentiometers\\ | + | |
- | - 90 buttons\\ | + | |
- | - 81 rgb leds\\ | + | |
- | - 2x20 LCD\\ | + | |
- | - 2 PIC 18F4620 (20MHz RISC processors)\\ | + | |
- | - fully custom rgb led drivers\\ | + | |
- | - fully custom firmware\\ | + | |
- | - 2 MIDI IN/OUT interface\\ | + | |
- | - power supply unit included in the box| | + | |
- | \\ | + | **//THIS DEVICE IS USED EXCLUSIVELY BY [[http://protofuse.net/|PROTOFUSE]] AND ISN'T FOR BUYING.//**\\ |
- | \\ | + | |
- | __PREAMBLE__\\ | + | =====Preambule===== |
- | The problem is easy to understand: I wanted to drop my PC keyboard + mouse during live performance in order to be focused on music/sound/live.\\ | + | |
+ | The problem is easy to understand: I wanted to drop my PC keyboard + mouse during live performance in order to be focused on music/sound/live.\\ | ||
The only way to solve my problem was to use an hardware to control Ableton Live, but not only that, I need a feedback from it too.\\ | The only way to solve my problem was to use an hardware to control Ableton Live, but not only that, I need a feedback from it too.\\ | ||
But I need a lot of pots/knobs, a lot of multicolor lights, a lot of buttons...\\ | But I need a lot of pots/knobs, a lot of multicolor lights, a lot of buttons...\\ | ||
Line 50: | Line 20: | ||
By the way, a lot of deck are named like that. But it could be a pretty tribute to Robert, even if he wouldn't be moved by that :-)\\ | By the way, a lot of deck are named like that. But it could be a pretty tribute to Robert, even if he wouldn't be moved by that :-)\\ | ||
By the way (bis), he congratulates me about the hardware. And I was happy about that !!!\\ | By the way (bis), he congratulates me about the hardware. And I was happy about that !!!\\ | ||
- | \\ | + | |
- | [[http://www.julienbayle.net/blog/protodeck/|little blog to organize and show my work in progress]].\\ | + | ==== Features ==== |
- | The following parts aren't finished. All those impatient people can contact me via email: [[julien.bayle@gmail.com|julien.bayle@gmail.com]] (but I don't give any guarantees about my answer time...)\\ | + | |
- | \\ | + | THE PROTODECK controller features:\\ |
- | \\ | + | - 87 potentiometers\\ |
+ | - 90 buttons\\ | ||
+ | - 81 rgb leds\\ | ||
+ | - 2x20 LCD\\ | ||
+ | - 2 PIC 18F4620 (20MHz RISC processors)\\ | ||
+ | - fully custom rgb led drivers\\ | ||
+ | - fully custom firmware\\ | ||
+ | - 2 MIDI IN/OUT interface\\ | ||
+ | - power supply unit included in the box | ||
+ | |||
I have to thanks a lot of people which helped me A LOT ; without you, this story wouldn't have been possible!\\ | I have to thanks a lot of people which helped me A LOT ; without you, this story wouldn't have been possible!\\ | ||
- [[http://www.flickr.com/photos/x-mob/|Denis St Amand]]:: my quebec friend! he helps me a lot about the structure, screws etc, the PCBs too. he would have helped me with midibox if I didn't do things before to ask him...\\ | - [[http://www.flickr.com/photos/x-mob/|Denis St Amand]]:: my quebec friend! he helps me a lot about the structure, screws etc, the PCBs too. he would have helped me with midibox if I didn't do things before to ask him...\\ | ||
Line 64: | Line 44: | ||
\\ | \\ | ||
A special thank to __Ralf Suckow__ from Ableton company, for his help, ideas, and experiences.\\ | A special thank to __Ralf Suckow__ from Ableton company, for his help, ideas, and experiences.\\ | ||
- | \\ | ||
- | \\ | ||
- | |||
- | ---- | + | =====MIDIbox Framework===== |
- | \\ | + | The links to favorize right now are:\\ |
- | __THE MIDIBOX FRAMEWORK__\\ | + | |
- | The links to favorize right now are:\\ | + | |
- [[http://www.ucapps.de/|ucapps.de]] / Thorsten Klose website (creator of midibox framework)\\ | - [[http://www.ucapps.de/|ucapps.de]] / Thorsten Klose website (creator of midibox framework)\\ | ||
- [[http://forum.midibox.org/|midibox forums]]\\ | - [[http://forum.midibox.org/|midibox forums]]\\ | ||
Line 114: | Line 90: | ||
\\ | \\ | ||
- | + | =====Basic Layout===== | |
- | ---- | + | |
- | + | ||
- | \\ | + | |
- | __THE PROTODECK's BASIC LAYOUT__\\ | + | |
I need potentiometers, I need buttons and I need feedback from Ableton Live. The feedback is done by RGB LEDS.\\ | I need potentiometers, I need buttons and I need feedback from Ableton Live. The feedback is done by RGB LEDS.\\ | ||
I decided to use potentiometers screwed on the frontpanel, and to build my own PCB for buttons & leds.\\ | I decided to use potentiometers screwed on the frontpanel, and to build my own PCB for buttons & leds.\\ | ||
Line 161: | Line 133: | ||
- | ---- | + | ===== Architecture===== |
- | + | ||
- | \\ | + | |
- | __THE PROTODECK's ARCHITECTURE__\\ | + | |
Let's go inside protodeck's guts!\\ | Let's go inside protodeck's guts!\\ | ||
It involves 2 CORE, 3 AIN, 3 DIN, 2 hacked-DOUT, 1 LTC and 1 LCD screen.\\ | It involves 2 CORE, 3 AIN, 3 DIN, 2 hacked-DOUT, 1 LTC and 1 LCD screen.\\ | ||
Line 179: | Line 148: | ||
---- | ---- | ||
- | \\ | + | ===== Parts===== |
- | THE PROTODECK's PARTS\\ | + | |
\\ | \\ | ||
- | __POTENTIOMETERS__\\ | + | ====Potentiometers==== |
\\ | \\ | ||
Pots of the protodeck are all linear 10K-Ohms potentiometers. Linear is also named "B" type. Don't use logarithmic ("A" type) potentiometers !!\\ | Pots of the protodeck are all linear 10K-Ohms potentiometers. Linear is also named "B" type. Don't use logarithmic ("A" type) potentiometers !!\\ | ||
Line 194: | Line 162: | ||
\\ | \\ | ||
Here is the schematic of all the pots wiring. Each "grey triangle" is a flat ribbon cable with 8 wire on the connector side & only 1 on the other side (the side of the last pots in the row) {{protodeck:potsWiring.png}}\\ | Here is the schematic of all the pots wiring. Each "grey triangle" is a flat ribbon cable with 8 wire on the connector side & only 1 on the other side (the side of the last pots in the row) {{protodeck:potsWiring.png}}\\ | ||
- | __BUTTONS__\\ | + | ====BUTTONS==== |
\\ | \\ | ||
Buttons of the protodeck are basic SPNO [[http://en.wikipedia.org/wiki/Switch|switches]] (SPNO= Single Pole, Normally Open). It means if you do nothing, the circuit are open, if you push it, the circuit is closed and current rides away.\\ | Buttons of the protodeck are basic SPNO [[http://en.wikipedia.org/wiki/Switch|switches]] (SPNO= Single Pole, Normally Open). It means if you do nothing, the circuit are open, if you push it, the circuit is closed and current rides away.\\ | ||
Line 206: | Line 174: | ||
\\ | \\ | ||
\\ | \\ | ||
- | __LEDS__\\ | + | ====LEDs==== |
\\ | \\ | ||
I need RGB Leds like those common cathode or anode we can easily find.\\ | I need RGB Leds like those common cathode or anode we can easily find.\\ | ||
Line 280: | Line 248: | ||
\\ | \\ | ||
\\ | \\ | ||
- | __PRINTED CIRCUIT BOARD (PCB)__\\ | + | =====Printed Circuit Boards (PCB)===== |
\\ | \\ | ||
I decided to screw pots directly on the frontpanel in order to be sure about solidity when I'd use them.\\ | I decided to screw pots directly on the frontpanel in order to be sure about solidity when I'd use them.\\ | ||
Line 336: | Line 304: | ||
\\ | \\ | ||
- | + | ===== Firmwares===== | |
- | ---- | + | |
- | + | ||
- | \\ | + | |
- | __THE PROTODECK's FIRMWARES__\\ | + | |
\\ | \\ | ||
As we saw before, there are 2 CORE inside the protodeck.\\ | As we saw before, there are 2 CORE inside the protodeck.\\ | ||
Line 430: | Line 394: | ||
\\ | \\ | ||
\\ | \\ | ||
- | ---- | + | ===== Interface w/ Ableton Live: MAX4live===== |
- | + | ||
- | \\ | + | |
- | __THE PROTODECK's INTERFACE w/ ABLETON LIVE: MAX FOR LIVE__\\ | + | |
\\ | \\ | ||
- | | | THE PROTODECK interface features:\\ | + | ==== Features==== |
- mapping between pots and multiple parameters of the liveset\\ | - mapping between pots and multiple parameters of the liveset\\ | ||
- mapping between buttons and multiple parameters of the liveset\\ | - mapping between buttons and multiple parameters of the liveset\\ | ||
Line 479: | Line 441: | ||
[[http://vimeo.com/9500592|protofuse's liveset part 1]] on Vimeo.\\ | [[http://vimeo.com/9500592|protofuse's liveset part 1]] on Vimeo.\\ | ||
\\ | \\ | ||
- | __The whole set:__\\ | + | ====The whole set:==== |
\\ | \\ | ||
{{protodeck:liveset.jpg?1000x508}}\\ | {{protodeck:liveset.jpg?1000x508}}\\ | ||
Line 764: | Line 726: | ||
\\ | \\ | ||
\\ | \\ | ||
- | **____JAVASCRIPT FOR MAKING MUSIC??? UNDIRECTLY... YES !!!**\\ | + | =====Javascript for making music===== |
\\ | \\ | ||
**The [p gridControl]\\ | **The [p gridControl]\\ | ||
Line 1050: | Line 1012: | ||
\\ | \\ | ||
\\ | \\ | ||
- | **____ THE PROTODECK'S LCD SCREEN**\\ | + | ===== LCD Screen ===== |
\\ | \\ | ||
I need to visualize the state of the 3 drums FX (no led for that on the protodeck)\\ | I need to visualize the state of the 3 drums FX (no led for that on the protodeck)\\ | ||
Line 1065: | Line 1027: | ||
For instance, to update the song number to the protodeck, I send a little midi note message with a defined pitch (here: 123) & as velocity, the song number.\\ | For instance, to update the song number to the protodeck, I send a little midi note message with a defined pitch (here: 123) & as velocity, the song number.\\ | ||
At init time, I send the number of song by sending another special midi note.\\ | At init time, I send the number of song by sending another special midi note.\\ | ||
- | \\ | + | \\ |