Jump to content

First Project - MidiBox 64


b.vigo
 Share

Recommended Posts

Hello, people. Newbie here.

I've been spending the last month doing a sketch for a project I have in mind (a Traktor Midi controller) and have been browsing forums and guides for info. The sketch is ready and I'm about to order the parts (PCB and components) and start building it. However, I still got some doubts I'd like to clear before buying anything.

- What I have in mind is to build a set of 3 controllers (One for the 'A' deck, another for 'B', and the last one for the mixer, each one connected to an USB port) where each of them can work independently from each other. This would mean I'll have to use at least 3 independent cores (PIC based). Will my computer be able to recognize each of the controllers separatelly, and if so, how would it do so? What 'names' will it use for each one?

- What is a 'Bankstick' and what is it useful for? I still can't figure that out!

- Is it necessary to connect a LTC to the core? Will my Midibox be able to work without one? (I read at some part that configurations can be done while connected to a pc via the Editor, after installing MIOS -using SysEx- on a burned PIC, am I right?)

- Will I necessarily have to use and upload apps to the chip? In what ways can apps help you when it comes to a midi controller?

- I'm thinking of buying pre-burned chips (for the Core8) at SmashTV, and one thing I noticed at the Core8 Section is that you can choose between different chips (PIC18f452, PIC18f4620 and PIC18f4685, if I'm not wrong). Does this mean there will be different steps for each of these when trying to set up a controller? (The guide is explained for a PIC18f452 as far as I know, so in case this is true, I think I'll go for this one)

Thanks for reading. I'm really willing to learn about this, so I would greatly appreciate help with any of the above questions. Oh, and sorry for my english, in case an error is found. It's not my native language (:

Link to comment
Share on other sites

Hi b.vigo, and welcome aboard :)

I am no oracle when it comes to the midi controller boxes like MIDIbox64, but i can help out a little bit anyways...

- What I have in mind is to build a set of 3 controllers (One for the 'A' deck, another for 'B', and the last one for the mixer, each one connected to an USB port) where each of them can work independently from each other. This would mean I'll have to use at least 3 independent cores (PIC based). Will my computer be able to recognize each of the controllers separatelly, and if so, how would it do so? What 'names' will it use for each one?

The cores you're looking at is the PIC based ones. They have no USB as such. If you really want your builds to use 3 USB connections, then i think you should take a look at core32 module which has a USB connector.

Another solution could be to use a MIDI interface with 3 (or more) MIDI ports - this would take up 1 USB port on your computer, but you would have 3 MIDI in/out that you could use for your 3 boxes. The good thing is that your computer easily will distinguish between the 3 MIDI ports... but you should make sure that your favorite DJ software supports multiple ports ofcourse.

For a kickass 5-port MIDIcontroller look here.

- What is a 'Bankstick' and what is it useful for? I still can't figure that out!

The bankstick is simply RAM. In a synth your sound presets are saved on the 'bankstick' for later recall. In a MIDI controller like the one you have in mind, the bankstick can be used to save different 'configurations' of your box, f.ex if you use 2 different DJ apps that maps the hardware controllers differently. Then you can just create 2 different hardware configurations and recall them whenever you want to use one app or the other - this sounded pretty messy. I hope you understand what i mean :)

- Is it necessary to connect a LTC to the core? Will my Midibox be able to work without one? (I read at some part that configurations can be done while connected to a pc via the Editor, after installing MIOS -using SysEx- on a burned PIC, am I right?)

No, you will most likely not miss an LTC. You will find software to configure your box from a PC, but that is done via MIDI or USB.

- Will I necessarily have to use and upload apps to the chip? In what ways can apps help you when it comes to a midi controller?

The app goes in the Core. The core is the CPU (so to say).. if you don't upload any app, then your buttons and knobs won't do anything. the app detects which control you're touching, and will send out MIDI data accordingly. It is like the OS of the box - remember that practically all the projects inhere uses the same Core module... the difference is in the app. The app also controls the LCD, menus and everything.

This is by no means anything that should stop you :) it is just a file you send via MIDI from a piece of software that is very easy to use.

- I'm thinking of buying pre-burned chips (for the Core8) at SmashTV, and one thing I noticed at the Core8 Section is that you can choose between different chips (PIC18f452, PIC18f4620 and PIC18f4685, if I'm not wrong). Does this mean there will be different steps for each of these when trying to set up a controller? (The guide is explained for a PIC18f452 as far as I know, so in case this is true, I think I'll go for this one)

You should always go for the PIC that is mentioned in the build guides. PIC chips are from the same 'family', but they all have different specs. Some has more internal RAM or other features that deviate from eachother. So, the apps are coded to work on a specific PIC model, and you have to use the correct one.

All this was more 'general guidelines'.. it depends on your vision of the finished box, but a lot of ppl inhere has built MIDIcontrollers and DJ boxes, and i figure they will give much better advice about details than i can. But i can tell that you're in the right direction :) It takes a lot of reading to make a final idea about what parts you need, and it also means that you can order the right parts the first time!

I hope you will enjoy it inhere, and maybe even get to see some pictures of your boxes in the forum gallery :drool:

Link to comment
Share on other sites

The solution that i am using for my traktor set up is to put a gm5 in the mixer controller, then add two ports on the rear to link the two decks to via thier own cores, using the digital in pins on the gm5.

By doing this everything goes through one usb output, so i link the mixer core to midi i/o pin 1 and the left deck to midi i/o 2 and the right to midi i/o 3.

this makes things easier. the link cable is used with mini din sockets and connectors that are available from ebay very cheap along with the cable.

Find all the components that you need, get measurements and do a 1:1 printout to check placement and interference when using.

for the mixer all you need is a core, dinx4, ainx4 the dinx4 will be for the buttons and the ainx4 (you will need several) will be for the faders and pots (rotaries).

The decks will need a core, dinx4 and a single Ainx4.

Should you want indicator lights for the buttons then you will need some doutx4 boards as well.

You can buy actual cdj platters as spare parts from the manufacturers, i just bought two large cdj600 platters from gemini spares in france for under 20 euros. They are around 8 inches or just over in diameter so a large platter/jog wheel which is better than some of the smaller type.

I have to design a custom bearing mount for it that has an encoder attachment at the bottom of it to link to an encoder which will be assigned to the jog/scraatch commands via a shift button.

Here is the platter/jog wheel.

100_4886.jpg

The pitch fader will be a 100mm slimline fader with centre bump and an led to show centre point also.

I know it seems a little daunting but as flemming has said , read read read as much as you can, think of the core and the din, ain and douts as modules and you just link each together via a link cable, each button or encoder etc links to each pin on the relative board. Just think of it as a modular and things will fall into place.

I am using the midibox 64e for mine as this allows the use of encoders as well as pots and faders, the 452 is what you will need for each core.

The bankstick is handy if you want to name each control button, fader etc as this will show in the 16x2 lcd.

Oh and some advice, get the lcds, they come in so handy for programming and debugging, with the mb64e you can edit all the parameters using the built in menu system. Remember the first 8 pins on the first dinx4 board are reserved for the menu system, keep them as is and it will save you many hours of frustration when editing without a computer to hand.

Welcome to the forums!

Edited by ssp
Link to comment
Share on other sites

Thank you guys for your replies; however, I got quite confused at certain points (I hope I'm not a nuisance). Let me take a look at them:

The cores you're looking at is the PIC based ones. They have no USB as such. If you really want your builds to use 3 USB connections, then i think you should take a look at core32 module which has a USB connector.

Is the core32 capable of handling analog inputs (pots)? I find encoders and LED rings harder to set up and configure, as well as the core 32. If not, I think I'm staying with the core8.

And something else... is it possible to connect a core8-based controller (those with no usb port) to a pc using a Midi-to-usb converter (some kind of cable I found on stores and seem to be quite cheap), for both configuration and usage of the controller? - If this is true... I've been thinking of the following SOLUTION...

2432.jpg

(Power connections were ommited, obviously)

If not, I'll immediately delete the image due to my excess of ignorance and stupidity.

Because, you see... that gm5x5x5 interface (is it an...?) thing just made my brains explode.

The bankstick is simply RAM.

I got that clear now. For the project I have in mind... do I have a way to estimate how many of them will I need?

No, you will most likely not miss an LTC.

*phewh* ...believe me, I won't

The app goes in the Core. The core is the CPU (so to say).. if you don't upload any app, then your buttons and knobs won't do anything. the app detects which control you're touching, and will send out MIDI data accordingly. It is like the OS of the box - remember that practically all the projects inhere uses the same Core module... the difference is in the app. The app also controls the LCD, menus and everything.

This is by no means anything that should stop you :) it is just a file you send via MIDI from a piece of software that is very easy to use

I understood the example. However, this is the thing I'm mostly scared of. I have no programming knowledge at all, and I wonder if there's a guide out there that could help me doing so. Are there any available pre-made apps on the internets that I could use and upload directly to my midiboxes?

You should always go for the PIC that is mentioned in the build guides.

Thy will be done, master.

I hope you will enjoy it inhere, and maybe even get to see some pictures of your boxes in the forum gallery

I'll definitely take my time to share the experience in the gallery. :thumbsup:

Link to comment
Share on other sites

Your drawing is almost the setup ssp described.

The only difference is, that he uses a usb-to-midi interface with multiple ins/outs which is inside the mixer.

This interface is called gm5 and if you build this instead of using the cables+hub, you will avoid lots of trouble.

These cables, and even more expensive interfaces too, they tend to lose data while uploading apps.

ATM it's easier to stick with the core8, because the apps are already written for it, but haven't been ported to the core32 yet.

You'll probably only need one bankstick, unless you want to save lots of configurations, which doesn't make sense ;)

Link to comment
Share on other sites

ok in the mixer put a core with a 452 running mb64e youre going to want this for the buttons. also ainx4, dinx4 and a dout for lights should you want them also a 16x2 lcd for built in editing of controls etc, also a 512 bankstick built onto a board as a permanent fixture.

in each deck put a core with a 452 running mb64e 16x2 lcd, you dont need an ainx4 just use the headers off the core, you can ground pins you dont use however if you edit the asm file to just the pins you use, then you dont need to ground the unused ones.

now to link the units.

in the main mixer is a gm5 this is a single usb port with a single midi in and midi out physical port, however, the board still has 5 ins and 5 outs including the port 1 that is there.

to link them you leave the 6n138 ic off the core once assembled, then you link from mi/mo (midi in/midi out) from j11 on the core, these goto the gm5 j6 pins.

so as per this.

mixer core to gm5 mi/mo 1 pins

left deck core to gm5 mi/mo 2 pins

right deck core to gm5 mi/mo 3 pins

now the power, if you get a multiway cable then you can use a mini din socket, 5 pin mini din is fine and then you can have the digital mi/mo links and the shielded power feed also over a single cable to each deck. You can get power supplies that deliver upto 2.5 amps and 7-10volts which the cores need as a wall wart, or laptop style power supply which is what i am using.

when you now connect your decks to the mixer, the mixer connects to your pc via a single usb cable, thats it everything data waise from the decks and mixer is sent back and fore via this single usb cable.

you need to use the built in editor to give each unit its own midi id number as well, this will help when setting things up.

when set up the mixer will have the single usb cable and the psu connection to it, then from the mixer to each deck.

its a much more elegant way of doing things, i will do a diagram later today to explain it visually.

basic picture to give you the idea.

post-6406-065685200 1298221952_thumb.jpg

Edited by ssp
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...