Hello M-I Friends!!! time to build a big one...
...Who works with A/V editing and mixing knows how annoying is to do it only with the mouse and keyboard. For a long time I've been trying to find a more professional solution for this type of application, the problem is that the digital mixers were and still are too expensive, so i knew the Emagics's MIDI controller : The
Logic Control, which allows to 'talk' with the Logic Audio software in completely independent way of the mouse and keyboard, leaving them just for
common tasks such as typing a text or select another application.
Although it's quite attractive (both in price and in functionality), Logic Control still seemed too industry standard for me - You must agree that Modding it's a kind of 'curse' (for our luck), once modder, you won't never use things without turn it unique.
I realize that to mod the Logic Control wouldn't be enough for me when I knew the famous DIY work of the brilliant German electronics engineer, Mr. Thorsten Klose: the Midibox.org. So I decide to go beyond the modding, and create my own controller.
Thorsten created a main circuit based on PIC called Core module) and some peripheral circuits. He also created an operating system all written in assembler to control the whole system, thus defining the MBHP (Midibox Hardware Platform) and MIOS (Midibox Operational System).
The software architecture consists in 3 layers: Bootloader, the MIOS and the Application layer (where anyone can develop applications for that platform and upload them without the need to burn the PIC again, all by MIDI Sysex).
With Midibox you can create synthesizers, mixing controllers, DJ controllers, etc .... you just must to get (or write) the perfect application, and the use of peripheral circuits best possible way.
The main peripheral circuits (modules) of the hardware platform are: DIN (Digital Input), DOUT (Digital Output), AIN (Analog Input) , AOUT (Analog Output), MF (Motor Faders), SID (based on the famous sound chip of the Commodore 64), among others.
To my luck, when I knew the Midibox, Thorsten had already created the LC application. The LC application is nothing more, nothing less than the emulator of the Logic Control , emulating 100% of the functionality of this protocol, really fantastic!
For the LC application would be necessary, the Core module (the heart and brain of Midibox) and some IN/OUT modules, they are:
4 DIN modules (allowing implement 96 on/off switches and 9 rotary encoders)
3 DOUT modules (allowing implement 96 leds and 12 more 7-segment displays)
1 MF module (allowing implement 8 motor faders)
1 Dot matrix LCD or two alpha LCDs
That would be the classic vision of the LC implementing 100% of the features of Logic Control.
So when I decided to start it, my enthusiastic roots led me to a direction which I would not just create the controller, but an entire station with integrated hardware, watercooler, storage, etc. .... so came the Duna project.
In this version (Duna Classic) I will implement the Logic Control standard (with 8 motor faders), but for the ModTV I reserve the Extreme version that will be equipped with 24 motor faders
Being completely open source (both in schematics and software, including the MIOS and the bootloader) I had three options to start it:
1 â€“ Get the schematics, build the pcb from scratch in accordance with my needs;
2 â€“ Get the Eagle files and erode the plates at home;
3 - Buy the PCBs;
My decision was quick: 2 years ago, I would get the option 1! Few months ago I would be with the option 2, but now, married, working like a horse, the option 3 seemed the most plausible.
So I bought all the little PCB from the website of the famous MidiBox guru and very very nice guy, Mr. Tim Allis aka SmashTV.
It was a good deal, I got all the PCBS and the components, which in the end, were much cheaper than in Brazil.
Note that in the three options above, I still would have to weld all the componentsâ€¦..guaranteed fun
Ok, enough blahâ€¦letâ€™s go to the project:
Some elements of the Duna project:
Many PCBs to weld:
Several components (you must like it!! ^^ ):
Faders, Encoders and Knobs:
ALPS's Motor Fader (60mm) with knob:
Encoders with knob:
Blue SMD 7-seg displat (tiny):
Let's assembly the Core module:
tv.com.br/mr_kholl/projects/mod/duna/midibox/thumb/duna_midibox012.jpg" alt="" />
SmashTV doesn't save resources! stylized label on PIC! :thumb:
I Decided to use 2 alpha displays instead 1 dot matrix (because the layout, you will understand forward)
Note that I will use VFD instead LCD, Noritake ensures that this model is a Drop In Replacement for LCD, in other words, no changes in the app (code), only noting correct wiring.
Soldering pin headers:
Making the cable:
Let's turn it on:
Ops....something worj!! the MIOS shows the 'Ready' when starts, but note the weird spacing between the characters:
dibox/thumb/duna_midibox028.jpg" alt="" />
The first thing I thought was 'Let update everything', both the bootload and the MIOS (SmashTV's PIC came with the version 1.9e, so I downloaded the 1.9f).
To update the booloader you need to burn PIC with the PIC burner:
Ok, Bootloader loaded, time to put the PIC back in the Core module and update the MIOS via SysEX (to do it I uses a Midibox win32 application called MIOS Studio):
Roating my sound board with the Core module:
Ok, MIOS loaded:
Nothing, I used the MIOS LCD tool, to write the phrase 'Testing MIDIBOX' and still showing wierd spacing. Ok, It isn't a update problem, let's try another way:
Reading the App Notes of the display, i noticed that it has a special init sequence:
So I decided to change the MIOS's LCD driver, in a way which I could change this sequence. I used my old and good MPLABS e changed the sequence like this:
movlw 260 ; 260 ms delay
movlw 0x38 ; select 8-bit interface
movlw 0x38 ; select 8-bit interface again
movlw 0x02 ; brightness 50%
movlw 0x08 ; Display Off
movlw 0x01 ; Clear Display
movlw 2 ; 2 ms delay
movlw 0x0c ; Display On
movlw 0x06 ; Entry Mode
Compiled, uploaded the modified MIOS via MIOS Studio, and nothing, still the same problem.
In that point, I created a thread in the Midibox forums, and been attending its chat, where I 'knew' the Masters Midiboxer who helped me to solve this mistery.
Well, summarizing the story, we discovered that the 'bridge' which I made I made to facilitate the connection between the two VFD's with the Core was causing the problem. It looks like the VFD didn't like this bridge, so, goodbye!!:
Re-made the cabe without the bridge and......worked perfectly:
Uploaded a LCD benchmark from Midibox tools page, according to the thread which shows many LCD benchmarks, this VFD is very fast...good!
Time to turn on the two displays. Crimping tool really saves time (IDC connectors.....arghhh)
Ok, the Core module is ready to 'talk' with the Logic Audio:
Let's load the LC app via MIOS Studio (fingers crossed):
ohhh, Hello LC protocol!!!!!
When you starts the Logic Audio, it automatically Recognises the Core mÃ³dule as a genuine Logic Control, really really nice!
Already show the track names:
When you mark a track to record it blinks 'R' in the relative position of the track:
Track name changing, Instantly:
Any msgbox on Logic Audio, it shows on the display:
Song position, no delay:
Changing track name:
What's next: DIN modules, to control 96 switches and 9 rotary encoders.... :wink: