Author Topic: MIDIFOOT - DIY Midi controller  (Read 24844 times)

potul

MIDIFOOT - DIY Midi controller
« on: April 27, 2011, 04:11:28 PM »
Hi All,

I just want to share with the forum a project I finished last year, but I had it undocumented until now. It is a MIDI controller with an LCD and 2 expression pedal inputs, based on a PIC 16f88.
It is really full-featured controller that can work in a secuencial mode (up-down midi program), or in a "user mode", where the user can assign up to 2 program changes (each with a different midi ch) and 2 CC messages (each with a diff midi ch) to each preset.

It has also some advanced features like the possibility to backup your presets to the PC using sysex messages, and restore them. I also provide a small app to modify or create presets and create sysex messages to send them to the device.
Another advanced feature is a bootloader that allows firmware updates via MIDI.



You can find all documentation including source code in my DIY blog here:

http://potulfx.blogspot.com/2011/04/midifoot.html

Unfortunately, the article in my blog is in spanish... if someone needs any explanation just let me know.

Regards,
Mat

Taylor

  • Awesome!
  • ****
  • Posts: 4127
  • Total likes: 67
  • The clean energy source of the future.
Re: MIDIFOOT - DIY Midi controller
« Reply #1 on: April 27, 2011, 10:42:44 PM »
Amazing job!

I have a MIDI sound module I built, and if I can send a particular sysex message to it, I can unlock a lot more functionality in this unit. It seems like I could build something based on your project that would allow me to do this, right? I basically just need to save a single Sysex message and have a button to send it out of the output.

potul

Re: MIDIFOOT - DIY Midi controller
« Reply #2 on: April 28, 2011, 03:13:02 AM »
My controller would maybe be an overkill for the job, but yes, you could leverage from it. I have a smaller project undocumented without LCD, no MIDI IN and only 2 buttons (UP/DOWN) that would probably fit better. And sending sysex message is simple to implement if you know what message needs to be sent. Let me know if you would be interested and I can hunt for the info in my hard drive and publish it.
Is this a one-time thing, or do you need to send this sysex everytime you use the unit?

Mat

Taylor

  • Awesome!
  • ****
  • Posts: 4127
  • Total likes: 67
  • The clean energy source of the future.
Re: MIDIFOOT - DIY Midi controller
« Reply #3 on: April 28, 2011, 03:30:31 AM »
That sounds great - if you get a chance I'd love to know more.

I think I need to send this message every time - basically, my box uses an old computer sound card with a midi voice unit. If I play it normally, it works like a standard general midi module, but I can send a sysex to unlock the "XG" sound set, which gives something like 400 more instruments, more effects, etc.

This is what I need to send, "XG System On" message:

F0,43,10,4C,00,00,7E,00,F7

But, you posted a wonderful build and I don't want to steal that thunder. I'm incredibly impressed by your work.
« Last Edit: April 28, 2011, 04:56:44 AM by Taylor »

potul

Re: MIDIFOOT - DIY Midi controller
« Reply #4 on: April 28, 2011, 05:17:09 AM »
Is it a standalone module or are you using a PC?

Taylor

  • Awesome!
  • ****
  • Posts: 4127
  • Total likes: 67
  • The clean energy source of the future.
Re: MIDIFOOT - DIY Midi controller
« Reply #5 on: April 28, 2011, 05:35:11 AM »
It's a standalone module - the project info is here:

http://electro-music.com/forum/post-149864.html#149864

potul

Re: MIDIFOOT - DIY Midi controller
« Reply #6 on: April 28, 2011, 05:57:19 AM »
Interesting project... it would be an nice add-on to my Gutiar-to-MIDI box.

If you feel like you would like to start a project open a new topic and I can help there, I have some experience in MIDI devices using PICs. From what I understand you need a simple box with a button that sends a sysex message when pressed. It doesn't look complicated :). (do you have midi-in/through in your MIDI keyboard?)

Ice-9

Re: MIDIFOOT - DIY Midi controller
« Reply #7 on: April 28, 2011, 08:55:58 AM »
That looks amazing. I might have to build one. Just looking at your docs now. :)
www.stanleyfx.co.uk

It's fairly straight forward, if you want to start it , press start. You can work out the rest of the controls for yourself !

potul

Re: MIDIFOOT - DIY Midi controller
« Reply #8 on: May 21, 2013, 10:39:47 AM »
Hi Folks

I just wanted to step by and comment one bug I recently found in my controller. I know at least 2 people from this forum has built it, so I though it would be useful for them.

I've been using the MidiFoot mainly in "normal mode", but this week when I tried some creative stuff using "user mode", I realized that the expression pedal midi channel is wrongly configured when in user mode. The issue statement is:

-When in "user mode", midi channel for the expression pedal is taken from the preset second CC message, not from the global setting.

So, even if you don't use the second CC message in a preset (set to off), be sure to configure the midi channel of it to the one you want to be used by the expression pedals.

Some might see this as a feature instead of a bug because it allows you to use different channels per preset... but this was not the intention. As soon as I have time and my development environtment works again, I will fix it and post the firmware. It's a simple change, it should not take much effort.

Regards,

Mat

scratch

Re: MIDIFOOT - DIY Midi controller
« Reply #9 on: May 21, 2013, 12:34:19 PM »
I too am building the same XG 'Voice' project that Taylor mentioned ... and was looking for a controller project to go along with it. Right now just planning to use it with the G2M project and the Thomas Henry 'Sirius' MIDI metronome project.
Denis,
Nothing witty yet ...

juanmotta

Re: MIDIFOOT - DIY Midi controller
« Reply #10 on: May 28, 2013, 03:40:12 PM »
Hi this is my first post, i thinks, thanks for shearing this info!!! i want to know if this midi controller works in ableton live and amplitube 3? if so, what latency have when change the presets?

Thanks a lot

Juan

pd- iīm from Uruguay so i speak spanish too.
« Last Edit: May 28, 2013, 03:42:52 PM by juanmotta »

potul

Re: MIDIFOOT - DIY Midi controller
« Reply #11 on: May 28, 2013, 05:13:08 PM »
It should work with whatever that can be controlled using program changes or CC messages. I'm not familiar with ableton live, but I would say it has to be compatible.
I haven't tried amplitube with it, but Guitar Rig works like a charm.
Latency is unexisting... I mean.... you will have the latency given by the software or hardware you want to control. I use it with a POD XT, and including the expression pedal I don't feel any delay in response.

swinginguitar

Re: MIDIFOOT - DIY Midi controller
« Reply #12 on: July 25, 2013, 10:55:58 AM »
POTUL - this is a great project - well done! I've looked at the code off and on for a while now for inspiration on my own projects.

Would you care to share some insight on how your expression pedal calibration min/max thing works?

potul

Re: MIDIFOOT - DIY Midi controller
« Reply #13 on: July 26, 2013, 08:50:40 AM »
From the top of my head, this is what min/max is doing.

When in calibration mode, the PIC reads the ADC continuosly and stores the min and max value. The idea is that the user does some full sweeps of the pedal, and we can know what is the voltage at the low and high positions. During calibration, the user can also reverse the pedal. This is storing a flag indicator that will be used afterwards.

These min/max values are stored and used when generating MIDI messages. The idea is to ensure that the the pedal is giving 0 in the lower position and 127 in the higher position. We read the ADC value and then do some math:

MIDI value = (ADC value-min) * 127 /(max-min)

In order to do this calc, there are some division and multiplication routines I took from someone in the net.

As you can see, this gives 0 when ADC value=min and 127 when ADC value = max.

If the reverse flag is enabled, when we do somthing like MIDI value = 127 - MIDI value

Although I'm not sure 100% of the calculations implemented in the code (I haven't reviewed it), I'm pretty sure this is the concept behind.

Let me know if you need more information

Mat

lmkv15

Re: MIDIFOOT - DIY Midi controller
« Reply #14 on: May 11, 2014, 01:25:18 PM »
Hi,
Great project. I have it build. I also have boards for the project.
,


Uwe

karter2000

Re: MIDIFOOT - DIY Midi controller
« Reply #15 on: May 11, 2014, 04:47:17 PM »
I'm definitely interested in a board.  How much shipped to Canada?  Do you have a build doc or BOM for the project?

Thanks!

potul

Re: MIDIFOOT - DIY Midi controller
« Reply #16 on: May 12, 2014, 01:47:22 AM »
Wow, very nice build Uwe. I love the enclosure, and very nice PCB as well.

How did you implement the midi through?

Regards


Mat
« Last Edit: May 12, 2014, 07:49:35 AM by potul »

lmkv15

Re: MIDIFOOT - DIY Midi controller
« Reply #17 on: May 12, 2014, 08:54:19 AM »
Hi Mat,
The picture was not the right pcb, i have it change. The picture was the first version with a bug ;D. The midi true is a standard application with 2 inverters from a HCT/LS/HC 7404 or 14. I wanted to make it as a kit, but that's pretty expensive, if only because the housing.
But i need your OK ;).

regards Uwe

lmkv15

Re: MIDIFOOT - DIY Midi controller
« Reply #18 on: May 12, 2014, 09:00:31 AM »
I'm definitely interested in a board.  How much shipped to Canada?  Do you have a build doc or BOM for the project?

Thanks!

Hi,
the shipping to canada cost approx 4€ as insured letter. The pcb 10€. I have at the moment not a build manual. But i can it make incl. a BOM. Sorry for my bad english but my school time is 40 years back. ;D

regards Uwe

karter2000

Re: MIDIFOOT - DIY Midi controller
« Reply #19 on: May 12, 2014, 09:43:14 AM »
I'm definitely interested in a board.  How much shipped to Canada?  Do you have a build doc or BOM for the project?

Thanks!

Hi,
the shipping to canada cost approx 4€ as insured letter. The pcb 10€. I have at the moment not a build manual. But i can it make incl. a BOM. Sorry for my bad english but my school time is 40 years back. ;D

regards Uwe

No problem, I'm still interested. If I have a schematic and BOM, then I should be able to get it working.  Where do I sent payment? I guess I would also need a preprogrammed processor chip as well.