TK.

MIDIbox KB

182 posts in this topic

This is a placeholder for the upcoming MIDIbox KB project.

It's work in progress, some initial documentation can be found under http://www.ucapps.de/midibox_kb.html

It started in the one Fatar keyboard has already been successfully midified, some other (different types) will follow. :)

If you've questions or suggestions for enhancements, just post them here. :)

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

Hello, I'm Marcelo from Buenos Aires, Argentina, and I have the crazy idea to building a digital piano.

A few weeks ago I found this page that come along and learn, and I think I have everything you need to embark on this adventure.

My idea is to built a 88-key digital piano with hammer action keys and velocity sensitive , more or less of the following characteristics:

- Keyboard keys made from wood and covered with an acrylic sheet.

- Aluminium structure for supporting the keys.

- PCBs and moldable silicone buttons for key contacts.

- MIDIbox KB aplication with MBHP_CORE_LPC17 and MBHP_DIO_MATRIX modules.

- Yamaha DB50XG daughtherboard for sounds.

I am designing a keyboard like a Fatar 88 (so you do not think I'm crazy I have to clarify that I am a mechanical designer and I have a small factory of plastic injection molds with CNC machines).

This means I have no problem with the mechanical part of the project. But with the electronics I need some help.

A few days ago I bought the LPC1769LPCXpressoboard, here in Buenos Aires, and received the Yahama Sound Card from China buying on Ebay.

Now I'm designing an electronic circuit based on the MBHP_CORE_LPC17 but only with those peripherals:

- USB port.

- 3.3 V. Power supply

- 2 MIDI in / out.

- Matrix DIO connection (through the 74HCT541 IC)

- Standard sustain pedal connection through J5A port.

Here are the first questions:

- Is it necessary to use the optocoupler and the IC 74HCT00 to connect the LPC1769LPCXpressoboard midiout to the Yamaha Card midi in ? (attach the diagram).

- how I can to connect a standard sustain pedal (Nomal Open switch ) to port J5A

For CC#64 midi messages (velocity 0 = off , velocity 127 = on) ?

I hope you find this project interesting and can help me to do it.

The next days I will be discussing and documenting progress in this forum.

Thank you very much

Regards.

Marcelo

post-10883-0-71044700-1341183107_thumb.j

Share this post


Link to post
Share on other sites

Hi Marcelo,

welcome to the forum! :)

- Is it necessary to use the optocoupler and the IC 74HCT00 to connect the LPC1769LPCXpressoboard midiout to the Yamaha Card midi in ? (attach the diagram).

It could work without optocouplers at both sides.

No problem with the DB50XG MIDI Out -> LPC17 MIDI In connection, because the appr. Rx input of the LPC1769 is 5V tolerant.

For the other direction LPC17 MIDI Out -> DB50XG MIDI In I'm not 100% sure if a level shifter is required, because the LPC1769 only outputs 3.3V, but DB50XG probably works at 5V basis.

If you want to design fail-safe, I recommend to use one free "channel" (buffer) of the 74HCT541 for level-shifting, because you won't need J19 anyhow.

- how I can to connect a standard sustain pedal (Nomal Open switch ) to port J5A

For CC#64 midi messages (velocity 0 = off , velocity 127 = on) ?

It should work this way:


/ Pedal
/ Switch 1k Resitor
3.3V o----/ ----o---|####|----o Ground
|
+----> to J5A0
[/code]

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

Seems a lot of work to make your own keyboard but if you're happy doing that....

Have a look at the GM Voice at:

GM Voice

It might be easier to follow.

Good luck!

S

Share this post


Link to post
Share on other sites

Thank you very much Thorsten !

This is just what I needed to know, and thanks for the welcome.

The sustain connection is clear, but about the optocoupler, you say that I attach, for example, the LPC1769 pin P0.0 (TXD3) to the 74HCT541 IC pin 5 (A3) and pin 15 (Y3) to MIDI daughter board directly ?

I will design the circuit with these recommendations.

Thank you very much again Thorsten . Regards

Share this post


Link to post
Share on other sites

Sparx thank you very much.

I know that this is a hard work, and take a long time, but it is an interesting challenge.

Here in Argentina, a quality digital piano is very expensive. For example I use a Casio CDP100 and its keyboard is very noisy. And the sound is not good.

And I do not want to spend much money on a better quality piano, I decided to build it myself.

If I have a good result, the next step will be to change the Yamaha daughterboard for an embedded system with a good piano VST or soundfonts.

All this, plus a good sound system, I'll have a piano of excellent quality, and pleasure of having done it myself.

Regards.

Marcelo

Share this post


Link to post
Share on other sites

Hi Marcelo

I can understand the challenge, but out of interest, how much would a weighted keyboard be in Argentina? Just a keyboard, not any housing or commercial product?

I have, in front of me, an LPC core hooked up to the GM Voice which in turn is hooked up to a Yamaha daughterboard.

I'm using MIDI cables to connect everything, this was to make initial testing easier.

So, my keyboard feeds the MIDI In of the core board, the Core board MIDI output feeds the Daughterboard via the GM Voice PCB.

The way I thought about it was, the optos are safety devices, they stop unwanted signals and are cheap.

Also my core board was already built and I'd put MIDI sockets on there. The Core PCB does have places I could have just put a connector and wired them together without the MIDI cables and sockets. This might happen in the "finished version".

From what I have understand, the daughterboard requires MIDI at TTL level, hence the 74HC00. I'm actually usuing an LS version.

Can report it all works very well!

Regards

Sparx

Share this post


Link to post
Share on other sites

Hi Sparx,

True, with a bit of effort I could buy a better piano, but I want to do it myself, I would do as a hobby too.

As to the question of the optocouplers is that I am thinking to do

a "custom" system, with a pcb with only the necessary elements, and then assemble all in one aluminum enclosure as a commercial true piano.

I apologize if it is not clear what I write, my English is very poor, and helped me

with Gooble translator. With this and the electronics, I do what I can.

Thanks for your feedback.

regards

Marcelo

Share this post


Link to post
Share on other sites

The sustain connection is clear, but about the optocoupler, you say that I attach, for example, the LPC1769 pin P0.0 (TXD3) to the 74HCT541 IC pin 5 (A3) and pin 15 (Y3) to MIDI daughter board directly ?

Yes, correct.

Don't forget to connect the grounds between the core and sound module together, then it will work. :)

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

Thank you very much Thorsten,

I have two other questions:

1- MBHP_CORE_LPC17 has 7-pin connection (Vs, Vd, SI, SO, SC, RC1 and RC2) in J8/9 port, and MBHP_DIO_MATRIX has 6-pin connection (Vs, Vd, SI, SO, SC and RC) in J1 Port, is necessary to connect pin P3.26 (RC2) from LPC1769?

2- is possible to protect the CORE at the port J5A0 when connecting the sustain pedal through 74HCT541 IC or an optocoupler like MIDI input ?

thanks again. regards

Marcelo

Share this post


Link to post
Share on other sites

1- MBHP_CORE_LPC17 has 7-pin connection (Vs, Vd, SI, SO, SC, RC1 and RC2) in J8/9 port, and MBHP_DIO_MATRIX has 6-pin connection (Vs, Vd, SI, SO, SC and RC) in J1 Port, is necessary to connect pin P3.26 (RC2) from LPC1769?

no, this isn't necessary. The SRIO software driver controls both pins with the same value to ensure compatibility with earlier designs (MBHP_CORE and MBHP_CORE_STM32)

2- is possible to protect the CORE at the port J5A0 when connecting the sustain pedal through 74HCT541 IC or an optocoupler like MIDI input ?

It should be possible (and it's a good idea), but I've no schematic on hand to show you the circuit.

Basically you need to build the same optocoupler circuit like used for the MIDI IN, but the 1k pull-up should be connected to ground (-> pull-down)

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

It should be possible (and it's a good idea), but I've no schematic on hand to show you the circuit.

Basically you need to build the same optocoupler circuit like used for the MIDI IN, but the 1k pull-up should be connected to ground (-> pull-down)

Hi, Thorsten,

You mean something like this:

post-10883-0-21261900-1341613590_thumb.j

Edited by 5bemol

Share this post


Link to post
Share on other sites

I have cannibalized an old Midiplus 49 keyboard to integrate the keys into a midibox KB. I don't have schematics but I see there are diodes on the back of the keyboard already; is there any way I can measure how I need to wire this up? The keyboard is supposed to have velocity, the keys were connected with 2 16-wire flatcables.

The donor keyboard had a pitch- and modwheel, which are analog pots. I also have 2 joysticks (dual pots) I would like to use. I guess I need an AINSER64 module to wire these up, or is there an easier solution?

Share this post


Link to post
Share on other sites

Does your multimeter provide a "beeper"? Then you could compare if the connections are matching with (for example) this one: http://www.ucapps.de/midibox_kb/midibox_kb_scanmatrix_type2.pdf

Pots: up to 4 pots can be connected to J5A

The configuration is explained here: http://www.ucapps.de/midibox_kb.html

Search for "pitchwheel" and "modwheel"

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

Hey,

I've got a question regarding the mod+pitchwheel:

In most keyboards that I know both wheels are just normal potentiometers built into a special mechanical construction that allows the wheel to turn 90° (estimate..), so therefore they do not send the full 0-5V range but only ca. 0-1,7V. The Midi values at the Midi Out are still full range (0-128 or full 14bit pitch bend message), so I guess they get "interpolated" in the keyboard's firmware.

What will happen if I connect such a mod+pitchwheel-construction to MB-KB? Is there a way that they send the full range of values?

Best regards

Lars

Share this post


Link to post
Share on other sites

Hey,

I've got a question regarding the mod+pitchwheel:

In most keyboards that I know both wheels are just normal potentiometers built into a special mechanical construction that allows the wheel to turn 90° (estimate..), so therefore they do not send the full 0-5V range but only ca. 0-1,7V. The Midi values at the Midi Out are still full range (0-128 or full 14bit pitch bend message), so I guess they get "interpolated" in the keyboard's firmware.

What will happen if I connect such a mod+pitchwheel-construction to MB-KB? Is there a way that they send the full range of values?

Best regards

Lars

Hi Lars,

use a multimeter to measure the range of resistance between the wiper and each of the other 2 terminals. If the resistance goes from "close to zero" to "some maximum" on one terminal and the opposite (measuring between the wiper and the other terminal) then it will work fine attached to 5V for midibox without needing to modify firmware.

Cheers

Share this post


Link to post
Share on other sites

Does your multimeter provide a "beeper"? Then you could compare if the connections are matching with (for example) this one: http://www.ucapps.de/midibox_kb/midibox_kb_scanmatrix_type2.pdf

I will look into that shortly :)

Pots: up to 4 pots can be connected to J5A

And I also read on the MBKB uCapps page (yes, I should have done that earlier :)) that "6 analog inputs of the core module can be used to connect pitchwheels, modulation wheels and aftertouch"; so with 2 pot inputs used for the pitch and mod wheels there are precisely 4 pot inputs left for the 2 joysticks without the need for additional hardware. Jay!

Share this post


Link to post
Share on other sites

@Duggle: Thanks, will try this out, hopefully tomorrow...

@NorthernLightX: Have you already tested/measured it? My controller-keyboard is also based on an old Midiplus49 keyboard, but right now I'm too lazy to rip it all apart for measuring. Inside is a Mios8 Core and the original pcbs for the keyboard electronic. I would love to upgrade this to a single LPC17.

... and I have a feature request for MB-KB:

What about a built-in, simple Midi-arpeggiator? Would love to see that!

Cheers,

Lars

Share this post


Link to post
Share on other sites

Hi, I've not yet had the time to measure the keys. Will post here as soon as I do.

Your keyboard looks sweet! I'm basing the looks of mine on the Minimoog Voyager, with tilting panel and such. I also have kept the ripped up original PCB, but am inclined to upgrade to Midibox KB because I'd need a MIDI router anyway, so in that case why not let the LPC do the scanning of the keys too.

Share this post


Link to post
Share on other sites

An inbuilt MIDI Arpeggiator is on the Agenda - it will feature the same functions like known from MBCV V2: http://www.ucapps.de/midibox_cv/v2_mockup/mbcv_mockup1_1.png

Some extra buttons will be required to control the Arpeggiator, but I'm unsure how many are really necessary, and how many functions should only be controllable from the LCD based menu.

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

Hard to tell, depends so much on personal preferences. But in my case I'd like to see the following external buttons/potis:

- Arp on/off

- Hold on/off

- Tempo

- Gatelength (maybe not important for everyone)

If I had to build my controller from the scratch, then I would add the following:

- Range switch

- Mode switch/rotary

So basically the same stuff that's in my Juno6 which I use quite often. So simple, effective and you can play around with it in realtime.

Cheers.

1 person likes this

Share this post


Link to post
Share on other sites

V1.007 is available:

 

MIDIbox KB V1.007
~~~~~~~~~~~~~~~~~

   o srio_num now stored on EEPROM

   o changed default delay settings (required after performance fix in v1.006)

   o added ain_sustain and ctrl_sustain parameters

   o the min/max values of the potentiometers can now be calibrated with the
       set kb <kb> calibrate <off|pitchwheel|modwheel|sustain>
     command.

The documentation has been updated as well: http://www.ucapps.de/midibox_kb.html

 

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

Hello Thorsten,

Could you please also check the df88 interconnection Diagram in the documentation acc. to my former post #8 in:

Thanks

Jo

Edited by nlate

Share this post


Link to post
Share on other sites

Thank you for the reminder!

After some trouble with xcircuit on my new computer, the schematic is finally fixed. :)

 

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now