cornish style board and uProcessors

Started by tempus, May 24, 2009, 10:46:25 AM

Previous topic - Next topic

tempus

Hey all;

I've been spending a fair amount of time developing a noise free switching design for a matrix/loop type fx switching system. This morning, I got the idea of maybe building my fx into a case Pete Cornish style and just wiring the switching directly to the flipflops of each individual effect and switching them that way. What I need my system to do is switch one or several fx in and out with one stomp. I.e., I might need one switch to turn FX1 and 3 on, and then another to switch FX1, 5 and 6 on, etc. Of course, each switch will need to turn off whatever other fx were previously on. Is it possible to do this with a uProcessor? IOW, can the uProcessor be programmed to 'remember' whatever it turned on last time, and then turn these things off, thus bypassing all fx so that the next combination of fx can be selected, all with one switch?

Thanks

Pushtone


I've been following your bypassing threads and progress. Good stuff Man.
This new twist I like because it cuts to the chase.


I think I remember someone (Mark Hammer I'm looking in your direction) talking about 'fake programming' such a system with DIP switches al-la CM Octaswitch.
Except this one is all DIY analog where your guitar signal is passing thought the DIP switches. Lots of buffers are used to isolate the out side of the DIP switch
Or do the same thing to control relays to do the switching.
I'm talking about a 8 x SPST DIP switch.

I won't turn off the previous effects, you'll have to double tap to do that.

Hope this makes sense?!?
It's time to buy a gun. That's what I've been thinking.
Maybe I can afford one, if I do a little less drinking. - Fred Eaglesmith

tempus

Thanks Pushtone.

The system I'm using now has relays, and I want to go to solid state for various reasons. What I've got right now does exactly what I described that I'd like to do with the uP. IOW, I stomp 1 switch to switch my compressor into the signal path. I can stomp another switch that will turn the compressor off, switch amp channels and switch delay and chorus into the signal. I've also figured out a way to do this using MOSFETS and a uP (I'll post the schem shortly). I'd like to see if the same thing can be achieved by controlling the FX bypass circuitry directly using a uP. I'm pretty sure that I can switch things in and out with no problem - the difficulty (may) lie in trying to switch off the pedals that were previously on. Using either relays or MOSFETS with or without the uP this is achieved by simply resetting all the switches to bypass, but since the FX use a toggle system, the uP would have to send control signals only to the FX that were on just prior to the current patch.


mdh

It seems to me that all you need beyond what you appear to have worked out is a microprocessor with enough memory to store the state of each effect (negligible, at 1 bit per effect), plus all of your presets (each preset would again be 1 bit per effect), and a protocol for communicating the signals to the switches.  It's easy if you have an output on your processor for each effect, and an input for each program.  If not (and now I'm really starting to talk out my... hat, so to speak), then I think you need to serialize the signals, which might require multiple processors with synchronized clocks, depending upon the complexity of the situation (number of inputs and outputs, i.e., number of presets and number of individual effects).

Full disclosure, I'm speaking as someone with quite a bit of experience programming personal computers in high-level languages, a vanishingly small bit of experience programming an SX microcontroller in assembly, and some small amount of time reading about microcontroller programming in general.  So, I may be leading you down the garden path, but it really seems to me that if you can't find a processor in your chosen family that has enough ins & outs, you'll probably need to read up on serial I/O to make this work.  Maybe you'll luck out and you will only have to serialize either the input or the output.

tempus

Thanks mdh.

The uP I plan to use is a PIC16F737. It has 25 I/O, which is just enough for my needs (I have 14 switches as inputs and 4 effects to switch, which require 2 outputs each - one for on and one for off, plus 2 more for amp function switching, plus 1 more to control a mute function = 25). So you're saying that as long as I have the required ins and outs, I should be able to program the uP to rememer the last setting and switch it off regardless of what it was and what I'm switching to?

Thanks

mdh

Yeah, I think so.  I think the way I would program it is  that every time the processor receives an input from one of the footswitches, it executes a subroutine that iterates over each of the effects, and if it's on, turn it off.  This will guarantee that all of the effects are inactive.  Then just iterate over each effect in the preset that has been selected, and toggle the ones that should be on.  In fact, I don't see why you should need two outputs  for each effect.  It seems that since there are only two states that an effect can be in (on or off) and two states that any output can be in (high or low), one output should be sufficient for each effect.

I would suggest that if you're not already set up for developing with this PIC, that you get whatever hardware and software is necessary, and play around with turning LEDs  on and off.  This seems to be the "hello, world" of microcontroller tutorials, and it's pretty much what you need to do.  In fact, you may even be able to learn about it all in software.  I'd be surprised if there wasn't some kind of PIC emulator software out there, packaged up with an IDE and debugger.

flo

Try the MPLAB IDE from Microchip for developing software for the PICs.

Pushtone

It's time to buy a gun. That's what I've been thinking.
Maybe I can afford one, if I do a little less drinking. - Fred Eaglesmith

tempus

Interesting, but not terribly useful for me. I need the ability to switch from one combination of effects to another with one stomp.

flo

I was working for a while on such a thing with a 7x bypass looper controlled by a uC PIC, I used the "midibox" for this, controlled via a MIDI floorboard from Behringer:
Guitar FX looper with MidiBox
http://www.midibox.org/dokuwiki/flo
http://www.midibox.org/forum/index.php/topic,11705.0.html

Since then, I moved to other projects and did not finish it yet but I planned to do so later.
The basic idea was to connect various effects to 7 "true-bypass" loopers, made with relays, and control them remotely via a MIDI command or a simple 7-bit-pattern that was generated by pressing a switch on a floor board. This bit pattern "told" which loopers where OFF and which needed to be ON.

R.G.

Quote from: tempus on May 24, 2009, 02:41:24 PM
The uP I plan to use is a PIC16F737. It has 25 I/O, which is just enough for my needs
Go look at the 74HC595. Three inputs, clock, data, and register enable. You shift in data with clock and data, then when it's all in, you whack the register enable line. This transfers the shifted data to the output pins, all simultaneously. Until you hit the register enable signal, NONE of the shifting data bits appears on the output. They can be daisy chained by connecting a serial output pin to the data in of the next chip, and supplying the same clock signal.

They're 8 bits each, so three of them gives you 24 bits of output, all changed simultaneously, with only three pins of your uC used. Four gives you 32, five gives you 40...
R.G.

In response to the questions in the forum - PCB Layout for Musical Effects is available from The Book Patch. Search "PCB Layout" and it ought to appear.

tempus

QuoteThey're 8 bits each, so three of them gives you 24 bits of output, all changed simultaneously, with only three pins of your uC used

Thanks for that RG. So you're suggesting using a smaller PIC and 3 595s together? Wouldn't it be easier just to use the larger PIC?